Bees inspire more efficient webserver design. The basic idea is that most servers are built for “normal” conditions, and generally don't behave well or recover properly when overwhelmed with traffic. In this article researchers developed a way for servers to communicate and spread demand across more workers, potentially discovering more workers along the way. They compare this communication to the bee waggle dance. Cute, but maybe not terribly efficient. You need to be careful with network bandwidth when allowing servers to communicate with each other. As I learned at Amazon, sending all intra-server communication to all possible listening servers maxes out your network bandwidth (in particular, your router tables) pretty quickly. Ask me about the multicast packet storms of '05 sometime.
Of course, you could simply use a load balancer to distribute your traffic evenly across many servers instead of letting the servers sort it out themselves. But this assumes you have divided the work to be done in your system into sets you can independently assign to separate server collections, and that within each server collection each server can be treated equally.
And if you're interested in distributed systems, you should read the split brain paper, by the goddess of distributed systems, Nancy Lynch.
Sunday, January 6, 2008
Tuesday, January 1, 2008
New Year's Resolution: more cross country skiing, more salsa
Last night we went to a fantastic salsa new year's eve party with Marco and Lavinia and danced the night away. I didn't think I had the skills to dance in front of a group of mostly pro dancers, but it turns out I could handle Bachata: where (if you are the girl) you basically just keep a march step and follow the guy. But the real stars of the party were Marco and Lavinia- when they took the dance floor everyone stepped back and cheered them on.
Then today we went cross country skiing with Anne and Andrew at Echo Lake, near Lake Tahoe. It was incredibly beautiful and peaceful. We trekked around the backwoods for a while, then doubled around the ridge overlooking Tahoe Basin and ended up at Echo Lake, where Anne and Andrew went flying down the steep ravine leading to the lake 2 or 3 times (while I, exhausted by this point, just watched).
And here's a picture from hiking near the American river in Auburn, CA, which is about an hour east of Davis. It starts getting mountain-y again around there, as you hit the Sierras, which is a nice contrast to the mostly desert-y Davis area (I miss pine trees). I love hiking. Maybe I should quit my job and become a park ranger so I can spend the whole day outside.
Monday, December 31, 2007
Geek knitting!
I thought I was the only programmer/knitter in the world, but no, like rocker/hacker ch1Xors, there is an active group of my odd demographic on the internet!
First of all, the awesome folks at KnitML have created a standard content model for knitting patterns, along with a pattern renderer, so you can get an idea of what your knitted object will look like from its pattern. I always thought that knitting patterns were computer program-like in style. And of course they should be: knitting machines need deterministic, procedural instructions. I always thought it was interesting how crafty folks, many of whom would probably claim they know nothing about writing computer programs, comfortably use control structures in knitting patterns.
Here is a great talk on the history of knitting in relation to computing/hacker culture, including open source patterns, knitting in public spaces, and how technology and the internet is shaping the state of the art.
Also, here is a roundup of geek craft from 2007, including knitting a space invaders scarf. Pixelated old video game images make good quilts and knits.
First of all, the awesome folks at KnitML have created a standard content model for knitting patterns, along with a pattern renderer, so you can get an idea of what your knitted object will look like from its pattern. I always thought that knitting patterns were computer program-like in style. And of course they should be: knitting machines need deterministic, procedural instructions. I always thought it was interesting how crafty folks, many of whom would probably claim they know nothing about writing computer programs, comfortably use control structures in knitting patterns.
Here is a great talk on the history of knitting in relation to computing/hacker culture, including open source patterns, knitting in public spaces, and how technology and the internet is shaping the state of the art.
Also, here is a roundup of geek craft from 2007, including knitting a space invaders scarf. Pixelated old video game images make good quilts and knits.
RFID tags in new $20 bills
Apparently this is not new, though it's new to me: new $20 bills have RFID tags in them, and when you microwave them, they explode! That's way more fun than microwaving AOL CDs. Link
So now a thief can not only determine remotely if you are carrying your US passport, he can also determine if you're carrying large bills. Awesome.
So now a thief can not only determine remotely if you are carrying your US passport, he can also determine if you're carrying large bills. Awesome.
Thursday, December 20, 2007
MSI Script vs Windows Security
I have recently been working on fixing bugs in my company's software installer (using Wise, hacking msi script), and have discovered some frightening things about how easy it is to do silent, invasive things during an install that Windows really shouldn't allow you to do.
1. Change the value of windows system registry values:
If you try to do this explicitly as a regular user (or without elevated privs on Vista), Windows will politely tell you that you can't. But if you execute the following MSI script during an installation (running the installation as a regular user), msiexec gets elevated priviledges, and can do whatever you want. Here's an example silently disabling UAC during an installation by launching regedit from cmd. (This is run in Wise via 'Execute Program from Destination', Working directory: SystemFolder):
"[SystemFolder]\cmd.exe" /c "[SystemFolder]\reg.exe" ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
2. Run a low-level system tool:
Similar idea, you can basically run anything you want from cmd. This example gives everyone full access rights recursively to a directory, not necessarily one that you own or have permissions to change. As long as it's run within msi, Windows lets you do it:
"[SystemFolder]\cmd.exe" /c echo y| "[SystemFolder]\cacls.exe" "[ProgramFiles]\DirectoryYouWantToMessWith" /T /G everyone:F
Yikes. I'm going to programmer hell for exploiting things like this as quick workarounds. The moral of this story is: be very careful about the random executables and installers you download from the internet. There's nothing preventing malicious users from using techniques like this to do arbitrary bad things to your computer.
1. Change the value of windows system registry values:
If you try to do this explicitly as a regular user (or without elevated privs on Vista), Windows will politely tell you that you can't. But if you execute the following MSI script during an installation (running the installation as a regular user), msiexec gets elevated priviledges, and can do whatever you want. Here's an example silently disabling UAC during an installation by launching regedit from cmd. (This is run in Wise via 'Execute Program from Destination', Working directory: SystemFolder):
"[SystemFolder]\cmd.exe" /c "[SystemFolder]\reg.exe" ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
2. Run a low-level system tool:
Similar idea, you can basically run anything you want from cmd. This example gives everyone full access rights recursively to a directory, not necessarily one that you own or have permissions to change. As long as it's run within msi, Windows lets you do it:
"[SystemFolder]\cmd.exe" /c echo y| "[SystemFolder]\cacls.exe" "[ProgramFiles]\DirectoryYouWantToMessWith" /T /G everyone:F
Yikes. I'm going to programmer hell for exploiting things like this as quick workarounds. The moral of this story is: be very careful about the random executables and installers you download from the internet. There's nothing preventing malicious users from using techniques like this to do arbitrary bad things to your computer.
Wednesday, December 12, 2007
Pennsylvania: still the land of pie
Wednesday, December 5, 2007
Subscribe to:
Posts (Atom)