Brian's Developer Blog
http://blog.brianconrad.com
Brian's Developer Blog

The Roar of the Software Development Circus

Diving into the Android platform has been an interesting experience.  As usual new platforms bring a lot of "gold rush" seekers hoping to make their millions with some hit application.  That usually means if you've subscribed to the email group of that platform it can be quite noisy and alive with all kinds of messages to sort through.  Most however are from lazy new developers who haven't bothered to search for a solution to their problem even though its been posted  and  has been asked 500 times already.  Others seem to be wanting to do things way outside the parameter of the device and usually something it will never be capable of doing.   So of the 500 or more daily messages on android-developers@googlegroups.com only an occasional message is worth looking at.

I hate to seem so cynical about the software industry but I recall I once wondered what would happen when all the applications people wanted were developed and available?   Of course we all know the answer to that.  You yearly add some probably worthless features and hype them because everyone wants the "latest version" and are willing to part with their hard earned money to get it.  Such is the software industry circus.

I've got a few programs that are several years old that do just what I want.  And I currently have no need of new features and even if I did want the update then there is the chance it won't work well on my aging system.  Yup, there is that other catch.   If you are doing things like video editing and want to use the AVCHD format even if you have software that supports that platform it often renders SLOWLY.  Time for a new dual core machine or maybe a multi core but some of the software I have doesn't yet support multi core even in their latest versions.   And of course if you upgrade the machine you might wind up with a new operating system that doesn't support your old software and guess what the software's upgrade doesn't support the new operating system.

That reminds me of the release last week of Snow Leopard and Leo LaPorte on his show saying that now that it has been released the developers need to support it.  Let's see, Leo, you've been in this business how long?  At least 15 years?  And you still don't know how the software industry works?  You'll only get that kind of support when there is nothing else left to sell new versions of the program or if not the marketing department demands it (same thing).  Most likely the programs in question weren't even specifically developed for dual core either but under some systems they wind up run on one core while the operating system runs on the other.  And of course the big secret is that a lot of programs are filled with messy code and differing coding styles as to be a nightmare to rework for such things.  So much for our attempts back in the early 1990s to standardize coding and systematize development.  We all know that releasing on time even with bugs trumps that.

Surprise! A New Blog Entry!

It's almost been a couple years since I've put an entry here.  However I've been blogging much more frequently on my Jyotish Tools Blog which also gets very technical because I have a following among astrology programmers.  I just recently updated the Jyotish Tools web site and added Twitter as well.  The new site is PHP driven and all hand written.  Though I've downloaded both Drupal and Wordpress I haven't had time to mess with them.  Doing the site upgrade to web 2.0 "style" was an interesting exercise.  I also added a listing of the current planets driven by a PHP script that will update the listing if it's been over a minute since the last access of the home page.  Otherwise the PHP script for that page just writes the file on hand to the listing.  I also made that listing available to mobile phones formatted so I could even see it on my LG phone.

As of late I have released 4 Android phone applications all for Indian astrology (Jyotish).  The first was a simple program that brought up a horoscope of the moment known as a prasna chart.  Since Android can support GPS it was a natural to implement GPS in it.   I was surprised at the number of downloads and installs as I didn't know that many people would be interested in such a program.  But I suspect looking at the other GPS apps that it may be the only one that reports the current longitude and latitude.  Most of the GPS apps seem to do things like show you a list of restaurants and friend's addresses instead.

Much of the Android development was spurred by customers who inquired about mobile phone software.  A number have been using Palm Treo and Windows Mobile devices for several years.  My software work on those devices which had the PDA section partitioned off from the phone.  Phone apps required certification and not something that a small shareware developer would want to engage in.   The iPhone is very popular but since I don't own a Mac a bit of an investment to develop for.  Then I was uninspired looking at Object C.  At last Java, which Android uses is not that far removed from C++ and much of my existing code was easy to port. 

Given that up to 18 Android phones are supposed to be released before the end of the year the Android market looks much more promising.  Their model is correct as the API cannot access any data other than it's own or that on the memory card.  Certainly the development costs were nothing and signing to the Android Market only $25.   What I don't have yet is an Android phone because I would prefer something other than the G1 possibly the Magic which was just released or some of the other phones such as the forthcoming Samsung Android phone.   Besides I believe that emulators should be sufficient for product development.  They have for years on the Palm and Windows Mobile platform.

Speaking of Palm, I've also downloaded the Palm Pre SDK.  Currently developers aren't very enthusiastic about it because the Javascript can be obfuscated and thus only open source programs are likely to be released.  I might take a couple of my open source Javascripts and format their usage to the Pre screen.

Also in the mobile realm the downloadable version of Myst for the PSP launched last week on the Playstation Store.   This is the same version I developed three years ago for Japan, Europe and Australian markets on UMD but the first time it has been available in the US.




Microsoft: I'd like to use my computer, please!!!

Seems that every time I boot a Windows machine around here nowadays it wants to spend an extra 2-5 minutes downloading stuff and in some cases reboot the machine for those updates.  If you're running Vista it may even reboot when you're in the middle of doing something like rending a video file that may take hours ruining what rendering has already occurred.  Apparently all the good people have left Microsoft and only nitwits are making new stuff.  On my Linux machine which seems to be also have a party of updates lately all that occurs is a little icon showing there are new updates available.  You can click on that anytime convenient for the updates.  Though there is some similar options in Windows in some cases (especially the dreaded Vista) those may be less apparent.  I have one machine where MS wants to update Explorer 6 to Explorer 7.  I want to keep that machine Explorer 6 for testing.  Did this ever occur to nitwits at MS that some people including those of use who author web pages may want to do this?

BTW, I hardly even do any Internet browsing on my Windows machines and no email.  That's what Linux is for since it is very resistant towards viruses, spyware and trojans.  As Linux gets even more user friendly I would highly recommend that operating system for those folks which MS enforces all these downloads for.  Then they too can use their computer right away than wait 10 minutes.

The BluRay Plunge

Sony had a sale on the BD-300S right before Christmas so I added it to my collection of players.  Unless you've been living in a cave Warner Brothers threw a curve into the mix for the HD media format war.  They declared that after May they won't be doing HD-DVD versions anymore.  Many declared the war over and that BluRay had one.  In spite of the fact that HD-DVD costs less to produce Warner's reasoning was that due to the coming recession (remember when that was "conspiracy talk") they didn't want consumers confused on a "impulse buy" so have gone with BluRay.

So what do I think of my BluRay player?  I like it better than my HD-DVD player.  For one thing being a video guy I can throw a lot of my footage on a regular DVD and the BluRay player will play it.  HD-DVD won't do that.  Maybe that's due to Sony and Panasonic wanting to support their camcorder customers and Toshiba has none.   Ulead's Video Studio 11+ can encode in AVCHD and you can author BluRay disks with those files (it just remuxes them).   Videos Studio will not do that with HD-DVD authoring even though HD-DVD can play AVCHD encoded disks (many of the recent HD-DVD titles I've rented such as "Zodiac" are encoded using AVCHD).   What that means is I can put up to about 2 hours of video encoded with AVCHD on a regular dual layer DVD whereas I'm rather stuck at 40 minutes in HD-DVD on a dual layer DVD disk. 

At the moment BluRay and HD-DVD burners are luxury items.  I have no current need to invest in one like I did when I bought the Compaq with the Pioneer DVD burner back in 2001.  That item added $1000 to the machine but saved much time on a project for the ill-fated NUON I was developing.  Up until then it took up to a week to get a data disk for the project burned.  So I'll wait until the BluRay burners drop down to about $100 (they will).

As for picture quality I do note that some of the HD-DVD disks I've played look better than the BluRay disks.  "Zodiac" in HD-DVD was very crisp and clear on my 7 year old Pioneer 52" HD set.  Now that may be due to the settings on the Toshiba player especially the IRE settings.  I may need to duplicate those (hidden under other terms) on the Sony player.   The BluRay player is a little more user friendly like a regular DVD player.  Both are Linux boxes but the recent firmware update to the Sony allows it to boot in less than one minute.  Unfortunately some BluRay disks like Fox's "Sunshine" have extra copy protection that apparently gets installed every time you play the disk.  This delays the start of the movie an extra 2 to 3 minutes.  The studios may be pleased but consumers won't.  Note my "Blade Runner - Final Cut" collection does not have this.  This copy protection also does not allow saving where you are in the movie if you hit stop.   Other niceties missing from HD-DVD that are on the BluRay player are bitrate displays, information as to where you are in the movie including how long the movie or clip is.  And for the "green" folks among us the Sony turns completely off whereas the Toshiba bleeds electricity keeping its red led on to indicate "standby."

Inexpensive 1080p cameras on the way!

A number of companies announced 1080p HD hybrid cameras at CES.  Aiptek announced two models priced at $300 and $200  which will release in May.  Also joining  the fray was Samsung, Mustek, GFX, RCA (a 720p flip camera) and a few others.  Most of these will be "brownie" point and shoots but still a lot of fun.

Taking the HD-DVD Plunge

In case you missed it Wal-Mart sparked a price war on HD-DVD players a couple weeks back as a Friday morning "surprise sale."  The Toshiba A2 player was on sale there for only $98.  Since I live about a mile from a Wal-Mart I decided to trek over and see what was going on.  By 8 AM when the sale was to start there were about 50 people in front of me.  Soon the rumor quickly spread that the were only 8 players available anyway.  So I decided even if there were 20 I wouldn't be getting one.  Best Buy and some other stores did some price matching so some folks were able to pick one up there.  Best Buy also had the new Toshbiba A3 player on sale that weekend for $199.  They also ran out fast but later that week I decided to see what Amazon had the A3 on sale for and it was $218 there with free shipping.  Do the math and $218 is the same as $199 with California state sales tax.  So I ordered one.

Originally it was supposed to ship on the 14th and arrive by the 21st (the day after tomorrow) but they actually shipped on the 9th and  it arrived on Monday the 12th.   The player came with two HD-DVDs "Bourne Identity" and "300" plus Toshiba has a 5 free disk rebate program too.

The A3 was easy to set up as I just swapped the component from my JVC D-VHS deck which doesn't get that much use these days as well as the optical audio cable.  The results were spectacular.  The A3 has the best HD output of all my components and it is the least expensive of all of them.  Yes it even looked great on my 7 year old Pioneer SD-532HD set (which doesn't have HDMI).

At this stage of the game HD-DVD players are really little Linux boxes and I was surprise how many people speculated it was a Linux box but all they had to do was read the rather lengthy license section in the back of the manual and under "included software" they would have found "Linux kernel" mentioned.  But who reads manuals these days, right?   Anyway that means the player takes over a minute to boot up when you turn it on and the remote runs a little sluggish.  Some things depending on the disk you are playing run differently than a regular DVD.  Instead of the stopping the disk when you want to take a break you put it on pause which brings up a progress bar and if it sits there too long a screen saver.   Apparently some disks can save the place in a disk but none I have do that.

One of the reasons I purchased the player is the local Hollywood Video just began renting  both HD-DVD and Blu-Ray disks.  On their MVP program these rent the same as regular DVDs.  Most of these will be major releases as smaller indie films and B-movies will take a while until there are more players in the channel though that weekend sale moved 90,000 players.

I also tried my hand at making my own HD-DVDs with Ulead's VideoStudio 11 Plus.   The first thing I learned was the audio setting if I didn't change it would be LPCM instead of Dolby Stereo or 5.1.   LPCM takes up much more space and tended to make the video and audio drop out trying to keep pace.   Next I set it to Dolby which was better but still some dropouts.  My source material was from my Sony HC1 in HDV format.  The encoding output was set to 1920 x 1080 at 25 mbps (same as HDV).  I figured the A3 couldn't keep up with that bit rate so tried 18 mbps which didn't change the look much.  Note that all the commercial HD-DVDs I have are encoded with VC1 which is a variant on Microsoft's WMV.   That codec is not yet available in Video Studio so you can only author about 20 minutes of video in MPEG-2 format on a DVD blank.  The disk format is also different so even though I authored it on a regular DVD burner that burner couldn't recognize it, only an HD-DVD ROM drive can.  If VC1 or MP4 were available as an encoding option then one could probably put an hour's worth of video on a disk and possibly two dual layer.

This is also my second high def DVD player as my first was the AVeL Linkplayer2 which is a network DVD player with a Sigma Graphics chipset that can play MPEG-2, DivX, WMV and MPEG-4 files and streams as well as regular DVDs.  I use it a lot as an HD player for streams I record to my computes using my QAM tuners.  IOW my own multiple tuner DVRs.   It also upscales regular DVDs over component though the manufacturer took that away in later firmware which I of course did not update to.  The Toshiba though it plays HD over component does not upscale regular DVDs over component and if you play a regular DVD flashes a message that upscaling is prohibited over component and is switching to 480p.  My guess is that Hollywood execs who got boondoggled into the no upscaling over component thing are a little embarrassed nowadays.   Rumor is that HD player will never downrez HD-DVDs or Blu-Ray disks or if they do not until 2012 when most people will have replaced their component only sets.

More Video Gadgets


The latest in my acquisitions has been an Aiptek A-HD camcorder.  This is my second HD camcorder from Aiptek.  The first was their GO HD and this one is a little bit of a stripped down version priced at $179 MSRP.  I suspect the price  in intended to get it on the shelves of stores for the Christmas season.  The GO HD which I bought back in May had a $280 MSRP and was available only online.  However, I was able to pick up the A-HD at my local Circuit City store.   The GO HD recorded 720p video at 30 fps but the A-HD records at the NTSC rate of 29.97 fps.  The GO HD files weren't very compatible with a lot of video players whereas the A-HD files are.  Both cameras are based on the Ambarella A1 chipset and encode video with the AVC1 codec and audio AAC in a QuickTime MOV wrapper.  This means they are basically AVCHD files. 

The files are stored on SD memory cards and the cameras accept up to 8 GB cards though Aiptek is now claiming up to 32 GB cards.  Since the video is only recorded at 4 mbps the faster SDHC cards aren't necessary though the larger cards only come in that format.

However only very recent versions (September 2007) of the QuickTime player seemed to be able to play these files properly.  Editing files was another problem.  Only Nero Vision seemed to be able to import the files and render them to other formats properly.   One GO HD user mentioned he had some success editing by changing the GO HD files extension to MP4.  Since QuickTime is the wrapper for MPEG-4 there is very little difference but some NLE programs appear to deal with the file differently if has the MP4 extension.  The rename didn't work for me with my GO HD files but it did with my A-HD files.  Sony's Vegas Movie Studio Platinum 8 imported most of the files though a few crashed with a Quicktime DLL error, however Ulead's VideoStudio 11 Plus and Pinnacle Studio Plus 11 both imported the files that crashed in Movie Studio.   Though Sony and Ulead products can import QuickTime MOV files the Sony import left out the audio and Ulead had problems rendering from the MOV file.  No such problems occurred when the files were renamed to MP4.

Here's an MP4 podcast of a clip made with A-HD files and edited with Nero Vision 4  which may or may not work on your computer.  If not you can just download the file which may work in a standalone player such as VLC, MPlayer or QuickTime player.  With the QuickTime plug-in on my Windows XP machine it didn't get the aspect ratio right and had problems decoding.  I will probably replace this will a  link to a WMV and this file shortly.


Played: 959 | Download | Duration: 00:01:13

Tech Toys

This is the first official entry at my blog.   There was a dummy placeholder that I created to get the hang of GoDaddy's blog system so I could help a friend with his blog.  This blog might be of more interest than the astrology one a certain Mr. Perry has directed people to.

Oh Boy, Toys!

My Christmas gift to myself this year was a cool tech toy, the HDHomeRun Networked Digital TV Tuner from SiiconDust .   This little box hooks up to your TV antenna or cable and can receive either ATSC over the air signals or cable QAM signals.  Living in a valley in Martinez there are no over the air signals but I do have Comcast cable.  There are two tuners on the box and it is capable of sending two programs at once over the network for recording.

This is definitely a geek toy buy SiliconDust did have a booth a CES this year probably trying to drum up a deal with someone like Pinnacle or ATI, etc. for the box.  The product arrived with no documentation or software but included a note to download software and instructions on the web site.  I had already downloaded the Windows and Linux archives so was ready to go.

I already have a DVICO FusionHD Gold card on my video editing machine which can tune in QAM channels and I have been using it for around two years to record shows.  The neat thing about the HDHomeRun is that other than recording two shows at once I will work in Linux and with my laptop.  The unit is small and light so I can take it on the road with me.  Not that I'm a big TV junkie but the networks tend to plot against us by putting there better shows up against each other so multiple recording options are nice.  And I hate to watch commercials (more on that later). And yes it can work with a crossover cable so you don't necessarily need a network.

The downloadable software works on Windows requires .Net 2.0 which was already installed though I had to install it on my laptop and works with VideoLan.  There is a button on the software which will bring up VideoLan and display the channel you have selected.  Recording the show was a little trickier but mainly consisted of bringing up another instance of VLC and setting it to record the stream.   Under Linux you compile the command line interface program and run it to control the device.   However if you just want to record a show then you can just open VLC and set it to record then send the stream using the CLI.

My next exploit was to set up MythTV on my Linux box which it running Ubuntu 6.10.   That was a bigger challenge than I expected.  There is a bad problem with a lot  of Linux developers: they love to write programs but pretty weak on writing documentation.  They skip steps.  Anyway after many installs uninstalls and perusing the net and trying to make sense out of Ubuntu's MythTV installation instructions (which I would call incomplete) I finally got it working. 

Unfortunately I am a little underwhelmed.  Maybe if I had a lot of shows to record it might be handy but most likely I will write my own little GUI to automate the scheduling of programs for recording.  The FusionHD interface is relatively simple and straight forward and the HDHomeRun needs something similar.  Installing MythTV is a bit more daunting than it needs to be but I can understand why they developed it that way.

Then today I decided to fix this box's Sun Java installation which never worked.  After I record programs when I play them back on my 53" HD set I use my AVeL Linkplayer2.  This machine already had the AVeL Linux server on it but it never ran because a conflict between 3 versions of Java on the system.  In this case Ubuntu's quick little tutorial instructed me to do an additional command that select the Sun version as the default and AVeL's server worked fine.  So does MythTV's so I have my choice of two servers from this machine.

Now about those commercials.  One of the handy programs I have on Windows is HDTV2MPEG.  This free little utility can scan an HD transport stream, find the commercials and select where they are for deletion.   You can either delete what they've selected or check the areas around the commercials as the program can't detect HD commercials just 4:3 SD commercials.  IOW, it scans for the pillarboxing.  It is easy to cut out the few HD commercials if there are any.  Run the program and you have a version without commercials.  But wait there's more....

Turns out when you do those cuts then the MPEG timecode gets off.  This can result in a long pause or sound being off sometimes after a commercial.  The next solution is to run the resultant file through a QuickFix using the commercial program VideoReDo which is a very handy tool.  This corrects the timecode.

A lot of work?  Well one can always fast forward using the AVeL remote if you can figure out what percent of the file to skip over.  With the HDTV2MPEG cut version sometimes just skipping 1% will take you beyond the commercial cut.  After all who has an hour to waste when the content of a TV show is only 43 minutes?

Links to stuff mentioned:
HDHomeRun: http://www.silicondust.com/
FusionHD: http://www.dvico.com
AVeL Linkplayer2: http://www.iodata.com/usa/
HDTV2MPEG: http://www.eecs.umich.edu/~balazer/HDTVtoMPEG2/index.html
VideoReDo: http://videoredo.com