Category Archives: Internet

Spanish Laptops

Here’s a bit of nostalgia. Anyone remember Digital? How about the AltaVista search engine?

I was browsing through some of my old mail and came across a message from the dim recesses of January 1998. I had just tried the AltaVista translation service to convert a
Spanish review of a Digital laptop into English. It did some wonderful things like occasionally translating ‘desktop’ as ‘tablecloth’ and I thought the results were
quite charming. Here are the first few paragraphs:

Portable, Compact and Powerful. Digitalis HiNote Vp 575

“An equipment of high benefits that competes seriously
with those of tablecloth – by Abel Manto’n”


To the good thing one is accustomed immediately. Portable 575 HiNote VP
stand for casks is so powerful, that one week whole without igniting the
desktop computer can be happened nor remembering for anything him.

One is a cacharrito of 3.4 kilos of weight, with 2.16 gigas of hard disk and
one piece that combines in the same space the disquetera and the reader of
D-ROM.

From the last name comes to him there bent to this machine of 765,000
pesetas in its standard configuration. The computer that we have proven bond
something more, because it included an extension of memory, happening of the
16 megas of the basic equipment to 32.

The memory difference, as already it has been written so many times, is
fundamental to shoot the yield. Unfortunately, the extensions of memory
accustom to being specific for each model and the prices notice it.

An equipment to taste.


Paltar to choose a portable one well is necessary to have precaution in
verifying how the tastes of user to three basic parameters adapt: the
keyboard, the screen and the mouse, that with the programs that run is
essential.

On the keyboard it is necessary to say that a little out of place have some
keys, mainly the one to suppress, the one of beginning and the one of aim.
Model proven had keyboard English, which always incomoda a little, but more
annoying is to have to look for key to erase, which it is where it is
without leaf return, and is an infrequent place. By the others, it is
written wonderfully.

The screen is irreprochable. 12.1 inches, active matrix and a fantastic
angle of view. Sure the graphical card, that has much to do, is a PCI of 128
bits (pure lujazo), of most efficient. It allows a resolution of until
1024×768 points, although doing a trick of panning. That is to say, it
creates a virtual screen that ‘ sale’ of the visible screen and moves on
this one when the leader of the mouse takes towards the ends. Recommendable
and the appropriate thing is to use the resolution of 800×600, with HD
color, that produces the best visual results, without trap nor cardboard.

Cambridge Blogs

My friend Geoff Jones has created a website of bloggers based in Cambridge, England at cambridgeblogs.com. If you’re in our part of the world, go and find your friends and add yourself…

I’m not actually in our part of the world at present, having driven from Vancouver down to Seattle yesterday afternoon. The trees in B.C. are just starting to turn red and the colours will be just phenomenal in a couple of weeks’ time. A very nice part of the world.

Django and Rails

No conference which discusses the Web can consider itself cutting-edge these days unless at least a couple of the speakers make reference to Ruby on Rails. For those who haven’t come across it, Ruby is a very dynamic programming language which has been around for a long time, but because it originated in Japan, it’s taken a while to gain popularity in non-Japanese-speaking parts of the world. Rails is a framework which takes advantage of the dynamic nature of the language to map SQL databases neatly onto Ruby objects. It has scripts which create a lot of standard stub code for you, and so in general it makes it very easy to create web applications based around a SQL database back-end, which an awful lot of web apps are, nowadays.

I wrote briefly about Ruby on Rails three months ago, and since then I’ve been sipping at the kool-aid – watched the intro videos, bought a Ruby book, and played a bit with the software – but I never quite got a taste for it. Ruby is so named because it was meant to be a better PERL, and it certainly is that, but I think there’s a few too many Perl-isms still lingering in the background. Ruby enthusiasts claim that it’s a ‘pure’ object-oriented language, more like Smalltalk than most of its competitors, because everything is an object, so you can do things like calling a method on an integer:

5.upto(10) { |i| print i }

but somehow this just doesn’t feel very natural to me. You can do some lovely things in Ruby, but I don’t think a language can lay much claim to purity when it still has things like the global $_ variable from PERL.

And so I’ve been very pleased to discover Django, which is a very similar framework that slightly pre-dates Ruby on Rails, and which is based on Python rather than Ruby. Python has been one of my favourite languages for a long time – I first used it in 1991 – and to my mind it’s rather nicer than Ruby for most things. It’s much more widely known, and all the benchmarks I’ve seen also show Python as rather faster than Ruby, and Django as higher-performance than Rails.

Django works the opposite way to Rails; you create particular kinds of objects in Python and run a script which produces the SQL tables which store them for you. In practice this doesn’t make a huge difference. The Rails approach can be more flexible, but with Django’s you get all your canonical source code in the same language. They both have their merits. But the default framework that Django produces is much more useful than anything you get for free with Rails; it provides quite a nice ‘admin’ interface which you can start using immediately for entering data without grimacing too much about the user interface.

My wife Rose needed to store some data in several related tables and access them from home and from the University. In one day I was able to take her data, which was mostly in tables in Word documents and get it via Excel, text files, and some Python scripts into a MySQL database. Django provided the web front end and by the end of the day she was entering her data via her browser into a set of inter-related tables with various conditions attached. I was working in the next room and from time to time I’d come in and say – “Look – there’s a search box now!”.

Remember that this was my first attempt at using the platform. Now, of course, I’ll be tinkering with it for ages, but the ability to get something up and running and useful so quickly is a great tribute to Django’s design. I also have a feeling, though I haven’t tested this yet, that much of Django might be more useful than Rails for any web apps which are not based on a SQL database.

Anyway – highly recommended.

Quickipedia

Tom Coates gave a talk earlier this morning and mentioned that he didn’t have an entry on Wikipedia. By lunchtime, someone in the room had created one for him.

Tom’s from the BBC, is a very nice guy, and has a good blog here, by the way.

How BitTorrent works

I knew the fundamental idea behind BitTorrent, the file-distribution system – that after some initial seeding every BitTorrent client provides uploads as well as downloads and so you can distribute much more data more quickly without ridiculously heavy loads on one server.

But I’ve just been reading Bram Cohen’s paper and so have a bit more of a grasp of the behind-the-scenes operation, which is really quite clever. Here’s a very simplistic overview:

Files are distributed by creating a .torrent file and putting it on a web server. The .torrent file includes information about the file, its name, length, checksums and so on, and also the URL of a tracker. This is a very simple server which knows abut the machines currently downloading the file (henceforth known as peers). When your client starts downloading a file, it connects to the tracker, gets added to the list, and receives back a random selection of other peers also downloading the file. It can then go off and talk to those peers.

Files are downloaded in pieces, each typically a quarter of a megabyte in size. Your client connects to several peers and finds out from them which pieces of the file they each currently have. It can then start downloading different pieces from different peers; it doesn’t have to get the pieces of the file in order. Whenever you have a complete piece, it’s added to the list of pieces you can make available to others. Often the traffic will be two-way: you’ll be downloading one piece from a peer while uploading a different piece to them.

The overall amount of data downloaded across the system must equal the overall data uploaded – every download has to come from somewhere! So, as a very rough approximation, you can download data as fast as you make it available for upload. This isn’t quite the case, because people often leave their clients running for some time after the download has finished, either because they’re good citizens or because they’re off having a cup of coffee. Others can therefore get more download capacity. Also at particular times, you’ll see the speed of your downloads or uploads fluctuate for a few minutes, though it roughly balances out over time.

A disadvantage of the system as a whole is that if, like many of us, you have a much faster downstream connection than upstream, your bittorrent download is likely to happen at something closer to your slower upstream speed. The advantage, though, is that if the file you’re downloading is at all popular, you’re likely to get it in a much more reliable way than a regular web download, you won’t be limited by the capacity of the originator’s server link, and they won’t end up paying a fortune in bandwidth charges.

There are lots of clever bits which I haven’t touched on here. For example, if you’re connected to several peers, how does your client decide which piece of the file to download next? Answer: it normally downloads the rarest one, the one which fewest of the others have, thus helping to redress the balance. Cute, eh? There’s also stuff related to starting up, to finishing, to finding new peers etc, but for more details have a look at the paper linked to above. All in all, a very nice system.

Specifications

I’m reading a book edited by Joel Spolsky and came across this nice footnote:

This reminds me of my rule: if you can’t understand the spec for a new technology, don’t worry; nobody else will understand it either, and the technology won’t be important.

Tell me the old, old story…

Where Google leads, Microsoft follows.

Actually, both of these projects must have been in the pipeline for some time, and I bet MS was furious that Google stole their thunder.

What’s important about IP telephony?

I suppose that, having worked on and off with VoIP for a little while, I really should have cottoned on to this earlier, but it’s only having it at home that has made me realise what will really be different for ordinary users in a VoIP world.

It’s not the lower cost, though that will be nice. It’s not that you’ll need fewer wires around your house, or that you’ll be able to make phone calls from your laptop, or that you’ll only need to buy one link to the outside world because your internet connection and your phone connection will have merged. No, I think the big changes will be that:

  • You’ll be able to have as many extensions as you like for no extra cost. This means that the concept of one or two lines coming into the house may go away. Yes, your daughter will have her own extension, and she’ll be able to call her friend’s bedroom without blocking the line for everybody else. You’ll be able to call the kitchen from the basement, or call the basement from the shopping mall, if you so desire.
  • Phone lines will be more like email addresses. And many of the things you can do with email addresses will apply to phone lines. So, for example, you can redirect them to point at other addresses. Or you can make one address ring several phones, which may be in different parts of the house or in different parts of the world.

All of this has been possible in the past, but it won’t be long before this is a standard facility that everybody will have at home if they choose to make use of it.

Telephones and other Gizmos

I’ve been playing with Gizmo. For those who haven’t come across it, the Gizmo Project is like Skype, but uses open, standard VoIP protocols. Why would you want to do this, when the software’s still in beta and there are millions of people using Skype? Well, because Skype users can only connect to other Skype users (unless they pay money to be routed over the standard phone system). Gizmo can connect to things which are not Gizmo, like standard VoIP phones and IP-capable exchanges.

I have both of these. I’ve been experimenting with Asterisk, the open source PBX, and I’ll write more about that soon. But for now, suffice it to say that my office phone line is now connected to a computer, instead of to a phone. I have a motley collection of phones around the house which are also connected to it, either via conventional phone wiring or via the network. And I have complete control over this… but more about that in a later post.

When you get a Gizmo ID, which is just like registering for AIM or Skype, you get something which works just like those systems, but can also be dialled by a standard VoIP system (using a SIP call to <gizmoname>@proxy01.sipphone.com, for those interested). So I now have phones around the house on which I can dial a four-digit extension number and it will call my friend Robert on his Gizmo session, wherever he is in the world. And he can choose which phones in my house to ring, because I’ve assigned them different names, or whether to ring all of them at once, and he can do it when he doesn’t have a phone handy! And get this: it’s all free!.

Now, there are quite a few rough edges here still, and configuring some of this is not for the faint-hearted, but trust me, this is the way of the future. You can now either call my phone here using either using a phone number (and pay for the privilege) or call, say, my study using study@home.quentin.org. (Actually, I’ve changed the address here, but it’s very similar to that; let me know if you’d like to try it). The second one is more flexible, easier to remember, and it won’t cost you a penny.

The new business card

Here’s a quick idea: When you’re next getting your business cards printed, upload your vCard (the standard electronic equivalent) to a web server somewhere, and print the URL of the vCard on your business card. Most people end up copying business cards into an electronic address book – those that are important to them, anyway – and if you do this then they’ll only have to type in one thing.

You don’t have to publish your details for all and sundry to see; you don’t need to link to it from elsewhere on your web site, and you can pick a fun URL that people won’t guess, like www.mycompany.com/007.vcf . But if you’re giving somebody the details in paper form anyway, it’s probably because you want to make it easy for them to contact you, so why not make it even easier?

Creating a vCard file is easy. On a Mac, you can just drag your address from the Address Book to your desktop or some other folder. On Windows, I think you can select a contact in Outlook or Outlook Express and do a Save As… Thunderbird, sadly, doesn’t seem to export vCards yet, though it will import them.

There was a time when almost everyone had a PalmPilot, and you could just beam your details to them. Sometimes technology takes a step backwards…

isbn.nu

Want to find books at the cheapest prices? ISBN.nu is an interesting way to do comparisons.

The new radio

Rose has been avidly listening to the cricket. Well, à chacun son gout, that’s what I say. However, during much of the day, it’s only broadcast on BBC Radio 4 LW (Long Wave), not on FM.

Now, the last time I used Long Wave, we specified things by wavelength and hence everything was in metres, whereas now everything is in kHz, so it took me a while to realise that we no longer have a radio in the house, at least not a portable one, capable of receiving LW.

Ironically, the only way we could allow Rose to listen to the cricket while working in the garden was to put a laptop out there and connect to the BBC web site using our own wireless network. (Which can be found on your dial at about the 12cm mark, by the way.)

© Copyright Quentin Stafford-Fraser