tag:blogger.com,1999:blog-93696702024-03-14T03:04:55.058+11:00peteruThe ramblings of a Computer Scientist.Unknownnoreply@blogger.comBlogger26125tag:blogger.com,1999:blog-9369670.post-50633469110982066652017-11-25T00:28:00.000+11:002017-11-25T00:29:59.382+11:00Brewing is fun, but...Brewing beer is fun, but like most hobbies, once you dip your toes in, you find that more equipment results in more fun and better results. In the case of brewing, temperature control is one of the most fundamental aspects.<br />
<br />
I've been using a Grainfather for mash and boil steps and a hacked freezer with an Inkbird controller for fermentation and cold crash. For serving beer, I have a Keg King series 4 kegerator with Intertap taps.<br />
<br />
Lately I've been looking at improving the fermentation stages. Ideally, I'd like to build a closed system capable of temperature controlled fermentation under pressure. While I am not too impressed with the Grainfather, iMake (the company that makes the Grainfather) have other products that seem interesting. At the moment, they are running a competition where you get to build your own <a href="http://a.pgtb.me/SR9NrL/ng5C2?w=63113589&e=176752522" rel="nofollow" target="_blank">wish list</a>, so I picked a few items that might come in handy when it comes to mash, boil and fermentation.peteruhttp://www.blogger.com/profile/00642546477946423785noreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-77679587627810216492014-11-26T22:40:00.002+11:002016-06-16T08:55:53.957+10:00All I want for...All I wanted for my birthday was a pair of <a href="https://plus.google.com/109664697267010801418/posts/KemAwofymbC" target="_blank">Sharks Pants</a> and a <a href="http://www.deliriumcafe.be/black-albert.html" target="_blank">Black Albert</a>? Was that too much to ask? Apparently!<br />
<br />
Luckily <a href="http://www.leuracellars.com.au/Shop/Beer" target="_blank">Leura Cellars</a> had some pretty awesome consolation prizes and they delivered fast!<br />
<br />peteruhttp://www.blogger.com/profile/00642546477946423785noreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-48398310359264964432011-08-04T15:36:00.001+10:002011-08-04T16:46:17.829+10:00SDHC Card performanceI've been recording a few 1080p videos with a Panasonic Lumix GH1 camera, using a Transcend 32 GB Class 6 card. Lately, the camera started reporting errors, complaining about the card being too slow. I also experienced a few write errors on the camera, which resulted in the camera reporting that the card is faulty. Formatting the card did not help. To make sure that the camera is not at fault, I tested with a Sandisk Class 4 card. As expected, there were no issues with the Sandisk card and it was fast enough to record video.<br />
<br />
I decided to perform some more thorough testing on the Transcend card using a Linux system. I decided to examine the sequential write performance of the entire card. For this, I started KDE System Monitor and configured it to plot the read and write speeds on the device. I then used dd to write zeros to the entire card, using sequential writes in 4MB blocks. I also repeated the test with 4kB blocks. Given that this type of test bypasses any filesystem fragmentation issues, a Class 6 card must never write slower than 6MB/s - on any part of the media. As you can see from the attached screen shots, the card performed to specification only in certain areas. There are a number of occasions where the write performance is well below the requirement of a Classs 6 device.<br />
<br />
Interestingly enough, the areas of poor performance do not appear in exactly the same locations between tests and also do not seem to be of the same size. I have no definitive explanation for this, but I guess it could be due to something like a wear levelling algorithm being applied, or perhaps bad block re-mapping. Then again, it could be some other issue that's more intermittent and the slowdown is a result of multiple retries and error detection and correction algorithms doing their work. I guess the manufacturer will have means of pinpointing the issue more accurately, but it's unlikely that they would report the root cause back to the end users. Still, it would be educational to find out what goes wrong in memory cards.<br />
<br />
Transcend offer a Lifetime Warranty on their cards, so I will contact their technical support to request a replacement. I've tried to use their on-line RMA form, but it seems that this is only available to customers in USA. We'll see how well Transcend looks after their Australian customers - I'm about to contact their technical support in Taiwan.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKEjZuoKkHGpPli6-RCBs7UxeVajqoZzdNZe4hVKhFbc4rAHLtaAnUCRLeVScpVKWi5aw6KHCfnZgammrb26yFHkPJ6FRhw_mW7g8n0jYuzGfIdGIQY6GBc1iQ9g5Bsg21wzduDw/s1600/Transcend_32GB_Class6_Test3.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKEjZuoKkHGpPli6-RCBs7UxeVajqoZzdNZe4hVKhFbc4rAHLtaAnUCRLeVScpVKWi5aw6KHCfnZgammrb26yFHkPJ6FRhw_mW7g8n0jYuzGfIdGIQY6GBc1iQ9g5Bsg21wzduDw/s1600/Transcend_32GB_Class6_Test3.png" style="cursor: move;" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Transcend 32GB Class 6 SDHC write performance - sequential 4MB writes.<br />
</td></tr>
</tbody></table><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-nOb0r2lBiuli-gnLkraX9MhIuu4Y-VK7Tk0huIS5_gGpsGGjaa7fj6Er9LKvGWA_62hhHRq4hJy4lUZyfDYo_hQDSkVYwqkgzrQczHYeEch8jtT_XNmt3zb2sx97oPRv9iEeg/s1600/Transcend_32GB_Class6_Test4.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc-nOb0r2lBiuli-gnLkraX9MhIuu4Y-VK7Tk0huIS5_gGpsGGjaa7fj6Er9LKvGWA_62hhHRq4hJy4lUZyfDYo_hQDSkVYwqkgzrQczHYeEch8jtT_XNmt3zb2sx97oPRv9iEeg/s1600/Transcend_32GB_Class6_Test4.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Transcend 32GB Class 6 SDHC write performance - sequential 4kB writes.</td></tr>
</tbody></table>peteruhttp://www.blogger.com/profile/00642546477946423785noreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-52086181956786157892009-09-15T00:16:00.003+10:002010-03-30T12:03:34.799+11:00puppy is an old dog nowI have long ago upgraded from a Topfield PVR to a Beyonwiz PVR, so puppy has not really been getting any attention for a few years. It's an old dog now and I won't be teaching it any new tricks.<br />
<br />
Since puppy was developed, Linux USB support has improved tremendously. As the Linux kernel matured, advances were made in the APIs that the kernel presents to user space. The supporting user space libraries have also evolved in the last five years. Current Linux kernel supports USB3 - well before Windows or OSX. Such improvements have lead to some APIs, such as usbfs, being deprecated.<br />
<br />
The main objective behind developing puppy was to create a utility that could be used in embedded Linux devices. Almost all such embedded devices still run older Linux kernels, so I will not be upgrading the puppy code to switch from the now deprecated usbfs implementation to the new sysfs API. I don't really have the means to test the changes. Current Linux kernels still have support for usbfs, you just need to turn it on.<br />
<br />
To bring back the <code>/proc/bus/usb/</code> entries, rebuild your kernel with <code style="font-weight: bold;">CONFIG_USB_DEVICEFS</code> enabled and<br />
<blockquote><code>mount -t usbfs none /proc/bus/usb</code></blockquote><br />
That's all you should need to make your system compatible with puppy.<br />
<br />
<div style="border-top: 1px dotted grey"><span style="font-size:75%; font-family: sans-serif;">A third party patch to add sysfs support to puppy is available <a href="http://www.cm.ph.bham.ac.uk/software/source/puppy_1.14.sysfs.patch">here</a>. There is no matching patch for ftpd-topfield, however the above recipe should get ftpd-topfield working again.</span><br />
</div>peteruhttp://www.blogger.com/profile/00642546477946423785noreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-65358183171344671792008-04-10T16:26:00.001+10:002008-04-10T16:44:50.063+10:00puppy 1.14 releasedA new release to implement a few requests from users. In particular, support for Ubuntu and for the USB accelerator firmware patch.<br /><br />Since I no longer use a Topfield PVR, the changes in this release have not been tested. The changes are fairly simple, so I don't expect problems.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-9369670.post-8133338041919781172007-08-10T17:16:00.000+10:002007-08-10T17:28:18.194+10:00Artbox becomes Final Cut ServerAs I posted in December last year, Apple have bought Proximity. The acquisition included a product named Artbox, which is one of the projects I worked on at Proximity. I have written most of the user interface for Artbox.<br /><br />Apple are about to start shipping a new product called <a href="http://www.apple.com/finalcutserver/">Final Cut Server</a>, which is based on Artbox. There have been many changes under the hood, including a move to Apple's Compressor for transcoding, however the user interface appears to be substantially the same.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-9369670.post-67704826908070664162006-12-06T23:41:00.000+11:002006-12-07T08:32:20.085+11:00Proximity technology acquired by Apple.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZVYDRUiVnvgDtRNUdL0Ya9afia0EmB6u-Kp9_z1Ay4VaiV_6BAW3j808hlZPUeJIPAyy5fJgDbNAv-oLBfSASQGy8cvj-oSr28G3Tb0JZaHm-ND8NuW3cj1uxvhf2jIxakFhG9A/s1600-h/emmy.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZVYDRUiVnvgDtRNUdL0Ya9afia0EmB6u-Kp9_z1Ay4VaiV_6BAW3j808hlZPUeJIPAyy5fJgDbNAv-oLBfSASQGy8cvj-oSr28G3Tb0JZaHm-ND8NuW3cj1uxvhf2jIxakFhG9A/s400/emmy.jpg" alt="Proximity Emmy" id="BLOGGER_PHOTO_ID_5005529028188972210" border="0" /></a><br />A short blurb on the <a href="http://www.proximity.com.au/">Proximity</a> web page says that "all Proximity technology and intellectual property was recently acquired by Apple." I used to work for Proximity until the company started experiencing cash flow issues. I certainly hope that the Apple involvement is a way to inject resources into the excellent work that was being done at Proximity. The development team we had at Proximity here in Sydney was a very talented bunch and work was very enjoyable. Proximity was the first (and possibly remains the only) Australian company to win an Emmy award.<br /><br />This is not the first time that something like this has happened. Back in the 1990's I worked on embedding video streaming technology and building two way interactive systems, including VOD. The company that was originally involved in the R&D of these technologies run out of money (due to law suits on an unrelated project) and the technology ended up being acquired through a string of takeovers by <a href="http://www.real.com/">Real Networks.</a> These days, the technology I developed for embedding video content is everywhere. Unlike the guys at You Tube, I didn't get filthy rich.<br /><br />Perhaps I should have patented all the work I have done - even 0.1% of a few hundred million dollars here and there would come in handy!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-45695650174008656382006-11-20T01:01:00.002+11:002011-07-15T00:48:36.105+10:00The avatar<a href="http://photos1.blogger.com/x/blogger2/6214/1143/1600/591567/fluffheadinonsen.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Monkey in onsen" border="0" id="BLOGGER_PHOTO_ID_invalid" src="http://photos1.blogger.com/x/blogger2/6214/1143/400/374696/fluffheadinonsen.jpg" style="float: right; margin: 0pt 0pt 10px 10px;" /></a><br />
I've been using the same avatar for many years now. A few times people have asked about it's origin. The avatar is a cropped part of the picture on the right.<br />
<br />
The monkey is a snow macaque in an onsen at Jigokudani, near Nagano, Japan. For those of you familiar with the movie Baraka, these are the same group of monkeys that are depicted at the beginning of Baraka, dozing in the hot spring bath.<br />
<br />
I took the picture in 1999, while living in Japan.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-72544017101544397682006-11-15T19:30:00.000+11:002006-11-15T22:13:17.505+11:00Long time between updates.It's been almost a year since the last update to this blog. A lot of stuff has happened. I've done research and development work for <a href="http://www.icetv.com.au">IceTV</a>, working on projects such as <a href="http://www.icetv.com.au/pimp">PIMP</a>, <a href="http://pimpmytv.com.au">PIMP for mobile devices</a>, IceBox2, IceGuide solutions for a number of third party PVRs and many other projects that remain either confidential or unnamed.<br /><br />As a result of the Channel Nine legal challenge, the IceTV IPO was canceled, which affected the amount of funds available for research and development. The net result was that even though IceTV would have been very keen to have my services and I would have liked to do R&D for IceTV, I had to look elsewhere to find paid work.<br /><br />That paid work is being the technical lead on a new class of a home entertainment product. It's an interesting blend of new and old technology applied in a pragmatic manner. Rather than being carried away by the technological possibilities, the development has concentrated on the expectations of the average person.<br /><br />There are both good and bad sides to developing such a device. The hardest part is the <span style="font-style: italic;">dumbing down</span> of the product. There are so many possibilities that the tech-savvy power user could and would have in the device, but in the grand scheme, these features would only confuse 90% of the potential users. On the opposite side of the spectrum is implementing the <span style="font-style: italic;">obvious</span> features, which more often than not present problems that are hard to solve. Take, for example, the ability to treat analogue and digital inputs in exactly the same way. A reasonable expectation, yet there are many scenarios where it starts getting complicated and expensive in terms of hardware design.<br /><br />The product is not something I would have designed for myself, it is something intended for the in-laws and their friends. They don't care whether the phone uses CDMA or GPRS, whether the TV is analogue or digital, whether the car stereo plays MP3 or 8-track. They just want it to work without having to think very hard about which button to press. There are millions of people like that out there.<br /><br />On the plus side, if we get this right, just about everyone in Australia would have heard of the product by this time next year.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1132809510516376412005-11-24T15:44:00.000+11:002006-11-13T00:30:53.393+11:00Thank you to those who donated.I would like to thank all the users who donated funds after reading my post on the Toppy.org.uk forums. Some of the work I have done for the Toppy community:<br /><ul> <li><span style="font-weight: bold;">puppy</span> - Linux software for talking with Topfield PVRs. Forms a basis for various other solutions, such as ftpd-topfield.</li> <li><span style="font-weight: bold;">NSLU2 firmware</span> development - ensuring that the alternative firmwares developed by the NSLU2-Linux community can be used to connect to Topfield PVRs.<br /> </li> <li>The <span style="font-weight: bold;">TAP Project</span> at BerliOS - resources for TAP developers.</li> <li><span style="font-weight: bold;">TGD specification</span> - the defacto standard for getting EPG and timer data onto a Topfield PVR. Cornerstone technology for both applications such as TED/TEDS and for TAPs, such as EPG_uploader.</li> <li>Open Sourcing of <span style="font-weight: bold;">icebox</span> - development and subsequent Open Source release of a commercial platform for delivering an EPG feed to Topfield PVRs. This technology uses a wireless router, customised to deliver EPG and TAPs to your Toppy without the need to have a PC connected or turned on.</li> <li>The original <span style="font-weight: bold;">JavaXMLTV to TGD harvester</span> - only a prototype to demonstrate the process of EPG delivery to the Toppy, this hack has now become a defacto standard for getting Australian EPG onto the Toppy.<br /> <span style="font-size:85%;">(BTW: I do not endorse the use of this solution anymore - an IceGuide subscription from IceTV is preferable)</span><br /> </li> </ul><br />You can use the Paypal button to send a donation if you have not had the opportunity to donate yet.<br /><br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="cmd" value="_s-xclick" type="hidden"><input src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" border="0" type="image"><input name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7----- " type="hidden"></form><br /><br />Your contributions are very much appreciated. The total amount donated in one week since the post is roughly equivalent to the total amount donated in the previous 12 months.<br /><br />It is good to see that there are people in the community who appreciate the efforts to further evolve the limited functionality provided by vendors of various devices to a level that actually suits consumers.<br /><br />The collected funds come just in time for my birthday and will be pooled together with my "birthday money" to purchase resources required for development of solutions that allow the Toppy to better integrate into your digital lifestyles.<br /><br />I expect to be involved in a project that builds on top of technologies such as puppy and provides the ability to remotely control your PVR. Appropriate announcements will be made in due time.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1128068482513153122005-09-30T18:20:00.000+10:002006-11-13T00:30:53.283+11:00Support for 64 bit platformspuppy has received a few fixes to enable correct operation on 64 bit platforms. Success has been reported on amd64. <br /> <br />Version 1.12 of puppy will include these fixes when it is released. In the meantime, the CVS version should work for those who don't want to wait for the next release.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1125130917162400622005-08-27T18:25:00.000+10:002006-11-13T00:30:53.183+11:00Version 1.11 released.First of all, I'd like to thank all three individuals for contributing funds towards the project. The amount of money collected from donations is minimal. Not quite enough to pay for 50% of an NSLU2. Donations are of course optional, but encouraged. Any amount will be accepted.<br /><br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="cmd" value="_s-xclick" type="hidden"><input src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" border="0" type="image"><input name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7----- " type="hidden"></form> Thanks! <br /><br /><span style="font-weight:bold;">Now, onto the main news...</span><br /><br />I have finally managed to implement workarounds for bugs in the Topfield USB implementation. Puppy 1.11 is the result of several months worth of troubleshooting, reverse engineering, USB bus snooping and other tedious work. It may have not been this difficult if Topfield had cooperated, however I could not get them to even acknowledge my emails or return phone calls.<br /><br />This release has undergone rigorous testing, including the transfer of several hundred gigabytes of data and transfers of over 4,000 files in both directions. Most of the testing was performed on a Linux workstation running 2.6.12-gentoo-r7 and ehci_hcd. The tests involved uploading the data to a Topfield TF5000PVRt and then downloading them again. To verify data integrity, the md5sums of the original files and the downloaded files were compared. Some testing was also done on an NSLU2 running OpenSlug 2.5 beta.<br /><br />This release changes the way turbo transfers are handled. Previous versions allowed the -t switch to enable turbo transfers only during put and get commands. The new version removes the -t switch and introduces the turbo command. The turbo command takes either 0 (zero) or 1 (one) as the argument to disable or enable turbo mode. Once turbo is enabled, it will persist until explicitly turned off.<br /><br />The USB timeout has also been increased so that puppy does not timeout when the hard disk needs to spin up. While this is sufficient in most instances, there are still occassions where the timeout is not long enough. For example, deleting a directory with 2,000 files can take almost a minute. This will cause a timeout.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-1110537525630926762005-03-11T21:30:00.000+11:002006-11-13T00:30:53.084+11:00Donations accepted, development continues.You will find a donations button on the left hand side of this page. I will gladly accept any amount of money you care to contribute towards this project. Development is not only time consuming, but the cost of reference books and hardware can be quite high too.<br /><br />Solutions like puppy ultimately benefit the vendors of the hardware by providing free publicity and increasing the sales of their hardware. Requests to Topfield for donation or loan of development hardware go unanswered. I am now asking the community to pitch in and donate towards the cause. This is entirely optional and the donation does not have to be large.<br /><br />The development of puppy has not halted. The following items are on my list of things to do next:<br /><ul> <li>Make puppy work with kernel 2.6 based Linux distributions.</li> <li>Diskless version - no need for external disk or USB flash, transfer directly to a networked PC.<br /> </li> <li>Wireless version - no cables to worry about.<br /> </li> <li>Web interface - configure everything using your browser.<br /> </li> <li>Standalone flash image - just flash and use, no need to perform any complex installation steps.<br /> </li> </ul> All of the above are significant chunks of work and just like the initial development of puppy will require some time.<br /><br />So, send some money or even just a message of encouragement - contact details are just to the left.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-9369670.post-1106837729481188332005-01-28T01:55:00.000+11:002006-11-13T00:30:52.983+11:00puppy wiki updatedI spent a bit of time updating the puppy wiki at <a href="http://puppy.sf.net">http://puppy.sf.net</a>
<br />
<br />New users and particularly users with limited or no Linux experience, should now be able to follow fairly detailed steps, showing them how to achieve a number of tasks. These tasks range from simple things, such as changing security permissions on files, to enabling large file support, mounting networked drives, enabling secure shell and even simple scripting for doing batch uploads of .tgd files containing EPG data.
<br />
<br />Even if you have been using the NSLU2 with puppy for a while now, I would suggest having a look at the wiki, just in case there is some new information.
<br />
<br />As always, user contributions are welcome and encouraged. Just click the edit button present at the top/bottom of each page and add your bit. If unsure, feel free to discuss the matter at the Topfield Australia Forums in <a href="http://www.topfield-australia.com.au/frm/topic.asp?TOPIC_ID=790">this thread.</a>
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-1105719066479314082005-01-15T03:00:00.000+11:002006-11-13T00:30:52.899+11:00Performance tuning.I spent a bit of time on optimising puppy to improve performance on the NSLU2. The main issue with the Topfield USB protocol is that it is very sensitive to latency.
<br />
<br />I adopted an aggressive optimisation strategy for the main codepath used in the <tt>get</tt> operation. The resulting changes improve the peak performance from 9.54 Mbits/s to a reasonably good 16.39 Mbits/s. That's approximately a 170% speed improvement and brings the performance of puppy on NSLU2 within the ballpark of Altair on a PC.
<br />
<br />I will need to do more testing before unleashing a new version on the public, but the initial results look promising.
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-1104907086340963102005-01-05T17:34:00.000+11:002006-11-13T00:30:52.809+11:00puppy 1.5A new release of puppy made it out last night. Version 1.5 adds the ability to create directories on the NSLU2. This will help in the long run as part of a fully automated EPG transfer solution.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1104405665411260512004-12-30T22:00:00.000+11:002006-11-13T00:30:52.713+11:00puppy 1.4 out and about unslung 3.x in betaVery few updates in the recent past, mainly due to birthdays, Christmas and flu.
<br />
<br />Work on puppy has not stopped, in fact, puppy is now at version 1.4. I got sidetracked for a little while and collaborated on an EPG file format specification used to ingest 7 day EPG data to the Toppy. The result is a data converter that will convert JavaXMLTV object database to Topfield Guide Data (.tgd) file, which can then be uploaded to the Toppy using puppy and ingested by an EPG uploader TAP. This gives the user the ability to have a 7 day EPG uploaded to the Toppy.
<br />
<br />It works well.
<br />
<br />In the meantime, Unslung 3.x made it into beta. This means that the standard unslung firmware is now perfectly capable of supporting puppy out of the box. Users do not need to follow any special instructions for a puppy compatible NSLU2 install.
<br />
<br />The other time consuming task has been answering questions from puppy users and potential users. Clearly the combination of NSLU2 and puppy is a great enabling technology with lots of potential. There are a lot of things that could be achieved, but I only have so much time on my hands.
<br />
<br />The creation of puppy has been driven by my own needs and as soon as those needs are met, I tend to move on. I am quite comfortable with command line interfaces and shell scripts, so GUIs are very low on my list of priorities. (Not to mention that by the time I am done with my day job, I've had it up to here with designing and implementing GUIs :)
<br />
<br />There's plenty of scope for other people to implement GUIs and other icing / usefull features on top of the work I have started. I would be very happy to co-operate with others to help them with whatever puppy related projects they may wish to undertake. After all, it will benefit everyone, including me. Interested developers should contact me - <font color="#800000">toppy at urbanec dot net</font>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1103124634959884892004-12-16T02:20:00.000+11:002006-11-13T00:30:52.640+11:00puppy 1.1 tagged.The next beta installment has been tagged in CVS as <code>PUPPY_1_1</code>.
<br />
<br />Once the change propagates to anonymous CVS, the unslung package will be updated and puppy 1.1 will be available for install to anyone with an NSLU2 running unslung firmware.
<br />
<br />Changes from 1.0 to 1.1 include some internal cleanup of the code, implementation of delete and rename functions, device auto-detection, file permission setting for downloaded files, various packet tracing options, better error detection and reporting and code portability improvements.
<br />
<br />Thank you to rwhitby and cazlar for their contributions / assistance.
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-9369670.post-1103042504104787402004-12-15T03:42:00.000+11:002006-11-13T00:30:52.539+11:00more features added.Today, puppy gained a delete implementation that works and a rename implementation that does not. The rename bug is a rather nasty one and causes the Toppy to completely destroy the source file. The checked in change has rename disabled and it will print a warning.
<br />
<br />I have my suspicions about the cause of this. I think it is related to the byte swapping algorithm and packet size adjustments required by it. I will address this issue as soon as I have the time. This could also be causing issues seen by x86 users trying to use puppy on Linux 2.6 desktops.
<br />
<br />There have been a few other internal changes to some of the USB protocol handling. In particular, the protocol packet size constraints are now easier to follow and will actually cause an error, rather than issuing a command with truncated payload. This is unlikely to affect any legitimate use, since the check will only come into effect if the combined length of all command arguments in a packet reaches about 64kB.
<br />
<br />Puppy is approaching a 1.1 release. Once the rename bug is sorted out, puppy will be tagged as <code>PUPPY_1_1</code> and a new beta package will be pushed.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1102946295750778232004-12-14T01:55:00.000+11:002006-11-13T00:30:52.447+11:00troubleshooting enhancements.puppy troubleshooting options have changed slightly.
<br />
<br /><code>-v</code> now shows verbose tracing output, but does not dump protocol packets.
<br /><code>-p</code> will print packet headers - this should be sufficient to observe protocol state issues.
<br /><code>-P</code> will dump the entire packet contents, both as hex and ASCII. This output could use some prettyfication. Patches gladly accepted!
<br />
<br />I also created a new IRC channel so that other puppy developers can get near real-time help. Join <b>#puppy</b> on irc.freenode.net.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1102945581898537532004-12-13T02:00:00.000+11:002006-11-13T00:30:52.366+11:00puppy now in beta.The alpha testing stage of puppy went well and puppy has gone from alpha to beta.
<br />
<br />The puppy package has been added to the standard unslung package feed and can be installed simply by using <code>ipkg install puppy</code>
<br />
<br />Please see the wiki for more information on what version of unslung firmware is required by puppy.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1102743600326837802004-12-11T16:40:00.000+11:002006-11-13T00:30:52.293+11:00puppy unslung package in alpha.It turns out that the issues with compiling puppy as an unslung package were related to compatibility issues between Linux 2.4 and Linux 2.6. I have backported puppy to work with Linux 2.4, while still maintaining compatibility with Linux 2.6.
<br />
<br />The changes have been committed back to SourceForge CVS repository. The CVS tag <code>PUPPY_1_0</code> can be used to check out this initial version. The same tag will be used to build the <code>puppy_1.0-1.ipk</code> unslung package.
<br />
<br />Alpha testers can build the puppy unslung package right now, by checking out the current version of unslung from CVS and then doing a <code>make puppy-ipk</code>. As soon as I have a couple of reports of success, I will add puppy to the normal unslung package feed. Once that is done, puppy will be available for installation to anyone interested.
<br />
<br />I'll be updating the puppy wiki page with more explicit instructions shortly.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1102516146496349362004-12-09T01:30:00.000+11:002006-11-13T00:30:52.211+11:00puppy unleashed.The source code to puppy has been uploaded to the SourceForge CVS repository. Look for it at <a href="http://sf.net/projects/puppy">http://sf.net/projects/puppy</a>
<br />
<br />rwhitby started work on turning puppy into an unslung package, however there are some issues. I developed puppy using the OE cross-compiler and that works just fine. But when attempting to use the crosstool environment, as used for unslung packages, the compile process just blows up.
<br />
<br />I'll take a look at the issues as soon as I can, but that may not be until the weekend. If anyone can help solve this issue, I'd be happy to accept patches. Please use the SourceForge facilities to send a patch.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1102343701346332102004-12-07T01:40:00.000+11:002006-11-13T00:30:52.087+11:00Home for puppy found.The name of the project is now set in stone. It is <span style="font-weight: bold;">puppy</span>. The new official home for the project is <a href="http://puppy.sf.net/">http://puppy.sf.net</a>. The NSLU2-Linux project has kindly provided a whole new section on their wiki just for puppy. Special thanks must go to rwhitby for helping with all the administrative tasks.
<br />
<br />The source code to puppy will be uploaded to the SourceForge CVS repository within the next week. It will be released under the GPL, but there are a few minor items to sort out first.
<br />
<br />Puppy had quite a good work out over the last week and downloaded in excess of 100GB of data from my Toppy. All without any problems at all.
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-9369670.post-1101737880298045552004-11-30T01:20:00.000+11:002007-08-16T00:42:16.467+10:00Answers to initial round of questions.The announcement of this blog page has created some interest. As anticipated, the questions started coming in. Here are a few answers to some of the more pertinent questions.<br /><br /><span style="font-weight: bold;font-size:130%;" >Is this a Linux replacement for Altair?</span><br /><br />Yes and no. The software I wrote is targeted at Linux running on an embedded ARM processor. The target ARM platform is running in big endian mode as opposed to little endian mode used by Linux on x86. There are other portability concerns to take into consideration, such as the way the compiler packs structures. I tried to write portable code, so making the software work under Linux on x86 should be trivial, but it is only tested on the NSLU2. I'm quite happy to leave the porting effort (if any at all) to others.<br /><br />The software I wrote is not exactly a replacement for Altair. It does not have a GUI or all the capabilities of Altair. The long term plan is to add all the functionality that can be supported, such as turbo mode, file renaming, file deletion, etc.<br /><br />I have no plans for a GUI, since the software needs to run on a headless embedded system. I expect that at some stage a web interface will be created to allow the user to initiate transfers between any drive on the network and the Toppy.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Should I buy the NSLU2 hardware now?</span><br /></span><br />I like gadgets that serve a purpose. I like gadgets that can serve several purposes even better. The great thing about the Linksys NSLU2 is that it is a pretty handy device on it's own and it can be reprogrammed to do other things. If you can use a box that allows you to attach USB hard disks to your network, then by all means go ahead. Even if this project dies tonight, you will have a device that serves a purpose.<br /><br />If you are a Linux hacker and want to get involved, then I would encourage you to get a NSLU2 now. You want to make sure that you have your toy in time for Christmas.<br /><br />If your only purpose for the NSLU2 is to add an easy to use Ethernet interface to your Toppy, I would suggest that you wait until the project gains momentum. I expect that eventually it will be easy enough for a Windows user with minimal skills to get going, but we are nowhere near that goal just yet.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Where should I buy my NSLU2 from?</span></span><br /><br />Since I don't have any incentive to recommend one vendor over another, I won't mention any one in particular. I am quite happy to recommend a particular retailer if we can structure a mutually beneficial relationship. If I do end up recommending someone in particular, I will justify the reason for the recommendation.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Where can I get a copy of this software?</span></span><br /><br />You can't just yet. I need to take care of some house keeping before I unleash the project on the general public. House keeping includes such things as choosing a licence for the source (probably GPL), finding a home for the project (probably SourceForge) and of course writing developer documentation and guidelines. House keeping is tedious. I am not looking forward to it, but the plan is to get it done before Christmas.<br /><br />Most importantly, I'll have to choose a name for the project. Up until now, the project has been code named <span style="font-weight: bold;">puppy</span> and unless a better name comes out of somewhere, it will stay. Suggestions are welcome, but please don't come up with sad aberrations of words like Linux, Tux, Slug or Altair.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">When will it be finished?</span></span><br /><br />Probably never. I expect the project to be adopted by the community and evolve indefinitely. There will always be more features that someone will want.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Can I be a beta tester?<br /><br /></span></span>Not yet. I am looking for others to join in the development effort. Part of the development cycle is setting up the environment, building the binaries from the source code and testing. At this stage, getting everything set up is non-trivial and a new comer will probably require a fair amount of help. Any effort I put into helping others with set up is effort taken away from making further progress on the project. That is why I am only interested in other developers at this stage. We need to get some initial momentum, so that there are enough people putting in the effort and energy to add features, improve the software and distribution model and eventually help end users with deployment.<br /><br />If you want to get involved in development, start by getting yourself a NSLU2 and an external USB 2.0 hard disk. I currently use a 6GB laptop drive in a 2.5" drive enclosure powered by the NSLU2 and have a 36GB drive in a 3.5" externally powered enclosure just waiting to be used.Unknownnoreply@blogger.com0