Sunday, December 15, 2013

Scientific Computing

When I first saw the words “Scientific Computing,” (which was last week, for this blog topic) I thought, “hmm, sounds like a wordy way to say Computer Science”.  Naturally, I google it.  Hmm, not much besides Wikipedia.  I specify, “scientific computing definition.”  Google gives me the ‘web definition’... straight from wikipedia.  After some digging around, I think I understand the term.  Turns out, Scientific Computing (or more commonly, computational science) is not the same as Computer Science.  Computational Science (usually paired with engineering for “CSE”) is a new field that deals with using mathematical models and simulations run by computers to analyze and solve scientific problems (Shodor.org).  Some examples are: 
  • simulating air around a wing to predict which shape will get the most lift
  • performing simulated stress-tests on different “materials” to choose what to make a bicycle frame out of
  • using big data from past weather to create a model to predict future weather
  • simulating blood flow through an aneurysm to quantify how dangerous it will be in the future

Simulated Fluid
I was fortunate to experience the last one in person this summer.  I visited a lab that worked with computational science, and an MRI machine to try to find a better way to deal with aneurysms (an aneurysm is a balloon-like bulge in a blood vessel that can cause a burst and be deadly, especially in the brain).  The head scientist working there showed me how he could use an MRI scan of someone’s brain to create a 3D model of the aneurysm on a computer screen.  He then started a simulation where lines representing blood would rush through.  I could easily observe where stress was on the vessel, and where blood would get collected.  He could simulate years of stress on the the aneurysm in just a few minutes, and assess the severity of the situation.  With computational science, hopefully we can turn something deadly and hard to detect into something that we can find and assess without even a stitch.

Computer Graphics: “How can it get better than THIS?”

Check out this picture from the late 90s.  “Yes, this is an actual PC screenshot.”  This didn’t seem ridiculous when that magazine was published.  “That’s SO real.”  It makes you wonder if we’ll be laughing about the graphics we have now in another 15 years.  “I can’t believe we thought that was good in 2013, HA.”  I certainly hope so.  I always make the joke, “this is higher-res than real life,” or, “the frame-rate's faster than the universe refreshes.”  Well, with some new technology, we’re getting scarily close to being in a second world when we game.

I’m talking about the Oculus Rift.  It’s a virtual-reality headset in development, with over $75 million in funding (digitaltrends).  It has a 7-inch screen that wraps around to provide a field of view more than 90 degrees (basically everything your eye can see).  The screen shows one image for each eye, for stereoscopic 3D.  They don’t completely overlap, however, just like the images our eyes generate in real life.  The outside world is completely blocked out.  

This thing scares me a little, though.  At what point are video games TOO real?  If playing games feels just like real life, except cooler, why would I ever want to not be in the game?  I’m picturing a “Wall-e” type world where we’re all just sitting back with our VR headsets on, with intravenous feeding, blissfully unaware of what’s going on outside.  Still, the new technology is exciting.  I can’t wait to be laughing at what seems amazing right now.

Sunday, December 1, 2013

Communications and Security: What’s Really Important in a Password

Most of us have had an account of ours hijacked.  Maybe it was a friend playing a prank on our facebook page, or maybe it was a malicious hacker using software to crack our online bank account.  We know the importance of a good password.  We know not to make it “qwerty”, or anything on this list.  So how do we make a good password?

Two things: make it hard for a human to guess, and make it hard for a computer to guess.  The first is pretty easy to deal with.  The suggestions we usually hear are: MORE SPECIAL CHARACTERS! MORE RANDOM UPPER CASE! MORE NUMBERS!  That’s great and all, but is it really necessary to make it unguessable by a human (or a computer programmed to check the obvious passwords)?  What are the chances of someone guessing “magentallama”?  Making a password something completely unrelated to your life is just as good as having a bunch of confusing characters (and its less annoying for you!).  

What about the second part of a secure password: making it hard for a computer to guess.  Well, most password cracking software uses brute-force:  “aaaaa”, nope, “aaaab”, nope....  So, yea, maybe some caps and and exclamation point will stall that computer a little.  But what really matters is length.  “af!7#” (5 chars) will be guessed long before “zzzzz” (5 chars) even though we know “zzzzz” seems like a worse password.  Adding 2 characters would make it take 100 times longer; 6 more, a million times longer (actually much more, this would be assuming you only use numbers).  Image a password like, “dogfridgecaropera.”  A program has to go through trillions of combinations before it reaches that.  No caps, no special characters, no numbers, and I seriously doubt any human could ever guess it.  Add in a hyphen, or replace a letter with a number, and even advanced password-guessers that use dictionaries would be stumped for a long time.


The point is, LENGTH is what makes a good password.  So stop with these bogus number, case, and special character requirements, and just up the minimum length of passwords.