JBCobb.net

Free software, the blues and life in the big city.

  • Home
  • DVD Metabase
  • Hold your breath
  • JBCobb.net
  • Jeff Cobb

14

Sep

Jeff Cobb

Posted by JeffC  Published in JBCobb.net

Here is a short video interview I created…

The long and the short of Jeff Cobb.

I was born in Kalamazoo Michigan and as such, I had an irrepressible urge to travel. I joined the Army straight out of high school in 1979, was trained as an electronics technician on various encryption, muxing and other communication devices. I served nearly 8 years, 4 in the US working at a communications repair depot in the heart of the flying saucer belt. The latter half was spent in (then) West Berlin, Germany doing similar but not the same work with Military Intelligence at Teufelsberg (http://en.wikipedia.org/wiki/Teufelsberg). When the bad guys blew up some of the bars and the Army offered me an early-out thanks to the Gramm-Rudman act, I took it. It was only three months early but that was three months of “anything can happen”.

While living in Germany I was moved to swing shift in 1983, I bought myself a computer to pass the time. The first program I wrote was an exercise in draconian security (get the password wrong and the app would eat itself). There might have been adult beverages involved in the design phase there. One of the downsides to having an American computer in a foreign land is that computers that derive clock from the phase of the AC will lose time (50hz). Why is this being included? This simple fact was my motivation to learn machine language programming: since much of the disc copy protection of the time was based on timing how long a hard drive head seek would take to travel from (usually) track 18 to some faked track, these types of protection would invariably fail on an original disc. Since I would not be able to convince the company to rewrite the software for me, it was my job to fix the software. Thus began a many year trek of writing tools for the 65xx architecture, culminating in the publishing of a simple yet effective machine language post-mortem debugger in a magazine of the time, Ahoy(http://en.wikipedia.org/wiki/Ahoy!_(magazine)). I also wrote a driver that allowed the cassette tape drives of the time to act like a floppy; unfortunately this was at a time when cassettes were being phased out so that one didn’t see publication. It was cool though and allowed me to sell my Vic 20 for more than I paid for the equipment. I also authored an interactive adventure (big at the time) that did see some passing distribution; sadly, since I was passing out the source it took all of a week for some kid to put his name on it. At least it was being used.

When I returned to the States I came to completely understand how valuable and yet worthless my skills were because they were effectively locked up behind the military version of an NDA however software development was a part of me even then. I also had my first “real” computer, the IBM Peanut. Since I needed to be able to pay my bills, I worked as a manager at a Dominos Pizza parlor (wrote a food-cost analysis program for our branch), worked as an office machine repairman (wrote a call tracking system for them), then on to security systems and finally Allen Test Products. This job was essentially as a PC repair shop; this was the depot for all of the US so we saw a lot of product. For a frame of reference, if you took your car to the repair shop and they said “we will throw it on the computer”, this was probably a computer that I worked on. I wrote a lot of network, memory and drive diagnostic software during this time; much of the diagnostic hardware in these PCs were custom boards operating from non-standard IRQ’s and so on so standard diagnostics of the time were of little value. The more I wrote the more I wanted to write and I knew this was what I wanted to do.

Some software houses in the area were hiring but with no formal training it was hard to get even a phone call. To deal with this I wrote a windowed electronic resume which served two purposes; 1 employers could see my code and thus experience in action and 2, I shipped source so they could see how I worked. The strategy was successful and in 1994 I moved into software development full-time. While at Keystone systems I was promoted to tech lead on a large medical insurance billing system. While there I met and later married my wife; a computer geek herself, we got married online (and have video to prove it). I had never met a woman who thought OS/2 was cool (and that I was cool for using it). I had to make an honest woman of her. She is my FPS partner, my part time administrator, beta-tester (and alpha most of the time), assistant troubleshooter and more. And she is a Linux fan. I cannot recall when it happened but I had been running Linux (I think Redhat but could be MEPIS or any of a number of distributions) for a year full-time and she had remained on Win95. After we both noticed that the only maintenance I had to do was on her machine (and it needed a lot), we were on the same hardware (makes troubleshooting easier but make no mistake; having an SO that is as into tech as you are can be expensive) so it had to be the OS. She backed up her bookmarks, address book, etc, I reburned her box, installed whatever I had and she has never looked back. She still gets stung sometimes ordering Windows HW but if Linux lacked some function she needed she gave me a chance to sort it out but if I could not (rare but it happened) she was a trooper and figured out a way not to need whatever it was she was trying to do. In any event, back to when we met….

While at Keystone systems writing business software, a local college approached the firm for people to be college instructors of C and C++ for night classes. My boss took the C students and I took the C++ students. Since the C++ track was new to the college, I wrote the entire class from soup to nuts, selected the training materials, tests, lab projects and more. Since I had already been on a deathmarch for a few months prior to this, I really don’t know what I was thinking when I agreed to take on more work. That said, I have to admit that teaching turned out to be one of the most gratifying experiences of my adult life and would do it again if I could subsist on no income. Teachers deserve way more than they get.

In 1996 she was diagnosed with Fibromyalgia which is aggravated by cold weather and this being Michigan (the old joke is there are two seasons in Michigan; winter and road construction which would be funny if it were not true) relocation to a warmer climate was in order. Shortly I landed a position with First Colony Life in Virginia where I did a lot of OS/2 and Netware coding amongst other things.

Small digression is in order: when I was a small child my sister left home and never made contact with us. When I first got onto the Internet in 1995 (along with everyone else) I put up a website with the few pictures of her I had, her known alias (she was a singer) and descriptions. In addition to that I conducted searches periodically. In 1997 I got a hit, I tracked her back to her record company (it seems she did a song used in Natural Born Killers) which passed on my info to the artist. A few days later we spoke for the first time in 25 years. She had been living and working in Los Angeles all this time. Over the following months we spoke much over the phone and later we decided to find a position in Los Angeles or near there to be close to her and perhaps rebuild a relationship.

This lead me to getting a job at Kinko’s corporate headquarters in Ventura. There were other offers but the person doing the interviewing nailed it when they gave my wife and I a car and allowed us to just hang out in Ventura for a weekend. We were sold and relocated there within a few months. I wrote a lot of code for DOS, OS/2 and Windows while there. This was also where I had my first usable brush with Linux. While at Kinko’s I became acquainted with a number of outside contractors and one of them, Wayne Brockman was starting a new company, Terminus.

Since we were very much in sync from a coding perspective, after talking it over with my wife I became employee #2 thus starting a business relationship as well as a personal friendship that has lasted over a decade. While at Terminus (this was the crazy dot-com days) the product focus changed with alarming frequency as hopes drifted from one VC to the next. After having to recreate the main product a few times I decided there had to be a better way so I came up with a platform-neutral (was heavily into Linux by this time even though there wasn’t much demand in my employers eyes at the time) component-based system for distributed computing. It was really thin with a simple XML over TCP interface combined with a simple API. Once I added a variant type to the core system it became flexible enough that in the end, it was a framework that was about nothing. Drop a TCP component into a folder and you had an XML application server. Put instances of this on 2 – n machines and you had a grid. What the instances did was very a la carte: drop on a database component and you had a database server; drop in a chat component and you had an IM server. It was only through this was I able to keep up with the changing direction of the company. In the (first) end of this architecture there were secure TCP socket components, user account and general accounting components, report writers, CGI bridges, and much more. Eventually this exact architecture would wind up in a cell phone (Windows Mobile) but more on that in a moment. The kind reader would be correct in asking: Why not just use CORBA (which was big at the time)? The answer is simple and at first I was not thrilled with it: the man who signed my paycheck wanted to own the IP. Reinventing the wheel is not my first instinct but in this case it would prove wise; some 5-6 years later Wayne was able to sell this framework to a multimedia distribution firm for a nice chunk of change. Interesting fact: this was when VMWare Workstation came out and I was able to do all of my Windows development for this project in a VM on Linux. Because of the very asynchronous nature of such a system troubleshooting it was problematic at best so the ability to save state on running VM’s was beyond value. Since this job was 100% telecommuting I could trick out my box as I wished.

By now we are hard-core into Linux and have no running Windows machines anywhere. More, my wife was fully disabled by now and I needed to figure out some way to keep her entertained while I worked long hours. We had a lot of DVDs but even with a carousel 5 DVD changer it was too much getting around. To the rescue comes a bit of spare time on my part. As a long-time hardware hacker I had accumulated a lot of spare equipment (we are consumers of tech). I combined an old nVidia card with S-VIDEO on it with a refurbished eMachine box, reburned it with Linux (probably was a Debian strain), added a mini-wireless keyboard and Freevo software as an OSD, plugged the video into the TV, sound into the stereo and presto, had a (somewhat) usable multimedia appliance that I could tweak. Another old box became our first NAS. Now all we needed was some reliable way to get content into our system.

I won’t bore with the details but after working with a lot of rippers (GUI and console) I learned enough about the transcoding process to write a set of Python scripts to automate the process. This also abstracted the actual rip engine so I could evaluate different methods (mencoder, OGG Theora, etc). Once I told it what to rip it was fine; I noticed a pattern in my selections and wrote a set of rules to drive it so it could look at a DVD and make a fairly educated guess as to what it was (movie, hour TV show episodes, cartoons, etc) and rip accordingly. This became the prototypical version of EZRip. In time it came to use HandBrake (rips at 200+ fps), made superb quality files and worked quite reliably but the pain of having to rename the files (particularly special feature discs) remained constant and high. Ripping a new blues CD one day it hit us both like a bolt: we needed a CDDB like service for DVD tracks. Since nothing like that existed I leveraged the discid tool with libdvdread source to create unique hash values, wrote a Python-based XML-RPC server and dropped a database on the back-end for storing DVD metadata (tracks, names, links to other sites, reviews, etc), exposing it on jbcobb.net:8000. After extending EZRip to scan new discs and interrogate the back-end, the user can now simply insert a disc, EZRip scans it, downloads the track information and rips everything automatically, no DVD knowledge required. Since the system can recognize special features it can nice rip a movie along with all features placed in a special folder. This is now automatically sent to our NAS units (currently 4TB with 4TB backup). If the disc is not recognized a submission form is generated and the first chapter of all interesting tracks is ripped. A quick view of this can help confirm track contents; the submission form is completed and automatically uploaded to the server which writes it to an SQLite database. In this case, the old sample folder is erased, the actual tracknames are downloaded and the disc is ripped in full-quality mode. The back-end (DVDMetabase) and the front-end (EZRip) are both about to be released as open source. The back-end has been stable for months and the front just picked up the ability to allow a user to select their default language and that language (or optionally subtitles) track is selected. This is handy for Anime for example. To do yet is final regression testing and documentation plus finish the auto-updater. This whole process (creating the NAS/Appliance) along with the release of this system will be the focus of a 2-3 part set of stories that will be on Linux Planet shortly. This was all developed on my own time which means things were still happening in meat-space. The EZRip tool has seen over four years of continual use. As it stands, we have a wide variety of content available TV: every episode of Lost, Xfiles, all Star Trek/Star Gate series, 24, House, Heroes, etc. Movies range from classics such as Cool Hand Luke and Dirty Harry to film noir (Bogey et al) to documentaries on science and exploration, along with the usual (action, adventura, family, scifi, horror, etc). Additionally this system also serves as our jukebox/photo album. Finally all audio output flows through the traditional speakers or alternately wireless headphones with individual tone and volume settings. Essentially we have become our own personal cable channel. Some folks collect stamps; I host a project on SourceForge.

Meanwhile, back at Terminus…

It was the end of the dot-com bust, VC funds were drying up and even though we had any number of neat products, it never got traction and Terminus folded. Since I had someone to take care of I landed a position with a Ventura area medical device manufacturer, Vivometrics. Basically here I did two levels of coding. The software end of the main product (the “Life Shirt”) was analysis software written in C++ on Windows. While much of the work was simple product extensions and implementing algorithms created by the medical side of the house, I also was able to contribute to their IP a new way to visualize and observe patterns in physiological activity over time (see resume for patent links). While most of the work was done targeting medical research (the LifeShirt allowed drugs to get to market many times faster), after 9/11 the company became interested in other market segments. Long story short, they had the idea to outfit 1-n (firemen/athletes/soldiers) and monitor them all from a central station. The company we subcontracted to do the work completely blew schedule and we had a public demonstration to do with the Navy the following week. With no other choices, I wrote a client that could monitor 15 different physiological signals from up to 60 people at a time, setting off alarms if respiration, heart rate, etc drifted into dangerous values. As anyone who lives in Southern California will tell you, the firemen working those brush fires get an adrenalin rush and don’t realize they are heat-exhausted until it is too late. Soldiers could be remotely monitored and triaged in real-time. This resulted in another patent for them (both should be listed on the resume) and some interesting field-work for me including a trip out on a naval fire-fighter training ship where we were competing with vendors of similar but nowhere nearly as comprehensive products. I recorded these firefighters going into 11,000 degree heat wearing this outfit. It worked great once I did a little hacking with my Zaurus on the spot; the available network on the ship used some different wireless settings than we were prepared for; the devices in the LifeShirt which recorded and transmitted the data ran Linux and took only CF cards for configuration. One at a time I popped the configuration files into the Z, used Vi in a bash shell to edit them to use the proper encryption and we were off to the races. For a general idea of how this product worked, see this promotional video; I wrote all of the software running on the Toughbook/larger monitor and a good chunk of the transmission protocol on the transceiver:

http://www.vivometrics.com/hazmat/press_video/video_clips.php

I stayed with Vivometrics through 2004. In 2000 I had been diagnosed with diabetes and had experienced some troubling symptoms even though diet and medication had been been way of things since initial diagnosis. Because of where I worked I had access to a lot of research and one thing that still had the doctors lost was how and why gastric bypass surgery cured diabetes in 90+% of the patients but the study results were undeniable; most diabetics had all symptoms of the diabetes vanish within 24 hours of the surgery. To me it sounded like the ultimate body-hack. I spoke to my doctor and he agreed it would be the best thing to do if I wanted to stick around long enough to take care of my wife. The problem was, the surgery would cost $28K and even though I worked for a company with health-related products the insurance was bad enough not to cover a dime. Left in a quandry we found the money someplace and made it happen. Within one day of the surgery and no medication aside from post-op pain medication, I have been completely cured.

I told you that to tell you this: during recovery my old boss at Terminus (Wayne Brockman) called me to see how I was doing and we swapped war stories for a while when I shared that we had to foot the bill for this. He turned around and offered me a position with the company he was working with (NewMBC) at a substantial raise, as a signing bonus he would get me the full cost of the surgery. And for all this what did I have to do? Well it seems this is that time-frame where he apparently sold the old Calcium architecture to a startup in LA that needed something to drive their data centers, manage users, stream data and more. Further they needed multimedia clients for the cell phone (Windows Mobile).

Thing is they needed the guy who coded it so they could make extensions to it quickly, adapt it for new platforms, etc.

In the end it was too good to pass up. That spring I moved over to NewMBC, still working out of my spare office, still working on the same system I had written years before. At NewMBC my first job was to provision the back-end with 64-bit Linux, set them up in the data center, port the back-end to Linux (work on that had languished in my absence), extend the XML to handle binary, that sort of thing. Was purely advisory on the Windows Mobile portion.

Sadly just shy of two years into this as I became aware of things that made me uncomfortable from a business practice perspective I decided to seek employment elsewhere. It is here that my current employer Sony enters the picture.

I cannot say much about the work I do at Sony other than it runs on Windows, Linux and PS3, is part C and part C++, it talks to a variety of devices, works with a number of well-known services and is currently targeting a larger userbase than PS3 owners. I use GCC, Vi/Emacs on Debian/Ubuntu (depends which box I am working on) for development, CMake/Scons/Autotools for a make environment, spending my nights learning new skills (other-architecture SDK’s, development languages, etc), generally porting thing A to architecture B, research.

Update: 1 April 2009:

As I may have mentioned my wife is disabled. As the colder climate of San Francisco became too much for her from a pain standpoint, we decided in the spring to move to a warmer environment. Las Vegas was selected (Henderson to be exact) due to weather and housing costs. As of April of 2009 we have purchased a house in Henderson, she is doing a LOT better. I have been supporting myself with contract programming, some for Sony and other for a local firm. I am however seeking a permanent position with a local company to gain benefits.

I have within the past two years:

  • Written multi-architecture code (x86 and CellBE), multi-platform code (Windows/Linux/GameOS (PS3 native OS). C/C++.

  • Burned Debian onto a LinkSys NSLU2 (slug) so it could be a torrent machine. See website.

  • Reflashed my iPod 20 with RockBox which worked great for years until I dropped it once too many times and bricked it.

  • Hacked an Mvix unit to enable remote telnet and NFS so it could mount our NAS units.

  • Reflashed the firmware on our Linksys WRT54G (I know, who hasn’t but it was fun) to enable more wifi power and better security.

  • Written PSP prototypical application frameworks.

  • Written a simple cross-platform cross-architecture build system in Python.

  • Used Valgrind for resource leak tracing.

  • Helped to debug a custom version of GCC (RTTI bug further complicated by thread local storage) on GameOS.

  • Spent a few days with D. R. Hipp learning SQLite from the man who wrote it.

  • Written a product testing harness to orchestrate and regression-test applications running concurrently on multiple platforms. In other words if App-A on windows needs to network with both App-B on a Linux server and App-C on a PS3 (so there is a product under test on each) this test framework controls the data setup, ordered program execution, injection of test data, monitoring of apps, collection and reporting of all results.

  • When I started at Sony I was automatically put on a team of three other individuals for an internal company contest called the Cell Application Challenge. The goal was to write some super application to show off the power of the CellBE architecture. Of the three other team mates on this (and it all had to be done on our own time) was a manger which left three coders..one had a baby almost immediately so he was gone the rest of the project. The remaining guy was really sharp and as such was in great demand for other things so that left yours truly. They came up with an idea for a music distribution system and realized that to use the SPU processors we needed an IPC mechanism so I wrote that, the SPU could only address 256K of local storage and our project was intended to process many megabytes of data so I wrote a virtual memory system that used DMA to page memory in and out of main store on demand. Then they realized they needed a flexible frame work because they were not sure what they needed so I wrote that, and so on. In the end what they really pushed to the judging committee was the framework because it allowed you to prototype on Linux but if the app ran on Cell (and had extra processors to work with) it would spin applicable jobs off to the extra CPUs. Then there was the service exchange where different units (we demonstrated this on three PS3’s) could update each others functionality on the fly and the ability to share work across a network. In the end, it took 2nd place and is going through the patent process now.

  • Had a handful of articles published on Linux Today.

  • Attended the LPI Bootcamp, though I never sat for the test. It simply wasn’t what I thought it was (I was looking for a less Redhat-centric course of training). I did like the ThinkPad you get with the course though.

  • Customized a variety of Linux distributions (Redhat-based, Debian-based, OpenSolaris) on a variety of machines (5 servers and 6 different laptops including the most useful piece of gear I own, the EEE 701), While in some cases this meant simply locating and installing some libraries, in others recompiling the kernel and device drivers was called for. These are just in my personal boxen.

  • Customized a Linux distribution for an autistic girl. She could not afford much and was trying so hard, I took an old laptop we had with some decent hardware and customized an educational distro (EduBuntu) with full audio/video compiled drivers. Because of her needs and her mentor (techno-phobe), I also created a series of training videos on how to perform common tasks in Linux. I also left the door open for them to reburn with Windows but to date, they are still getting by and Gwen (the autistic girl) is in love with her machine. This has drawn some public interest and now an individual from Florida is working with me to create a custom live distro for kids with special needs. The cool thing is we are stripping out a lot of stuff that a kid would never need and with the added room, fill it with music published under the creative commons so the freedom-part will be something that they can relate to. It will also be set up for saving /home to a USB key so that the child can boot up the same OS at home and have their work handy as they have at school. There is more but this is still in the planning stages.

  • While I cannot divulge what I am working on currently, I will say that I am writing frameworks, debugging tools and application logic for something that is not even silicon yet. This is coding to spec but it is more speculation than anything.

  • If you have a PS3, have downloaded and ran Folding@Home (protein folding research) or Life with Playstation and did anything with multimedia, you have a little of my code in there. Not that it is glamorous or anything but it scans for new media and updates a database, sending events to the system as it goes. Needless to say, my PS3 at home is dual-boot GameOS/Linux (FC5 at the moment but I am reburning it with Debian when I get the time).

  • I am writing a blues-history oriented online adventure game for the Blindmans Blues Forum for a contest. Currently looking at making it a MUD.

  • I have written a wizard that leverages CMake such that I can start with an empty folder, run one command and within 20 seconds and a drunken-chicken setup have a complete project with skeletal source and the build system all set up (and the app it generates is compiled). Really handy for fast prototyping.

  • I am also building a mini-NAS/media player combination for a test user to work out usability issues. All free software top to bottom.

  • I have developed a POSIX-compliant fcntl() method for GameOS.

Personal:

When I have time for recreation I enjoy:

  • Reading/watching science fiction from all eras.

  • Watching bad science fiction, horror and kung fu theater movies.

  • Anime and manga.

  • Working on extending our video-on-demand system in interesting ways. For example when you combine having every single episode of a series (or series of movies) with a full plot event time-line stored in a database you can do interesting things like see a reference to some event in one episode, freeze the picture and with the remote control view the referenced scene via PIP.

  • Working on new and interesting (to me) approaches to concurrent development. I had started a series of articles on my website exploring some of this when it crossed paths with the needs of my employer so most of that had to be taken private.

  • Blues music, history and guitar playing. Better at the music than the playing but I do find it fulfilling. The fact that Steve Freund (the mentor of one of my guitar playing heroes) lives in the area and is willing to train me also played a role in our decision to move to San Francisco. In the most painful of ironies, I am here, he is available and I simply don’t have the time. Until then, it is Mel Bay to the rescue.

  • Working on an unorthodox encryption system using a neural network. This is one of those itches I need to scratch ever since I got a proof of concept running 3 years ago.

  • Love to cook. Recipes are a lot like objects.

Development philosophy:

  • Unless ownership of IP is of paramount importance, use open source where possible, buy where not and write your own if all else fails.

  • Do not reinvent the wheel as long as an existing wheel fits properly and can be expected to take you the distance.

  • At the application level use existing, proven frameworks and tools such as STL, C++ as needed.

  • At the system level I tend to use C++ only enough to provide encapsulation and abstraction. Everything else is C for speed and code size.

  • I fully embrace the XP model of test-driven development. By coding the test first I confirm use case satisfaction. By coding only enough API to satisfy the test, I know I have not wasted time coding things not needed for this deadline. Moreover, I have noticed that if I write the test as if the API was already completed, I can shake out missing elements overlooked in the initial design.

  • There is always more than one way to solve a problem.

  • I like coding for Linux the most due to the mature API and extensive developer support. The API follows the path of least surprise for me.

  • While I cannot have everything I have learned memorized, I have a technical reference library that allows me to solve most business and technical problems.

  • The more that I learn, the more I realize that I don’t know.

Search

Blog Feed

  • Add blog to any reader
  • Comments Rss
September 2010
M T W T F S S
« Jul    
 12345
6789101112
13141516171819
20212223242526
27282930  

Pages

    Home
  • JBCobb.net
  • DVD Metabase
  • Jeff Cobb
  • Hold your breath

Blogroll

  • Development Blog
  • Documentation
  • Plugins
  • Suggest Ideas
  • Support Forum
  • Themes
  • WordPress Planet

Categories

  • anime (1)
  • Blues (6)
  • DVD Metabase (11)
  • EZRip (9)
  • General (20)
  • Microlog (1)
  • Technology (41)
  • Uncategorized (1)
  • VOD (16)

Archives

  • July 2010 (1)
  • May 2010 (1)
  • February 2010 (1)
  • January 2010 (1)
  • December 2009 (1)
  • November 2009 (1)
  • October 2009 (1)
  • August 2009 (1)
  • July 2009 (1)
  • May 2009 (1)
  • April 2009 (2)
  • March 2009 (2)
  • February 2009 (1)
  • January 2009 (2)
  • December 2008 (1)
  • November 2008 (2)
  • October 2008 (3)
  • September 2008 (2)
  • August 2008 (4)
  • July 2008 (1)
  • May 2008 (2)
  • April 2008 (3)
  • February 2008 (2)
  • January 2008 (4)
  • November 2007 (1)
  • October 2007 (3)
  • July 2007 (5)

Recent Post

  • Of stupid moves that will lead to a better system, libfoundation and more…
  • New subproject: libfoundation
  • CMake Wizard 2.3 (Maint. release)
  • Microlog 1.1a
  • MicroLog 1.0a
  • A Video Interview Using Free Tools
  • New directions for DVD Metabase: development odds and ends…
  • CMakeWizard 2.2 is released
  • Concurrent development challenge: The Problem (part 2)
  • FOSS: Freedom to explore, create and avoid intellectual speed-bumps

Recent Comments

  • JeffC in Of stupid moves that will lead to a better system,…
  • Trindflo in Of stupid moves that will lead to a better system,…
  • Send Flowers to Canada in The difference between "Don't wanna" and "Can't"
  • millee in The Delmark 55th Anniversary Show
  • Binaural Beats in The difference between "Don't wanna" and "Can't"
  • error in testfile GTK in CMake Wizard 2.3 (Maint. release)
  • Volker / Germany in The difference between "Don't wanna" and "Can't"
  • Processes in uninterruptible sleep in The difference between "Don't wanna" and "Can't"
  • Cheap Computers in The difference between "Don't wanna" and "Can't"
  • JeffC in MicroLog 1.0a
© 2008 JBCobb.net is proudly powered by WordPress
Theme designed by Roam2Rome