Sunday, December 30, 2007

Feckin Feck Feck

I couldn't figure out how to add a user to group X today. openSUSE doesn't have adduser, so you can just say adduser bperry X . openSUSE as well has Red Hat have useradd, which is not the same. I had to use usermod bperry -G X. The final outcome was su -c usermod bperry -G vboxusers.

PS: I am probably the most incompetent person alive when it comes to women. So, women, do yourself a favor and never talk to me again, I will just embarrass myself. Thanks.

Thursday, December 27, 2007

Wiping my external

For some time now, I have had to deal with Ubuntu thinking my external HDD was formatted NTFS while it was in fact ReiserFS. I am currently completely wiping the drive hoping it will fix the problem. I used wipe (sudo apt-get install wipe) to do it:

wipe -f -P 3 -S r /dev/sda1

That forces (-f) wipe to do it, does 3 passes (-P 3), and uses /dev/urandom to seed wipe in it's wiping of my drive (-S r, much more secure than any other). Hopefully, this will fix it, otherwise, I will file a bug in Gutsy.

Tuesday, December 25, 2007

Not a great Christmas

This was probably the worst Christmas I have had. I am not talking about present-wise, I don't care about presents. My family is in the middle of a rather bitter divorce, so it is very awkward for me when I see my parents trying to one-up one another. I opted to stay at the apartment Christmas eve so I wouldn't have to put up with it. Travelling from house to house to house to house was exhausting. I did get some nice presents though. My mom bought me The World Is Flat (a book) and some other things. I got enough money in gift cards to keep me fed for a while. Natalie Jeane got me a DVD I have wanted for quite some time (Dead Alive, one of Peter Jackson's firsts). Danke.

Merry Christmas and a Happy New Year

Sunday, December 23, 2007

I guess it happens from time to time

I have tried so hard over the past year to not bring work home with me. That is a horrible habit (one of the worst IMHO) that many people get themselves into and become burned out at work. Sometimes though, there is a computer that I would either like to learn how to fix or need to learn how to fix, but can't do the research at work, so I make note of what is happening and do the research at home. I might do that a couple times a month. I enjoy learning how to fix problems like that. What I don't enjoy is fixing someone else's problems, which is what I do at the shop. Now, I have come to not mind it so much because I absolutely love learning. I love learning how to fix things, how to break things, and I love fixing things that aren't broken. If you don't know how to break something, how can you learn how to fix it. Sure, you can learn how to fix things in X conditions, but how many times will it be X conditions versus Y and Z conditions. If you know how to break it (IE. not just deleting random things, but if you delete this and this, this happens, but if you delete this and that, this happens), you can use transitive properties to fix them.

Anyway, back to the bringing work home. Lately, I haven't been able to get work off my mind. And not in a good way either. I am not worried about the computers I am fixing, I am worried about the state of my job (as well as those I work with). Some bad managerial decisions have been made and the shop has lost quite a lot of money. We (boss, Geoff, and I) had a talk about the things we need to start doing around the shop to help increase efficiency and such.

I will say right now, I am not a managerial type of person. I can manage myself, and have a hard enough time doing that. When I am at work, I work. I don't play around really, I don't find a way to waste time while program X finishes doing it's thing. I try and find something productive to do in the mean time. I even work while I am eating lunch. I take small breaks (5-10 mins) every hour or so just to keep me from overloading myself, but overall, I work really hard. While Geoff was down at UT Austin, I had the unfortunate task of also handling phone calls. That really threw me off what I had been doing before. Especially on days where the phone doesn't stop ringing. I don't work well at all under those kinds of conditions. I don't talk well to the customers (when I say that, I mean I can't explain things in a nontechnical sense) so I spend a majority of my time on the phone explaining why their file system was corrupted, what caused it, what they can do to prevent it, then have them ask to explain what I was talking about halfway through. Let's just say, I am not a people-person and if I am allowed to work the way I work, then I can make whoever I am working for _a lot_ of money. Otherwise, it will be much less than optimal.

That being said, my boss wants Geoff and I to started performing a lot of the managerial things around the shop. Geoff is good at this, much, much, much better than I am. I am really, really good at fixing computers...much, much, much better than Geoff (not on a fault of his own, I just have an extremely deep understanding of many operating systems, many file systems, and old and new hardware). This managerial stuff just doesn't sit right with me, and this is worrying me a lot.

Obviously, I am only feeling a fraction of the stress my boss is feeling. I don't know how if my paychecks will stay as high as they have been. I don't know if I will be able to work the way I had been able to work. Thankfully, Geoff is back with us and he will field most of the phone calls. I don't see myself becoming burned out, but I have been less and less happy about getting to go to work lately, and it has definitely affected my work. As the title says, I guess things like this happen from time to time.

In other news, I went sky diving with Geoff and Richard Friday (my Christmas present to myself) and will be going back in February. I also moved into my apartment this week. It is nice.

Monday, December 17, 2007


Borked Feisty today. Figured Gutsy had had enough time to stew after being released in October and installed it. Much better than my first installations of it. More things "just work". <3

I joined the FSF a while back. Added a widget of theirs to the side panel. If you read this through Facebook or an RSS feed, then you won't see it. If that is also the case, I highly recommend you go to and just poke around there. I am sure something will intrigue you. Now on to the meat...

Older people never cease to push my buttons. Obviously, one of the biggest things is about their interaction with computers. Older generations expect us to know about all that happened during their lives, such as wars or presidential mishaps. That is a completely realistic expectation, considering it shaped who we are today. But when we (the younger generations) expect them to at least know a little about the important things that are going on and shaping our future, many just won't have it. The put their foot down and say they don't have to learn. A bit hypocritical, no? Maybe it is just me, but I think at least a _basic_ knowledge of computer use is a realistic expectation. I wouldn't expect them to learn every IRQ address and what they correspond to or what every port on the back of their computer is for, but maybe to know what the Control Panel is or at least that deleting an icon doesn't actually delete the program.

Again, maybe it is just me...

Saturday, December 15, 2007


I have never really liked KDE. I reminds me too much of the XP default theme (looks like the Teletubbies designed it). But with all this fuss about KDE 4, I am reconsidering my thoughts on KDE. I have seen screenshots and it looks _very_ clean. I have used GNOME since Ubuntu 4.10 and will still use it for some time, I don't see anything in KDE changing my preferences that much. I still don't like the whole one-toolbar thing. and the KDE one is so big, it really doesn't hit any good chords with me.

Thursday, December 13, 2007

Kickstart for Debian?

The kickstart file for Fedora is bad ass. It is like the preseed file for Debian, but doesn't suck and has (good) documentation. I have done things like this:

sudo dpkg -l | grep ii | awk '{str=str $2 " "} END {print str}' > installed

to get the installed packages on one system easily accessible and recreatable for another system, but it is a bit more of a pain than just having something like the kickstart file already available, or just typing in redhat-config-kickstart and getting a nice GUI.

Plus, my way doesn't transfer settings.

Basically, I am looking for a better way to do this in Debian/Ubuntu. Any thoughts?

Very Exciting Times

A lot of really exciting things are going on right now in my life. Many of which I can't talk about right now as they are not necessarily going to happen, but if they do, good times will follow ;-).

Extremely busy lately, leading to a lack of posts. I ate dinner with Aaron Toponce ad JJNova (from #ubuntu-texas) last night at Beni Hana's off LBJ near Greenville. Amazing. The food was good, expensive, and totally worth it, especially because Guru Labs was paying for it. JJNova had car problems coming to the restaurant, so we didn't get seated until ~7. I was about 10 minutes late (we were to meet at 6), I think my average speed there was 45 miles an hour. Traffic in the wet weather was horrid.

Anyway, we ate steak, drank green tea, and had ice cream for desert (I actually had sherbet). Definitely one of the best dinners I have had this year. The first words as we sat down at the table were from Aaron and are as follows "Ok guys, don't be modest...".

We talked about Ubuntu, Fedora, and other things Linux. Had some questions about teams in the future and others answered. Other than that, we just chatted about being married (I was a bit quiet during that conversation), Utah, California, and how Aaron was seeing the worst Texas weather ever. A really nice evening of just relaxed conversation while a chef threw eggs, rice, and steak across the grill onto our plates.

Work lately has been non-stop. I have been going in about 30 minutes early so that I can get a handle on what all I need to get done before 2, though having to stay past 2 because computers never do what you want ;-). Can't say the hectisity (is that a word?) isn't bad though...once Geoff gets up here, it should calm down a bit. A lot of my time outside work is being spent trying to figure out how to do something the next day so I don't spend X hours messing with it. At least I can say business is booming.

Torrenting Fedora 8 (werewolf) for a VM. Can't wait to install it.

Tuesday, December 11, 2007


I have 28 RSS feeds in Liferea. I usually use my RSS feeds to wind down the day. At about 8, I bring up Liferea and refresh all the feeds, which gives me about 2 hours worth of reading. I enjoy this, and I recommend it to anyone who says they are bored.

I bought some Joe Satriani the other day. I heard some of his music about a year ago I think and thought it was pretty good, but forgot about him until last week. I ran across a demo of some of his music somehow and bought one of his albums (Surfing with the Alien). Fantastic, apparently one of his best. Highly recommended for those guitar enthusiasts out there.

Had an idea for the shop today regarding backups and customer service. Still bouncing it around, but discussing it with Chris, it seems I will probably at least implement it and let him see it.

BTW, apparently, the cheerleaders at UT Arlington have down syndrome.

Tuesday, December 4, 2007

Consider the following

I have been eyeing Debian since 7.10 came out. Not because I am losing my faith in Ubuntu, but because I don't want all this flash and glam that 7.10 brought. I have decided that I will keep Ubuntu on my desktop for gaming. I will install Debian on my laptop for work. Debian is better for development purposes anyway and not trying to compete for best desktop, per se. It is looking to be the best development OS IMHO.

Anyway, I installed Debian in a VirtualBox VM just to make sure I could install it (it is just like the alternate Ubuntu install, only a bit more customizable) and it was easy. I chose a net install since my torrents kept getting reset. The net ISO is only like 163 MB. It took a good 2 or 3 hours to download and install everything. Even after that, GNOME wasn't installed, so I had to login to Xterm and sudo apt-get install gnome (that installed TWM also, which I am a big fan of). By the way, this is all done with Debian Etch. Will probably load it on my laptop this weekend after I back up.

Sunday, December 2, 2007

Yet another quite productive day

I had another really good day today. Very productive, very relaxing. First I updated the Downloads page for the OpenDiagnostic CD to include v1.1. Gparted fixed (Edit your partitions), added a couple data recovery apps to the LiveCD, and made some security improvements. You have to login now (makes ssh much easier). Username is root, password is toor. Then I reworked the netcheck program I wrote for the autorun to be a little less code and a bit faster. Source code here.

Relaxed a bit, went and bought a fan for the computer room. Apparently, they don't stock them during the winter and I just happened to get lucky and find one stashed behind some furniture at Walmart. WTF is that about? Anyway, I also bought The Pagemaster...haven't watched it yet though. Went and fixed a neighbours computer after that. Not a big deal, his hard drives were swapped in BIOS, causing an Error Loading Operating System error.

Played some California Speed, GoldenEye, Frets on Fire, and Guitar Hero for an hour or so, then started working on installing Gallery on my site. I think in the time between me starting California Speed and me finishing Gallery, it dropped like 25 degrees outside.

Overall, pretty productive, really relaxing. Better this weekend though than next. I won't have any time. Saturday I am installing a network for a business and Sunday is the Ubuntu DFW meeting.

First Hardy Bug Submission

I submitted my first bug for Hardy Heron Alpha 1 last night. I went to sleep a happy man.

Saturday, December 1, 2007

Very Productive Today

I uploaded v1.1 of the OpenDiagnostic. Will update the site when I get back from the movies (going to see Hitman!). You can get it at CHANGELOG is in the ISO.

Obviously, my post before introduced OCAM (One Computer A Month), an initiative to spread Ubuntu one computer at a time. Christer Edwards thinks it is a good idea and told me to talk to the Ubuntu Weekly News and see if they could put something in the newsletter to get me a little more publicity. I am very excited about it.

Got me a new controller for my computer. No drivers required. Started playing Duke Nukem 64 as soon as I reconfigured my buttons. Rock.

I also talked to System76 about some posters for door prizes for the next LoCo meeting. Apparently, there is a rumour going around that some new people will be coming to the meeting. Rock.

Today was a good day.

Introducing OCAM

One Computer A Month is an initiative to spread the word of Ubuntu one computer at a time. Wiki can be located here.

If you would like to help the cause, contact me at

Friday, November 30, 2007

My Wishlist

(07:49:30 PM) geoffscheid: I have inappropriate thoughts about Vin Diesel.

My wishlist this year is small, just books.

Today was nice. It was payday. Started working on the autorun GUI and such. I have decided to stick with the tabs for separating the various tools. I was actually going to be getting Visual Studio 2008 Standard (me and my dad would split it), but apparently you get it for free with your first CS class...according to Geppy. It is a good thing I am taking 1301 next semester ;-).

I need to shave, I have like a full fledged beard going on right now...

Wednesday, November 28, 2007

I figured it out

H'okay, I figured out the .NET problem. There is a program called reg.exe out there that check to see if x registry key exists. The exit codes are as follows:

Success = 0
Failure = 1

So, given that, I created and integer named netcheck and set it equal to a system call, like so

int netcheck = system("wintools\\reg.exe query \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727\\1033\" /v Install");

It is pretty nifty. If netcheck == 0 then .NET Framework 2.0 is installed. If netcheck == 1 then .NET Framework 2.0 is not installed and the program then continues to ask you what you want to do. I should probably add support for .NET 3.0 and 3.5, though I am sure only Windows developers have that installed (I don't see a reason otherwise). Also, you must be running XP or Vista to install .NET Framework 3.0 or 3.5. If you are wondering what that last 1033 in the registry key is, that is the language (EN). In the real program, that isn't included for internationalisation support. I just thought you would get the same kick out of it that I did. It has been a while since I really did anything in C, but here is the source code to netcheck.exe, compiled with Dev-C++ (not CodeWarrior) with the 1033 included.

I enjoy awking

Automounting is one of the things I am working on for the CD. I do it with awk.

sudo fdisk -l | grep NTFS | awk '{print $1}'

That lists all the the drives (fdisk -l), filters the results to show only the lines that have NTFS in them, then prints out the first section (the device and partition) of those lines. This gives me the information I need to mount the drives with ntfs-3g. The same goes for FAT partition (replace grep NTFS with grep W95).

So, with this, you can do:

for i in $(sudo fdisk -l | grep NTFS | awk '{print $1}')

and go ahead and mount the partitions.

I am also using something similar to this to write GUI version for ntfsundelete.

In other news, I spent ~3 hours today rooting through header files, forums, and mailing list archives trying to figure out how to write a (simple) C/C++ program that just checks to see if the .NET Framework is installed in the registry. I guess I could give and just use a batch file (this is for the autorun program). All the resources I found on reading the registry required the .NET Framework, so that just puts me back where I was before.

I fixed the Edit your partitions option on the LiveCD and added new tools, so v1.1 will be uploaded tomorrow night once I get rid of a couple rough edges. More details tomorrow.

Tuesday, November 27, 2007

WINE and .NET?

Apparently, WINE ships with some sort of .NET (Mono?)...

bperry@bperry-laptop:~$ WINEDEBUG="-all" wine clrver.exe
Versions installed on the machine:

With enough null bytes...

With enough null bytes, you can trick _any_ antivirus. Just FYI. But viruses are what I am going to talk about this post. Scanning for viruses on Windows is (almost) completely pointless. Windows locks many system files that are commonly infected with viruses, so antivirus programs like Norton and AVG can't scan the file and remove the virus (then the virus spreads during the very beginning of boot when the system files are still vulnerable). One of these files is pagefile.sys. Even taking the hard drive out and putting it in another computer (also running Windows) won't work. More systems files are vulnerable, but you still cannot scan ~30% of them. That, coupled with passworded accounts (if your account is passworded, then the hard drive is moved from one computer to another, if you try to view the files, you will get a permission denied error), it is virtually impossible to remove all the viruses. We have an Ubuntu server set up in the shop that we use to scan hard drives (as well as the CD I made for the shop, but that is _very_ slow) and use KlamAV to do antivirus scanning. Ubuntu is absolutely amazing for any diagnostics and repair (all it is missing is a proper NTFS chkdsk utility, but you can force the hard drive to chkdsk itself by resetting the NTFS journal with ntfsfix). Data recovery (testdisk, photorec, ntfsundelete), virus removal (clamav, f-prot, avast!), windows password recovery and removal (john, chntpw, bkhive, samdump2), even data destruction (wipe). With ntfs-3g, the 3rd generation NTFS drivers for Linux, you can back up any and all data on a NTFS partition, even the data protected by Windows. Other really neat programs I have used are fcrackzip and pdfcrack for cracking passworded zips and PDFs. I am going to start writing the documentation for the LiveCD this week(end) and will do one page for each tool that I use personally, which is quite a few, so that users of the CD have a reference if they are new to Linux. I will post each page here as well as on the site and the CD.

Sunday, November 25, 2007

Introducing OpenDiagnostic v1.0

Introducing OpenDiagnostic v1.0. I started it as a CD to help me in the shop because none of the other CD's out there could really do the job. More features are on their way like the Windows XP Recovery Console and others. I will be working on OpenDiagnostic's usability issues right now as well as the aforementioned features. I also need to write documentation for it. (I will try maybe 2-3 tools a day). Not as full-featured as I would like (the one I use at the shop has many more, but has programs that would be illegal to put on here since you have to buy them).

Key features of LiveCD portion:

--Remove and edit Windows 2000/XP/Vista passwords
--Virus scans with updatable virus definitions with ClamAV
--Data recovery from all sorts of media and filesystems
--System benchmark and information reports (HTML)
--Basic system tests (HDD, RAM, CPU)
--DoD compliant data destruction

Key features for use in Windows:

--Password recovery with JtR
--Registry tools
--Disk tools
--Malware tools
--System Information (demo)
--Data recovery from NTFS filesystems
--Recover and update Windows keys as well as others like Office

Future releases will be much more featureful and usability will be much easier. Look for v1.1 towards the middle of this week.

Roadmap for v2.0:
--Autorun for Windows boxen
--Improved usability, performance, features
--More compact (custom kernel?)
--Better artwork

UPDATE: GParted borked. Will be fixed in v1.1.

Saturday, November 24, 2007

My HardInfo

There is a program called HardInfo in the Ubuntu repos (it crashes on Gutsy, but not on Feisty. It came from the Debian repos, so someone needs to manage it for Ubuntu) and it is like ASTRA32, except free and not as "featureful". You can, however, export your report to HTML like I did here with my system. It is really neat to know what is going on under the hood of my laptop (even though I have taken it apart dozens of times), but the benchmarks make me sad since the AMD 3200+ is beating me in the MD5 and SHA1 summing (if you read the report, I have a dual-core AMD Turion which isn't great, but I didn't think it was that bad). It is a really neat program and I would like to find a use for it at work (like before and after reports after upgrading hardware). Also, I ordered Quake Wars last night for 20 bucks. I guess that is a good thing.

Friday, November 23, 2007

Facebook is 63.88% Women

According to this, Facebook is more than 63% Women. This really doesn't surprise me, but that makes me wonder what percentage of people on MySpace or LinkedIn are male or female (I have a hunch more men will be on LinkedIn, more women will be on MySpace). I, personally, liked Facebook about 99% more when I first started using it before it opened its API than I do now. Now, it is just annoying.

Monday, November 19, 2007

Meeting Announcement

I just announced the next Ubuntu DFW LoCo Team meeting for December. We will discuss what our plans and goals are for the next year, create a roadmap, then just chill and eat cheesecake (well, I will anyway). If you are interested and have the 9th free, feel free to join us. Bring a laptop if you can so you aren't just sitting there listening to use chat on IRC with each other.

Tonight was pretty nice. Richard and I chilled at Starbucks while I played Tremulous and he played FlashFlashRevolution. I am backing up all my stuff right now so I can get a fresh load for Thanksgiving. I have a feeling this week will be extremely slow. I won't be working on Thanksgiving and the shop is dead enough as it is (not many computers to repair), so I don't think I paycheck will be over 150 bucks (200 if I get lucky). Though, a client of ours want me to write her a database program for her. We told her it wouldn't be cheap, so if she follows through, the next couple of weeks might be nice.

I have made the decision to donate at least one computer a month running some flavour of Ubuntu to a family, teacher, etc... I have actually been doing this the past couple months without realising it. Each computer costs me between 50-65 dollars to get fully up and running on average. Most of the computers I get are low-end computers (128 MB RAM, 500-750 mhz proc, 10 gig HDD). I generally upgrade the machines to 256 MB RAM. That is enough for basic use (word processing, email, internet, IM, etc...). I also usually have to get a monitor (17"), keyboard, and mouse. So, obviously, I can't afford to donate more than 2-3 max a month, though sometimes I get lucky and have a computer that is pretty much ready. If you have a computer sitting in a corner, closet, or garage, let me know. I am willing to come and pick it up. Chances are, if it was made within the last 10 years or so, it meets my standards ;-).

Thanks in advance!

Sunday, November 18, 2007

Not a happy camper, at all.

Someone please explain this to me...

bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac
bperry@systems-logica:~/srcs/gbrainy$ sudo gacutil -i /usr/lib/mono/gac/Mono.Data.Sqlite/

Unhandled Exception: System.IO.FileNotFoundException: /usr/lib/mono/gac/Mono.Data.Sqlite/ does not exist
File name: "/usr/lib/mono/gac/Mono.Data.Sqlite/"
at System.IO.File.Copy (System.String src, System.String dest, Boolean overwrite) [0x00000]
at Mono.Tools.Driver.Copy (System.String source, System.String target, Boolean v) [0x00000]
at Mono.Tools.Driver.Install (Boolean check_refs, System.String name, System.String package, System.String gacdir, System.String link_gacdir, System.String libdir, System.String link_libdir) [0x00000]
at Mono.Tools.Driver.Main (System.String[] args) [0x00000]
bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac/usr/lib/mono/gac/Mono.Data.Sqlite
bperry@systems-logica:~/srcs/gbrainy$ sudo gacutil -i /usr/lib/mono/gac/Mono.Data.SqliteClient/

Unhandled Exception: System.IO.FileNotFoundException: /usr/lib/mono/gac/Mono.Data.SqliteClient/ does not exist
File name: "/usr/lib/mono/gac/Mono.Data.SqliteClient/"
at System.IO.File.Copy (System.String src, System.String dest, Boolean overwrite) [0x00000]
at Mono.Tools.Driver.Copy (System.String source, System.String target, Boolean v) [0x00000]
at Mono.Tools.Driver.Install (Boolean check_refs, System.String name, System.String package, System.String gacdir, System.String link_gacdir, System.String libdir, System.String link_libdir) [0x00000]
at Mono.Tools.Driver.Main (System.String[] args) [0x00000]
bperry@systems-logica:~/srcs/gbrainy$ sudo find / | grep Sqlite | grep gac/usr/lib/mono/gac/Mono.Data.Sqlite


I have been doing some basic hacking with F# today. It turns out Microsoft has made F# installable on Linux through Mono, which is absolutely amazing. I hacked up a small GUI program here. F# is a very cool programming language. Here is a breakdown of what the program does:
//This is the equivalent of #include/imports/using
open System
open System.IO
open System.Windows.Forms
open Printf

//Create the forms to be used
let main = new Form()

//Set the program attributes
main.Text <- "Main"
main.Visible <- true

//Start making the GUI for the main window
let menu = main.Menu <- new MainMenu()
let mnuFile = main.Menu.MenuItems.Add("&File")
let mnuAbout = main.Menu.MenuItems.Add("&About")
let mnuFile_Quit = new MenuItem("&Quit")
let mnuAbout_About = new MenuItem("&About")

//Start defining the callbacks and such
mnuFile_Quit.Click.Add(fun _ -> main.Close())
mnuAbout_About.Click.Add(fun _ -> printf "F# is cool!")
let btnOMFG = new Button()
btnOMFG.Dock <- DockStyle.Fill
btnOMFG.Text <- "I CAN HAS CLICK?!"
btnOMFG.Click.Add(fun _ -> main.Close())

do Application.Run(main)

I can't wait to start embedding this stuff into C# and VB, this coupled with LINQ will be equal to pretty much raw power.

Saturday, November 17, 2007

New .NET Language in the works.

This is cool. Like, I can not wait until Mono gets this in the svn repos. Hopefully, it will beat Python in my book. I am not a big fan of Microsoft, but they are good. Personally, if they stopped working on OSes (or at most expanded on their good ones instead of coming out with brand new ones) and focused on research and development, I would really consider having a small crush on Microsoft.

Wednesday, November 14, 2007

Ban smoking everywhere? I think not.

I just received an email from Facebook telling me someone invited me to a group to "Ban Smoking Everywhere". I am royally pissed now. I hate smoking just as much as the next guy, but who are we to just go and ban it _everywhere_? I have been quite pleased with the ban on smoking in restaurants here in DFW. That is more than enough for me. I see absolutely no reason to ban smoking everywhere. It isn't our business to do so.

In other news, I unlocked my new (my bosses old) Nokia today, so I now have a cell phone again. The number is the same (682-560-9975), but all my contacts are gone. Please send me your phone numbers if I have ever called you. If I haven't, you can send me the number, but I might not add you. Danke!

EDIT: Compiling a project with Mono using the 2.0 framework, I get a Mono.Data.SqliteClient.dll not found. I quick grep shows that it is there:

bperry@bperry-desktop:~$ sudo find / | grep Sqlite | grep gac

It is installed in the GAC, so why can't it be found by gmcs?

EDIT II: I don't know what I am going to do about my desktop...I think I need to reload it. libmono-sqlite-2.0 is indeed installed, but while working on the database SQL stuff, the assembly disappeared...literally. It just vanished. Before I can reload though, I need to get a new DVD-ROM drive. That is part of my problem, I opted to go cheap about 2 years ago, and now it is coming back and biting me. Whenever I install _any_ OS, random packages get flubbed.

Monday, November 12, 2007

Another app I would like to write

With the announcement of a project called Ubuntu Home Server (to rival the Microsoft Home Server), I would like to write a family-oriented calendar authoring app, probably in ASP.NET and C#.

Mr. Magorium

Natalie Portman is hot. I will probably go see Mr. Magorium's Wonder Emporium. It comes out the 16th. If you want to go see it with me, tell me.

Sunday, November 11, 2007

Necessity breeds invention

After the Ubuntu DFW meeting, I came home to my dad telling me all the pictures on the computer had been deleted. He told me to recover all the files. So I start doing my thing when I realise that the pictures weren't the only things deleted... almost _everything_ was deleted. I have seen this virus twice while I have been in the shop, the only things that weren't deleted were my dads stuff, who is administrator and passworded. After I told my dad that, he (obviously) got really angry. I grabbed my external drive and took it downstairs to recover all the data. 90407 files were deleted off the computer. They are recovering right now. There is a reason why Linux is so popular and it isn't just because computer geeks want to claim they are 1337 because they run it. That is because this doesn't happen. You don't get virii going on a rampant spree through your computer deleting all your files. Necessity breeds invention, and Linus started writing the Linux kernel in 1991 for a reason. It wasn't because of virii back then. It was just a project for him. Then, as time passed (think mid 90's), virii started becoming a problem. Linux started gaining ground because you didn't have to deal with the fear of getting a virus. The late 90's came along with the I LOVE YOU virus and many, many others that absolutely devastated Windows boxes. Red Hat was king in the Linux world and Linux was booming. They didn't have to worry about all these new virii infecting their computers. More and more companies switch to Linux every year because they realise the amount of money they save not having to pay for anti-virus, anti-spyware, data recovery because of virii, etc... Plus, the OS is FREE. All you Mac users out there that are saying to yourself right now, "My computer does all that. I don't see what the big deal is about Linux". I would you to see you install your Mac OS X on a PC and have it "just work". In fact, I would like to see you legally install it on as many computers as you think should run Mac OS X. I want you to get your Mac OS X free, but legally. I would like to see you upgrade your computer for free to the next version of Mac OS X with a couple clicks of your mouse (I counted 3 for me). I would like to see you have all the free software you could ever want at your fingertips.

End Rant

The applications I want to finish by the end of next year.

I have many ideas for programs, mainly Linux, that I want to finish by the end of next year. A couple are programs that Linux really needs to break out into schools and school districts:

A good local web filter. Most, if not all computer geeks (and a lot of others for that matter) know about the HOSTS file, it is easily edited and deleted, so really, for someone over the age of 5, this is not a good choice. There are a couple web filters out that are hard to install, configure, and maintain while having to go rooting through config files to even get it working. This isn't just for schools, per se, obviously it could be used for in home also. I would like it to be written in C# or VB.

A good grade and attendance suite. Again, there are some grading and attendance programs out there that are not very easy to install. A lot are web based, which I don't think is the way to go (though it does have advantages over locally installed programs). But there are also a lot of problems that I, personally, don't think the advantages make up for. Maybe C++ and Qt if I am feeling adventurous.

Other programs are for businesses. There are _many_ mediocre to good programs out there for businesses (small, medium, or large). Most are open-source and have lost any sparkle they might have had before. The others just don't have any distinguishing features that make them stand out against big-name competitors, such as bad interfaces, customer tracking, etc...

Finish the POS system. I have been working this for a while, but always end up scratching it and starting over. I can't decide if I want to write it in Qt, Gtk#, or WinForms. I think VB is the obvious choice for a language since it is excellent in dealing with XML and such. The database is also one thing that makes me second-guess my self over it. Should I use MySQL? MSSQL? Oracle? There are so many choices that it makes it difficult sometime. I have already gotten the integration with GnuCash down (much like QuickBooks POS and Quicken), it is just XML. I would offer it free to small business ( > 10 employees) with minimal networking. The rest would need to buy registration keys.

There are others, but I have still got them rolling around in my head. They are little half-baked ideas that I would write, put out the source code, and fix bugs when they came. No active development really. If you have anything that you think Linux is really missing, drop me a line.

Maybe it _is_ me

For some reason now, every time I rebuild my SquashFS roots with Reconstructor, I get a symbolic link error. This error results in an iso size of >= 800 MB (when the projected size was like 423 MB). I bit of googling gave me one possible reason. Some guy said that he was getting that error when he installed a new kernel in reconstructor/...but I am not installing any new kernels. I have started fresh from an absolute clean Xubuntu iso and still get this error after fully recreating the reconstructor/ directory. It is truly a bizarre occurence. After watching it do this a couple 20 times or so, I realised it only does this when Reconstructor can't unmount /proc in the chroot. Because of this, I can't sudo rm -rf reconstructor/ because all the /proc files are apparently "in use" because they couldn't be unmounted. I have to reboot in order to rm the directory. Anyway, back to the guy mentioned earlier. He said that removing any new kernels and recreating the reconstructor/ directory fixed his problem. I have yet to find a solution.

So, in between my frustrations of figuring out what is going on, I wrote an autorun app (in a RAR archive for best compression) for the LiveCD in VB.NET for the Windows boxen. I need people to test it out, make sure it runs smoothly. It does require the .NET 2.0 Framework to run, so if you get an error saying something like this:

The application failed to initialize properly (0xc0000135)

that means you need to install the .NET 2.0 Framework. You can get that here. That is something I am working on at the moment, detection and silent installation of the .NET Framework if it isn't found on the host machine. While I was writing the little app (it really is little and easy, mostly Try/Catches of System.Diagnostics.Process.Start()), I did find a neat piece of code. This is one of my subroutines for a Link Label:

Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
Dim psi As New Diagnostics.ProcessStartInfo()
psi.UseShellExecute = True
psi.FileName = ""
Catch ex As Exception
System.Diagnostics.Process.Start("IEXPLORE.EXE", "")
End Try
End Sub

Pretty neat way to open a web site in the default browser rather than forcing it to use Internet Explorer like I do if the Try fails and goes into the Catch.

That is enough geeking for me today, I guess. Hopefully I will figure out what is causing my SquashFS symbolic link error so I can get some real work done (though the autorun app was definitely on my TODO list).

Also, Sunday at 3:00, we are having an Ubuntu DFW Team meeting at Java and Cha in Plano. It is a small group meeting really, I am not expecting more than a few 3-5 guys to show besides myself. We are going to talk about some points and ideas that Christer Edwards talked to me about Thursday night. If you would like to stop by and see what we are about, feel free, though if you are reading this, you are probably at least an hour away like I am and don't feel like making a trip like that. If you do want to go, it is really easy to get there. Take 157 (Collins) North to 183. Take a right on 183 to 161. 161 turns into the tollway, so bring a TollTag or some cash. Take 161 north to Coit. Exit Coit, take a left for about 1-2 miles and Java and Cha will be on the right next to a movie theatre.

Saturday, November 10, 2007

Now I know

I figured out why my computer kept freezing up on me earlier this week. It took a couple reloads and trying to install GFX drivers to realise my GFX card is going out. It is about 2 years old (6600 GT) so I guess it is time for a new one. I think I might also get another gig of RAM when I get the GFX card today. I really just need a new computer, one with at least a dual-core processor, 2 gigs of RAM, and possibly either a 7800 or 8600, depending on price and memory. Actually, I will be busy today, it might have to wait till tomorrow...

Friday, November 9, 2007

Those darn pirates

I was having to reinstall Windows on a custom build box today when I realised that the computer didn't have a Windows key on the side panel anywhere. I called the lady up and she said her brother put the computer together for her (he installed both Mandriva and XP for her, a dead giveaway that the Windows was bootlegged). She said she would have to call him and get the key. She called back about 10 minutes later with the key. She started to say the key and I automatically knew that the key wasn't legit. I still wrote the key down just to say I did and as soon as we hung up, I googled the first 10 characters and sure enough, like 100 sites popped up with the same key without even going past the first ten characters. After that, I decided I would call the lady back in about twenty minutes and say the key wasn't working. When I was done googling, I went to work on another machine that would just freeze up randomly (it had about 450 virii, didn't get a chance to check for spyware). I noticed that the key they had on the side of their HP was for home, but they were running pro. So, I checked the properties on the computer and saw that the computer was still on service pack 0. That is also a dead giveaway the windows is pirated. I grabbed our key finder cd and stuck it in the computer while in Safe Mode and checked the key just for gits and shiggles. It was the same key the lady had read to me 10 minutes earlier. I lawled. I guess that just shows how prevalent Windows piracy is.

Thursday, November 8, 2007

Resizing Partitions

I haven't posted anything in a while, so I figured I would post something while I was waiting for 5:00 to come. Guess what, it is on resizing NTFS and FAT partitions.

This is something I have to do on a regular basis in the shop. I use GParted, the GNOME Partition Editor. You can either use the Ubuntu LiveCD or the GParted LiveCD (GParted LiveCD is easiest IMHO if that is all you are doing). I created a custom LiveCD that does a lot more than both the CD's put together, but that doesn't really matter right now. What matters is how to prep the windows box before resizing the partition. What you should do first before anything else is clean up the drive, remove any data that doesn't need to be there. I recommend CCleaner for that. That makes the defrag go a lot smoother since there isn't unused data all over the place. After all that data is gone, defrag the computer. Again, I would not recommend using the built in windows defragger, use Auslogics Disk Defragger. That pushes all the data to the front of the partition so that data loss isn't a big deal. All these tools can be found in as long as some other nifty ones such as registry cleaners and registry compacters.


Sunday, November 4, 2007

New Ubuntu DFW Site

Since Canonical can't seem to get our site fixed, the Ubuntu DFW LoCo team has taken it upon themselves to get a new site. Since I am the team leader and since I have some pretty rocking hosting, I figured I would hook us up. Our site is now If you run Ubuntu and live in the DFW area, feel free to join and hang out.

EDIT: We are now working on getting the

Where I think spam is going

From email to telemarketers and with the advancements in CallerID and programs like spamassassin, the spammers are fighting a losing war right now. But with the ever rising popularity of IMing with things like MSN, AOL, Yahoo, etc..., I really think within the next couple of years, we will find spammers using these mediums as a new way to spam. It would be just like telemarketing or email spamming from the spammer's sense. They could require you to supply a screen name instead of an email address and they would sell said screen name the same way they would sell your email. The "beauty" in this is there is absolutely no antispam for IM, the spammers would bank for at least a couple of years until some really solid antispam comes out. And then the antispam in question would need to be able to cover all the various protocols such as oscar, MSN, Yahoo, etc which would be a complete nightmare from a developer's standpoint (especially with MSN and Yahoo). Now you can block people on most, if not all protocols, but a spammer would be able to create as many accounts as he wanted as long as the screen name isn't taken. That reminds me of another thing I could see happening to th IM world, screen name parking. It would work the same way domain parking would work, except it doesn't cost any money from the parker's pockets. It is pure profit.

Saturday, November 3, 2007

I need a new cell phone

Ok guys, I am looking for a new cell phone. I don't want to spend more than a hundred dollars because I will only have it for a couple months at the most. I don't need an mp3 player or any PDA features, just a phone (bluetooth is ok). If you are selling one, I would like to see it. If you have a suggestion, I would love to hear it (maybe craigslist or ebay links?). Thanks!

64-bit stupidity

So, while compiling bkhive, samdump2, clamav, and some other things on the live cd, I realised as I was compiling the last thing that I was using a 64-bit OS. The live cd is 32-bit, so I was compiling all this stuff for a 32-bit on a 64-bit computer. Not good. I am not a happy camper right now.

Friday, November 2, 2007

GNOME 2.20 on Ubuntu Feisty

So, the only reason I wanted to upgraded to Gutsy was because I didn't feel like compiling GNOME 2.20 and Gutsy came with it pre-installed. Tonight, I folded and decided to compile GNOME since I really wasn't impressed with Gutsy. I already have a lot of devel packages installed on my system, so I am sure these are not the only packages you need (like libglib2.0-dev, libgkt2.0-dev, build-essential). I downloaded GARNOME from and unpacked it to my desktop. cd to the garnome/desktop folder in the folder you just unpacked. If you have all the dependencies, make paranoid-install should work right out of the box, but for me I had to get the following packages:

sudo apt-get install libglitz1-dev libglitz-glx-dev libtiff4-dev python2.5-dev flex libgdbm-dev libxml-simple-perl libmagick++9-dev

Anyway, this week sometime Christer Edwards from the Utah LoCo group will be coming down to teach some classes and would like to get some dinner with me and a couple more of the guys in the DFW group. Hopefully, this will be Thursday.

Gentoo has taken about 3 days to compile so far, though I have messed up a lot. Once I get a working copy for a LiveCD, I will test it out and see how it performs against my Ubuntu ones. If the change isn't significant enough to spend more time on it, I will just drop it and use Ubuntu. So far, it is looking as if it will beat Ubuntu, but I can't say for sure, yet. I want to build a 64-bit and 32-bit version of each just to be thorough. I will try to have a solid beta of both Home and Pro uploaded by the end of the weekend (probably Ubuntu). I keep saying that to myself whenever I get free time ("yeah, lemme just upload this no...wait, what if I did this...") and I end up starting a lot of work on it that really isn't needed. It is a bad habit, but maybe I can get myself out of it.

I received my openSUSE 10.3 box this week and am absolutely thrilled. I can't wait to get it loaded in a VM to test it before I put it on a working computer. I am sure it will exceed my expectations, but I am just being paranoid.

Right now, I need to get out of the house, maybe I can convince Richard to go to Starbucks after his Calculus test...

Wednesday, October 31, 2007

Got some work cut out.

I need to come up with some magical math equation that draws this shape. Yeah. Or something similar. I will be drawing it with Cairo (Jordi Mas asked me to try and write a similar puzzle to that one, which is why I need that shape). Considering I dropped trig halfway through the year, I don't think I am quite the guy for the job, but I will see what I can do. I also started doing some testing with Gentoo and creating a LiveCD with that (I really like it since it is a lot more flexible than Ubuntu). It is uber fast too, though quite a bit more work to get it there. It is fun though! I also started working on a Queue plugin for Banshee (crossfading is next ;-)). Personally, those two things are really keeping Banshee from opening a complete can of whoop-ass on any and all music players.

Happy Halloween!

I almost did it

Every morning, before I shower, but after I eat, I read my RSS feeds. Beth Massi is one of the blogs I read. She is a VB coder for MS and is quite the smart person. She deals very heavily with XML (as VB is the best IMHO for XML parsing and such). Here was what I woke up to:

Tuesday, October 30, 2007

I can't wait

I can't wait until technology allows me to grep my house for things I have misplaced. The basic layout of my house would be exactly as the Linux filesystem. / (root) would be the whole property (front yard, backyard, shed, house, etc...), then you would have /frontyard, /backyard (if the shed is in the backyard, /backyard/shed), /house, etc... This would make it extremely easy to search for things. If I know my favorite pair of boxers is in my room somewhere, I would perform a ls /house/upstairs/master_bedroom | grep fav_boxers. If I don't know where my keys are, just ls / | grep keys. Obviously, for security reasons, it would run OpenBSD since it has had only 2 security vulnerabilities in 10 years.

My "schedule"

M W 10:00-10:50 AM -- CSE 1310
M 7:00 - 9:50 PM -- CSE 1310
M W 4:00 - 4:50 PM -- CSE 1104
W 7:00 - 8:50 PM -- CSE 1105
M W F 8:00 - 8:50 AM -- MATH 1302
M W F 9:00 - 9:50 AM -- ENGL 1302

It may change at registration, but that is what the advisor set up for me.

I can take it

Personally, I say bring it on.

Monday, October 29, 2007

In the mean time...

So, tomorrow I have an appointment with a Comp Sci professor/advisor about my schedule for next semester. Since I am not undeclared, apparently I meet with whichever professor is present at the time the lady at the front desk tells you. Right now, I am declared as a Software Engineering major and I don't see that changing unless something happens in my head that makes me hate computers. Have you ever seen the movie Antitrust? If you have, do you remember the scene in the coffee shop when Milo asked the chick if someone ever just hands her code and she says maybe once, but she reconfigured it anyway? That is what I do. I try to look at the code of the programs I use most just so I know what is going on under the hood (that was how I found the rather severe Gaim bug (BOF) about a year and a half ago back).
I am compulsive, I know it, and I enjoy every minute of it. I love learning how things work (code isn't the only thing I take apart, clocks, radios, blenders, hair dryers, anything with gears really). I am sure whoever my wife will be will eventually leave me because I will take her hair dryer apart, forget to turn down the variable resistor down (yeah, they still make hair dryers with those) and burns half the hair on the left side of her head.

Anyway, in the mean time, watch this.

Saturday, October 27, 2007


Yes, harumph. You know why? Stubbs the Zombie keeps freezing. I guess this is someone telling me I need to get to work.

Friday, October 26, 2007

Antitrust Rocks

If you can get past the cheesiness of the movie Antitrust (you probably wouldn't notice it if weren't a computer geek), you should love the movie, too. Every time I watch it, I feel like calling in sick for a week, moving my bed and computer to the garage, and going on a coding spree. Then, I can get a really hot girlfriend like Rachel Leigh Cook or Claire Forlani. It is instinctual really, IMHO. If you don't get that feeling, you either aren't a human, or a programmer.

So far, not impressed

I installed Gutsy on my Dell Inspiron 1501 last night. I can tell you right now I am not impressed. At all. Some aspects have been great, such as the fwcutter package for my wifi card. But they have been far and few between. I find that when playing music on it, the music will pause and jump while the computer is idle. This thing has 2 gigs of DDR2 RAM and a dual core processor, the OS in question should be flying. But no, it is very sluggish. When loading a page in Firefox, my computer will literally freeze, my music will stop playing, and everything just stops until the page loads. That is even with all my little tweaks and optimizations. I have been running Ubuntu since 4.10 and have never had this much trouble (I have even gone through Slackware 9 and had less trouble). Now, in the Ubuntu dev's defense, I have gone through a couple machines since 4.10 and this is a relatively new laptop (only about 6 months old).

Another thing I really am not enjoying at all is the heavy GNOME environment. On openSUSE 10.3, it is great. Quite the speedy little thing. Since both are using GNOME 2.20, I really don't see a reason for my desktop to be this slow (it takes about 2 seconds for the Applications drop down menu to initialize).

This is a personal preference, I know, but I don't understand why Gutsy ships with Compiz installed by default. I really do hate all the eye candy stuff (except the cube, that is probably the most efficient desktop feature I have ever used), but all the wobbly windows, flame and water effects, etc... is just too much. I am highly considering downgrading tonight back to 7.04 (possibly side grade to openSUSE 10.3 which is on my desktop ATM and rocks).

BTW, thanks G-Mez for the link to the Lifehacker RSS feed.

EDIT: I will leave Gutsy on for another week or so just to let the updates come in and if it isn't improving, I will side/downgrade...

Thursday, October 25, 2007

Lack of RSS frustrates me...

Why don't Lifehacker or Toothpaste For Dinner have RSS feeds? In my perfect world, every website I am interested in would have RSS or ATOM so I never have to open up firefox except for when I want to google something or someone sends me a link. I use evolution to get all my mail and I use liferea to get all the planets I read as well as XKCD, Dinosaur comics, Questionable Content, Woot, Slashdot, GNOME files,, some ebay accounts, and others... Lifehacker and TFD seem to be the only ones I read that don't have RSS. In fact, Lifehacker is owned by Gawker, who also owns Gizmodo and they have RSS. Wtf?

I love cats (not the animal)

Personally, I think one of the most useful tools in linux is cat (it is short for conCATenate). I use it for all sorts of things like sending text files through a pipe (stdin) to other tools such as sed. In fact, that is how I usually upgrade my system:

cat /etc/apt/sources.list | sed -e s/feisty/gutsy/g | sudo tee /etc/apt/sources.list ; sudo apt-get update ; sudo apt-get dist-upgrade

That sends the text file sources.list to sed (stream editor), replaces all instances of feisty with gutsy, and sends the end result to tee which writes the end text to the new sources.list. It then updates apt and upgrades my system accordingly. The reason I like this is because I can ssh into my box remotely and upgrade my system without the need of a GUI (I know there is ssh -X, but it can be dead slow over a bad connection).

Other good uses of cat are joining multiple files together (in conjunction with tar and split, you can do some pretty powerful stuff with backing up your data). Let's say you have a couple different PDF's that you would like to join into one, you would do something like this:

cat pdf1.pdf pdf2.pdf pdf3,pdf > new_pdf.pdf

Now you have all your PDF's in one handy one. This also works if you have a movie that is broken up into parts such as Stephen King's The Stand:

cat The\ Plague.avi The\ Dreams.avi The\ Betrayal.avi The\ Stand.avi > Stephen\ King\'s\ The\ Stand.avi

The result is a nice 2.7 gig file that has all the parts in it.

Ok, so putting files together is really useful, but what about taking them apart? split can help us. Let's say you backup your system to a tarball every week and the resulting tarball is several gigs and all you have is a CD burner. How do you get those backups back to your computer quickly using CD's?

split -b 650m backups.tar.gz

That breaks up your backups tarball into x amount of 650MB files (they are named by default aa, ab, ac, ad, etc...) that can be put together with cat after being transferred to your host machine.

Wednesday, October 24, 2007

What will I do?

What am I doing on Halloween? The past couple years, I just handed out candy which I really don't want to do this year. What will I be? I could start working on my costume if I knew what I was going to be (I would like to be Stephen Colbert, but chances are that won't work out).

%: sh | grep good_idea > ~/good_ideas.txt

Monday, October 22, 2007

Wasting time between builds

I hate waiting for my SquashFS roots to finish building (on my dual core laptop, it can take anywhere from 3 1/2 - 5 minutes, on my single core desktop, it takes 12-15 minutes). Usually, I work on my laptop since I hate staying in one place for more than a couple hours and most of my free time is spent doing some kind of work on my laptop. Most of you probably think I have the most boring life of all, go to work and work on computers, then come home and work on computers (though I do hardware at work and mainly software at home). I need to find something worth doing in the times mentioned above that could make me a teeny bit productive. You can't really start looking at any code, that can consume many hours before you realise how much time has gone by. I guess I could start organising the music in my Misc folder, all 6 gigs of it...

BTW, I wrote this while a SquashFS root was building. If you have any suggestions, I will gladly listen to them.

I need a new system...

I have so many projects/hobbies on my plate now, I need to specify a certain day to work on such and such codebase, rebuild and work on such and such ISO, etc... Now, with gbrainy, banshee, the LiveCDs, the POS System, and some various other just test programs, I find myself switching to one arbitrarily in the middle of another and forgetting where I was at when I go back to what I was doing before and starting over or really screwing up some code I had written. I think I will do that tonight in the hotel, or maybe on the 9 hour flight back to Atlanta tomorrow ;-). Maybe not whole days dedicated to one project (though that would work best with big ones like the LiveCD), but say, until 7:00 PM on Monday, work on gbrainy, until 10:00, work on banshee, then a cup of tea and bed. That sounds nice. I guess this is what it is like to be an adult :-(...

Sunday, October 21, 2007

MENSA Approved

MENSA is supposed to be a society of geniuses, right? You would have thought they would have thought about creating a sort of MENSA certification for OTC and OTS things like food, clothes, medication, etc... Seriously, when they give the approval/certification, the maker of said item could then put on the box the following:

MENSA Approved! If you were smart, you would use them too.

Then, in return for the certification/approval, the maker of said item could donate x percent of the sales per quarter. Obviously, MENSA would have to watch what they approve and only approve one item from each category (1 bottle of shampoo, 1 pair of jeans, etc...) just to keep the competition up (you know, give the cert/approval to the highest bidder). Personally, I think this would be a great idea.

WARNING: The use of generics and stereotypes here are strictly so no one gets their feelings hurt.

Why do I think this? The average person believes they are not average and are smarter than the average person. They would think, Hey! I am smart! and would be more inclined to buy that product because A) It stood out in their mind and B) It insults all those people that aren't as "smart" as them. I know that is a long shot, but I feel comfortable saying I think it would work just as well (if not better) as the current things they put on products (100% Pure!, Makes your hair shiner better than the rest!, Not tested on animals!) because it would be something new. Now, I don't know how many people in the general public actually know what MENSA is and that could certainly put a damper on this idea if the percentage is quite low, but I think it would be a nice experiment.

Friday, October 19, 2007

To read or not to read?

One of my favorite blogs to read is Richard Burridge's Blog.

His posts are always very interesting and never boring (to me). Today, he posted a link to a quiz that told what kind of reader you are. This is me:

What Kind of Reader Are You?
Your Result: Literate Good Citizen

You read to inform or entertain yourself, but you're not nerdy about it. You've read most major classics (in school) and you have a favorite genre or two.

Looks like I am the same as Mr. Burridge...

Maybe, someday...

Obviously, the above image isn't real, but I couldn't help thinking that when I saw the giant poster. I have been without internet for about 3 days now-ish, but have gotten a lot of good work done. So far, I have been able to keep my "at least one beer a day" pact pretty well, though when I did miss a day, I made up for the next ;-).

Anyway, Richard says I need to try a black and tan (I think), but I haven't had a chance to order it, just regular beers. I have seen some very cool castles and am in Switzerland right now. We weren't expecting them to not take Euros, so we had to get some Swiss Francs...100 SFC is about 85 dollars USD. Today was quite interesting (well, the past couple days, but I will save you on the details). I walked in to this place called Data Quest, hoping to get a new WLAN card (I will later find out I don't need a new one). As soon as I walk in, I realise this place is a Mac retailer. So, I just brush that off and continue to look for a WLAN card that looks like it might be supported by Linux. I walk up to the girl behind the counter and ask if she speaks English and she does, so that makes it easier for me. I ask her if she has any WLAN cards for a laptop and she walks over to a display and starts talking about Macbooks and Macbook Pros, so I stop her and tell her I need one for a real laptop. She kind of looks at me for a second and goes on with the Macbooks. I stop her again and say I don't run Mac OS X, I run something else and that I just need a basic WLAN card. She starts talking about how Windows is such an inferior OS and how I should really look into getting a Macbook because they "just work" (the reason I was in the store was because Linux "just worked"). I say, that's ok, I run a real OS. She laughs, says that Windows isn't a real OS, starts talking about viruses, spyware, etc... I tell her I whole-heartedly agree and that is why I don't run Windows. She becomes very quiet as does the rest of the 4-5 people in there. Apparently they had been listening in on the whole conversation. Well, what else can you run, she asked. I say I run Linux and I walk out of the store. Owned. The reason I was in there was because my onboard WLAN card had gone out (or so I thought). On my laptop, if I press the FN+F2 keys in Windows, it turns my wifi card off and that never worked in Linux. While I was on the train to Switzerland, I was playing around with the FN+F? keys because in 6.06, most of them didn't work. I noticed that a lot of them did work now in 7.04. I didn't know the WiFi one worked too, so I unknowingly turned off my WiFi card. After I realised what I did (after I bought the new WiFi card), I turned it back on and it "just worked".

Ubuntu 7.10 was released while I was without internets, so I hope that went nicely. I am hoping to upgrade as soon as I get home and get over the jet lag.

In Switzerland, they speak half-french, half-german, so between that, and my bad german, I understand maybe 20% of what people here say.

Saturday, October 13, 2007

New Puzzle MathMissingNo.cs

I just finished up my second puzzle, this is turning out to be quite the productive day... This puzzle gives you one number, the operator, and the total, and you must figure out what the missing number is. It is a much more difficult variation of the MathOperator.cs puzzle as that was you have two numbers and a total and you figure out what the operator is...


Everytime ;-)

Everytime I come here, it is in German. :-)

I am in Rothenburg right now (took a train from Hannover, definitely the best part of the trip so far...not the train, being in Hannover...anyway, train from Hannover to Steinach, transferred to another train to here this morning). Personally, I am not impressed. The town is very fake (think Disney World meets old German town, pinnochio-esque). I decided to rest a bit while my grandparents took a tour of the church here, catch up on some email, blogs, and other stuff. Last night, I patched up the English and Galego translations for gbrainy, wrote a small math puzzle for gbrainy, and emailed them to Jordi Mas. The puzzle took a good bit of last night and the train ride today (it gives you two numbers and a total, the user decides which operator makes the two numbers equal the total...not too difficult, but a good warmup) and the translations only took about 15-20 minutes. One problem with the puzzle is the inaccuracy when it comes to floating-point numbers. Division is the only one that has this problem, but the int -> float -> int conversions wreaked havoc on the total variable and if statements determining the correct answer, so floating-points were taken out for now (anything and everything with a decimal gets rounded to the closest whole). Who knew math was fun! Anyway, back to the trip...

Hannover and Bierbergen were absolutely amazing. They are probably the most peaceful towns I have ever been in. The inn-keeper in Hannover was so friendly and nice, he didn't know very much English (most of the places we have stayed were very limited in language), but between me and my grandpa, we figure things out pretty well. We took a train -> bus -> bus to Bierbergen to see where grandma's great great great grandpa came from. She left her folder with all the her family info on one of the buses, so we got there with nothing to go on. When we got off the second bus in Bierbergen, the town looked deserted, but a lady came around the corner pushing her baby stroller about a minute after the bus took off. Grandma stopped her and luckily she spoke some English (actually, better than what we were expecting). Grandma explained who we were and what we were doing when the lady said "Oh yes! Please, come with me!". She started pointing out houses saying "Lege there...und there...Lege...Lege..." and it turns out she is also a Lege (my grandma's surname). It is pronounced Leeguh in German, not Leggy, like we say it. The town is full of Leges and there are many in the cemetery (the town is tiny, you can walk the whole thing in a couple hours max and everyone seems to know each other). The lady (Jana) invited us to her house and showed us the phone book with half a page of Leges. Jana called the pastor of the local church (the church was built in 1770-ish) and he came over and talked with us, gave us his address so we can mail him the information and he can look the info up in the church records. Then, we were going to go back to Hannover, but we missed our bus, so we had to wait for the next one which took a different route than the previous one. Overall, we got to see parts of Germany most people (even the natives) don't get to see (most didn't even know what/where Bierbergen was).

Wednesday, October 10, 2007

Business Post Stuff

Just a pic of vesamenu.c32...I need to work on the color scheme a bit, I know. I won't show a picture of the desktop yet, but it rocks. I created icons for all the functionality you need for IT and SysAdmin stuff (virus scans, mounting, data recovery, etc...), eliminating some of the menus from the boot screen.

Day 1 in Germany - Dusseldorf

First day in Germany was spectacular. Mein deutsche ist nicht gut, aber ich habe fein bis jetzt getan (that was probably horrible). We are in downtown Dusseldorf right now, in a small hotel. We really just walked around and explored today after the 9 hour flight from Atlanta to Dusseldorf while we waited for our room to become available. The people here are really nice, but I still try and not let them know I am American until I have to. Most of the shops I have gone into, I have been able to at least not sound American, though I know my accent is horrible. It is 9.05PM here now, 2.05PM CST. The Euros are much easier to use than American currency IMHO, the coins actually mean something here, but I am afraid that the Traveler's Cheques I got pretty much suck. It took me 10 minutes to get them exchanged for Euros because of all the paperwork. I will just use my Visa from now on at ATMs (as long as it isn't too expensive). BTW, 50$ USD converted to $30,98 EU with the exchange rate (and I am sure with some tax taken out), but not bad. Every time I google something, it pops up at Which, the internet in this hotel sucks, absolutely the worst "high-speed" I have ever used. It took me 20 minutes to upload six 3 MB pictures. And for some reason, when I am doing high FIFO stuff (remastering ISOs mostly), my internet slows to an absolute crawl, nothing loads.

Gute Nacht!

Saturday, October 6, 2007

Automagic NTFS-3g mounting?

I dunno if this would work... I need a computer to test it on...

fstype=$(get_fstype "${devname}")
if is_supported_fs ${fstype}; then
if "${fstype}" = "ntfs"
mount -t ${fstype} -o ro "${devname}" $mountpoint || continue
if is_casper_path $mountpoint; then
echo $mountpoint
return 0
umount $mountpoint

Friday, October 5, 2007

LiveCD updates

Got vesamenu.c32 working (it appears the crashing I was experiencing in QEMU is more a bug in QEMU than in my programming). It definitely looks better than the regular menu.c32 as you don't need to reduce the quality of the background image to 256 colors. It also has a lot more features that I will play around with tonight (shadows and stuff). I am finally realising how slow my desktop really is with all this remastering I am doing. It takes 12 minutes to just build the damn squashfs, then it has to update all the md5sums (not horribly slow, but slower than my lappy, which has 2 GB RAM), then it has to rebuild the ISO, which takes about a minute and a half. Really, the building of the squashfs is what is killing my productivity. I hate just sitting around waiting for something to finish.

BTW, to fix the QEMU bug (well, not fix), I just installed VirtualBox which is like VMware, but free and has an open-source version. I setup a virtual machine in it with no HD, just the CDROM and use that to test the ISOs now.

Bug Reports

openSUSE 10.3 is great. I love it. But it sad when Windows beats it at it's own game. What am I talking about you say? It is a known fact that the Windows crash utility in inherently worse than anything *nux has ever had....but this makes me wonder.

Your application has crashed. Information about the crash has been successfully collected.

However we are working on GNOME debug server to handle correctly this information.

Some news

As you may or may not have read, I have been elected as the DFW LoCo (Local Community) Team Leader for Ubuntu (kind of weird since I run openSUSE mainly). Anyway, I am really looking forward to getting down and dirty with other Texas teams such as Houston as soon as I get back in the country. I am planning on doing a lot of work over my vacation (yes, I plan on working, I love what I do!), espcially on the 22 hour flights to Germany and back. I am bringing my laptop with me, so when I have access to internet (Starbucks anyone?), I will be on AIM, IRC, and check my mail. I still need to get one of those nifty 110 > 220 V converters, I bought the complete opposite thing today at Fry's (220>110V), but it was only 15 bucks.

Geoff is coming down this weekend (tomorrow, I believe) and we are gonna party hardy at the Coffee Haus on Mesquite behind UTA Saturday night (if my memory serves me, they close at 12 on Saturday) and we will probably have a small Armagetron LAN there while listening top music, sipping on tea and coffee, and eating some delicious sammiches.

It is a bit late, but openSUSE 10.3 came out yesterday! I installed RC1 on my desktop on the third to beat the rush of people on the fourth, and my plan seemed to have worked, I only had to get a few updates, 'tis a sexy beast. A few quirks have been bugging me lately (like unable to connect to X server through sudo, you have to su yourself, then type whatever you want in), but YaST/zypper have improved dramatically. Zypper is almost as fast as apt, now we just need to work on the lack of repos/packages for SUSE.

I don't know when my next blog post will be, but if I don't see you later, good afternoon, good evening, and goodnight! (10 points to whoever tells me what movie that is!)

Wednesday, October 3, 2007

Almost done!

Almost done!

Tuesday, October 2, 2007

Hi, I'm a Mac (douche)!

Trent brought up a really good point today while /me was talking with him on AIM. All Macs are PC's, but not all PC's are Macs. So these "I'm a Mac, I'm a PC" commercials are complete bull. PC stands for Personal Computer. If you use your Mac to visit sites such as Facebook, MySpace, Digg, etc... You are using it for personal reasons, making it a personal computer. I can see the reasoning behind Apple wanting to separate themselves like that, trying to make a distinguishable line between real computers and Macs (the fact that Macs suck seems to not be enough of a distinction), maybe it is just me, but it makes me hate Apple even more. Personally, I think that they are headed down the same road as MS is. (BTW, Macs get viruses, for all you mac people who think they don't.)

Me and Geoff decided that most people who need a tool like Clonezilla, probably already have something that they are used to and know how to use quite well. That being said, I took Clonezilla off the LiveCD (brought the ISO down to 340 MB w00t!). Just bugfixes today, working on the menus mainly, trying to decide whether I should use vesamenu.c32 or just menu.c32. vesamenu.c32 opens up a lot more options, but then again, more options means more possible bugs. Will discuss with Geoff later.

Monday, October 1, 2007

Just an update

Got the "Start A Virus Scan" menu working _properly_. It mounts either /dev/hda1 (ide) or /dev/sda1 (sata) with ntfs-3g, so if you know the partition you will be scanning is either A) not NTFS, B) not s/hda1, or C) both, you should also know how to start the clamscan (the antivirus) from the default system, but I know in the shop, 90% of the computers I repair fall under the "Start A Virus Scan" category (though some are becoming more prevalent with repair partitions as the first partition, but they are FAT32, so mounting them will fail and no damage can be done...yet). I might just have to make a couple preseeds and a separate menu for the various types of virus scans (FAT32/IDE, NTFS/IDE, FAT32/SATA (I have never seen this), NTFS/SATA) then when they select which one, they will choose which partition to scan (that might even be an advanced menu). Rock on!


I am having troubles with Clonezilla (and maybe chntpw). With Clonezilla, for some reason, I get an unknown stanza error in the /etc/event.d/tty* (this causes the image to not boot right, for those not technically savvy). After a bit of chrooting, I found that there is no /etc/event.d/ folder, thus there is no /etc/event.d/tty*. I went ahead and created the folder event.d and added the scripts for tty1-6 (usually, just adding stuff into folders like this is a bad no-no and can severely break stuff), but it didn't actually do anything. No problem was fixed, but no problems were created either. So I am still at a stand still. I have added all the features I will (a feature-lock, if you will), so all development is 100% bugfixes now (yay!). The reason I say I might be having problems with chntpw is when I burned the test disk for my boss, we tried to boot it up in one of the machines and remove the password for an Admin account. Well, it hung at "loading kernel" (it works fine in QEMU, which really doesn't make sense to me, but maybe I am missing something). That was the first and only machine I have tested it in, so I am not too worried right now. I have the XP Recovery Console listed as a feature, though it is completely broken. Hopefully, I will have it working by the end of the week. Anyway, yesterday, I brought the Ubuntu LiveCD down to 300 MB which leaves 400 MB for tools and such, and with what I have now, the total ISO size is 448 MB, so small enough to fit on a 512 thumbdrive with room to grow. Otherwise, good, productive weekend.

Sunday, September 30, 2007

Just a screenie

I ♣ baby seals.

Today, I did a complete overhaul on the CCoA LiveCD. I completely redid the main Ubuntu ISO (brought it down to 300 MB) and installed just ClamAV, ntfs-3g, and ntfsprogs. I also added Clonezilla, DBAN, and GParted support. I would really like to add the WinXP Recovery Console, but that one is being a real bugger. I also grabbed the chntpw floppy image and Hitachi Drive Fitness Test floppy image (there is already a memory tester, but what would be really nice is a full-fledged system diagnostics tool) and have menu entries for those in the main menu. This is turning out to be quite the full-featured CD, and all on free software, too! (well, mostly) I figure by the end of my Germany trip, I should be able to have a release worth being publicized. Geoff and I have other plans for these CD's, but that is another blog post (if they work out). I think once I finish this post, I will take a nap...

UPDATE: With Clonezilla, DBAN, and all the floppy images, the resulting ISO is 440 MB. Small enough to fit on a 512 thumb drive and with room to grow. Rock!

Saturday, September 29, 2007

Finally, a music store for Linux...Sorta

The music store sells DRM-less mp3's. Check it out.

Friday, September 28, 2007

It just doesn't work...

We are growing daisies. Does this mean

A) We are literally daisies that are growing.
B) We have a garden in the back full of daisies.

Chances are it is the latter. One of the most common complaints from customers in the shop about their computer is "it just doesn't work". This leaves (usually) me to figure out what they mean and I usually do a pretty good job, but every once in a while, we get a call back saying "my email is still broken!" or "hey, my home page still isn't right!". Here is how these conversations usually go:

"What is the problem with your computer?"
"It just doesn't work..."
"...Ok...Well, is it running slow? Are you getting popups?"
"I...I don't know, it just isn't working..."
"Hrm, alright..."

A week later, I answer the phone:

"Computer Care"
"Yes, I had my computer in about a week ago to get my email fixed and it is still broken."
"Ok, what is your name and I can pull up your ticket..."
"Jane Doe"
"Um, you didn't say anything about your email when you dropped off..."
"Yes I did! I said it just wasn't working! I am not pleased with the service I got..."
"......You are right, I am very sorry, let's see what we can help you with."

This probably happens 1-2 a month, maybe 3 in an off month. It seriously pisses me off. Some of the other common drop off problems are "it won't get on the internet" (the computer doesn't come on), "it won't come on" (windows freezes), "my email doesn't work" (the computer doesn't come one), "there is a blue screen when it starts up and it won't go away" (I can understand this one, the computer got shutdown improperly and is now chkdsking itself on boot and this takes a long time)

In other news, I got isolinux.cfg to boot to the Hitachi Drive Fitness Test program using memdisk kernel (fat/dos emulator), to the Eurosoft PC check (again, using the memdisk kernel) and am working on getting QuickTech. I will work on some new artwork for the CCoA boot CD to make it a bit prettier. Some new screenies will come Sunday for those who care.

Thursday, September 27, 2007

More thoughts...

I use a plugin in Banshee called Mirage ( It "listens" to all my music and creates playlists based on similar tracks (it keeps all the data in a database). I have not written any code for the project, but I am trying to get my hands dirty for 0.2 (help get gstreamer as the backend and such).

A Couple Ideas

I have had a couple ideas bouncing around in my head for a while now (a couple projects that I might start on the 19 hour flight to Germany). One of them is a search-engine-type website for music. How it would work is like this: let's say you have an mp3 of a song that has no metadata and no title, you have no idea what song it is, who wrote it, what album it was on, but you really like and would like to hear more from that artist. You would upload the song to the website and, in turn, the website would "listen" to the song and compare the song to the data it has in it's database. If it finds a match, it renames the mp3 in a "track title - artist.mp3" format and write all the metadata the database has on it to the file so music players such as Banshee or WMP will read the metadata and load it up all nice and pretty like. The site would also be able to give recommendations of similar bands, offer cover art (maybe). If you would like to help the site, you would upload the song and when the site says "I am sorry, but no music in our database matches the song you uploaded.", you would click the button that says I know what song it is and the artist and enter that and the website would get the rest of the metadata. Thoughts? It would probably be built on libgstreamer0.10 (good, bad, and ugly) so pretty much any filetype would be supported. If you did know the band, or the name of the song, or album, you would be able to select an option before uploading that would help speed up the search and rule out similar songs.

Another is a web-based customer/job tracking frontend to a MySQL database for POS systems so customers enter their customer ID's and view the status of their job. Not a difficult project, maybe a weekend or two if I find the time.

Wednesday, September 26, 2007

openSuSE 10.3 pre-order

I pre-ordered openSuSE 10.3 today (tonight). The total package was 59.99, which with as much software as you get (plus 90 days of free support that I probably won't use), that is a heck of a deal. In fact, it is a much better deal than buying a license for windows at 199 dollars a pop (109 for OEM and 99 for upgrade). I am also torrenting the Foresight Linux LiveCD. It looks pretty nifty (you get to play around with the new GNOME 2.20 without worrying about your system).

In other news, I did some work on Secubuntu today while at work, writing some shell scripts to make it a bit more user friendly for my boss (I made a super_scan script that mounts the drive, gets all the updates for the antivirus, and scans the drive with all three antivirus programs (ClamAV, F-Prot, avast!) one after another and dumps full logs into the root of the windows drive, and when I say full, I mean I pipe the AV through tee and spit the output into the text files instead of the somewhat quiet logs they give out). That super_scan script takes ~6-9 hours depending on the speed of the computer, but it gets _everything_. Not even Norton has beat it. I reduced the size of the ISO to about 520 MB, but I still have a ways to go to get it to a more portable size.

Also, Richard and I went to the Halo 3 Release Tuesday night and he got the Legendary pack. Needless to say, we stayed up till 11:30 and beat it the same day (I had to go to work, but he started over when I got off and got to his house with my TV). We found the apartment that we are going to try to get at the end of Nov. 950 ft^2, 2 bed, 2 bath, max $585 a month. The company that owns the apartment complex also rents out our services at Computer Care, so because I will be at beck and call 24/7 for them, they might even drop the price down another 50 bucks ;-).


If I can get OpenSuSE 10.2 working on my desktop completely (it already works completely technically, but some of the little quirks take some getting used to), I will install 10.3 on the laptop. I tried OpenSuSE 10.2 when it had first come out and fell in love with it, the only thing keeping me from switching was the package manager. Personally, I think it has gotten tolerable now to the point of being usable.

Sunday, September 23, 2007

Just Testing For Now