Ha ha, when we were in high school in the US we got there an hour early to take an extra "0-period" AP class. Maybe that's why the lot of us grew up to be failures despite going to a Sci/Tech magnet school:P
/ OK, not really failures// Not brilliant CTOs or chief scientists or inventors either:P
Thanks, but I'm pretty sure it's something dorked up with my crappy Samsung t629 phone. I've been able to permanently give it permissions once, but it involves dialing a wonky access code into the keypad to reach a secret java config menu. At some point after that, my settings got borked and I had to delete and reinstall opera mini to get it working again, and never bothered looking up that code again:P
It is/was a decent dumb phone for the price (EDGE bluetooth tethering, 128kbps mp3, some IM connectivity, etc.) but I certainly wouldn't buy one again:P
As long as we're spreading the Opera love... I've tried but never really have gotten into Opera on the desktop. However on mobile devices -- dumbphones and smartphones and PDAs -- it's pretty much the only game in town. http://m.opera.com/
The interface is quite fast, even on my crappy old Samsung. Difficult to believe it's a Java midp, given the responsiveness with which you can scroll around the page, zoom in/out, and slide back. It's much better than the built-in browsers that I've used on Samsung, Blackberry, older Palm devices, etc. and I even use it sometimes on my wife's Android phone. And it has some sort of bookmark sync thing tied to your account.
Anyway, if it wasn't for opera mini, I wouldn't have been able to get by with my dumb phone on a cheap wap plan for so long. Also with my Blackberry and Palm it allowed me to hit some javascript-heavy pages when I didn't have access to a computer (airline check-ins, etc.) and the built-in browsers just wouldn't hack it. So it's an essential piece to have on your mobile device.
Downsides: * sometimes I lose my bookmarks, I think when I exit out of it too fast and my device kills java before it's finished cleaning up. * My phone puts java apps in a really annoying place without a quick shortcut to it (Tools | My Files | Games). * It disables my phone's standby for some reason. * Opera Mini 5 beta doesn't work, but Opera Mini 4 works great. YMMV * java nags to grant the app network access every time I launch a new session.
But it's awesome enough that I put up with those inconveniences to use it:P
Of course, to win the game, you'd probably want to go the other way and backport it to a 16-bit or 8-bit processor.
Anyway, loved the article... I didn't like the way most CS classes glossed over these kinds of admittedly mundane but practical matters. I am interested in knowing what every single last damn byte is doing there!
Meh, I only went to facebook regularly because I got addicted to some of the crappy clicky games (MafiaWars and Starfleet Commander). But at some point just this month, I finally stopped feeding the urge to maintain those things... it was eating a lot of quality time out of my personal time in mornings and evenings. I pretty much avoid MMORPGs for the same reason.
The signal-to-noise ratio of most of those social networking sites have plummeted, so I rarely pay much attention to them anymore. The feeds are dominated by a handful of people who post all the time. So queue up the next big thing... or actually maybe the older sites like LiveJournal with actual content, and not just grey connective tissue. Clicky clicky linky linky can still get old and tired.
20 minute commute? What metropolitan area to you live in? Everyone I know drives for at least an hour, sometimes up to 2 hours each way in traffic.
And all for cheap housing. If we could somehow migrate away from suburban and exurban sprawl and actually create large, comfortable urban lodging for families close to work, it'd be no problem to own big landlubber vehicles so you can have your weekend fun out in West Virginia... you'd probably save more gas by living closer to work than by buying extra fuel efficient cars for every family member.
But this is America... we're more in love with our cars than the place where we live, I guess.
/ moved next to a subway station and got rid of the 2nd car// then found another nice job close to home and didn't even need the subway station anymore
So essentially they'll be turning the clock back to 2006, where the Chinese had access to the unfiltered, international version of Google and were more painfully aware of its government's censorship effects.
I'm mostly interested in how much Google actually follows through on their threat. It would still be an interesting PR move if they do (good or bad press is still press), but I'm sure they'll leave some tendrils there. More interesting and depressing if historians come back to this point in time and say this was some major event that lead to a much bigger rift between the East and the West.
Hmm, my plan had always been to be a bit sneakier and set up the transparent proxy on the router and maybe VNC on their computers. But I'm still just procrastinating until they get a bit older... for the moment they only play Spore on the PC in the family room. I'll try to be a bit more proactive and "help" them set up their major social network accounts for them before they get there on their own. But it's a bit too early to tell which ones will be popular in another few years' time.
But yeah, I remember when I was 14 or something I was excited to find someone on the Sierra Network that lived nearby and I had decided to jump on my bike and meet him. I told my dad, and he said "no way". Funny I still remember how annoyed I was about that at the time. While in retrospect, what good would come of meeting a stranger who worked at a horse racing track? So yes, I know from personal experience, kids are much dumber than they think they are:P
Now I feel like creating a MySpace account just so I can create a single review entitled "This is how I tip my hat to total suckers who pay actual money for data plainly available for free on my personal website".
/ Seriously, what kind of loser has a MySpace account? I moved past that kind of thing after tinkering briefly with GeoCities:-P
In college I wasted SO much time debugging C/C++ code memory errors. Python was such a breath of fresh air. I could think of something with a mildly complex structure, implement it, and have it work pretty much on the first go.
I've spent days, DAYS debugging weird stack memory limitations in C++, where it would work right on a small data sample, but completely fail on a slightly larger set.
I used psyco on my Master's thesis to greatly speed up my python simulation (10-100x with a simple import statement). Unfortunately it only works on 32-bit ix86. Supposedly other projects like pypy are supposed to reintroduce that kind of optimization to modern python, but I finished my thesis:P It's easy enough to link to C/C++ code for parts that really have to run fast though.
So yeah, start them off with python. And maybe teach the advanced students how to link to C/C++ modules for performance-critical functions.
If all you have is imaginary intellectual property, the only way you can really protect it is by force. Well, and trade sanctions, but those won't mean much soon...
Anyway, I'm from Thailand, so I don't really care either way things roll. If the US doesn't bring its health care system up to the level of other industrialized nations and becomes paralyzed by preventable chronic conditions, it will be good for Thailand's "health tourism" industry.
The clouds kinda obscure this one. But if you look it up in other datasets, such as MS Bing Maps, it's a bit more pronounced. And much larger than any of the other verified craters listed.
Any CPU with more than 2 cores, should be able to handle most of what you want... I've been testing a dual core Atom 330 at work, and it's actually easy to forget it's not a "real" CPU (unless some FPU-intensive screensaver comes on).
For mid-to-low-end systems, GPUs are really the discriminator... what makes a difference with running games at decent resolutions and playing back video. The model numbers are nuts, but I tend to cross-reference a few places:
http://www.videocardbenchmark.net/ - a good comprehensive list that boils down and ranks just about every card out there into a single (artificial) benchmark number.
Wikipedia also has surprisingly good coverage of every family of chip, and what products are based off of them and tables of supported features - crucial for system building. So I use it primarily to figure out things like: which nVidia Geforce is equivalent to which Quadro FX branded model, what is the fastest memory my "Barton" core Athlon would support, what the hell is the difference between a 2.2Ghz "Williamette" vs. a 2.2Ghz "Prescott", etc.
I've also taken a liking to checking with http://www.phoronix.com/ for Linux benchmarks and support for new hardware features and drivers... such as nVidia vs. ATi vs. Intel, which distribution has better VPDAU or audio support, etc.
And definitely once in a while read up on http://anandtech.com/ and http://tomshardware.com/ if it's been a while and you need a comprehensive explanation of new tech, such as SSDs or long-term price vs. performance investment strategies... those can really help you plan ahead (Intel & nVidia's tick-tock release cycle, finding the best value, and just generally knowing which buzzwords are important and which are just marketing rubbish.
I've always enjoyed Discover Magazine more than PopSci or PopMech. While the latter have more fantastic and sensational pictures, I like the more detailed articles and writing style of Discover... I'd almost liken it to the difference between Time magazine vs. US News & World Report (OK, maybe not THAT bad, but it feels like that sometimes).
http://discovermagazine.com/ The archives only go back a few decades, so not as much historical interest as PopSci's archives. But my world view was probably more impacted.
On the bright side, you can get a half decent Palm Z22 for under $100 now. Load up Plucker and a bunch of books and websites sync'd via Sunrise-Desktop and you're set for a few weeks. Also with TCPMP you can play back music and movies. And it comes with a much better PIM than Android and maybe even iPhone.
Yes, I'm still holding out with my Palm T|X. Bluetooth tethering to a $10/mo. unlimited wap data plan, where I can access ssh, vnc, and much of the web with Opera Mini. Haven't found anything much better to upgrade to yet. Just wish Google Maps Mobile would update their PalmOS Garnet client:P
I always wanted to strap an eeepc to the top of a roomba and let my website visitors take turns teleconferencing to it and driving it around the house.
Yeah, people will probably abuse it, but we could always post the worst offenders and their IP addresses on our website for the world to gawk at:P
I don't think you can beat a bunch of conventional hard disks in a RAID5 for both cost-per-TB and backup/restore performance, not to mention medium-term data integrity. Might be able to make hooking up the drives more convenient with an eSATA mult-bay enclosure, but those are kinda expensive. But I bet your backup box already has some sort of hot-swap on it already, like: http://www.amazon.com/Thermaltake-BlacX-eSATA-Docking-Station/dp/B001A4HAFS
I assume you already compress your data, since scientific datasets tend to compress well. You might consider compressing to squashfs, since it will let you do transparent decompression later on so you can skip the restore step if you just need a handful of files.
I'd like to use Matroska more, I like the DVD-like features such as alternate audio tracks and switchable subtitles. Have any recommendations for encoders that can include these features? VLC appears to work pretty well on the player side.
Leaving another usage note on how to actually make the pretty 3D time vs. block# vs. blocks plots, since it's not immediately obvious from the (otherwise well-written) blktrace documentation.
sudo blktrace -d/dev/sda # do some disk activity, then hit CTRL-c btt -i sda_blktrace.* -o summary -B status bno_plot.py status_*.dat
Would be neat to make a near real-time version of this... also if there was some way to associate / cross-reference block numbers with the actual files being accessed.
On a related note, anyone know of a utility that will let us visualize what the disk is doing? (Other than those disk drives with little windows over the read heads, that is:P )
I'm sort of looking for something like one of the old DOS/Win3.11 defragger (maybe it came with Stacker?) that showed the layout of used blocks and which ones the defragger was reading and writing to put everything back in order again. I suppose the current Windows defrag utility still sort of works like this, but it's not quite as interesting to watch.
I'd love to be able to tap into the Linux kernel and just watch the read and write patterns as the system is working. Might also be marginally useful for seeing where different types of commonly-accessed files sit on the platter, maybe it could help rearrange them to optimize readahead buffer hits. I'm thinking of hacking together my own thing using strace and fs block lookups, but just wanted to check if there was something that already did most of this.
There are actually plenty of safety features that can benefit from more electronic control... stability control, traction control, anti-lock braking, limiters, automatic braking, automatic parallel parking, cruise control, etc. etc.... things that can really help lousy drivers from losing control of their vehicle or driving too fast or too slow or absent mindedly running into things.
Some of that stuff you can and should be able to turn off (most cars you have a button to turn off stability control so if you know what you're doing you can still handle the car in slippery conditions). Shouldn't be difficult to provide a drive-by-wire "disable" switch, which just toggles control over to simpler, more reliable controller with KISS code that doesn't incorporate all those potentially buggy features. Maybe have it triggered by the emergency brake or shifting to neutral or something.
Ha ha, when we were in high school in the US we got there an hour early to take an extra "0-period" AP class. Maybe that's why the lot of us grew up to be failures despite going to a Sci/Tech magnet school :P
/ OK, not really failures // Not brilliant CTOs or chief scientists or inventors either :P
Thanks, but I'm pretty sure it's something dorked up with my crappy Samsung t629 phone. I've been able to permanently give it permissions once, but it involves dialing a wonky access code into the keypad to reach a secret java config menu. At some point after that, my settings got borked and I had to delete and reinstall opera mini to get it working again, and never bothered looking up that code again :P
It is/was a decent dumb phone for the price (EDGE bluetooth tethering, 128kbps mp3, some IM connectivity, etc.) but I certainly wouldn't buy one again :P
As long as we're spreading the Opera love...
I've tried but never really have gotten into Opera on the desktop. However on mobile devices -- dumbphones and smartphones and PDAs -- it's pretty much the only game in town.
http://m.opera.com/
The interface is quite fast, even on my crappy old Samsung. Difficult to believe it's a Java midp, given the responsiveness with which you can scroll around the page, zoom in/out, and slide back. It's much better than the built-in browsers that I've used on Samsung, Blackberry, older Palm devices, etc. and I even use it sometimes on my wife's Android phone. And it has some sort of bookmark sync thing tied to your account.
Anyway, if it wasn't for opera mini, I wouldn't have been able to get by with my dumb phone on a cheap wap plan for so long. Also with my Blackberry and Palm it allowed me to hit some javascript-heavy pages when I didn't have access to a computer (airline check-ins, etc.) and the built-in browsers just wouldn't hack it. So it's an essential piece to have on your mobile device.
Downsides:
* sometimes I lose my bookmarks, I think when I exit out of it too fast and my device kills java before it's finished cleaning up.
* My phone puts java apps in a really annoying place without a quick shortcut to it (Tools | My Files | Games).
* It disables my phone's standby for some reason.
* Opera Mini 5 beta doesn't work, but Opera Mini 4 works great. YMMV
* java nags to grant the app network access every time I launch a new session.
But it's awesome enough that I put up with those inconveniences to use it :P
To all you people complaining about the original article being old news from 1999... port it to a modern 64-bit architecture!
Needs a newer nasm or yasm:
http://www.tortall.net/projects/yasm/wiki/AMD64
Of course, to win the game, you'd probably want to go the other way and backport it to a 16-bit or 8-bit processor.
Anyway, loved the article... I didn't like the way most CS classes glossed over these kinds of admittedly mundane but practical matters. I am interested in knowing what every single last damn byte is doing there!
Meh, I only went to facebook regularly because I got addicted to some of the crappy clicky games (MafiaWars and Starfleet Commander). But at some point just this month, I finally stopped feeding the urge to maintain those things... it was eating a lot of quality time out of my personal time in mornings and evenings. I pretty much avoid MMORPGs for the same reason.
The signal-to-noise ratio of most of those social networking sites have plummeted, so I rarely pay much attention to them anymore. The feeds are dominated by a handful of people who post all the time. So queue up the next big thing... or actually maybe the older sites like LiveJournal with actual content, and not just grey connective tissue. Clicky clicky linky linky can still get old and tired.
20 minute commute? What metropolitan area to you live in? Everyone I know drives for at least an hour, sometimes up to 2 hours each way in traffic.
And all for cheap housing. If we could somehow migrate away from suburban and exurban sprawl and actually create large, comfortable urban lodging for families close to work, it'd be no problem to own big landlubber vehicles so you can have your weekend fun out in West Virginia... you'd probably save more gas by living closer to work than by buying extra fuel efficient cars for every family member.
But this is America... we're more in love with our cars than the place where we live, I guess.
/ moved next to a subway station and got rid of the 2nd car // then found another nice job close to home and didn't even need the subway station anymore
Well, here are the Google blog posts mulling over China both then and now:
http://googleblog.blogspot.com/2006/01/google-in-china.html
http://googleblog.blogspot.com/2010/01/new-approach-to-china.html
So essentially they'll be turning the clock back to 2006, where the Chinese had access to the unfiltered, international version of Google and were more painfully aware of its government's censorship effects.
I'm mostly interested in how much Google actually follows through on their threat. It would still be an interesting PR move if they do (good or bad press is still press), but I'm sure they'll leave some tendrils there. More interesting and depressing if historians come back to this point in time and say this was some major event that lead to a much bigger rift between the East and the West.
Hmm, my plan had always been to be a bit sneakier and set up the transparent proxy on the router and maybe VNC on their computers. But I'm still just procrastinating until they get a bit older... for the moment they only play Spore on the PC in the family room. I'll try to be a bit more proactive and "help" them set up their major social network accounts for them before they get there on their own. But it's a bit too early to tell which ones will be popular in another few years' time.
But yeah, I remember when I was 14 or something I was excited to find someone on the Sierra Network that lived nearby and I had decided to jump on my bike and meet him. I told my dad, and he said "no way". Funny I still remember how annoyed I was about that at the time. While in retrospect, what good would come of meeting a stranger who worked at a horse racing track? So yes, I know from personal experience, kids are much dumber than they think they are :P
Now I feel like creating a MySpace account just so I can create a single review entitled "This is how I tip my hat to total suckers who pay actual money for data plainly available for free on my personal website".
/ Seriously, what kind of loser has a MySpace account? I moved past that kind of thing after tinkering briefly with GeoCities :-P
In college I wasted SO much time debugging C/C++ code memory errors. Python was such a breath of fresh air. I could think of something with a mildly complex structure, implement it, and have it work pretty much on the first go.
I've spent days, DAYS debugging weird stack memory limitations in C++, where it would work right on a small data sample, but completely fail on a slightly larger set.
I used psyco on my Master's thesis to greatly speed up my python simulation (10-100x with a simple import statement). Unfortunately it only works on 32-bit ix86. Supposedly other projects like pypy are supposed to reintroduce that kind of optimization to modern python, but I finished my thesis :P It's easy enough to link to C/C++ code for parts that really have to run fast though.
So yeah, start them off with python. And maybe teach the advanced students how to link to C/C++ modules for performance-critical functions.
Don't forget the military!
If all you have is imaginary intellectual property, the only way you can really protect it is by force. Well, and trade sanctions, but those won't mean much soon...
I'm really surprised no one has brought this up in the health care debate:
http://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen.html
Anyway, I'm from Thailand, so I don't really care either way things roll. If the US doesn't bring its health care system up to the level of other industrialized nations and becomes paralyzed by preventable chronic conditions, it will be good for Thailand's "health tourism" industry.
I always thought this feature looked pretty crater-like, especially along the eastern edges:
http://maps.google.com/?ie=UTF8&hq=&hnear=North+Bethesda,+Montgomery,+Maryland&ll=65.980034,-178.857422&spn=0.870944,2.469177&t=h&z=9
The clouds kinda obscure this one. But if you look it up in other datasets, such as MS Bing Maps, it's a bit more pronounced. And much larger than any of the other verified craters listed.
Any CPU with more than 2 cores, should be able to handle most of what you want... I've been testing a dual core Atom 330 at work, and it's actually easy to forget it's not a "real" CPU (unless some FPU-intensive screensaver comes on).
For mid-to-low-end systems, GPUs are really the discriminator ... what makes a difference with running games at decent resolutions and playing back video. The model numbers are nuts, but I tend to cross-reference a few places:
http://www.videocardbenchmark.net/ - a good comprehensive list that boils down and ranks just about every card out there into a single (artificial) benchmark number.
Wikipedia also has surprisingly good coverage of every family of chip, and what products are based off of them and tables of supported features - crucial for system building. So I use it primarily to figure out things like: which nVidia Geforce is equivalent to which Quadro FX branded model, what is the fastest memory my "Barton" core Athlon would support, what the hell is the difference between a 2.2Ghz "Williamette" vs. a 2.2Ghz "Prescott", etc.
I've also taken a liking to checking with http://www.phoronix.com/ for Linux benchmarks and support for new hardware features and drivers... such as nVidia vs. ATi vs. Intel, which distribution has better VPDAU or audio support, etc.
And definitely once in a while read up on http://anandtech.com/ and http://tomshardware.com/ if it's been a while and you need a comprehensive explanation of new tech, such as SSDs or long-term price vs. performance investment strategies... those can really help you plan ahead (Intel & nVidia's tick-tock release cycle, finding the best value, and just generally knowing which buzzwords are important and which are just marketing rubbish.
I've always enjoyed Discover Magazine more than PopSci or PopMech. While the latter have more fantastic and sensational pictures, I like the more detailed articles and writing style of Discover... I'd almost liken it to the difference between Time magazine vs. US News & World Report (OK, maybe not THAT bad, but it feels like that sometimes).
http://discovermagazine.com/
The archives only go back a few decades, so not as much historical interest as PopSci's archives. But my world view was probably more impacted.
The cube animation is useful for the fish that swim around in the cube.
But yeah, even I eventually got bored of that and turned it off.
Yeah, keeping those drives in a huge online storage array is probably better. Then they can mirror them across multiple sites.
Here's a compelling petabyte online RAID system for cheap:
http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/
On the bright side, you can get a half decent Palm Z22 for under $100 now. Load up Plucker and a bunch of books and websites sync'd via Sunrise-Desktop and you're set for a few weeks. Also with TCPMP you can play back music and movies. And it comes with a much better PIM than Android and maybe even iPhone.
Yes, I'm still holding out with my Palm T|X. Bluetooth tethering to a $10/mo. unlimited wap data plan, where I can access ssh, vnc, and much of the web with Opera Mini. Haven't found anything much better to upgrade to yet. Just wish Google Maps Mobile would update their PalmOS Garnet client :P
I always wanted to strap an eeepc to the top of a roomba and let my website visitors take turns teleconferencing to it and driving it around the house.
Yeah, people will probably abuse it, but we could always post the worst offenders and their IP addresses on our website for the world to gawk at :P
I don't think you can beat a bunch of conventional hard disks in a RAID5 for both cost-per-TB and backup/restore performance, not to mention medium-term data integrity. Might be able to make hooking up the drives more convenient with an eSATA mult-bay enclosure, but those are kinda expensive. But I bet your backup box already has some sort of hot-swap on it already, like: http://www.amazon.com/Thermaltake-BlacX-eSATA-Docking-Station/dp/B001A4HAFS
I assume you already compress your data, since scientific datasets tend to compress well. You might consider compressing to squashfs, since it will let you do transparent decompression later on so you can skip the restore step if you just need a handful of files.
I'd like to use Matroska more, I like the DVD-like features such as alternate audio tracks and switchable subtitles. Have any recommendations for encoders that can include these features? VLC appears to work pretty well on the player side.
Leaving another usage note on how to actually make the pretty 3D time vs. block# vs. blocks plots, since it's not immediately obvious from the (otherwise well-written) blktrace documentation.
sudo blktrace -d /dev/sda # do some disk activity, then hit CTRL-c
btt -i sda_blktrace.* -o summary -B status
bno_plot.py status_*.dat
Would be neat to make a near real-time version of this... also if there was some way to associate / cross-reference block numbers with the actual files being accessed.
Hmm, by way of answering my own question, looks like there's something called bno_plot, which uses blktrace to do most of what I'm looking for...
sudo mount -t debugfs none /sys/kernel/debug/ /dev/sda -o - | blkparse -i -
sudo blktrace -d
will print out a realtime text dump of what block activity is going on.
On a related note, anyone know of a utility that will let us visualize what the disk is doing? (Other than those disk drives with little windows over the read heads, that is :P )
I'm sort of looking for something like one of the old DOS/Win3.11 defragger (maybe it came with Stacker?) that showed the layout of used blocks and which ones the defragger was reading and writing to put everything back in order again. I suppose the current Windows defrag utility still sort of works like this, but it's not quite as interesting to watch.
I'd love to be able to tap into the Linux kernel and just watch the read and write patterns as the system is working. Might also be marginally useful for seeing where different types of commonly-accessed files sit on the platter, maybe it could help rearrange them to optimize readahead buffer hits. I'm thinking of hacking together my own thing using strace and fs block lookups, but just wanted to check if there was something that already did most of this.
There are actually plenty of safety features that can benefit from more electronic control... stability control, traction control, anti-lock braking, limiters, automatic braking, automatic parallel parking, cruise control, etc. etc. ... things that can really help lousy drivers from losing control of their vehicle or driving too fast or too slow or absent mindedly running into things.
Some of that stuff you can and should be able to turn off (most cars you have a button to turn off stability control so if you know what you're doing you can still handle the car in slippery conditions). Shouldn't be difficult to provide a drive-by-wire "disable" switch, which just toggles control over to simpler, more reliable controller with KISS code that doesn't incorporate all those potentially buggy features. Maybe have it triggered by the emergency brake or shifting to neutral or something.