Thursday, March 03, 2005

More crazy programming ideas .... A P2P OS
I have written before that I think administering a PC is too much for the average user, and one-PC causes a central point of failure and an immense ammount of frustration.
I like the idea of remote desktop viewer (thin-client computing)

It could be that yor ISP (or an "application provider") would clusters of machines that they furiously tend to weel working . While this is possible I want to imagine what would happen if you took some of the ideas from popular distributed systems such as bit torrent and applied them to an OS.

How would it work ... well every machine would contribute resources (CPU power, disk space) . Each task that they do on their computer would be run on another machine, or even better multiple other machines. So if I am typing into a word-processor I am actually typing into >2 word-processors operating on other peoples machines. If I loose power I do not loose any work. Equally if any of the machines hosting the word processor application crashes then there is no problem.

The capabilites of the individual PC become unimportant (well apart from the specifications of the screen and peripherals). This does assume that bandwidth is always on, cheap and plentiful but I don't think that is too hard to imagine. [One twist might be that the telcos see the need to offer their own branded services crippling the network for other uses. See Robert X Cringleys thoughts]

One advantage might be that a machine specilaises e.g. it only decodes MP3 or only compiles C code. This should make the jobs more efficient as more of the needed code should be resident in cache at any one time.

There would be many problems to solve. What versions of programs are run? How is data kept secure? How to deal with the churn of people joining and leaving the network?

I guess that LiveCD distrubtions, and using web interfaces as much as possible might be the closest approximation at this time of thin-cleint computing for the home. Google GMail and Google Maps are starting to redfine the expectations of a web interface.

I guess this lacks the simplicity that made Bot Torrent such a popular and scalable idea. And by that measure I know this idea is doomed. Oh well ....
This evening I went to an IEE lecture Computing Without Clocks: From Lab to Exploitation. This was by Prof Steve Furber of Manchester University. Famously he developed a range of ARM like asynchronous processors, the Amulet series.

The talk was rahter low on technical detail but it was interesting that they think the future lies in asynchronous networks between IP blocks on a chip. Adapters are placed on all synchronous logic blocks and a packet switch interconnect is auto-generated to a required speicifcation. I know from my digital design experience that at least 2 synchronising flops are needed to change to an asynchronoush clock domain. So for blockA <-> asynch bus <-> blockB these penalties can be costly. I am guessing that they can do better than this, either by the design of the adapters or by sometimes taking less cycles instead of always taking penalties.

The biggest advantage (IMHPO was that unlike the efforts needed in clocked system to implement voltage and frequency scaling, in an un-clockedcircuit there is no clock and the voltage can be varied all the time, with the caveat that the rate at which results are produced might change.

Saturday, February 19, 2005

Some ideas for things to code
i) A predictive text engine for using SSH from a phone
Port of putty to a microsoft smartphone
ii) Add rtsp:// wget so that streams can be downloaded for listening to later (podcasting)
Could use this library or Helix client.
iii) A P2P VNC like application sharing program. To help other people with their computers
This is already possible a way to get through firewalls is often needed. See here for how to do this using VNC + SSH. Why did Microsoft not get this right with the "Remote Assitance Wizard" in WinXP. Maybe Skype could add this.

Saturday, February 05, 2005

A power cut at work
In a small company (and a short powercut that the server survived on using UPS) everyone was back up and running in minutes. Comapre this to my last company that would take hours to restart servers and services (and normally forget a few). See this interesting article on the power loss at a LiveJornal datacentre.
Understanding SANs
At work a SAN (Here is a basic guide to SANs from Brocade) has just been installed for testing. I am coming tounderstand that Fibre channel is just another way to make networking expensive before ethernet catches up (as are Infinband adapters ref. Virgina Techs BigMac Cluster). But I don't understand why people want to use iSCSI (SCSI over IP). Either you are moving the maintaince cost of disks in machines (which you can fix anyway using NAS) and if you want to share the data then you also need cluster filinf systems. For databases where speed is important I can see the point, but surely not for most things.
Talking of Apple in my last post I am very tempted to buy a Mac Mini just to try it.
I like the idea of something that uses modern graphics hardware, does fonts properly (well at least as well as Acron machines) and I was once told by a colleague that it has the fastest xterms around. There was a very good technical article many mons ago on kernelthread.com
Hmmm ... maybe I'll wait till APril and buy myself a birthday present
Why can I not buy gift vouchers for iTunes in the UK?
Seems bizarre (and I will complain to them) but is this just another example of a US business not thinking globally. So I had to buy some credit from www.mycokemusic.com which uses technology from OD2 (and is a web-driven music store)

On the subject of iTunes I cannot understand why Borders are not in this business. OK they are book sellers but they have had listening posts in their stores that can play any track from any CD for ages.

Saturday, January 08, 2005

Bletchley Park
Yesterday I visited Bletchley Park. This was the home of the UK Code and Cipher School during WWII. This was where computing was invented!!!!
Dr Tommy Flowers created the Colossus computer to solve the Lorenz cipher, many years before Eniac (although the British government kept Bletchley Park secret due to the Cold War)

Computers always getting faster
The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software is an article that is about to appear in DDJ. I found it interesting because it talks about the end of computing getting faster for a single threaded application. This is fairly obvious and well reported stuff. The conclusion that was unexpeceted for me is that optimisations will get more important and lower-level languages will continue to dominate in order to get the best perforamnce from unparallelisable applications. I always thought that going to higher levels of abstraction would be necessary to utilise the higher levels of raw CPU power but maybe these will not be enabled.
Another interesting point made (that this time I did expect) is that even if CPU sppeds stay constant due to Moores law the number of transistors increases, meaning the size of caches increases leading to more real-world performance. It took me about a year of working at ARM to realise that the memory systrms are really the bottle necks for most applications.

GPS Navigation
I have been looking at GPS solutions. They all seem to involve a Mio 168 (which has an integrated GPS recevier) and cost approx 300UKP. Lots of different pieces of software are available. Mopre info and reviews can be found at globalpositioningsystems.co.uk.

Board Games
I have been meaning to buy a game from the 2004 Good Game Gifts Guide. Must get around to it. (This post will serve to remind me of the dite)

Bluetooth
I bought a bluetooth headset. (I actually wanted a way to get noise free audio from a headset into my laptop - the microphone input is particularly poor - and bluetooth is no help). My phone annoys me. Both my laptop and phone were paired against the headset and things got confused. This meant that later in the day when I was out for a walk by the river, two people calling my mobile phone got to hear the interesting sound of the inisde of my pocket. The phone thought it was in headset mode and even though it was several miles away from the headset it still auto-answered. Useless.
Anyway a very intersting presentation on bluetooth security problems.

Virtualisation
An article here about Xen. I think virtualisation is a very interesting problem. I think this has to be a good idea. I guess that OSes should provide lots of layers of abstraction and protection. But they are too big and with the vast ammount of different hardware and configurations it has problems. I am normally amazed that windows works as well as it does.
Having a smaller . There is a good article on Xen (from Cambridge University).

Another very interesting project that allows you to run two operating systems at once e.g. Linux on Windows is coLinux. This does not give the strong protection between the virtual processors that Xen does but it is very efficient.

Recording streaming media
I wanted to record a couple of comedy programs I particularly enjoy ("The Now Show" and "New Comedy Awards" as it happens) from BBC Radio 4 and BBC Radio 7. I found HardDiskOgg that records drectly to an Ogg file or NetTransport2 that can download the streamed .ra file directly. There is a great list of tools and programs at all-streaming-media.com.

Jerry Fiddler on ITconversations
A very easy to listen to presentation on everything from the future of software, bio-inspired systems to the Mars rovers. Jerry Fiddler had many jobs at Wind River, the embedded OS people and now is a free thinker.

Firefox
Here are some instructions on making firefox faster by using persistent connections. I do not know if these work yet but it could be interesting.

Derren Brown
Derren Brown describes himself as a Phyco-Illusionist. He uses physcology to influence people. He had a program on Channel 4 yesterday called Messiah. (Channel 4 does have a website for his first show MindControl. ) He questionned the way that people were very recpetive and unspectical when it came to religion. He visited the US and proved that he could convince 5 people that he had some sort of super-human power in order to get an endorsement from him. He agreed that if anyone ask he would say that it was a set-up .... but no-one did

Sometimes Derrens shows are poor. In the last show he played Russian Roulette with a resolver. He repeatedly asked (a very carefully chosen and subject - who he felt he could read) as to whether the next chamber to be fired contained a bullet. If I remeber correctly he always had to answer "no". Derren was allowed to fire the bullets into a sand-bag if he thought that there was a bullet. He did this twice (which I thought was a little bit of a cheat). Also it was later reviled in the newspapers that the bullets were blanks - although even they are likely to kill at such point-blank-range.

I beleive that he can do the tricks that he does purely using physcology. He also chooses his subjects well and I know there are lots of people that find it hard to not show and give away through body language what they know.

Wednesday, January 05, 2005

A genius idea about changing the clocks (daylight saving time)
Dave Gorman (a great standup comic IMHO) wants Genius ideas for his new BBC Radio 4 programme (UK centric). I sent him the idea from this site about how daylight savings time can be made better. Never have to loose an hours sleep ever again, in fact in Spring we would gain 23 hours! Excellent idea
Are we real?
This is a nice philosopical argument covered by this essay which was inspired by The Matrix and was recently covered by a Channel 4 (UK TV) program called "What we Still Don't Know" This was one of there problems and the site is definitely worth a look
Ebay

I always have ideas and suggestions to make. Here is an e-mail that I recently send to E-bay.
I always think you might as well share ideas - if not you'll only forget them - and hence some of the reasons for having a blog

----
I have some suggestions for improvements to services for buyers
(as these seem far weaker than services for sellers)

Firstly I would like to point out that often I want to buy a particular
thing, and that there may well be many many auctions going on for very
similar items. Of course I only want to end up with one, so putting
multiple bids on many items is a problem, especially when many auctions
end at very simmilar times. I do not want to spend my life in front of a
computer using e-bay, after having lost on one item to start bidding on
another.

I would like a feature so that I make an ordered set of bids on items
(possibly with different maximum bids for each).
When one auction ends or I am outbid this puts in my bid for the next.
If I win one item the "chain" of bids is stopped.

I also would like to see an estimated final price. It is always
disappointing to lose an auction. I often track similar items in my ebay
to work out the required price to win. I know that with your search
engine you can look for ended items that were similar but this is time
consuming. Could you provide a link to ended similar items (i.e. a
research tool using past data) or even better an estimate finish price,
by using this info. You must have some of the similar item technology as
you send out similar items in the loosing bid e-mails.

The third and last thing I would like to ask for is again a research
tool. I know you can store customised searches in my e-bay. The problem
is that you tend to look at the same items again and again when you
repeat the search - which can be very annoying. I want to be able to do
a search, mark certain items to watch and ignore the others. Therefore
next time I do the search I should not have to classify any items again.
The idea is to show me new items that may be of interest and not old
ones.

I know that you must get lots of suggestions and will not be
disappointed when these are not implemented but I thought I would mail
you anyway. If you wanted more info I would happily explain these more.

Ideas in summary
1) ordered "chain" of bids
2) provide list of similar already ended items and estimated end price
to aid bidders
3) provide my e-bay stored searches with a memory on what to ignore i.e.
what's new
(this should be easy tp implement as you only need to store the time
when the search results were last looked at)


PS The community forum directs suggestions at the "Contact Us" section
where none of the categories fit in with "suggestions". In fact that
page seems overly prescriptive!

Regards and Happy New Year
and thanks for all your hard work on the e-bay service
----

More IDEs for the world. This time a basic language and form designer for linux called Gambas.

Search
Another search engine called snap is meant to capture info on where users go after they have searched. Listen to a talk on Snap over at ITconversatoins. I still think that a system that also lets users rate search results and tries to categorise and suggest how the search terms could be rewritten would be useful., but snap seems to have some good ideas.

If you are interested in search engines there is a large list and news items over at searchenginewatch I quite like Teoma because of the way it can group items Also I think google (see yesterdays blog entry for a link to a great presentation) could exploit the Personal Web Search facility more. Also I often want to refind things and so far no-one has come up with tools for learning from my browsers history and then searching the sites that I mainly go to. Of course this "On Search, The Series" is a great resource from Tim Bray. All you ever wanted to know about how a search engine works.

Tuesday, January 04, 2005

I have been to a number of job interviews recently. If you would like to have a go at some of the type of puzzles and get prepared for an interview have a look at techinterview.org I especially like the Pirates Problem and Switches puzzle.

A presentation seminar given by google is here Good information on GoogleFS and how they use Map/Reduce style of programming to make programming for clusters simple.

An article on Slashdot about Introducing Children to Computer Programming. I think this could be a big problem for the IT industry if kids grow up that are not interested in how computers work. I think the suggestion someone had for using Lego Mindstorms is probably the best here. I never had this - but I know that Lego appeals to the same group of people that would enjoy computer programming.

Last thing for today. Everyone should get educated about Phising Scams. Take the MailFrontier Phishing IQ Test now. I only got 50% :-(

Monday, January 03, 2005

A quote from the Joel on Software site The very idea that you can "love your job" is a modern concept. I had always thought that everyone had the right to enjoy their jobs! Maybe that is naive. The article is advice for college CS students, and tells then to learn to write clearly (great advice), learn microeconomics and to code ... lots

Another resolution I should have written up on the 1st Jan have for everyone is that we should all delete at least 10 items of e-mail a day in order to clear up. I know the idea with GMail is that we start to keep everything and just search for the mails we want. But storing too much data is bad. At my last company we had a data retention policy and were only meant to keep e-mail for at most a year, and after that archive things we might still need. I decided not to store any sent mail and started cc'ing mail to myself where I wanted to see a copy. I also had rules that moved mail into a "pending deletion" folder after it was a month old. Anything that was needed would be moved back and then kept.

I want the e-mail client to intelligently sort things into folders and let me set policies on different folders. Microsoft Outlook 2003 does a suprisingly good job but it is not perfect. I think bayesian techniques would be very powerful here. Maybe I should investigate btail and The CRM114 Discriminator - The Controllable Regex Mutilator

Also the Joel on Software article mentions a social networking site called Thefacebook. This time the idea is to put names to faces. Currently for US university consumption but I think this is a great idea. The face gallery is something that every company needs. I am always really bad at remembering names so this gets my support.