Read more of this story at Slashdot.
Back in 1994, I wanted desperately to learn how to create and update a website. I was reading all the docs I could get my hands on, and at the time there wasn't very much.
I read and read, but somehow it just didn't come together. I understood the intent of each HTML tag. But how to actually get that into a place where the browser, at the time Mosaic, could get to it? I kept looking for the answer, but I wasn't finding it.
Until one day I found a service at Ohio State University that you could send mail to containing HTML and it would put it on the web and send you back the URL via email. I tried sending a simple message -- Hello World -- to the Ohio mailbox. It sent back a URL and when I went to the page, it just contained the text. I think I got it, I said to myself. I tried another experiment. I went to the HotWired website, did a view-source, copied the text to the clipboard and sent it to the Ohio mailbox. It sent back a URL and when I went there I saw a facsimile of the Wired site, with broken images. I understood. I didn't know what was happening back in Ohio, but I understood this much: I was sending it text and it was putting it "on the web," whatever that meant.
A lot of things are like that. Today I embarked on a new project that took what I learned from a bunch of projects I've done over the last few months, but I didn't take any of the code. It's going to go a lot faster now, because I have the techniques I need figured out. I can crib code where I need to. But mostly it's in my head.
That's how I do new things. Figure out what's on the way there, do a few of them -- puzzle over it, try out an idea, if that doesn't work, try another. All the time feeling my way around in the dark, trying to find the shape of the thing I'm looking for.
A concise way to say it: The best way to learn something is to start doing it. Don't wait for full knowledge to come to you. Often it won't. Just pretend you know what you're doing, and hit the walls. Make the problem small enough that you can start solving it right now, without waiting. Each part of the problem is smaller than the whole thing. And tell yourself you can do it, because you can.
Justin Williams attended Build 2014:
Overall though, Microsoft seems to be embracing open source in new and interesting ways that the old Microsoft never seemed to care about. Previously when they open sourced a piece of technology it’s because they were no longer interested in it. Now, key pieces of functionality that the future of the company is based on are out in the open.
Brian Reischl, my former co-worker at Sepia Labs — and cyborg in charge of web services — emailed me after I mentioned that to do a migration I’d “stop the world” first.
(Brian also wrote Stupid Feed Tricks, which, if you’re a fan of the horror genre, is worth reading.)
Pretty much any migration can be done without stopping the world. You migrate in steps, with double writes and double reads at some points. Here’s the general outline:
Obviously this is far more time consuming than a “stop the world” migration. In return, it gives you a chance to develop confidence in your new system before depending on it fully, and allows you to make the change with zero downtime.