Posts Tagged 'Computers'

August 19, 2010

The Girls' Engineering Club

I remember when I got started in computing. For the morbidly curious it was officially "a long time ago" and I'm afraid that's all I'm going to say other than to note that a major source of inspiration for me was the movie TRON, or more specifically the computer graphics in that movie (naturally I'm looking forward to the release of the new TRON movie!).

Computers have come a long way since then and what they've gained in power, they've also lost in simplicity. To draw an analogy, the kids of my father's generation, who spent a lot of time in the garage tinkering with cars, would have to make a big technological leap before they could monkey with the guts of today's newfangled automobiles. In a similar fashion the computers of my era, with built in Integer BASIC and simple graphics modes, have given way to mouse-driven, fully graphical user interfaces of today. Where I started programming by entering a few lines of text at a prompt and watching my code spit out streams of text in return, these days an aspiring programmer has to create a significant chunk of code to put up a window into which they can display their results, before they can write the code that generates those results.

In short, there's a bit more of a learning curve to get started. While kids are a bit farther along when they start out, it doesn't hurt to give them a push where you can.

Several months ago, the counselor at the local elementary school called to invite my daughter to join a newly-formed Engineering Club for the girls in the fifth grade. My daughter had scored well in her math and science tests and they wanted her to be a part of a pilot program to help foster an interest in science and engineering. For various reasons (most having to do with bureaucracy) the school was unable to get the program off the ground. My wife, not wanting the girls to miss out on an opportunity, took the program off-campus and created an informal club, divorced from the school, and driven by the parents. The Girls Engineering Club was born.

The club has a dozen or so young ladies as members and since they're not tied to the school calendar, they have meet once or twice a month through the summer. In the club they explore applications of science, mathematics, and technology with a particular focus on experimentation. For example, the club formed shortly after the recent oil spill in the Gulf of Mexico. The girls spent their first meeting talking about what the professional engineers were doing at the time, and then trying to find ways to separate motor oil from water using things like sand, soap, coffee filters and dish soap. When I got home that day, I saw the aftermath. I hope the girls learned a lot... it was certainly clear that they had made a big mess and had a lot of fun.

It became my turn to help when the club took up the subject of Software Engineering. I'd like to say that the club leadership took me on because I have degrees in Computer Science and I'm a professional Software Engineer by trade. In truth, however, I think it was just my wife who thought I needed something better to do with my weekend than play video games. For whatever reason, however, I was pressed into service to teach the girls about Software Engineering.

Naturally I wanted to teach the girls a little bit about how engineering principles apply to the creation of software. But I imagine that a group of pre-teen women would find an hour and a half exposition on the subject at best half as exciting as that last sentence makes it sound. Moreover, these girls were used to hands-on engineering club meetings. If the girls didn't "get their hands dirty" with at least a little bit of programming, the meeting would be a bust. The problem was... How do you teach a dozen pre-teen girls about programming; and on a shoestring budget?

When I was taking computer science classes in school we had very expensive labs with carefully controlled software environments. For the club, each girl probably has a computer at their house, but I wasn't anxious to ask parents to pull them out of place, drag them somewhere that we could set them up, and then slog through the nightmare of trying to get a semi-uniform environment on them.

Instead, I gathered up my veritable museum of computer hardware. Using those that were only a few years old, and still capable of running Mac OS X, I pulled together three that could be wirelessly networked together and have their screens shared. It was a bit of an ad-hoc arrangement, but functional.

Next came the question of subject matter. In my daily life I work with a programming language called Objective-C. Objective-C is a really fun language, but it requires a pretty hefty tool chain to use effectively. I didn't want to burn a lot of my hour and a half with the girls teaching them about development tools... I wanted them writing code. Clearly Objective-C wasn't the answer.

A while back I read about a book called Learn to Program by Chris Pine. Mr. Pine had created a web site dedicated helping people who had never programmed before learn enough to get started. After the web site had been around a while, and after a bunch of folks had offered their comments and suggestions to improve it, he collected the information from the web site into the book.

The book uses a programming language called Ruby as its teaching tool. Ruby is a fantastic language. It's one of the so-called "fourth generation" scripting languages (along with Python, Perl, JavaScript, and others). The language was designed to scale from the needs of the novice programmer, up to the demands of the professional Software Engineer. For the girls in the club, however, the nice thing about Ruby is that it provides a "Run, Evaluate, Print, Loop" (REPL) tool called IRB (Interactive RuBy). Using IRB, you can type in a Ruby expression and see the results of executing that expression right away. This would provide the great hands-on experience I was looking for in a reasonably controlled environment. More importantly it would run (and run the same way) on my collection of rapidly-approaching-vintage hardware.

I wanted to get a copy of the book for the girls. The Pragmatic Programmers offers many of their books, including this one, in electronic formats (PDF and eBook). I contacted them about a volume or educational discount on a PDF copy of the book. A company representative was kind enough to donate the book for the girls in our club!! You could have knocked me over with a feather. That gift put the train on the track and the wheels in motion.

(In appreciation, let me mention that Learn To Program is available in its Second Edition from The Pragmatic Bookshelf today. This is not an official endorsement by SoftLayer, but it is an enthusiastic recommendation from your humble author who is very grateful for their generous gift).

In the end, the club meeting was on a very rainy day. We struggled to keep the computer equipment dry as we hauled it to the home of one of the club members. Their poor kitchen table became a tangle of cords carrying power and video signals. Using shared screens, and my iPad as a presentation controller, I walked the girls through a Keynote presentation about some of the of the basic concepts of Software Engineering. Then we fired up Ruby in IRB and I showed the girls how to work with numbers, variables, and simple control structures in Ruby. They had to sit three to a computer, but that also let them help one another out. They learned to use loops to print out silly things about me (for example, I had my computer print out "Mr. Thompson rocks!", the girls felt that they absolutely must get their computer to print "Mr. Thompson most certainly does not rock!" 1000 times). There was an awful lot of giggling, but as the teacher I was proud to see them pick up the basic concepts and apply them to their own goals. My favorite exclamation was "Wow! I could use this to help me with my homework."

As a Software Engineer, I spend an awful lot of my time sitting in front of a screen watching text scroll by. My colleges and I have meetings where we work together on hard problems and come up with creative solutions, but just as the computing environments of the day have become more complex, I've become a bit jaded to the discovery and wonder I enjoyed when I poked away at my computer keyboard all those years ago. One of the benefits of volunteering is not what you do for others, but what they can do for you. With the Girls Engineering Club, I got to experience a little of that joy of discovery once again. The price was a little elbow grease, some careful thought, and a bit of my time. It was absolutely a bargain.

Categories: 
October 28, 2009

Meet Virus Jack

I am Jack’s Vundo Virus. I cause Jack’s computer to have popup. I also disable Windows Automatic Updates, task manager, registry editor, and msconfig so Jack cannot boot to safe mode. I use Jack’s Norton AntiVirus to help spread my infection. I make Jack’s google searches to redirect to rogue antispyware sites. Jack got me by not keeping his system up to date. Now there are programs out there designed to remove me but the best way is for Jack to reformat. Let’s hope he has backups. Morale of this story is keep your computers up to date with the latest OS updates, AntiVirus definitions and program updates.

June 8, 2009

Instant Gratification!

Wow, where did we come from to get to here?

How many readers remember being your Dad’s remote control for the TV, heating a bit of oil that covered the bottom of a pan till it sizzled to make popcorn, percolating coffee pots, wondering how long it would take for enough hot water to take a shower after your primping older brother hogged it all? What about “fast” forwarding cassette and VCR tapes or thawing a chicken breast for hours on the counter? The list goes on and on.

My absolute favorite was sitting around on a Friday night at about age 10 at the baby sitters with my brother listening to the radio just hoping that “Shake your Booty” would come on the radio so we could record it instead of having to go buy it.

The amount of time we used to sit around waiting for things to happen was huge! Today, it’s all in an instant!

We have five remote controls or at the very least one really smart one that can do it all. Microwave popcorn that takes minutes and no cleanup, instant coffee – just add water, instant hot water heaters that never go cold, mp3 players that you can just click and go from song to song with no waiting; DVD/DVR that you can just go from scene to scene or skip those boring commercials… and you can use that same microwave to thaw your chicken in no time at all.

Today you can be listening to the radio in your car and click a button and it will tell iTunes what song it was and queue it up for your next download, you just have to love technology and the speed at which it happens.

I also remember the days when we had a rotary phone with an 82.5 foot cord that you could string across the house to the bathroom or in front of the TV and keep talking. Then it became the wall phone with the 84 foot stretchy cord and the number keys were on the handset, how cool was that? It never failed though- no matter how long the cord, you always needed more!

Today, you can Facebook, Tweet, chirp, yell, chat, and instant message from just about anywhere, even from a Jet Blue jet flying through the air. That is just pretty cool stuff.

In my previous life before I became a booth babe and a bloghogger I was known for being fairly technical in the world of Microsoft Windows Server and Citrix MetaFrame. They actually worked pretty well for a few of the company apps I had to deal with along my career path. The hardest part was actually setting up the application server to be just perfect and getting it on the wire to allow the employees to do their jobs.

The real challenge was getting more servers added to the pool in a timely fashion at month end for accounting or at rush times of the year for the sales group. It takes time to blast an OS no matter what method you are using, then get the app installed and functioning and then add it to the pool. Sure, I came up with a few tricks on how to image Citrix and they worked but it was still a waiting game trying to procure the hardware, install the image, get the server racked and cabled, etc. It never failed, a week before I had them ready the sales and/or accounting group managers were all over me because it was MY fault that they had slow applications. A few times just about the time I had the servers ready they didn’t need them anymore, I missed the rush.

Welcome to Instant Servification! CloudLayer, oh CloudLayer, I would have paid out of my own pocket back then to have this technology. With the release of hourly billing you can just use them when you need them even if your peak loads are only a fraction of one day. You create your golden image, save it, and push it out to as many as you need for as long as you need, and then when your peak usage is over, cancel them like high interest credit cards!

That is instant Gratification at its best! Welcome to SoftLayer how can we help you?

August 18, 2008

Not Sure I Have Enough Yet

You ever wonder what a SoftLayer technician does in their down time? Well aside from my addictions to coffee, PHP and of course the dreaded World of Warcraft, I tinker. My home network has been a work in progress for about 5 years on and off. For a family of 4 with 2 very young children, we have an awful lot of computers. At last count we currently have 10 computers when you include the laptops. As the wee ones are not to an age where computers even cross their minds, that means between myself and my wife we use all 10, well I should say I use about 8 of them and she uses 2.

You might wonder what a person does with 10 computers and how in the world you handle that in a home environment. Well here is a basic run through our world o computers. My wife being the average joe, has a desktop and a laptop. I on the other hand cannot get by with just 1 desktop, nope I need 3. If my desk didn’t give off a healthy hum and a slight vibration I just wouldn’t be happy. So my desktops are broken down in to a Windows Vista box, generally used for gamming and 2 Linux boxes running Slackware and Gentoo respectively. You might wonder why I need 3, and my response would probably be something like “Because I can”. I do however make full use of these different desktops on a fairly regular basis so I guess I can still justify them. Of course you really could consider my laptop to be yet another desktop, but then again, it is rarely used at home.

So as you have probably noticed, that’s only 6 of the 10. Now, 2 of the computers I have are media centers connected to the TV’s in the living room and the master bedroom. If you haven’t had a media center, you just don’t know what you’re missing. This brings us to the last 2 pieces of this network. The last 2 are rather old boxes that sit in the corner of a closet being as unobtrusive as possible; however they are the backbone of my home network, the fileservers. What good would 2 media centers be if I needed to have a duplicate of all files on each one of them? In the world of computers, the 2 fileservers would be considered dinosaurs, but for what they do, they are perfect.

Now that you have all these computers, they need to be connected somehow. This entire network is connecting to 2 separate gigabit networks. Why 2 you might add? Well I took a page from the SoftLayer book on that one. I saw no reason why the fileservers or the media centers needed internet access, so rather than deal with firewalls and the like, it was easier to put in a second network linking all the computers to each other while only the desktop computers were able to connect to the internet.

Is all of this overkill? Probably, but it sure gives me something to do. Now my current project might actually cut down that number a bit, then again, what fun is that? The current project is to get a 2008 server running with Hyper-V and a domain controller up and running. I figure since I have all these computers, I should be able to log into them all without having to create a separate user account on each. This project has been an experience for sure, but that’s for another blog.

-Mathew

July 24, 2008

Here's to Bill

Bill Gates' final day as an employee of Microsoft was June 27, 2008. Let's all raise our virtual glasses in a toast! Or maybe a virtual fist-bump is better - here you go: III!

I had intended to type this up in time for Mr. Gates' last day, but just simply didn't have time. This marks a historic change at the software behemoth in Washington. Love him or hate him (and there are many people on each side), few people truly realize the impact he has had on the world as we know it.

I love the fact that in America, you can get a crazy and creative idea and run with it. Gates realized that Intel's 8080 chip released in April 1974 was the first affordable chip that could run BASIC in a computer that could be small enough to be classified as a "personal" computer. Then he read an article in the January '75 issue of Popular Electronics about a microcomputer called the Altair 8800 made by Micro Instrumentation and Telemetry Systems (MITS), which ran on an Intel 8080. Realizing that he had to seize the moment because the timing would never be right again, Gates took a leave of absence as a student at Harvard and contacted MITS about developing a BASIC interpreter for that machine. He collaborated with Paul Allen to prepare demo software and close the deal, then he and Paul Allen formed a company named "Micro-soft." The hyphen was dropped in 1976.

Can we imagine what our world would be like had Gates missed reading that magazine in January ‘75? Or if he had decided to finish school and become a lawyer as his parents had hoped? I can't imagine what technology I'd be using to produce documents like this today if Gates and Allen didn't follow through on their crazy idea in 1975.

To get an idea of how deeply Bill Gates has influenced us today, just try either running a business or doing your job without interacting with a computer. If it's not impossible, it's very very difficult at best. Next, try running the computers for your business without ANY Microsoft products. Again, this is difficult but not totally impossible. Then, try interacting with other businesses that use Microsoft products. If you're then successful doing that, think of how many of your daily activities involve a Microsoft product.

I actually worked for a boss in the mid-90's who hated Microsoft. He ran IBM OS/2 operating systems and non-Microsoft applications (Word Perfect, Quattro Pro spreadsheets, etc.). He didn't want to be reminded that Gates originally helped develop OS/2 in partnership with IBM. When IBM dropped support for OS/2, my boss capitulated and migrated to Windows.

At SoftLayer, we use and support a lot of non-Microsoft products. But we couldn't do what we do today without Microsoft products, and many of our customers demand Microsoft products.
In typical American entrepreneurial fashion, SoftLayer started with some semi-crazy ideas to connect the dots between different products in creative ways that had not been previously done. We will do well to have a fraction of the impact that Bill Gates has made.

-Gary

Categories: 
June 26, 2008

New Kid in Town

Well, I have been here working for Softlayer for a week and it has been GREAT. Not great... UNBELIEVEABLE! I just graduated from ITT just down the street in Chantilly, Va with a degree unrelated to what I am doing right now. To be honest, I was afraid that I may not do too well with Softlayer, because of the material and positions they train for. I have quite a history with trouble understanding basic computer terms and how computers and electroncs work.

My brother is like a GOD in my family with electronics. He picked out our family PC, set up our wireless system, and fixed my laptops multiple times (I have had 4 in the past 3 years...) and he was a full-time CSA for a conference center while he was in high school. He tried to teach me and help me understand what he's doing when he works on computers and I just couldnt process it in my mind. It just doesn't click.

My very first class in ITT was Intro to Personal Computers. I got an A in classwork and homework by writing the papers and turning them in, but I couldnt even understand what I write. I did not do too well in tests and final exams and ended up with a B. No matter how hard I tried, I just couldnt make sense of what I'm reading in the books. We never did lab work, it was all just books and papers and black and white pictures.

My first day at Softlayer, I was very nervous. I thought the day would not end very well. Robert Guerra was my trainer for the first half of the week. He did an AMAZING job explaining EVERYTHING about the company, what my job is and parts of the server and everything in between. He did 500 times better than my teacher in college. Everything clicked almost right away. Of course, I did not remember every single thing the first time, it just had to be repeated to make everything perfect. I remember driving home with a HUGE smile on my face and saying "I LOVE this job!"

I never expected to be doing IT work, and I just think this is AWESOME! The facility looks amazing and everything is in tip-top shape and everything is very well organized. I have not worked in a cleaner environment until I got to Softlayer. There are not very many people in the WDC facility yet, but I have gotten to know many of them here and I feel very comfortable.

My other issue here is communication. Spark is a GREAT communication tool for the whole company of SoftLayer and it is helping me out a TON. I love the fact that we use instant messaging to communicate with Dallas and Seattle divisions and sort out problems and I love how everyone is friendly to one another. I cannot use a phone because of my hearing impairment and that is one reason why it is really hard to find jobs for me. A lot of job positions require someone to use a phone or radio and that cancels a LOT of opportunities for me. When I had to deal with that situation with one of my previous jobs, I had to pull someone aside and ask them a favor and help me out with phone use. Not a lot of people like to be pulled aside REPEATEDLY. Spark will help me rely on myself to talk to people myself and get all of the job done!

Thank you Robert Guerra and Eric Antonio for training and putting up with me for the past week! I have one more week of training to do with Eric and I am going to stop at nothing to make Softlayer proud.

-Clayton

January 29, 2008

Where is All the Noise?

Earlier in the week, Shawn Boles wrote a post that included some nostalgic feelings for old-fashioned computers. As I read it, I was thinking of my own experiences with the grandfathers of our desktop computers. I vividly remember getting the floppy disks out of the big dusty box, sliding them into the drive, and listening as the drive began its slow, crunching march towards the data I needed. That’s when it hit me. I can’t hear my computer! Sure, there’s a cooling fan in it, and if I stick my head under my desk I can hear not only the fan, but my coworkers quietly asking each other why my head is under my desk in the middle of the day. Other than that, there’s nothing! No drive heads moving, no crunching, no system beeping, no modem noises, and certainly no death rattles.

That’s right, death rattles. Those of you unfamiliar with the dinosaurs we used to call computers don’t know about the death rattles. The large floppy drives were the worst offenders. Every faulty sector on those disks caused a loud grinding sound that you could FEEL, indicating that the pencil-sized drive head was none too happy with encountering the data equivalent of a marching band at a funeral. Now that we’ve moved away from media that comes in physical contact with the drive head, we’ve moved away from the death rattles. However, hard drives can occasionally produce them, even to this day. When a hard drive goes bad, it emits this high-pitched chirping sound, akin to what you would expect a robotic sparrow to make.

When I was in high school, my best friend’s dad was a programmer. One day we were working on a bad hard drive for a friend and had a brilliant idea. We took a microphone and recorded the sounds the hard drive was making. With some Mp3 editing tools, we added roughly 10 minutes of silence in front of that sound. Then, we made the sound into his dad’s windows startup sound. So upon turning on his computer, he would work for 10 minutes and then hear the DEATH RATTLE. Watching his pasty frame lunge for the power button was hilarious for a good 24 hours after it happened.

Browsing computer message boards (yes, I’m a nerd, that’s why I work here as a developer) I occasionally come across people who are still cursed by dial-up modems, and they invariably ask how they can disable the noises their modem makes when it connects. I want to scream to them “DON’T! You’ll destroy your last audible connection to your machine!” The noises a modem makes are iconic, and a sufficiently trained guru can tell the connection speed simply by listening to the connection noises. From the industrial clanking of the 2400 baud to the sci-fi whooshing of the 56k, each remaining hardware noise is precious.

Precious to humans anyway. When I was younger I saved all my money for weeks to buy a 56k modem. I painstakingly researched (at 24,000 baud) all the different kinds of modems I could purchase, and finally decided on a US Robotics 56k modem. I arrived home from my triumphant shopping trip and promptly tore the cover off the family computer to install my new toy. Once installed, I powered up the computer, installed the drivers, and attempted to connect. Sweet, sweet screeching poured out of the modem, to my delight! However, my dog was also in the room. He had, until this point, tolerated the noises the computer had been making in “his” room. However, how there was a new noise. A new, screechier noise. And it was coming from an OPEN COMPUTER CASE. That’s right, in my excitement, I had left the case cover off just in case I had to tinker some more. My dog got up, walked across the room, and promptly ripped the modem right out of the case with one mighty chomp. He threw it on the ground, chomped it once more and then, satisfied that it would no longer disturb his rest, flopped back down onto his bed in the corner. I still cannot hear a connection sequence without bringing up that memory.

Of course, we don’t have to worry about these things at SoftLayer (dogs OR noises). We developers work on silent machines with no rattles or screeches, while the servers in the data center are attended to by dozens of employees, aware of any slight problem. The noise in the data center is substantial. Each employee wears hearing protection, and even with that the noise of thousands of cooling fans will get to you. Each time the developers have to spend a morning in the data center installing new servers, we spend the rest of the day shouting “WHAT?!” to each other. But computers will continue to get quieter, and our connection to them will continue to be less and less physical. Our customers know this already: none of them have even seen their servers, they rely on our skilled datacenter staff to monitor their hardware for them, day and night. But there are no death rattles, no screeches, just cooling fans.

The last of our noisy connection to our computers is starting to fade. Already we’ve stopped using magnetic media like floppy disks, and the noisy CD and DVD drives of yesteryear are being replaced with silent models. Even the hard drives that caused my friend and I so much joy are being replaced with mechanically simple solid state drives, which run much faster and have no noise at all. Come to think of it, I think I can learn to live in the new silent computing future.

-Daniel

Categories: 
Subscribe to computers