Taking Advantage

I was listening to the Animoto CEO on a building 43 interview and Brad Jefferson struck me when he was explaining that they are excited about everything that is happening. For him, HD TVs are good for his business because people will want to watch their photos in a cool video on them. The new cheap digital boxes that you can attach to your TV is good for his business. Even photo books are good for him because he wants to offer his product to those people selling photo books so they can offer 2 products instead of 1. Everything that was thrown at him was basically good for his business in one way or an other.

I have to think like that and get moving on all these positive challenges that are available to me and will allow me to do good business.

We have complicated systems, great! There is a need for more automation so I have more code to do.

We have complicated rules on how and when we can do changes, great! More automation or systems that can simplify the user interaction with all these rules and help them navigate in all of it.

There are many possibilities and we can’t look at them as an other layer of problems. These challenges allows us to better serve our users/customers and have more business. It is a lot more fun to look at it this way and go for it.

Advertisements

Java Decompiler

This is not the first time I do this and it is on the edge of embarrassing except this time I knew I had tools to get me out: lose the source code to a java application.

I have this application that was done a year ago and I guess that in the rush to get it to production I forgot to import the code in SVN.

A year later we have changed a few things and now I have to change a few lines in the code and add a method to it.

I remembered using a command line tool under Linux to decompile but since I could not remember the name of it I had to search for it. In the first few results of my google search for “java decompiler” came this site:

http://java.decompiler.free.fr/

I tried to install the JD-Eclipse but I don’t see how to use it so I simply downloaded and used the JD-Gui for Linux and it works beautifully. I can see my source code in the .class file in 2 seconds and now I can easily change it. This is so convenient.

Rebuilding the DVD ISO for CentOS 5 or RHEL 5

I found a few documents on the Internet about what I needed to do to rebuild the DVD to integrate my kickstart file. Unfortunately none of the solution had all the needed command in one place for my setup to work so here is my cookbook from the different sources.

First I mounted the dvdrom with the CentOS DVD to /mnt/cdrom:

mount /dev/cdrom /mnt/cdrom

Then I copied a few files:

  • cd /tmp
  • cp -R /mnt/cdrom/isolinux ./
  • cp -R /mnt/cdrom/CentOS ./isolinux/
  • cp -R /mnt/cdrom/* ./isolinux/ [say yes to overwrite the TRANS.TBL]
  • cp -R /mnt/cdrom/.discinfo ./isolinux/
  • cp ks.cfg /tmp/isolinux/

For my RHEL5.1 rebuild I did similar commands but the paths are a bit different:

  • cd /tmp
  • cp -R /mnt/cdrom/isolinux ./
  • cp -R /mnt/cdrom/Server ./isolinux/
  • cp -R /mnt/cdrom/VT ./isolinux/
  • cp -R /mnt/cdrom/images ./isolinux/
  • cp -R /mnt/cdrom/Cluster ./isolinux/
  • cp -R /mnt/cdrom/ClusterStorage ./isolinux/
  • cp /mnt/cdrom/* ./isolinux/ [say yes to overwrite the TRANS.TBL]
  • cp -R /mnt/cdrom/.discinfo ./isolinux/
  • cp ks.cfg /tmp/isolinux/

I had to change permissions on 2 files:

  • chmod 664 ./isolinux/isolinux.bin
  • chmod 664 ./isolinux/isolinux.cfg

I had to edit the isolinux.cfg (in the isolinux directory) to change a couple of lines:

  • the “default linux” line became “default ks
  • The 2 line after “label ks” went from “append ks initrd=initrd.img” to “append ks=cdrom:/ks.cfg initrd=initrd.img

The isolinux.cfg file now looks like:

default ks
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -

To build the ISO (all this on one line):

mkisofs -o centos5-dvd1.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -R -J -V “CentOS 5.1 (CentOS) Disk1” -A “CentOS 5.1 (CentOS) Disk1” -p “Cinq” -T isolinux/

For Red Hat Entreprise Linux 5.1 I had to change the label for the DVD from “CentOS 5.1 (CentOS) Disk1” to “RHEL_5.1 x86_64 DVD” (obviously I am using the x64 version for RHEL5) so the command became:

mkisofs -o centos5-dvd1.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -R -J -V “RHEL_5.1 x86_64 DVD” -A “RHEL_5.1 x86_64 DVD” -p “Cinq” -T isolinux/

Reference sites:

Synergy

This piece of software seems quite promising to solve some of the issues that I have on my desk. I would like different computer to integrate a bit better and the main 2 features promise just that: software kvm and shared clipboard. I will have to test Synergy on my main Linux desktop with either my Mac and the Windows laptop or maybe a second Linux desktop. I need more screen space on my desk.