Three months

It is shocking to me to realize that in three months much of my life will change.

I will be married.

I will have an MBA.

I will be dancing.

I will have my family here in town for two weeks.

Holy crap, why am I posting here? I have work to do!

Yeah, it is overwhelming.

Making USB Boot Keys

Okay, so one of the things I have been doing for a long time has been keeping a set of USB keys with me that could help me out of bad situations with computers. For the longest time, I did this using the tools available to me via the SYSLINUX project and Ultimate Boot CD.

Why Ultimate Boot CD? Because it had most of the utilities I would want in an emergency already in a collection, so I didn’t have to assemble much beyond it. I did not make the UBCD work from the USB drive, though, I simply reused the images they had on the disk.

And why SYSLINUX? At the time, I was also running several network servers on a campus, and I needed to have tools available over the network. Since PXELINUX is a derivation from the SYSLINUX Project, the configurations I developed for one would typically work with little modifications to the other, and, I could keep the interface the same for the other folks who might be using them.

How did this work?

  1. Format a USB drive to FAT16/FAT32, depending on what is appropriate for size (I typically go FAT32 when I cross the 1GB threshold)

    Note: accomplishing this step is the real determinant of your success. A lot of people find success with HP’s USB Key Utility, which works in Windows. I’ve had the most reliable success using Linux (even just a Live-CD) and cfdisk. The key things that need to be done are to have a primary FAT/FAT32 partition, and have it marked as bootable. Then, obviously, the disk needs to be formatted. Disk Management in Windows will only let you format.

  2. Download/install the syslinux utilities. There is a set for Windows (look for win32), and you just have to have them on your machine to use them. For Linux boxes, often your package manager can get you these files.
  3. run syslinux against the drive:
    • Windows: syslinux.exe X: (where X is the drive letter associated with the USB key)
    • Linux: syslinux /dev/DEVICE (where DEVICE is the name of your USB key)
  4. Copy desired disk images to USB drive. Generally, you should NOT have to open these images and copy the files inside over, simply copying them to the drive is good enough.
  5. Copy MEMDISK from the SYSLINUX distribution to the USB drive. This utility allows you to boot floppy and hard drive images. It will not allow you to boot CD images.
  6. Create a syslinux.cfg on the root of the USB that invokes the images you copied
    Example:

    default local
    timeout 600
    prompt 0

    These first couple of lines set the default options, as in, which label to boot at time out, a timeout of 600 seconds, without a prompt.

    label local
    localboot

    Next comes the localboot option, which simply causes the machine to poll the next boot device for an OS.

    label rescue32
    kernel /sysrescd/rescuecd
    append initrd=/sysrescd/initram.igz

    The third section define a linux kernel (in this case, a 32bit copy of the SystemRescueCD kernel), and an initial ramdisk to use as the filesystem as it boots.

    LABEL dos
    KERNEL syslinux/memdisk
    APPEND initrd=knoppix/balder.img

    Finally, the fourth section invokes a FreeDOS disk image via MEMDISK, where the boot code and kernel are loaded from the image as if it was an attached disk. The labels are the text you type in at the prompt to select the OS desired.

This was my preferred setup at one institution as I had full control of our network boot environment as well, and since that used PXELINUX (related to SYSLINUX), the configuration files would almost always work with both systems and I could provide the same look and feel.

You will note the use of forward slashes “/” in the configuration, even though the filesystem is FAT based (which usually uses backslashes “\”. SYSLINUX knows what to do regardless, and can process files in directories as you see here.

But, at this time, I use something else for my boot needs: GRUB.

Why I switched to GRUB

First and foremost: USB flash storage is getting quite large, and frankly, if I don’t have to carry a drive for boots and a drive for file storage, but have these integrated together, then my pockets become less cluttered.

In addition, I can use references to partition UIDs for my boot options so that I can keep my data files on one partition of the drive and my boot files on another, keeping the boot options “hidden” and keeping Windows happy: Windows LOVES to ask if you would like to format a USB drive if the first partition is not FAT/FAT32/NTFS. NO! Bad Windows! Don’t help me destroy my data.

Finally, SYSLINUX restricted my ability to boot to correctly defined parts of a configuration file. GRUB allows me to 1) correct incorrectly defined parts and 2) create my own boot options with a command line.

Flexibility is the name of the game here.

Okay, so how to set this up. Note, I ONLY do this on Linux, because I’m doing a lot of things here.

  1. Partition your USB drive, using fdisk/cfdisk/sfdisk so that the FIRST primary partition is FAT32 (type 0b, likely what you want since FAT16 is good up to 2GB). As I said, this keeps Windows from being format happy. Make this as big as you think you’ll want to have for your data needs. Make this bootable EVEN IF you do not keep your boot stuff here.
  2. Create other partitions as desired. In my case, I wanted the bootable items to be editable on any system I might have around, so, I created this as FAT16 (type 06, I wanted about 2GB). I also created an ext2 (type 83) partition for later use as a pure linux installation that i could keep on my person for my particular needs/rescue operations for my laptop.
  3. Format your partitions as necessary, include label options so that you have nice names for these when you use them wherever you may:
    • mke2fs -L MYLINUXPART /dev/DEVICEPARTID
    • dosfslabel /dev/DEVICEPARTIDofFAT32 MYDATAFILES
  4. Jot down the UUIDs for each partition:
    vol_id /dev/PARTITIONID #repeat as necessary
  5. Install GRUB onto the drive, with the files on the second partition:
    grub            # enter grub shell
    root (hd1,1)     # my USB was recognized as disk 2 & I wanted partition 2. GRUB counts from zero.
    setup (hd1)      # install GRUB on disk 2 (my USB). Note no partition mentioned.
    quit            # exit GRUB shell
  6. Copy bootable files/disk images to the partition for your boot stuff. Also, copy over the MEMDISK utility from SYSLINUX because it can still help you out :-)
  7. Edit/Create /boot/grub/menu.lst on the boot file partition.
    Example:
    default 0
    timeout 60

    title Reboot
    reboot

    title System Rescue 32 bit
    uuid 857D-BA75
    kernel /sysrescd/rescuecd
    append initrd=/sysrescd/initram.igz setkmap=us root=/dev/ram0

    title FreeDOS Balder
    uuid 857D-BA75
    kernel /syslinux/memdisk
    append initrd=/bootdisk/freedos.img

    Default boot entry is the first one (GRUB counts from zero!). Time out at 60 seconds. The first entry obviously reboots the machine. The second finds the partition on the system with UUID 857D-BA75 (which would be the second on my USB drive), and then loads the SystemRescueCD 32 bit kernel and initram.igz from that partition (with some additional options). Finally, the last entry uses MEMDISK to load our FreeDOS entry, same as before.

Booting from this drive will always find the correct partition for the files (if you took care to copy the UUID correctly), and you can even create options that look for other UUIDs (like, other USB partitions, or, your already installed OS if you want to pass it special options and your bootloader on your system is messed up). Also, unlike SYSLINUX, you don’t have to type in the title/label line; GRUB generates a arrow key navigable menu to select your OS.

Presentation Styles

I am about to finish up my trip to Atlanta Linux Fest and I do have to say something, and I can be guilty of these things at times, but…

1) do not read your presentation slides to the audience. If you find yourself doing this, you have too much stuff on your slides.

2) If you need to refer to a project’s history, spend at best 1/10 of your time on it in presentation, unless that’s what the presentation is truly about. Otherwise, you’re putting people to sleep and not going to get new folks interested in what you’re doing.

3) If you naturally speak slow, and without a lot of excitement, either learn to speed it up and ramp it up, or, have someone else present and you be the expert to bounce questions off of.

A Poor Man’s “tree”

If working on a UNIX based system that for some reason doesn’t have “tree” (Solaris by default, others’ rescue environments) but does have “find” and “sed” and “sort”:

find . |sort | sed -e 's;[^/]*/;|-- ;g;s;-- |; |;g'

will approximate the output of “tree”.

Tags:

Stats and Graphs Can be Manipulated

Well, now that i have a few free moments, I’ve decided to finally make a political post. Well, maybe not directly so, but there will be those who’ll accuse me of distortion and ignorance, and hey, they might even be on my side. That’s the fun of having an opinion.

So, I feel the need to weigh in on a certain chart I’ve seen wandering around the net, and I think even in one my classrooms. This one charts the life expectancy of citizens of 23 of the most industrialized nations, with 22 of these having some form of universal health care. Yeah, that one shows the U.S. life expectancy is lower than most of them.

Pretty damning evidence wouldn’t you say?

I don’t think so.

Okay, you can wipe the horror off your face now.

I’m not saying the chart isn’t accurate. It probably is! But I want you to think a little deeper than “OMG, that line is shorter!” Now, what I want you to consider is what actually is included any time a measurement of life expectancy is taken. Why sure, quality and availability of health care certainly factors in here, I’m not going to deny that. But what else?

How about working hours per year? How about average working years per person? I would imagine lifestyle choices would also fit in this figure.

Am I proposing that some of these may in fact have a greater effect than the current issues with our health care? Actually, yeah, I am. Let me explain why. First of all, the average American with a full time job works more than 40 hours a week. For some of us, we blame our employers, for others, it is what we do to get ahead. Regardless, for the large majority of all the other countries in the chart, 35 is about the norm (I will concede that Japan and South Korea actually do work more). More importantly, though, is that we in America work more weeks of the year than most of the countries. That’s important because it means we don’t take enough time to relax — we often find ourselves under a great deal of stress, which can lead to lots of unhealthy situations (binge eating, acting out, distressed families) that do cut into our life expectancy. In addition, we are more of a car based society than most of the other countries — in other words, we have to deal with a lot more traffic, and all of its bad effects on time and our stress levels. I would say that all that stress doesn’t help our life expectancy.

So, you’re pointing at Japan and South Korea still, aren’t you? Yes, they work more. But I would also posit that because of the ideals of their societies, with order being one of the prime concerns, that the general workplace in those countries tends to be more supportive of the individual worker and each worker knows their expected behavior, whereas in the country we’re always competing with each other, ourselves, and our bosses. We tend to do our own thing, which causes a bit more chaos which everyone has to deal with. Sure, we have rules, but we’ve lost our sense of shame long ago. Have you watched television in the last 25 years?

This leads me right into lifestyle choices, which I think have a lot more to do with this than anything else. Let’s face it, one of the great things about the United States is the freedom for us to do pretty much what we want as long as we’re not harming someone else. That also means that we are often free to NOT do things as well. Being a heavy automobile based nation, that means we drive more often than not, even when a nice healthy walk would have been more appropriate. We chose that lifestyle. We also tend to eat more than most other people in other countries do. This leads us to more cronic illnesses such as heart disease and diabetes. We tend to over indulge in our vices when we have them, be it smoking, drinking, and many others. Oh, and we have a lot more teenagers and children die in automobile accidents because of these choices. And don’t you say those things do not count — the chart didn’t say “because of health care.” It said life expectancy, which means it has to account for ALL deaths at ALL ages, regardless of cause. And, to come nearly full circle, there are those of us who, believe it or not, actually choose to not get health care, and not solely because we can’t afford it (yes, I know, there are some who cannot, I concede that too, but please reciprocate and concede some people just choose not to have it because they don’t want it).

Look, the fact is, the chart on its own doesn’t actually prove anything. And yes, I can imagine right about now some of you are saying “That’s right, and you can’t criticize the chart like you are because you are taking it on its own!”

I’m not criticizing the chart. Remember, I said I think this chart is actually pretty accurate. What I am criticizing is that some people see that chart and say that is the proof we need universal health care. Some of those people hold elected office. Some of those people are representing us, and we let them get away with such superficial analysis of issues, of which universal health care is but one. A lot of us need to think with a little more depth, and realize there is more to the story than a single chart. I’d like to see a companion chart to this, how satisfied people are with their lives in the place they are. I’ll even go on record to say I bet we’re not tops there, either. And you know what, that’s still not enough to tell the story.

My theory is that it is our freedom to pursuit our happiness that is in fact leading us to have a lower life expectancy. In effect, we chose to do things that may shorten our lives, but in doing so, may bring us our special brand of happiness. We make our choices, and we must live with the consequences. Some people forget that freedom dictates both parts of that sentence.

All this hand wringing over five years difference (max), and on average only 2-3 years.

I’m just asking you to think a little more about it.

Things in place and out

Well, I continue to be late in posting. Though, compared to my other attempts at blogging and the like, I’m thankfully still posting — by now, I had stopped all the others.

Anyway, the ups and downs of house buying. Yes, much to my surprise as well as others, apparently I’m capable of being financed for this. So, we’ve been looking, having found an agent that fits our personalities. We’d seen a couple of stinkers, and a couple of “nice” homes that just wouldn’t quite fit all of our needs. Finally hit upon one that fit all of our major needs (and most of the minors), but it had a big coming out weekend and we ended up second out of eight offers. Everything since then hasn’t quite measured up, but I’m thinking it is a matter of the houses not being right more than not being that other house.

Good news for the economy: we were to check out 9 houses Friday afternoon/evening. By the time we met with the agent, 4 of those were under contract, another was leased out as we arrived. This is also how we lost the other house — there are other buyers, and they are, like us, becoming active. Bad news for us — means prices should stop falling, and in some cases, begin rising, potentially pricing us out.

Now, the stuff in place: talked with my brother and it turns out that May is very unlikely to be his shutdown, so it looks like the big day will be around my graduation date. Life changing weekend looks like it is on. That also probably means we’re going to be in contact with Payne-Corley to get the Magnolia Cottage scheduled. Money is on Sunday, May 9. Yes, Mother’s Day. That wasn’t part of the plan originally, but we figure if folks are coming, Sunday is the day with least open hours for various touristy things here, and gives me more time to get things done in a sane manner than trying to it the Friday night before. We have some other things already in place, and several others like the photographer and officiant that are pretty much waiting on our word.

And now, exam week. Wooohooo! Wedding, houses, full time work, and evening classes. Full plate. Woohoo!

Overdue

One: hey, I was supposed to be posting more frequently, wasn’t I?

Two: hey, I was supposed to be posting technical stuff sometime, right? Soon, folks. The big ones that are currently on my mind are advanced networking with DD-WRT capable routers (mine: Linksys WRT54G, GS, Buffalo WHR-G54S, Asus WL520gu) including getting bridging working (localized and VPN), as well as my USB/net boot environments using The Syslinux Project.

Three: I meant to post on June 13, as this was the day, 11 years ago, that I moved permanently to Georgia with about $960 to my name, with no job, no car, but had a girlfriend, and a will to make it.  I managed to create the life I have now, though it looks SO much different than I would have expected.  In some ways, I am very different than I was then, and the most odd one to consider is my cautiousness.  I’m generally more risk averse now, which would be expected with a fiance and such, but also I can’t right now see myself up and moving to somewhere else, and I certainly have more money now than I did then.

At the same time, though, I still on occasion up and do something not planned.  Such was the case with the engagement: my planning was to wait a bit longer, closer to the Disney trip to ask Kimmie (or to our Vietnamese readers, Thanh, her real first name) to marry me.  But as it turned out, I happened to find a nice diamond at a very reasonable price, and since Kimmie was there, she knew what had to be coming soon.  I waited nearly a week to do it, with my eyes set on a day and event that in the end, would have been wrong on both counts (see Chinese farmer’s almanac).  Even then, the ring this diamond was mounted on was certainly not going to be the permanent home, and one day after asking her, we found it, and got that one for half off too (c?m ?n ba?c tám).

Anyway, I’ve been here longer than my initial plan (about 3-4 years), but now I’m not sure I’m ever leaving. I’ve had two long term relationships end and two begin.  I’ve lost contact with the first girlfriend I ever had after we grew apart. I’ve worked for four different institutions in the University System of Georgia, three of which in the same building.  I’ve had friends pass on with cancer, others nearly pass to severe infections, and I was able to say goodbye to my mother in a way that so many people never get to do.  I’ve made many friends, and gained several nieces and nephews and various in-laws whom I greatly appreciate.  I’ve seen all my brothers marry before me, but I’m okay with that because I assumed one of them never would.

I’ve taken lots of fall foliage, flower, and butterfly pictures and several different road trips with friends near and dear to my heart.  I’ve finally gotten over my fear of sushi.  I’ve developed an interest in getting a motorcycle not because I’m a rebel, but so that I can ride with my father and my brothers at least once and to experience .  I’m working on a Masters that I would not have chosen even after receiving my (related) associates just before moving here.  I’ve owned two cars, both of which have I truly enjoyed (especially on those road trips).  I finally visited NYC, and seen some of the big sights, right around New Year’s Eve, of all times.  I can enjoy myself at a casino, and so far have only lost minimal money (less than $40 each trip).

I’ve pretty much stopped writing creatively and reading for my own enjoyment.  And, I’m slowly learning to not be the angry young man, although, I don’t think I can use the word young anymore, with the grey hairs slowly appearing along with my grey spot.

Eleven years.  One third of my life.  At times, it doesn’t feel like 5, and other times, feels like 20.

Tags: ,

My how plans change…

Okay, so first of all, I must say congratulations to my brother and his new wife.

Now, for the meat. Despite my various financial difficulties in recent years, it appears that I have done good things for myself as my credit score was much higher than I thought. And why, you may you ask, was I checking my credit score?

We are considering buying a house. We have had some suggestions of some areas that we could afford and some of the houses we have perused online have had 4 bedrooms or more (versus her three) and have significant upgrades to the available yard space. All very preliminary right now, but, we’re also looking to take advantage of the 2009 $8k refundable credit for first time home buyers (which would be me) that would go a long way to paying off some of my remaining debts. It’ll be tight getting in and keeping things in order as I finish my lease, but on the turn of the year, it would start paying off pretty well. And, it may allow me to keep my kitties in the end!

I wasn’t planning on doing anything house-wise for at least another year, and I figured my status as a single would change first, but, as it turns out, I need to NOT change that right now and get close on a house by December 1 to take advantage of the $8k.  And with the down market, there are some good buys out there.  Very excited but equally nervous as well.

Moved Permanently

You might see “Moved Permanently” if you go to litterboxofageek.net. You may also noticed that I have moved the litter box to its permanent home on a .com address. Sorry i haven’t posted in a bit, I’ve had classes to prep for, and getting the last bits of this domain moved ready.

Insane day…

Servers fixed: 9

Servers still dead: 2

Servers I had planned on saving today: 1

Assists (hey, all the sports have them, why can’t geeks?): 1

Information about tuition remission: 0

Grades received: A & B

GPA: down to 3.53 in light trading

Kitties waiting at home: 2

Kitties seen today: 5

Lawns mowed: 1

Hours of sleep before: 4

Hours of sleep after: hopefully 6.

Goodnight everyone.