Friday, July 22, 2005


It's about time I related what I've been up to while I've been working at Sharp. Since the beginning of October last year I've been developing the Generc Digital Display Driver System, or GDDDS if you want a terribly hard to pronounce acronym. I'm not very good at making up names for things.

'But what is it,' I hear you cry. 'What does it do?'

Sharp's much-hyped CG-Silicon technology makes it possible to make much smaller and more consistent components (such as transistors and resistors) on a glass substrate. The System Display Group, who I'm working with this year, use this technology to integrate complex digital and analog cicuitry into LCD display panels.

To generate an image on an LCD display you need to convert the binary code generated by the host device into a voltage applied to the liquid crystal. Traditionally this has been carried out by a small chip bonded to the panel's Flexible Plastic Connector, but one of the SGD's ongoing research project is to put that circuitry on the panel itself. The disadvantage of that is that the stimulus signals to drive the panel change completely, and the requirements for testing are very different as well. Creating a new board with new software to drive every single different panel designed by th SDG is costly and time-consuming.

This is where my project comes in. The project specification was to create a device that could adapt to generate any voltage required for a panel and all of the control signals, as much as possible under software control, so users didn't need to know how to program an FPGA or to design electronic circuits in order to configure it.

So I've spent most of the last year designing and building such a system, from the nitty-gritty of operational amplifiers to negotiations with contractors for layout and fabrication services, and I've learnt so much in the process that it's hard to believe it!

The architecture I came up with consisted of two main PCBs: Antony, the smaller of the two, which has the USB interface, the power socket, a simple user interface for configuration away from a computer, and 256 Mb of storage for image and configuration data; and Octavian, which has the signal and voltage generator hardware and the diagnostics connectors. In addition to designing those PCBs I had to write the Field Programmable Gate Array (FPGA) cores, and the user software for configuring the system.

Unfortunately, one of the truths of software engineering has been true all the way through the project: 'Always expect to throw one away.' I designed most of the schmatics in OrCAD, but design pricing and the fact that OrCAD corrupted my files meant that I had to rework the schematics from scratch using gEDA; and I wrote a complete FPGA core for Octavian, and then realized that I'd made a lot of bad decisions (asynchronous resets, poor partitioning between functionality, dire bus design) and had to rewrite that almost from the ground up. On the other hand, I've learnt an awful lot about electronic engineering in the real world, and I think it'll stand me in good stead in the future.

I'm having just over a week of holiday now while I go on my last OCYO tour (to Poland) and then I'll be in the final straight: getting my system working as specified, and writing the documentation required for people to use and maintain it after I've left the company.

Wednesday, July 20, 2005


I recently finished reading "Darknet: Hollywood's War against the Digital Generation", a book by J. D. Lasica that I picked up after reading the Slashdot review.

Lasica has a lot of interesting things to say about the attempts by "big media" to preserve the status quo of media distribution and copyright licensing. He points out such notable developments such as the continual battles by media companies to extend copyright to prevent works they control falling into the public domain; their total disregard for fair use (enshrined in such gems as the DMCA and the Broadcast Flag); and their inability to take advantage of the opportunities offered by the Internet.

In particular, he criticises the attitudes of media company leadership who would see all of the following made illegal without gaining permission of the copyright holders and paying a fee:

  • Copying your DVD collection to a media server so that you can access them anywhere in your house without having to traipse to the DVD stack and find the correct box
  • Using snippets of TV news broadcasts in a documentary on bias in television reporting
  • Being able to record TV shows you particularly enjoyed so that you can view them again sometime in the future
In fact, some of these are already technically illegal, although Lasica argues (and I agree) that they fall under the umbrella of fair use. The media companies seem to want everyone to just be good little consumers, and just fork out whatever they ask for material that we have to use in exactly the way they tell us to, rather than allowing us to be users, free to be inspired by and find creative use for the pictures or sounds we've already paid a substantial fee to use.

This book seem very well researched. Lasica quotes from interviews both with key industry figures such as Valenti and Lessig, and with top members of the internet "pirate" underground. In addition, he details many examples of reasonable usage of copyright material that is either illegal or would be under proposed legislation.

One example was really ridiculous: someone is filming a documentary, and for 4.5 seconds of one of the interviews, The Simpsons is visible playing on a TV in the background. The cost to put that shot into the final documentary? $10,000.

This book provides a wealth of evidence that copyright and "big media" are spiralling slowly out of control, and I recommend that anyone interested in the movie, television or music industries read it. I, for one, now feel more and more motivated to go out and find media that is made available under more reasonable terms than those dictated by an industry more interested in profits than in human creativity.

Tuesday, July 19, 2005

NEWTS is dead

A long time ago, I decided that it would be good to have my website auto-generated from reStructuredText markup. And now, having updated my website for the first time in goodness-knows-how-long, I've finally achieved that thanks to rest2web: a very nice piece of software, and it's even written in my new favourite language, Python.

So this means that NEWTS is officially dead. But I'm sure that's not a problem, as I think I would have noticed if anyone was using it (I'd have been inundated with complaints about its bugs and lack of features).

As you can see, I've also finally got around to making a new template for my blog, and now it fits in with rest of my website. About time too.

Update: Yes, the images on the blog don't show up in IE (I have no idea why not) and the CSS is broken in Safari.

The Internet, advertisements, and the mind

I'm often amazed how easily I take the internet for granted, even though it's a stupendous achievement of technological endeavour.

For example, when I'm playing EVE Online (a space-based massively multiplayer game), I'm in constant contact and/or conflict with 40-50 people. In my corporation alone we have both American and British pilots, and one of the alliances we frequently have conflicts with most frequently has members from all over Eastern Europe. The guy whose industrial ship is going through jump gate ahead of mine might be sitting at a computer next door or in Japan, and it makes very little difference.

I can read the exact transcriptions of debates in the House of Commons, mere hours after they're spoken. I can get up-to-the-minute news from the remotest parts of the planet, and eyewitness accounts a from people who post commentary on their weblogs.

When I sit at a computer that is connected to the 'net, I have at my fingertips more data than I could possibly imagine -- literally -- yet the majority of the time, it doesn't even occur to me to think of it as remarkable to me at all.

I'm equally suprised how little I notice advertisements any more. Even without using ad-blocking extensions to my browser, I can totally ignore banner ads, for example, to the point that they don't even register on my concious mind any more. I do of course notice pop-ups (when they don't get automatically blocked) and also those incredibly annoying scripted images that float on top of the page body, but the only effect that they have on me is to make me determined not to buy the product being advertised.

I think that this indicates something interesting about the human mind's ability to subconciously filter out material that is irrelevant to the task at hand, and I think this might be one of the reasons that television ads are generally more successful than internet advertisements: for TV advertisements you've got a captive audience, whereas internet ads are usually a distraction from somethingmore interesting that's going on at the same time. Another example of this unconcious filtering is network logos superimposed on the video stream being broadcast -- most of the time, they're just subconciously ignored.

Both of these things seem to me to be good examples of just how flexible and powerful the mind is -- but also how malleable.


A couple of months back, I bought myself a Sharp Zaurus C-3000, which is a totally awesome piece of kit.

It's a PDA, except it's got a big harddrive (3.6 GB), can act as a USB host and has a full keyboard. It's almost a mini-laptop! The screen is lovely (I'm spoilt by Sharp screens) and the keyboard's actually quite nice to type on. The on-screen keyboard isn't great - because the screen is very smooth and offset about a millimetre into the screen it can be a bit tricky to hit the correct spot on the keyboard.

I got myself a 802.11b wireless LAN card (which was my first foray into Ebay buying), and it works really well. Even running the wireless card I can get about an hour and a half out of the battery, and without the wireless and running the backlight quite dark I can get 3 or 4 hours of continuous use.

One of the features I've been using most is the infra-red port, to talk to my phone. I use the camera on the phone to take pictures (like the ones you see here), and then transfer them onto my Zaurus as a stopping point on the way to my PC. I use the excellent ports of KOrganizer and KAddressBook to the Zaurus to manage my todo list, schedule and contacts, and with the infra-red I can also use them to update the contacts list on my phone -- very useful, as it means I only need to type contact details into one place.

Unfortunately, I am having more than a little trouble with building software on the Zaurus: I think it's something to do with the library search path, but I haven't been able to crack it yet. I did manage to get Emacs to build, but I've been plagued by keymap difficulties.

On the whole, though, I'm very impressed with the Zaurus -- it's just a real shame that Sharp have decided not to release it in the UK. I had to mail order it from Japan, which was quite expensive.

Thursday, July 07, 2005

Security vs. Freedom

I just sent this letter to my MP.

Dear David Cameron,

Although we have all been shocked and appalled by the acts of terrorism witnessed in London today, I wish to request that you do not allow the Government to use this tragedy as an excuse to push the ID cards legislation through government. I do not believe that ownership of ID cards would have helped to prevent or diminish the effects of today's events in any way.

It is not possible to strip-search and biometrically validate the identity of every one of the millions of people who use London's transport each morning. In fact, sufficiently motivated people would be able to bypass even such an Orwellian nightmare of a security system.

I suggest that if only a fraction of the funds earmarked for a national ID card roll-out were invested in the intelligence forces tasked with detecting, infiltrating and dismantling terrorist organisations it would have a far more greater effect on terrorist activity than the proposed introduction of ID cards. Terrorism is a human factor, and intelligent humans are needed to combat it, not an ill-thought-out technical solution that has already been proven to to be unreliable.

Yours sincerely,

Peter Brett