Tuesday, October 18, 2011

Who ever heard of Dennis Ritchie?

When I was in college, my bible was the thin C primer by Kernigan and Ritchie.  I just found out that Ritchie passed away a couple of days ago - with a lot less fanfare than Steve Jobs.  However, the C programming language, and the resulting UNIX operating system, have perhaps had as great an impact on everyday life as Steve Jobs.  So I want to delve a little into it, so we can all appreciate how incredible Dennis Ritchie's contributions have been.

First, let's look at C.  After A and B (yes, really), C represented a huge leap in capability of writing computer software.  The constructs were concise, yet powerful and flexible enough to represent anything.  Over the years, C has evolved - and morphed (some might say polymorphed).  (Yes, hold the groans.)

C represents the base language for C++, C#, Java, JavaScript, Perl, PHP...and the list goes on.  In case you were wondering, what products run these?  Just about everything.  Almost every smartphone, of course every computer manufactured since, what, 1990?  Many embedded devices (cable boxes, parking meters, stoplights, you name it).

The UNIX operating system was the first one developed in C.  It is also probably the most widely used computer operating system in the world - if you include Mac OS X and all Linux flavors under the UNIX umbrella.  You may not realize it, but handheld devices, even computer printers, and more often run some flavor of UNIX.  The list is literally endless.

As one of the inventors of C and UNIX, it is extremely difficult to overstate Dennis Ritchie's contributions to all things electronic at this day and age.

So I think, in retrospect, that 2011 will go down in history as the true end of a large part of the second era of electronic computers.  The first era, of course, is the vacuum tubes up until the electronic transistor and silicon chips - the second would represent the proliferation and "ubiquitization" of computing devices.  As I look around my room, what computing devices do I have?  iPhone, Macbook Pro, Comcast remote control, Motorola Comcast cable box, NEC TV, Sony iPhone dock clock radio, Panasonic VCR, and Toshiba DVD player, plus our Panasonic cordless phones.  That's just in the bedroom.  You would find that many such devices run an embedded UNIX, and even if not, that the software/firmware for the devices was written in a language with C roots.

Thursday, October 6, 2011

The New iPhone 4S - Groundbreaking no matter what they say!

Although many people in the press are complaining that the new iPhone doesn't have a different shape, the truth is that this phone - again - totally changes the meaning of what a Cell Phone is.

First, about the kvetches.  Why did it take Apple longer than usual to come out with this phone?  Yes, it's true I am not an insider and not in the know, but with some knowledge of what it takes to bring a product to market, I can speculate.
  • New camera redesign - this is totally redesigned not only to perform, but to perform well.  It is fast - the time it takes to snap 2 photos is less than to take 1 with the next closest competitor phone (in speed), with amazing clarity and beauty of picture.  For example, what's the difference between my Canon EOS digital rebel with 6MB, that it can blow away pictures taken by a newer 10MB Panasonic camera?  Optics - it's all in the optics.
  • Complete redesign of the interior - this means a LOT of testing to meet quality standards.  It has to work, and work flawlessly, or they will catch a lot of flack.  All the internal changes, means they have to test it out thoroughly.
  • Siri.  In one word, this is revolutionary.  Think about it.  It is not just voice recognition ("command: Text Julie Come pick me up" ala Vlingo).  It is speech recognition - it understands when you say "do I need an umbrella today?" to check and see if it is raining.  Did you see the guy jogging, and saying to move the appointment to 12, no 2?  This is not the spoken command recognition we've had up until now, this is truly futuristic technology.
  • Think about the advantages of NOT changing the shape - all the accessories built for the iPhone 4 will work with the 4S.  Truly, what's wrong with keeping the shape?  One little thing, I would like a bigger screen, but then again - pretty soon it becomes an "iPad Mini".

Tuesday, October 4, 2011

Terra Nova

I watched the pilot and second episode of the new show Terra Nova.  Have you seen it?  A bunch of people from the future - where the world is dying from environmental disasters - travel 85 million years back into Earth's past and set up a colony?  Cool idea - good characters, even a good plot, great special effects.  However, there is one huge thing that sticks in my throat, prevents me from swallowing the whole thing.

The story follows a family - a cop who was imprisoned for breaking the 2-child limit law, a doctor, and their 3 children as they break their dad out of prison and sneak him into the 10th pilgrimage through the discovered time rift into 85 million BCE.  There is an encampment all set up, housing built, and a good start - weapons, vehicles, self-generating power, etc.  Did I mention weapons?

So the part that bugs me is this.  Of course, they have to fight off the vicious dinosaurs that come looking to make humans their new repast.  In the 2 hour pilot, I think I counted at least 5,000 rounds of ammunition fired - often point-blank - into the dinosaurs.  A few times, the big one like Allosaurus did falter, but after firing a vast quantity of munitions, the score is Dinosaurs: 6, Humans: 0.  That's right.  0.  WTF?  I mean, either these people are the worst shot ever, or dinosaurs are impervious to bullets (unlike all other creatures big and small throughout the 200+ year history of firearms).  OK, cool, futuristic weapons.  The machine guns were pretty heavy-duty.  But you would think, if they are cut off from the mass manufacturing of ammunition, they would consider it precious and wouldn't waste it.  If the dinos are impervious, then why bother?  Dump them in a ditch!

(Some may wonder, why post about a Science Fiction show on a tech blog - well, it is techie...)

Tuesday, September 20, 2011

Whatever happened to the Second Party?

For a long time now, I have been using First Party software.  That is to say, software developed by the hardware manufacturer.  I have also been using Third Party software - that is, software developed by someone else.

Third-party hardware as well - accessories you add on to your car, computer, what have you.  There certainly do seem to be some parties going on here.  Are they related to the political parties?

Now, my big question.  In order to be the third party, you have to first have a second party (read that sentence several times!!).  So, who is this phantom Second Party?  Do they serve drinks?  What exactly do they make, or do for that matter?  I have never seen nor heard of a product made by them.  Really, what's the deal?  If anyone knows of this mysterious group, I will pay good money* for:
  • Their address
  • Some contact names
  • A list of products they make
  • Their Twitter, Facebook, or other social networking page link
* When I say "good money", I mean my definition of good money.  Money I think is good.  That may or may not be legal tender.

Wednesday, September 14, 2011

iPhone 5 Release Date - You Heard It Here First
That's right, here is all the 100% guaranteed* information you have been waiting for on the iPhone 5.  Release date, features, and more.  Now, here's a rundown of the facts:

  1. To be released on October 1, 2011 at 6:18:20 PM PST
    • Why that time?  Apparently the number had significance to Steve Jobs
    • Hey, at least we know the exact moment it will be out in stores
  2. A new camera will feature
    • 100 megapixels for better-than-professional quality
    • 30 x optical zoom lens
    • Wind-resistant boom microphone option
    • Face recognition technology will automatically tag the pictures for contacts in your address book
  3. Instant coffee maker
    • Manufacturer Keurig has been hard at work making the new iCup (kind of like the K-Cup but smaller and more mobile)
    • Only caffeinated flavors are available from Green Mountain and Starbucks, but decaf will be coming within 6 months
    • Rumors say you can brew up to 3 cups on a battery charge
    • Stir stick can be inserted into the handy slot in the corner of the phone for storage (like a Nintendo DSi stylus)
  4. Built-in AM/FM Radio tuner
  5. High-gain antenna to avoid reception issues experienced in an earlier model - telescoping to an unbelievable 4 feet
  6. 8-Track, Beta, and VHS cassette tape adapters optional so you can listen to, and watch, your entertainment directly on your phone
  7. Unisex Razor
    • That's right, built right into that slim top edge is a men's/women's razor screen with an easy dump tray
    • Battery life is good for one shave a day and normal 4 hour talk time; or 1 shave, 1 cup of coffee, and 1 hour talk time
  8. Fold-out pliers
  9. Large jack knife
  10. Extensible toothpick

* Who makes these guarantees anyway?  Aw, fuggeddaboudit.

So, are you buying it?  I just couldn't resist - just saw a post in the iPhone Developer's Forum asking for the release date - oddly enough, it had no replies in 7 days!  Can you believe it?

Thursday, September 8, 2011

Windows. Mac. What else is there? Ubuntu!

Intro
A few months ago, I was talking with a colleague about operating systems - and how much I loved the Mac.  He offered another suggestion - and it cost just the right price.  Ubuntu is a distribution (or distro if you want to use the hip lingo) of Linux.  If you want a history lesson, it's at the bottom of this post - for those of you like me who are endlessly fascinated with how things came to be.  Linux, to put it succinctly, is a "re-free" UNIX.  (Why "re?"  Why all caps?  See History below.)

Ubuntu is offered by a South African company called Canonical Ltd., based on the African concept ubuntu (humanity towards others).  I am so much impressed with Ubuntu, I hope you read this and figure out you can do it yourself.  Much of what I did, I did it myself by simply installing from the CD or Software Centre included in Ubuntu.  Some of the more technical points a standard person may not encounter, but it was easy enough to find answers in Google or the Ubuntu community forums.

About Ubuntu Linux
I have been using UNIX since the late 1980's.  My parents had gotten XENIX (see History below), I had a job with it, and have been on and off using it for a long time.  Its major problems, especially going to the fractionalization prior to Linux, were that it was a techie "hacker" operating system (not user friendly like Windows), software wasn't widely available because it had to be recompiled for each hardware platform, that had its own special version of UNIX.

So, I got ahold of a Ubuntu CD, and installed it on a spare computer (you know, us geeks always have a spare computer lying around for projects like this).  Wow.  That is what I have to say:  WOW.  Apple, with its vast resources, has come up with the ultimate operating system - fast, efficient, beautifully elegant, but you have to pay for it (yes, $30 or so to buy the OS, and the hardware to run it on is proprietary).

Ubuntu Linux is FREE.  FREE.  Read it again - free.  The interface is just as intuitive as Windows, perhaps even more so.  It comes with software, but most importantly it has something like iTunes App Store built into it.  What's so great about iTunes?  It is a single, simple place to find and download things you need or want - and it is filled with a ton of stuff.  The Ubuntu Software Centre is built into Ubuntu, and has all of that.  You search, and click Install, to get whatever you want.

Built into Ubuntu is multimedia (music, pictures, photos, etc.), instant messaging (or IM for those of you who don't know what instant messaging it), e-mail, and more.  Firefox (my favorite browser), it used to have Open Office, but since Oracle took it over they switched to a knock-off called Libre Office.  Anything you could want a computer to do, it does.  Did I mention it was FREE?

And, it doesn't have the hangups of Windows - the slow performance most notably, crashes, etc.  It is reliable.  The only down side, really, is that sometimes software you want may not be in the Software Centre, so you may have to download and install it yourself.  This, unfortunately, is not as simple as Windows.  You will have to go to a command prompt and "hack."

What Have We Done?
COMPUTERS
The kids computers were constantly going down - freezing up, or just not working and I would have to reinstall Windows.  Finally, I installed Ubuntu on them.  What do they do?  Play on the Internet (web browser), sometimes write documents.  All done with Ubuntu now.

Using the Likewise Open utility I got from the Ubuntu Software Centre, I joined the Ubuntu machines to my Windows domain.  Now the kids can log into Ubuntu using their Windows passwords.  Basically, the only thing that changed for them, is that their computers just work now.

SERVER
A long time ago, I virtualized my Windows server.  This is my domain controller that controls peoples' passwords, allows the computers to connect to the network and manages traffic, and performs backup.  That is, I took my domain server, and made it run in VMWare in a window on another computer.  This meant I could upgrade the computer, install VMWare on the new computer, copy the files over, and boot the same machine I had run earlier without having to reinstall.  Big time saver.

So, I installed VMWare on Ubuntu, moved my Domain server over, and booted it up.  Simple.  Well, not exactly - I had to do a few UNIX configurations to make it boot up automatically - took about an hour.  Still, I went from a Windows host machine, which every couple of weeks froze and would have to be powered off, to a Ubuntu host running the Windows server in VMWare.  It is rock solid now, and by the way runs on an old computer about twice as fast as Windows in the same hardware.

History
In the early days of electronic computers, you got computers to do things by moving wires around.  If you hooked up the wires just right, pulled the lever or pushed the button, it would do what you wanted it to do - within its limitations. As they got more sophisticated, and transistors evolved to Integrated Circuits (IC's, or Chips), the idea of a central processor unit (CPU) came about to do the bulk of the work.  Along with this concept came a programming language to simplify the numbers you would have to type in to make it do things - this is called Assembly Code (the numbers being called Machine Code).  Of course, assembly is just letters representing machine code, so it really isn't much more readable than machine.  But things got better - until finally after the first two languages were imaginatively called A and B, the next language was developed, C.

Along with C, it became apparent that the computer needed to take care of some common housekeeping tasks like file management (data being organized into files, and stored somewhere), memory management, eventually printing, security, and more.  An early operating system was called CP/M, or Control Program for Microcomputers.  This introduced commands to perform these operations.

Based on CP/M, a telephone company (the only one at the time) had an extensive research laboratory into computers, because they thought computers could be a huge opportunity in telecommunications for automatic switching.  This lab eventually became Bell Laboratories (named after the founder, Alexander Graham).  The team there used C to develop an operating system they called Uniplexed Information and Computing Service or UNICS, later changed to UNIX (trademarked as all upper-case) sometime around 1970.  Uniplexed, because it did one thing at a time, as opposed to multiplexed, which it later evolved to be.  UNIX provided operating system services - memory management, security, printing, e-mail as the DARPA-net (or later the Internet) evolved, and more.  And, AT&T developed and gave away all this, for free, including the C source code to modify it.

Along came University of California, Berkley.  A group there developed their own version, called BSD UNIX.  A whole bunch of commercial versions came out, including one from Microsoft trademarked as XENIX.  HP, IBM, Sun, Santa Cruz Operations, and many more companies had their own version of UNIX.  Much of it was proprietary.  At this time, DOS, and then Windows, came out - capitalizing on the research of Xerox's Palo Alto Research Center, who developed the basics of a graphical computer interface.  The various warring tribes of UNIX couldn't compete with a unified front presented by Microsoft Windows, and UNIX took a downward spiral.

Then, along came Linus Torvalds in 1991,  releasing Linux - a UNIX operating systems for IBM PC's.  Linux is a re-introduction, an updated back-to-basics if you will.  At the core is a standardized kernel of an operating system.  Even though there are several distributions of Linux, they all hail directly from this Linux core, and merely put their own wrapper around it.  Linux was ported to pretty much all computer platforms thanks to its open source.  Business models were built around a company packaging a distribution of Linux, to make it easy to install and administer.  Among the more successful distros of Linux are SUSE, Red Hat, and Ubuntu.  Ubuntu is free, while the others charge a nominal fee.  Canonical charges for services and business server software - but standard Desktop Linux is free - and will work for pretty much anyone, whether desktop, laptop, or netbook.

Tuesday, July 19, 2011

Please exit all applications before continuing

We've all seen this while installing software (at least on Windows). You run the Setup, hit Next, then it gives you this nice, friendly, "Pretend I'm the only thing that matters right now, and drop everything else in your life."

What exactly do they mean by exiting all other applications? What constitutes an application? Technically, any software executing in a thread is an application. Software drivers could constitute an app, strictly speaking - the driver for your camera, printer, microphone, network card. What? That means everything - all those little icons in your tray (or Notification Area as they call it now), what about Windows Services? So they want me to shut down Windows before continuing!?!? I don't get it.

Second, WHY?? Why oh why does it say that? I mean, really, if I don't shut down other applications, what will happen - is it going to make my computer run slower each month? (Already happens - it's Windows for God's sake.) Is it going to make it unstable and crash a lot? (Already happens - IWFGS.) Is it going to refuse to install the app? (Hasn't happened yet - IW...never mind.) Really, people, let's just get out of the dark ages 30 years ago when you were running only one program at a time, and you HAD to shut down all other programs in order to install.

By the way, who are "people"? These "people" are a company currently called Flexera (http://www.installshield.com), the company tasked with making the Windows Installer component. Let's start a campaign! Everyone, fill out their online contact form - ask them to rewrite the installer messages to be more up to date, and user friendly!

Flexera Software
1000 E Woodfield Road, Suite 400
Schaumburg, IL 60173
http://www.flexerasoftware.com/company/contact-online.htm