Monday, January 2, 2012

2012

Happy New Year!

That's about all I have to say.  I love my job, but I love staying home for a week and still getting paid even more (who wouldn't?).  I think this year's going to be a good one for us.

Saturday, November 19, 2011

Supercomputing 2011

I just got back from Supercomputing conference 2011 in Seattle Washington.  It was a pretty good trip - we demo-ed a 100 Gbps network, had a few talks, and everything went pretty smoothly, more or less.

Just to give some idea of the demo's network speed, consider this:

     My current internet connection is roughly 30 Mbps max - that's fairly fast for home internet service (speedtest services tell me it's better than about 90% of the world's internet speeds).  That lets me download a CD's worth of data in just a few minutes, just tens of minutes for a DVD.  That's thousands of times faster than dialup, for comparison.
     My home network is much faster than my internet connection.  It can transfer a (theoretical) maximum of 1 Gbps - that's a DVD's worth of information in a few seconds (turning minutes into seconds is a significant difference - imagine holding your breath 10 seconds, and imagine holding it 10 minutes).  In reality, the hard drive on my computer access data far, far slower than that because I have older hardware and am not using an SSD drive, and data has to be transferred across the system bus on the motherboard and stuff like that.  My computer can't really 'saturate' the network with data.
      Anyway, we had a network connection at Supercomputing of 10 Gbps - that's 10x faster than my home network.  That's a blueray disc in a few seconds, a DVD in less than a second.  Below, we used this connection to model the expansion of the universe several millions of years after the big bang using data fed over the internet connection.  The top screen showed us the relative amount of data available over the 10 Gbps connection, and below that, we did the same thing, but used a 100 Gbps connection.  Yes, the 10 Gbps connection was the 'slow' connection.  I don't really have anything else to compare a 100 Gbps connection to.


You can see from my phone's camera - the bottom screen is getting data at about 93 Gbps, which is really close to the theoretical maximum the connection can handle.    The screens are not very clear from my phone, but the amount of 'data' on the bottom screen and the top screen is visible, anyway.

There were lots of vendors there.  Intel, of course, was showing off their stuff:


They hosted a flight sim in 3D with '3D' motion:

I don't know why, but Microsoft was present as well (and they actually had a very large booth).  Oh yeah, also, I guess Kinect is finally coming to Windows:


I stopped by Supermicro, gawked at their AMD servers (64 cores in a node), chatted with IBM and their Watson:

Our booth was next to NASA, AMD, HP, and there were hundreds of other vendors, manufacturers, universities, institutions, and other groups being represented at the conference I was able to chat with, like nVidia, Penguin Computing, DataDirect, SGI, CRAY, and so forth.  It was quite useful to go and make some contacts with them.  I got a little bag of swag from all of the booths as well, flash drives, led lights/fiber channel testers, t-shirts and pens, and some useful computing goodies.



There were also a few competitions, for giving away some more valuable goodies, such as a few iPad 2 giveaways (for sitting through some marketing presentations).  Best of all though, was a Samsung Galaxy tablet (android) giveaway, which was being sponsored by PRACE (http://www.prace-project.eu/).  You just had to visit some of their partners booths, and be present to win (instead of going to the other giveaways).  And guess what?

I WON THE GALAXY TAB!  Hahaha!

Friday, July 8, 2011

Mel was a Moron

Real Programmers everywhere know the story of Mel.  Mel and his macho programming skills that put all those pansy pascal programmers to shame.  Mel who knew the intricate details about the memory cycles of the hardware he was programming on, programmed in hexadecimal, and hated compilers (well at least compilers that couldn't write themselves).  And all those lesser, non-elite programmers and hackers awed at his awesome skills.

And the story's been passed around the underlayers of the internet world for some time.  I remember when I first read it and thought to myself, wow, that guy was a real wizard, something to aspire to.

Then I met the real world where programming is done and software is made and systems are designed.  And I realized that Mel was a moron.

Oh I get it, Mel had a brain for getting into the details of how each part of the hardware worked together.  Of course that's commendable. But let's look at the bigger picture, the story being told by the narrator about the guy he worked with, Mel, and what was really happening.

When Mel left the company, nobody could work on his code.  Because he wrote it in assembly, a step above machine code, which most other humans don't actually read (at least not on purpose).  It couldn't be commented (he actually wrote in hexidecimal, not some assembly editor like we use today, and binary assembly can't take comments).  You can't explain to other humans what the program is doing or why.  This is part of the reason for creating a compiler - to abstract the instructions you're writing another level from pure machine code.

That by itself isn't terrible.  Just step back and imagine you're paying Mel to work for you.  You give him a task to write a simple card playing program.  He writes it in assembly.  You need him to change it a little.  He now has to (nearly) rewrite the entire thing (as assembly is fairly non-abstracted - it's non-trivial to modify).  And again and again, you need little changes.  Then one day you have a slightly different platform for him to write it on.  Wait .. oh, Mel doesn't know the underlying ins-and-outs of this new platform, he writes in assembly so he'll spend a long time learning the new system then writing another program.  Oh yeah, and nobody else can read the code without becoming experts themselves on his code.  One day you realize you're paying Mel way too much to maintain some code for you, so you let him go, and now the code you've paid so much for is going to become abandoned, as nobody's going to want to have to deal with that mess (which is pretty much what happened in the story).

My personal definition for a moron is someone who can be really really smart while doing something ultimately stupid.  Like building an atomic bomb, or carefully analyzing the issues and then picking one of the two candidates for president.

Real Programmers use the tools they have to get the job done, to avoid ever having to repeat any work they've already accomplished.  Any person with decent intelligence (or who values the fact that their lifespan is going to be a very, very finite number of years) doesn't want to spend all their time cleaning up code that they wrote more than a week ago (who remembers what they wrote more than a week ago?), or that someone else wrote, or becoming experts on the details that other people are paid to be experts on (as Einstein was quoted as saying, "Never memorize something that you can look up").  Anyone concerned with Getting Things Done isn't going to want to micromanage anything. 

This is why we build computers - to do the little tasks for us.  We build small tools, abstract them so we don't care how they do the job, and combine them into large tools, which we again abstract, and build into larger tools.  Any child can understand this - when we go and buy a pizza, we tell the pizza place if we want pepperoni or not (we tell them what kind of pizza we want).  We don't detail for them what strain of wheat crop they should use, who they should buy it from, who the farm should hire to harvest it, when they should plant it, when they should harvest it, what machines they should use to do so, how they should store it, how they should process it, how the dairy should keep the cows, what they should feed them, when the pizza place should open and close, who they should hire and how much they should pay them, etc, etc, etc.  Someone details that for them, and in some way we make decisions about things like 'are they using organic?' and such.


Of course if it's your job to know what time the workers show up to harvest the grain, you should know that.  But not if it's your job to deliver the pizza (or rather, your job shouldn't depend on knowing what time the grain workers show up - that's my point, that that kind of system is unsustainable, and doesn't work).

Saturday, January 22, 2011

Robots have to wonder

Not very often, but I suppose more than a few times, I've let myself wonder if maybe my life wasn't supposed to be a race without a finish line, stumbling around and trying to find some escape from the unquenchable fear that always follows me, some distraction from the emptiness that always threatens me. 

I think it's often when I first awake, when I've not been able to guard my thoughts against facing reality again, that I can feel the permanence of the toll that is taken on me by everything in my life that's wasted my time, everything I've done to waste my time, everything that's made it more and more difficult for me to get where I was trying to go, to get, where?  To some mythical place where I don't have any reason to be disappointed, or dissatisfied, with myself or the world. 

Still, I think there's some kind of sense, deep or hidden in my mind, that I can find somewhere that I don't need to be anybody, that I can be with all the people who I enjoy the most, and nobody's going to care if I laugh too loud or need one more hug, or if I'd rather build sandcastles for a few hours just to watch them wash away again and know it doesn't matter because I have all the time in the world. 

I wonder if I'd never awake feeling my life running out with every breath if there were some way to erase this fantasy from my mind, this glittering image of a reality that could exist if I could ever leave myself behind.  Then, maybe there would be no reason to feel as though the daily erosion on my life was anything other than what it should be.  But for now, instead, I let myself wonder from time to time, and my sandcastles are left alone, safe in some corner of my mind.

Saturday, October 16, 2010

Trains

When I first came out to the Bay area, I was completely overwhelmed.  It wasn't that I was in the process of pulling myself out of the bleak desperation that beckoned me in every avenue of possibility for my future, or that I was committing myself to something I couldn't be sure of, while indebting myself to faceless corporations for sums I could hardly fathom, or that every moment of my day was surrounded by innumerable strangers with whom I'd have to interact with on only the most superficial level. 

No, even when I began to make friends and meet people, the overwhelming thing for me was knowing there was no single person who'd ever understand what the experience was like for me.  That I was navigating through a world I didn't want to belong to, but couldn't leave alone.  That my reasons for taking classes at a school like UC Berkeley were not the same as any of my classmates.  That I was not freshly out of high school, still holding on to mom and dad's coattails, but on my own, and the problems that came my way ended with me.  That I had spent most of my life avoiding the kinds of competition I'd meet every day on campus, that I'd feel at once like a country bumpkin visiting the city, and an adult sitting in a kindergarten. That what I was doing was completely uncharted for me - nobody had plotted the way, nobody had gone through the experience and told me what to expect, nobody stood by ready to give me advice on how to deal with the issues I had to face, though I must have fantasized often enough that such a mentor could exist.  I had thought of this since I was about fourteen, when I could look over my future life with precision and clarity, and understood everything the world had to offer me - at fourteen, when I would ace any test a teacher would give me without having glanced at any homework, and my teachers would puzzle over why I did nothing in class but ranked 99th percentile in the state on my tests.  At fourteen, when I could see I had no desire to spend my life playing the games, jumping the hoops and running on hamster wheels that everyone was told would give them all they wanted out of life.

This feeling would come to me mostly as I traveled back and forth from Oakland to Berkeley on the Bart.  There was something about being surrounded by others, quietly following a daily ritual, something just outside of feeling - a pain I had grown numb to, observing how many people continued to take part in the facade offered us by a social structure built on exploitation and greed.  Still, an underground train was a kind of luxury for someone like me.  I often had a feeling that there was something sophisticated about being adult enough to travel by train, that this was something the urbane, cultured people of the world did in their large cities where important things happened, moving themselves from place to place on shiny metal and glass conveyors, their engines filling the air with the noise of modern technological progress.

I'm not so overwhelmed these days.  The train no longer seems sophisticated.  As the familiar whine of the electric motors moving metal wheels against the protesting metal tracks fills the quiet underground tunnels, I get a different feeling.  The dingy glass doesn't shine so much, the dull metal seems less glossy, and the weary looks of the occupants seem less urbane and cultured.  There's just people here, jumping through their hoops, running on the hamster wheels.  The same as me.  And I'm not so alone.

Friday, April 16, 2010

Windows 7 64-bit .... Eh

I got my Windows 7 OS installed recently, and my general impression comes out as.... Eh.   So, I'll get down to it:

The Pros: Enhanced security:  Like Vista, Windows 7 has great buffer-overflow exploit protection thanks to Address Space Layout Randomization(c).  It also has slightly better priveledge access control, still uses DEP (data execution prevention) like other windows, and does a bit better job at monitoring potential security issues.  It's somehow shed the bulk of the Vista Bloat(tm).  Not all of it though.  But this is the pros.  Let's see... it looks prettier, with Aero (which I don't use... see the part about bloat).  A lot of things make more sense with the GUI and are easier to get to... some are harder though.  See below for that.  Finally, it doesn't completely explode all the time, or randomly freeze or die, and I've rarely seen a blue screen (never on my own computer, but I have a lot of these installs at work).  So, that's got to be a good thing.   Like Vista, the task manager is more informative, and includes services.  Start-up and shutdown are both a lot faster than XP and Vista.

The Cons:  Want to customize your non-aero desktop?  Too bad.  You can either have bloaty aero prettify your desktop, or make your desktop look like windows 95.  That was the operating system that came out just before 1995.  That was 14 years ago, by the way, if you've missed the point I'm making here.  Some things are not actually easier to get to - they're harder.  Like network connections - that nice little windows folder/location/explorer shell I could get to with one-click-from-the-start-menu to enable/disable my network card (when I wanted to kill my firewall for gaming and still be safe from attacks).  Even though many of the settings and menus are now adopting a universal kind of access metaphor (the explorer window), there's still a lot of 'windows xp' shell stuff still there - advanced system settings, device manager properties, and the like.  There's as many background services running on start-up as any other windows.  And of course, lots of things are not really compatible with Windows 7 or 64-bit operating systems.  It seems that a lot of the world is still waiting for customers to bang their doors down before deciding that supporting either that latest operating system or 64-bit ones is really important.  And I'm talking about windows software companies, and peripheral component device driver makers that support other windows versions.  And then there's the user account control - which is just fine if you totally enjoy constant popup windows asking you if you're really, really sure you want that program to run.  The one you just used a minute ago, and use 20 times a day, and will continue to use 20 more times today.  Despite this, security is still a real problem.  You need to update several times a week.  Finally, it's not an issue for me (because I own windows, and I know which version I needed and bought), but what's with the multiple-versions marketing thing?  How many versions of windows 7 are there? Ultimate? Professional?  Home? Amateur?  Independent?  Pirate?  Bunny?  Spatula?  I don't really know. 

So there you have it... it's not bad, it's an improvement in many ways (especially over XP), but overall... eh.  If you use windows, I'd strongly recommend upgrading to Win 7, because it's the very best Windows yet.  If you're not completely entrenched in Microsoft OSes, however, might I suggest Linux Mint?  Or Ubuntu, if you're ready to jump right into a Linux OS.  If you have the cash, and you want a computer with zero fuss, nows a good time to check out Apple's OS (just be prepared to give yourself to apple - they're even more proprietary than Microsoft).

Saturday, April 3, 2010

WonderCon 2010

I've just got back from the Nerdfest that is WonderCon 2010!  I've never been to a convention before, not even a Star Trek one.  I know.  I just lost some NerdCred.   Here's some of what was there:


<--- Yep, thats the famous 501st Legion Storm Troopers, keeping an eye on the civilian going-ons.  And making trouble for lurking Jedis.  A couple of Darth Vaders strolled about too.



 There were also lots of these -->

of various makes and models.






<----  Not to mention lots of these too.







But the coolest part was, I met Brent Spiner.  He signed a picture for me. See what it says? (It's signed to me - Data)

It was nerd fandom in it's purest form.  Signed autographs.





<--- Oh, and I also caught John Delancey (aka Q!!).



Actually, it was way keen.  I wanted to just hang around and visit with them all day, I'm sure that's just what they wanted too, having another grown man hang out and admire them, telling them what a big fan he is, that he's seen all their stuff, and hopes he gets to see them in more things... well, maybe not.  You could actually get your picture taken with them too, but they were done photographing for the day so I didn't have the opportunity for that.







It was a pretty good day.  We also saw tons of cool booths, including stuff from these guys (visit their sites!):




I heart guts stuff:

http://iheartguts.com/

And this guys site: 




http://www.ericjoyner.com/default.aspx





Yeah.  Oh, and Sarah and I got to listen to Peter S. Beagle talk about writing, and books, and life and stuff.  I thought it was a lot of fun.  Now, I'm totally pooped from all the walking and gawking and consumerating.  Gonna take a nap!