Showing posts with label tech. Show all posts
Showing posts with label tech. Show all posts

Monday, January 24, 2011

B is for Backup

     In the old days of the 20th century, computer users relied on floppy disks to move information from one computer to another.  Pre-web, pre-broadband, pre-dialup...it was all floppy disks.  Now, it really wasn't as bad as it sounds because we didn't have that much information to move around.  It was conceivable that you would do all of your computing on one computer.  That is until you got another machine and moved all your stuff over to the smokin' hot 486.  Again, it didn't matter because there wasn't that much stuff to move.  A floppy disk might not have a enough space on it to save one mp3 track but you could still store lots of text and that's mostly what we had.  You made a backup copy of all your papers or saved games of Flight Simulator and that was it.  Everything else was loaded from stacks of floppy disks or maybe a dual speed CD-Rom.  Not so any more.

     Now we have lots and lots more data.  My daughter is not even a year old yet but I bet she's had more pictures taken of her than I had in the first ten years of my existence.  They are all digital.  In addition to those photos I have movies, music, family videos, gobs and gobs of photos, lots of source code and database scripts.  Lots of people have this problem and they don't have a backup of that data because...it's impossible.  Households can easily have a 1 terabyte of data spread across phones, laptops, desktops, digital cameras and mp3 players.  It would take 728,177 floppy disks to back up one terabyte.  And you'd have to label them too...

     Now imagine that your hard drive crashed(they all have a MTBF rating), or your laptop got stolen.  What then?  All that music, all those movies you bought on iTunes are gone.  All those photos...

     Here's what I recommend.

  1. Get a big external hard drive.  I use a two terabyte external drive from Western Digital.  You can buy it off Amazon for a little over $100.  Here's the link.
    1. Make a folder on it called "Backup".
    2. Under that you can make folders for music, videos, photos, office documents...whatever you want.
    3. Put everything that's important in there.  
    4. Point your iTunes library to that location if you have one.
    5. I suggest connecting the external drive to a desktop or some machine that's usually on or at the very least, doesn't move around much.
  2. Get an account with an online backup company.  There are several out there.  I use Mozy.com.  For $4.95/month you get unlimited backups.
    1. After you've downloaded the Mozy client, you can set it to backup certain directories.   Set it to backup the "Backup" directory on your big external drive.  It'll take a long time (as in days) to do the first backup, but once that first one is done, you are set.  Leave your computer on over night and it will backup all the new things you add.
    2. I recommend Mozy because on two different occasions I've had hardware crashes and I did not lose a thing.  It took a while to copy all that stuff back down to a new machine, but that's way better than losing everything.
  3. For Office type files or things that are mostly text, I suggest using a free account from DropBox in addition to having an online backup.  Dropbox is incredibly convenient and it serves as a quick and easy way to keep things backed up and accessible.  
         You may be saying to yourself, "Jon, I'm not going to spend $100 for a big hard drive and $60 a year for online backups."  Well, okay, but think about this. If you lost all your data, how much would you be willing to pay to get it back?  Sure it's another bill to pay.  I don't like adding bills to my monthly payment list, but it provides peace of mind.  I sound like an insurance salesperson but that's exactly what this is. Except this is insurance you will need because, while your house might not flood or burn down, your hard drive will crash one day.  That day might bring a momentary inconvenience or a catastrophe.  And by the way, if you are a freelancer of any kind, you have to have an offsite backup.  If people are paying you to produce something,  you can't just turn around and say you lost all the work because your Mac Book crashed and you don't have a backup.  It's a cost of doing business.

    ...

         So that's my online backup rant.  Now let's talk about saving a little money.  Are you still using the anti-virus software that came with your computer?  Norton Anti-Virus or MacAfee or something like that?  Well, those things expire and if you don't pay up each year, you quit getting the latest virus signatures which is what allows anti-virus software to protect your machine.  Without the latest updates, you're are not getting any protection.  Those full disk scans that slow your computer down are all for naught because they won't know if a new virus is there or not.  

         In the past I have recommended the free anti-virus software from AVG.  I still think they provide a great product, but they really want you to sign up for their pay service.  Every so often you have to download a new client and install and it's a headache.  It's easy to click ignore or to mistake it for an annoying popup from some web page and you can wind up back in the same boat.  I have a new recommendation.  It's only for the Microsoft platform but I really like it.  It'll work with anything from XP service pack 2 all the way up to  Windows 7 Ultimate 64-bit.  It's called Microsoft Security Essentials.  Download it, install it and uninstall all that useless, out of date, anti-virus software that's just taking up system resources.

    ...

         Lastly, if you hate the bloat ware that is Adobe Acrobat Reader but you still need to be able to read PDF files, then download Expert PDF Reader from Visagesoft.  Great PDF viewer, nowhere near the headaches of Adobe Acrobat REader.  It's free.

    Tuesday, December 28, 2010

    A new laptop

    My Dell M1530 went kerput on me for the 2nd time.  The first time the HDD died. That wasn't so bad because it was still under warranty and Dell sent me a new one. The second time it went, it was the motherboard. This time I was out of warranty. The cost would have been around $500 to replace it so I got an Asus laptop from Best Buy for $550.  So far so good.  I guess when it comes to laptops, I need to just budget money for a new one every two years.  Every single laptop I've owned has gone out with in three years.  Gateway, IBM (pre-Lenovo), and two Dells.  They usually just sit in a room.  They don't get dusty.  They don't get too hot.  I'm very mindful of them when I travel.  My Dell desktop had several problems as well.  It still runs but it needs some TLC to stay running.  Why am I boring you with all this talk of busted machines?

    Well, I used to build custom machines.  I say build but really it was assembling about a dozen components inside a case.  "Building" sounds cooler, like you are magnetizing each sector of the drive and etching the circuits on the CPU.  Anyway, those beige boxes lasted a long time.  They lasted for several different customers that kept them in a variety of work spaces and to my knowledge none of them ever broken down.  I'm not saying I had any great workmanship (I didn't, my wire organization was awful).  What I am saying is that the corners that get cut in a large company's assembly line seem to make the difference between real PC longevity and two years of use before the machines goes dark.  It's hard to make a profit on a computer.  The big PC manufacturers have to make them as cheaply as possible.  When you build your own, you build it slower and with (a little) more attention to detail.  Most cases these days are spacious enough to have good air flow to keep things from getting too hot inside.  That's probably the biggest difference right there.  I have a custom machine from 1998 in my basement and when I went down and turned it on, it booted right up to Windows 2000.  But enough about desktops.

    I got the new laptop and erased the drive.  I made a large Windows 7, NTFS partition and two partitions that are around 100 GB each.  I loaded Ubuntu 10 on one of those and Fedora 14 on the other (Ubuntu and Fedora are different flavors, distros, of Linux).  It took a while to configure each OS and get all the software loaded.  I still don't have the Linux partitions like I want them but I know so little about Linux that I'm happy that I got the laptop to triple boot at all.  All in good time.

    Mozy.com has been my backup provider for a while and I have been pleased with them so far. $5 a month for unlimited backup.  I bought a 2TB external drive where I'm going to store iTunes data and other files.  I'll point Mozy at that and have it back up a few folders on the actual Windows 7 partition.  I think I can have the Linux partitions write to a shared location that I can have backed up as well.  I'll figure it out.

    That is all for now.  I'm not going to do any die rolls for the next several posts because I have some ideas about what I want to write about.  Mostly they will have to do with a Microsoft developer learning how to develop on the Linux platform.  There will be some writing related posts as well as a recap of my second semester at UPenn.  All in good time.

    Thursday, October 28, 2010

    Looking forward

         I almost wrote another post on how and why I got into software development.  I was thinking a lot about that after I downloaded a Texas Instruments 99/4A emulator.  I was amazed at how much my fingers remembered.  Double tap the 1 key and start typing line numbers and commands.  Anyway, I'm not going to do that.  I'm going to talk about what's ahead for me in software development.

         Mobile development.  That's what I see when I look forward.  The place where I work is getting into iPhone development.  I tried to get my department to give the windows mobile platform a shot but even I couldn't take WinMo 6.x after a while.  Maybe Windows Mobile 7 will be better but for now it's the iPhone.  People like using their iPhones.  People love it when you write an application that gives them yet another reason to whip out the iPhone and start two finger tapping.

         So far I've been writing the back end web services that handle the data part of our iPhone applications and my co-worker, Kotaro, has been writing the front ends on his Mac in Objective C.  The web services part is great because since it's just XML/Soap, any platform could connect to it and make use of the services, with proper authentication of course.  What I'm trying to do now is expand my skill set to include actual iPhone development using tools from Mono Touch by Novell.  The Mono Project is an open source .Net framework that allows a developer to write .Net code and target Windows, Mac and Linux.  I want to do iPhone/iPad development with it but it'd be great to get familiar with those other platforms as well by writing code for them.

         Why learn a new development platform?  Same reason I learned the first one, because it's fun.

         I've also been thinking about the gaps in my skill set.  One of the problems that comes from being a self taught developer is that I've wasted many hours writing something that has already been written.  Also, there's this gnawing concern that there is so much about development, even on the Microsoft platform, that I don't know that...I don't know what I don't know.  Sometimes I come across posts like this and this and think, "Dangit!  I've been doing this over a decade and I've never even heard of some of this stuff!"  At first I tried to tell myself that it was just one guy's opinion (it is) and that there's lots I know that isn't on those lists (also true) and I've been doing this for years so I must be doing something right (right?).  But the more I thought about it, the more I realized that I was just a few Google searches and test projects away from being able to answer all of the questions in those two posts.  Just another visit from the binary thought system 0 (I'll never figure all this out) and 1 (Why shouldn't I be able to figure it out?).

         Still reading? Even after that 0 and 1 nonsense?  Okay.  I'm trying to go deeper.  In episode 6 of This Developers Life, Scott Hanselman and Rob Conery talk about "The Stack" and how much a developer should know about it.  Professional developers  are constantly running into things they don't know how to fix (at first).  Take a look at this Twitter stream and you will see.  The Stack is all the stuff between what a developer types and the 1s and 0s the system actually works with (sort of).  For example, when I write code in a high level language like Visual Basic .Net or C#, it looks something like this:

    string firstname = "John";
    string lastname = "Smith";
    string fullname = firstname + " " + lastname;
    Console.WriteLine(fullname);


         Not beautiful code, but you get the idea.  I click "Build" and several steps later it's processed into something like 10011010010101110001010...and the machine does something.  The point is, I don't really know how to program a computer at all.  I stand on the shoulders of giants standing on the shoulder of giants so I can reach high enough to pull the lever and make the computer spin.  I only know how to write descriptions of what a program should do and then I let the magic of MSIL and various compilers actually write the program for me.  So when I say I want to get deeper into the Stack, I mean that I want to learn more about what goes on after I type up all my C# or VB code and hit Build.  That means getting into things like C++ and Assembly.

         Now it's possible I'm going to get into the Stack and run screaming from what I find there.  There is a part of me that says I'm 36, I am what I am and it's hard enough to learn all the new stuff let alone all the old stuff.  

         Maybe.

         But thinking about this stuff reminds me of a story I read about a modern boat that ran aground several years back because of a GPS error.  The crew on board could have used their map or just looked out the window but the GPS said everything was fine so they went full speed ahead until the hull split open.

         So I'm going to write a program in C++ that does something useful but simple.  Then I'm going to write a program in Assembly.

         If you made it all the way to the end of this post and you want more, I suggest:
         The next post will be...a true life entry.

    Saturday, October 16, 2010

    Try the Kindle

    Last week I wrote a long post about how I use Amazon's Kindle and how freaking great it is.  I had all these great little stories and use cases.  Then I read over it and decided to scrap the whole thing.  Why write about how I use it when you could just try it yourself?  So like I said, I chucked that post and wrote this, much shorter one, instead.

    You don't have to spend money to get books in the Kindle format.  You don't have have to buy a Kindle at all.  If you have a Windows PC, Mac, iPhone, iPod Touch, iPad, Android phone or Blackberry you can get Kindle stuff without buying the device itself.  All you need is an Amazon account.  Download one of the free software applications for your device and start using Kindle stuff right away.  Lots of great classics are free or .99.  You can get sample chapters of dang near everything to try before you buy.  The built in dictionary is great for when you're reading David Copperfield and you come across words like blandishment or scapegrace.   You can highlight passages, add notes and they'll sync across all devices.

    Maybe you'll hate reading books in an electronic format.  I thought I would.  Just try it out.  It'll cost you nothing.

    You can download the software free from Amazon here.

    Once you are set up, here's a sample of some books you can read for free:

    The die roll says another tech post.