25 May 2010

Reverse Engineering

Twice now in a few days, the docco has been useless, but vivisecting running programs has worked.

In the first case, I was using an app to turn a bunch of slideshow-style images into a DVD, with a talk track running under it. The initial application was childrens’ stories.

The app was quite clumsy, forex it would only allow one to adjust the length of time each slide remains in whole seconds, & each slide (duration, transition, transition-speed) had to be adjusted manually (GUI interface). Each slideshow had to be redone from scratch (that is, change a detail on one image, need to reload all images & reconfig each time, sigh).

So I ran a bunch of ps commands (ps wwwwaux >filename1.log) & captured copies of some of the (temporary) config files it made to run the app, now I can select slide times to the nearest millisecond (real-time accuracy is probably about 40ms) & rebuild the slideshow from a simple bash script.

I made the slides by scaling photos to NTSC sized PNGs, then used ImageMagick to inscribe the text thereon. I’m itching to do fancier stuff like underscored or italic words, but that may require getting changes to ImageMagick accepted. (-:

The next step (it uses ImageMagick to do the transitions) will be to have more options for transitions (e.g. fade-to rather than fade-in or fade-out).

In the second case, configuring a WPA2 WiFi connection (under Kubuntu) was not producing any good results. So apt-get wpa_gui, run that, it works (posting this from the desktop in question across WiFi), copy resulting change for future reference.

The code is the documentation, in a way. (-:

No comments: