Saturday, November 6, 2010

Antec case fixed

Everything seems so disposable these days.  I'm trying to fight that and bought a case a few years ago...  the Antec P180.  It is quirky, it is huge, and very expensive.  But, it is the best case I've ever had and very close to silent.


I'm not really happy with it being on the floor, but it's been there for about 1/2 of it's life.  My dog walked past it a while back while a USB flash was sticking out.  I walked in a few minutes later... flash broken on the carpet... USB ports busted up.

Frustration...  I used back ports for months with an extension.

Then, I got this great idea... Antec might sell those ports.  I searched, hey people have been getting replacements under warranty.

WOW!  They actually sent me a replacement port module!

It works great.  I'm lovin' Antec even though I had 2 of their power supplies die on me in the past.

Monday, October 18, 2010

BIOS upgrades on modern hardware - with Linux

Back in the mid-90s, upgrading your BIOS meant create a boot floppy, copy your BIOS util and image to it, boot from it, run the BIOS util. 

Now days no one uses floppies.  Well almost no one.  I see no legitimate use for them on modern hardware (and OS) except for weird/scary boot and BIOS issues.

I recently tried to boot my 3 year old Gigabyte P35-S3L motherboard off of a USB flash containing Ubuntu 10.10.  Unfortunately, the BIOS is not booting from USB Flash.  This got me thinking, have I ever upgraded the BIOS?  My version is F2, the newest is F8.  So I went down that route...

First, you download some XXXX.exe file from Gigabyte's website.  Great if you no what to do with such a thing.  My Gigabyte motherboard has a Q-Flash utility built into the current BIOS, so I can flash it without booting off any media.

On my notebook:
sudo apt-get install p7zip-full
mkdir bios
cd bios
mv ../motherboard_bios_ga-p35-s3l_f8.exe .
7z x motherboard_bios_ga-p35-s3l_f8.exels -l
total 1600
-rw-r--r-- 1 scott scott      18 2009-06-21 20:13 autoexec.bat
-rw-r--r-- 1 scott scott   26351 2008-08-28 01:16 FLASHSPI.EXE
-rw-r--r-- 1 scott scott  554366 2010-10-18 13:00 motherboard_bios_ga-p35-s3l_f8.exe
-rw-r--r-- 1 scott scott 1048576 2009-06-19 04:00 P35S3L.F8

At this point, I had the image file P35S3L.F8.  It needs to get to my workstation and have Q-Flash work on it.  Looking at Q-Flash (hit the End key during boot), it will read floppies and hard drives. (I'm sure only formated FAT)  I have no Floppy drive in my workstation, so I found my USB Floppy drive.  You are probably thinking, but... it's USB, will the HW do the proper rerouting?  I had confidence from prior recovery of BIOS using a USB Floppy.

A little wierd but:
sudo ln -s /dev/sdb /dev/fd0
mformat a:
mcopy P35S3L.F8 a:
(I checked to make sure I could read it and did a diff of the original)

Booted into Q-Flash, and now it showed a Floppy B where it only showed Floppy A before. Selected it, chose my image file..  and Click click click...  away we go.

I still can't boot off USB Flash, but I do have a new BIOS.

Thursday, June 17, 2010

screen sharing on Linux

Seems like not many choices...  But who needs many choices if it works well?  In the Windows world the choices seem to never end.

VNC is the old tried and true.  It is great over LAN, ok over fast WAN connections, but seems to leave something to be desired over typical internet connections.  The speed just isn't stellar.  Worse, if you want to share YOUR existing desktop on Linux, it affects your video performance.  It is universal though, I can connect to my mum (secure over ssh tunneling of course) and fix things on her XP machine.

NX... what great promise it has and has had and had and had.  It does what people thought was impossible - it speeds up remote X sessions to almost local speed.  The commercial server starts at $800.  But no fear, there are open source servers that use the NX libraries.

The problem is the free NX client (nxclient) is pretty much the only offering out there to view a remote session.  It comes in Windows, Mac, Linux, and other flavors.  It works quite well in many cases except this one:  attach to a shared local desktop (or shadow session) with the client on a modern Linux distribution.  If you do this - the keyboard is all messed up.  An up-arrow causes a PrintScreen button to be pushed and so on.

So... if you are ok with mouse / keyboard input turned off - I guess it will work ok.  Our options are slim, so that's the way we will be using it.  Sure would be nice though if a Linux user could see my Linux desktop and interact with it as well as a Windows or Mac user could!

If we were "real men", we'd take the open source NX libraries and put our own working NX Client together ourselves.  Which, if we have slow times, I'm sure that will be discussed.

Saturday, June 12, 2010

big week

A very busy week that has so far turned out very good.
In addition to the normal life stuff, I did a ton of zipping around trying to grow our little business. I'm trying to get more use of our Loader product, save XP machines from landfills, and get another software developer.

Demo "Loader" to local computer shop.
This went really well despite more poor preparedness. I managed to lose my flash drive (boot media) in the last 10 minutes before I went out the door. I searched frantically, then built up a new usb flash drive. When I got to the computer (repair) store, they had DHCP so I demoed an XP install on my Dell Mini 9. They were interested in trying it on a computer on the bench. When it worked flawlessly except for missing one driver they were impressed; basically, "we've got to have it!" Not alot of money involved, but we have to start somewhere and they are willing to work through bugs.

Hiring a third.
We've been wanting to do this far a long time. I've had my eyes set on an unnamed person and we finally have enough stability that I feel comfortable asking this person to join us. Crossing fingers.

XBMC Demo.

I went to the ISLUG meeting this week. It got off to a slow start. I was 10 minutes late and there was one other person. I expected them to already be ooowing and aaahing over XBMC, but it took at least another 1/2 hour for that to happen. Joshua Clark has posted a bit on the ISLUG site. It will likely replace my Freevo setup that I have had for 7 years.

Demo "Loader" to ERGS.
My family and I went to Salt Lake City today (Saturday). Our plan was to go to the Zoo, then Electroregeneration Society, then the Discovery Museum, then somewhere fun for dinner - The Maya . It ended up very different. We arrived at the Zoo quite late with wind and rain following us there - so we skipped that. We took care of some family wardrobe malfunctions at Walmart. Then what... We decided to go to the Gateway mall, ate at Applebee's, and my mom and I walked to ERGS while my wife and kids checked out build-a-bear etc and went to the Discovery Museum without us.
ERGS, was great! I had a good time talking with Jerry. Learning about their operation. I really hope we can get something like it fired up in Pocatello and Idaho Falls. I'll post more on this later.
Showing off the Loader was fun and worked great on a random box we grabbed. I'm very close to all the details with it so I enjoy explaining and answering questions. Jerry liked it, we will talk more about how they can implement it there. We will donate use of it to them -- to get things rolling.

Thursday, April 29, 2010

when to commit your source code to "the" repository

A friend of mine, Jeff, has been working for a defense contractor for a while. About a year ago, he was in town and we went to lunch, where he told me the awful news. People don't know how to use a version control system. (Or is it a revision control system?) The software developers there DO NOT commit there code to the repository until after they load it to production. He was bewildered by this. (I was too) They said... No, it's just too hard. Sometimes we move things around, thats a pain. Also, we are sure we have the same thing in the repository and production this way.

OK, I have some obvious problems with this that are hopefully obvious to you too. If not, you are not a geek and shouldn't be reading this post. What kind of repository is this? Apparently they are not keeping track of any of their development or bug fixes. So all they have in their repository are releases that hopefully match was was installed in production.

Fast Forward to yesterday....

Part-time, I subcontract to a Department of Energy contractor. They use PVCS. I stored a few scripts in a project directory in their PVCS. Great, I think to myself this is much less painful than all the paperwork. Minutes later, I notice and fix a few typos in the ReadMe.txt. I commit that change to PVCS. (If you've worked for a bureaucracy for many years, you may have just caught my mistake.)

So I have:

Script1 Version 1.0
Lib1 Version 1.0
ReadMe.txt Version 1.1

A fellow system engineer is tasked with "loading it to plant." In normal speak this is "release to production." He's trying to push this through and get all the authorizations signed off. He gets a call, "Why is ReadMe.txt at version 1.1? What SCR (Software Change Request) was done to authorize those changes? You can't just go changing files willy-nilly."

Oh no! We've been TRAPPED! Really? Since the end of development ReadMe.txt been at Version 1.1 and all the testing was done on Version 1.1 - for some reason that should read Version 1.0. Why? Because at least one person doesn't know what a version control system is. Now if they were a "sophisticated" user, they would use TAGS and people that don't understand versions could just look at release tags. But they are not sophisticated users. How they document a release is inside their SCR (Software Change Request) document. You PASTE the versions of all the files you are releasing into this document. This is your poor man's tag. Well, apparently it's a poor man's tag only when convenient for the people in control. At the stage we got the (you've been caught) call, it was not a poor man's tag. The version on the file is some how the release version.

How did we make them happy? We removed the ReadMe.txt from the SCR document as it was not a file we were installing anyway.

A couple questions:
  • Has anyone ever seen this sort of use/abuse of a version control system? Was it at a government contractor?
  • What would have happened if all the files were 1.1? Would it pass detection?
  • Should I ask if there is another repository that I can use for source code version control?
Doesn't look like I'm the only person that believes in "commit early, commit often."

Monday, April 19, 2010

Tucows/Comodo code signing certificate for Java

I might as well document this process out here for others.

Comodo through Tucows is the known cheapest way to sign Java code. So that's what we went for. In addition to parting with $75, plan on a day of finding verification documents and keeping the ball in their court.

The process is supposed to go like this:
  1. Signup with Tucows to be an author. (free)
  2. Use their "author resources" to order a Comodo certificate.
  3. Verify you are who you say you are with Comodo.
  4. Download certificate and start signing your Java jars.
The problem is, the flow between Tucows and Comodo is very loose. It takes 2-3 days to get handed off to Comodo after you start your order with Tucows. Then it takes a day for Comodo to start asking you questions. After that, from our experience, count on bouncing information to Comodo atleast 6 times over the course of 3 days. In our case, our $75 code signing probably cost us $500 if you include our time. On the other hand, it's probably a hastle with everyone.

Problem #1:
It seems for their Corporate verification, it's fairly indepth. I think we were able to be verified with: Articles of Incorporation, Acceptance of S-Corp, company bank statement, and phone bill.

Problem #2:
We were just about to move HQ to a new corporate address. I gave them our new corporate address, none of our documents support that address. So I had to tell them to change my order's address to our existing/current corporate address.

Problem #3:
We don't have a land line in our business name. We have a Google Voice number that forwards to our cell phones. This sounds all smart and modern, but caused us problems in this case. We had to jump through additional hoops to get them to accept our cell phone bill.

Once you get all the OKs, they finally send you a link to "collect your code signing certificate." BTW, you are supposed to use the same computer and browser from start to finish. It's doing some certifying magic. So you go to the collection link, and your browser (or javascript) has a popup that a certificate is installed. Now you just stare at the page that doesn't have any forward navigation.

So, you'll probably do what I did and search for how to USE your Comodo certificate. Google tells me some good things that aren't obvious from the Comodo page.
  • https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=419
  • https://support.comodo.com/uploaded/UsingComodoAuthenticodeCertificateforJava.pdf
Those docs are pretty Windows centric. You just gotta love screen captures of a DOS box. (We do things a little different in the Linux/Unix world where we can actually copy TEXT out of a command line easily.)

After following how to export the certificate out of Firefox, I had a P12 file. My experience was something like this:

wget  http://wiki.austriangrid.at/files/PKCS12Import.java
javac PKCS12Import.java
java PKCS12Import srcbin-code-signing-certificate.p12 keystore.ks
jarsigner -keystore keystore.ks classes.jar "srcbin, inc's the usertrust network id"
jarsigner -verify -certs classes.jar

(Or maybe I should show you that in 4 or 5 screen shots, put in a document and covert it to PDF)