Over the last year or so we've slowly been accumulating new kitchen toys and cookbooks. And we've been experimenting with new recipes during that time. See Jeremy's Crockpot or Slow Cooker Chili Recipe for an example.
But things seem to have been kicked into a higher gear recently. You see, we asked for (and received--thanks Mom and Dad) a KitchenAid Artisan 5-Quart Stand Mixer back during Giftmas. And my wonderful wife got me the KitchenAid KPRA Pasta Roller Attachment and the The Complete Book of Pasta and Noodles to go along with the mixer.
My expectation was to mostly use the mixer for the occasional bread mix (which I haven't tried yet) or cookie dough (ditto). But Kathleen is a big pasta fan and the meals in the book sounded quite tasty.
So a few weeks ago I began to experiment with making my own pasta. Much to my surprise, it's a fairly easy and fun process. To make basic pasta, all you really need is some eggs and flour. In fact, 3 larger eggs and 2 cups of all purpose white flour is enough to get started.
The real trick, as it turns out, is getting the moisture level of the pasta right and working with the resulting dough. You want it to stick together just the right amount with the right texture. No too dry and not too wet or sticky. And you need to let it "rest" long enough that you can work with it.
Anyway, last night I made my third round of basic pasta and feel like I'm getting the hang of it. Combined with grilled chicken breasts, grilled asparagus, and a tasty olive oil and garlic sauce, it's just fantastic. Fresh pasta really tastes so much better than the dried pasta you buy at the store. It's hard to describe the difference. It's lighter, tastier, and less prone to sticking. You simply must try it.
I highly recommend that pasta book too. If you're getting serious about pasta and want a variety of recipes (both for the noodles and sauces), it's a wealth of good information.
Next we need to try some of the more interesting pasta recipes that use more exotic flours and spices added in.
Pictures of my first and second pasta making adventures are on Flickr in Making Pasta.
Have you made your own pasta? What's your experience been like?
Last weekend we flew up to Pine Mountain Lake and drove into Hetch Hetchy to hike to Wapama Falls. The weather was fantastic for mid-January: clear and in the high 50s to low 60s. After about 15 minutes on the trail, jackets and outer shirts came off, and we were down to jeans and t-shirts.
You can see the full set in the Flickr photo set titled January 2009 Flight to Pine Mountain.
I shot about 250 more with my Canon 300D and you can see a few here.
The full set is on Flickr in Wapama Falls Hike in Hetch Hetchy Valley.
There are still more pictures of the hike that she took with the SD800 IS to come as soon as I get them on-line... You can always watch my full photo stream is here.
A little over a year ago, my wife and I traveled to Africa for our honeymoon and wedding (and a lot of sight seeting--more on that over the next few weeks). Part of that time was spent in Tanzania and part of it was in Kenya. This was during the craziest part of the 2008 presidential primary race when Hillary Clinton had the perceived lead over Barak Obama and every other would-be democratic nominee.
What was surprising to us is how aware of Obama and the primary process the average folks in Kenya appeared to be. We were asked on many occasions if Obama was going to be President of the United States of America. Even back then, over a year ago when he was in second place, there was an undeniable interest, hope, and genuine excitement about his prospects.
Given the post-election turmoil that erupted in Kenya near the end of our trip, it's no surprise that Kenyans were celebrating his election and inauguration a few days ago. If anyone needed hope for change and a promising future after political unrest, it was the people of Kenya.
When is the last time that a presidential election had such a far-reaching affect on ordinary people?
Last but not least, Powered By section, now at 113 sites and counting, was updated and restyled. I had long wondered how much Sphinx search queries are performed per month if we sum all the sites using it, and whether we already hit 1B page views per month or not. Being open-source, there's no easy way to tell. But now with the addition of craigslist to Powered By list I finally know that we do. Many thanks to Jeremy Zawodny who worked hard on making that happen, my itch is no more. :-)
Well, I guess the cat's out of the bag! My first project at Craigslist was replacing MySQL FULLTEXT indexing with Sphinx. It wasn't the easiest road in the world, for a variety of reasons, but we got it all working and it's been humming along very well ever since. And I learned a heck of a lot about both Sphinx and craigslist internals in the process too.
I'm not going to go into a lot of details on the implementation here, other than to say Sphinx is faster and far more resource efficient than MySQL was for this task. In the MySQL and Search and Craigslist talk I'm giving at the 2009 MySQL Users Conference, I'll go into a lot more detail about the unique problems we had and how we solved them.
For what it's worth, the implementation isn't really done. I did update the search help page on the site to reflect some of the capabilities (hey, look! OR searches!) but there are features I have planned that I'd like to expose as time allows.
In Tim O'Reilly's Work on Stuff that Matters he elaborated on three criteria that constitute "stuff that matters" for his readers:
A number of folks where surprised when I announced that I was joining craigslist back in July but it's an organization that I really admire. Having been there about 6 months now, I can definitely say that it's a job that matters based on Tim's thinking and my own.
Every time I meet someone and tell them where I work, their reaction is quite positive. They've had a good experience with craigslist, like the service, love the philosophy, and so on. Craigslist matters ordinary people--not just technology nuts.
Similarly, I know that we create more value than we capture. The majority of our service is free and usage seems to be growing all the time. People I talk to get such good responses with craigslist classifieds (compared to, say, newspapers) that I know we're giving people more than their money's worth.
As for taking the long view, I think being a non-public company helps that a lot. I've rarely thought about what "the next quarter" will bring. It's quite a contrast from my years at Yahoo. When we're discussing technology infrastructure, I'm always trying to think ahead a year or two (or more). But the day to day ups and downs just don't feel as important the way we operate. I like that.
All in all, I've been very happy with the change and am glad that Tim posted something that helped me to explain what I like about it.
I've been making variations on a crock pot chili recipe for the last few months and finally have a combination we really like.
1.5 - 2 pounds of ground beef
1 medium red onion
1/2 medium or large yellow onion
1/2 - 1 cup of frozen yellow sweet corn [see notes below]
1 green bell pepper
1 jalapeno pepper
1 14-16 oz. can of petite diced tomatoes [see notes below]
2 15-15 oz. cans of pinto beans [see notes below]
1 11.5 oz. can of V8 juice (hot if you can find it, regular otherwise)
1/2 tsp. salt
1 tbsp. chili powder
1 tbsp. cayenne pepper
Chop the red onion and add it with the ground beef. Brown over medium heat.
While the meat and onion are browning, add beans, V8, and spices to the crockpot. Chop green pepper, yellow onion, and jalapeno and add them as well.
Once the meat has browned and onions softened, add them to the crock pot as well.
Cook on low heat for 6-8 hours, stirring occasionally.
Serve with freshly made corn bread or fresh noodles. Optionally top with shredded cheddar cheese and onion. Enjoy with a nice cold beer, if that's your sort of thing. :-)
Safeway sells 15 oz. cans of Pinto Beans that are "Mexican Chili Pinto Beans." They work very well if you can find them.
Safeway also sells 14.5 oz. cans of Petite Diced Tomatoes with Garlic and Olive Oil. Also highly recommended. Some people use canned Stewed Tomatoes in their recipes but I find them to be too chunky. I like a nice uniformly thick chili.
Trader Joe's sells some truly excellent frozen Organic Super Sweet Cut Corn. Get it if you can. They also sell a good corn bred mix.
Over on the 37signals blog, DHH writes Mr. Moore gets to punt on sharding. His argument is basically that if you continually delay fixing your data storage and retrieval layer, Moore's Law will be there to save our ass--over and over again.
Bzzzt. Wrong answer.
Depending on future improvements to fix your own bad planning is a risky way to build an on-line service--especially one you expect to grow and charge money for.
It's easy to forget history in this industry (as Paul pointed out in the comments on that post). There was a point a few years ago when people still believed the clock speed of CPUs would be doubling roughly every 18 months for half the cost. Putting aside that Moore's Law is really about transistor density and not raw speed, we all ended up taking a funny little detour anyway.
Until recently, the sweet spot (in terms of cost and power use) was probably a dual CPU, dual core server with 16 or 32GB of RAM. But soon that'll be dual quads with 32 or 64GB of RAM. And then it'll be quad eight core CPUs with 128GB or whatever.
But notice that nowadays we're not all running 6.4GHz CPUs in our servers. Instead we're running multi-core CPUs at slower clock speeds. Those two are definitely not equivalent.
A funny thing happens as you add cores and CPUs. You begin to find that the underlying software doesn't always... get this... scale. That's right. Software designed in a primarily single or dual CPU world starts to show its age and performance limitation in a world where you have 8, 16, or 32 cores per server (and more if you're running one of those crazy Sun boxes).
You see, David is talking specifically about MySQL (and probably InnoDB), which is currently being patched by outside developers precisely because it has multi-core issues . Its locking is expensive and not granular enough to utilize all those cores. It's expensive in terms of memory use too. And there are assumptions built into the I/O subsystem that don't scale well in today's world of fast multi-disk RAID units, SSDs, and SANs. People are hitting these issues in the real world and it's definitely becoming a serious bottleneck.
See Also: The New MySQL Landscape.
Moore's Law is no silver bullet here. A fundamental change has occurred in the hardware platform and now we're all playing catch-up in one way or another.
I'll discuss this a bit in my upcoming MySQL Conference Talk too. The world is not nearly as clear or simple as DHH is suggesting. Perhaps they can get by with constantly postponing the work of sharding their database, but that doesn't mean you should follow their lead.