Archive

Posts Tagged ‘Hackery’

Disorganised observations of Google Chrome

September 2nd, 2008
If you don’t know — Chrome is Google’s new web browser. It uses the WebKit rendering engine, the same as Safari does, and has some architectural and UI innovations which are interesting. It’s a free download from here if you want to take a look (Windows only at the moment).
Stuff I like:
  1. It’s very fast.
  2. Find-text-in-page is very nice, with a strip alongside the scroll bar showing all the matches.
  3. It seems to hate the scrolly part on the right of my mousepad, jumping miles down the page at the slighest twitch (well spotted Toby).
  4. It does its TCP/IP through the WinINet control, unlike Firefox. This means its traffic is captured by FiddlerTool without configuring a proxy.
  5. The home page, which is what you see when you open a new tab, is really neat — it shows you a top nine set of thumbnails of your most used sites, and the last two tabs you closed (so you can undo any tab you closed by mistake). Admittedly, the first feature is pretty similar to Opera’s Speeddial option, and the undo tab close not as neat as Firefox’s feature (as the re-opened tab ends up at the end of the tab list, not back where it was).
    google_chrome_home  
  6. Running each tab as a different process really is in there, as you can see under Process Monitor; this means you can see memory consumption for each of the sites you are visiting, for example.
    google_chrome_processes  
  7. The magic text bar in the browser is clever. It automagically hooks into Google search (you can configure which search engine it uses), your history, direct URL entry and (this is clever) local search options in sites. For example, I went to Amazon.co.uk and did a test search. Then I entered “a perl” into the magic text box. One of the options in the drop-down for what this would do was “search Amazon.co.uk for ‘perl’”. I think that’s neat.
Overall, I am positive. Consider that it has as design goals two explicit targets (memory consumption and JavaScript speed) that Mozilla have been addressing in recent releases. WebKit is a very very good rendering toolkit, to my mind the best, and the only Windows implementation is Safari, which is a bit ugly under Windows what with it’s funny Apple font rendering and suchlike. The whole thing is Open Source so it’s not like Google are trying to hang on to stuff here. Separating tabs out into different processes is a very good idea, and makes some stuff like Privacy Mode easy that is hard in (e.g.) Firefox.
Basically, I think they did a good job of calling out a number of the pain points that modern browsers have, and addressing them in sensible ways. Oh, and the comic presentation is great, particularly how it namechecks engineers and goes into surprising technical depth.

Personal

Hacking on the DNS-323 part 1: share names

June 2nd, 2008

The D-Link DNS-323 is a reasonably low-cost two-drive NAS (I just bought mine for £150) which allows you to set up a slice of RAIDed redundant disk storage on your network and access it from any number of different computers and devices. For example, you can back up a laptop to it and use it to stream media to a PS3. Compared to the option of leaving a PC on all the time, the DNS-323 is very small, very quiet, and consumes far less power.

It can do a lot more however. It’s actually a small solid state Linux PC, with 8Mb of flash RAM to store the OS, 64M of RAM, and a 500 Mhz ARM-based processor. As such, it is capable of quite a lot more. Even better, the nice blokes at Dlink have left a deliberate sort of back door into the system — via which you can inject extra features alongside the ones it has. This backdoor is known as funplug in the community that has grown up around the device.

An aside: this article is up to date as of 3rd June 2008, but the community moves quickly. More up to date software and instructions may be found at the community wiki.

First update the firmware

Go to the D-Link support site and get any newer firmware for the device that you can find there. Early firmware releases have improved stability and added features, so are definitely worth having, and you should do this bit first.

Better share names

Say (like me) you buy the device, bung in two hard disks, connect to its tidy but basic web interface, and tell it to make a RAID-1 (mirrored) array out of them. Give the device a name under Setup | Device (I called mine homer, which I mention as you will see it below) and immediately you can navigate (I’ll assume you have a Windows client) to \\homer\ and see the hard disk shared out there with the boring name “Volume_1″. If you tell it to format the hard disks separately you’ll also have a Volume_2, but that’s not that good — part of the point of one of these things is to get some redundancy around the disks so if you lose a disk you don’t lose any data. But I digress.

Volume_1 is a pretty crappy name but fortunately we can change it. First we need to connect to the DNS-323’s FTP server, and to do that, we need to add a new user account onto the DNS-323. In the web admin interface, select Advanced | Users/Groups. Add a new username and a password. Then select FTP Server, and fill in the first box like this:

  • Category: User
  • User: the username you created
  • Folder: root
  • Permission: Read/write

…then click Add.

Now you need an FTP client on your machine to connect to the DNS-323. If you don’t have one Filezilla is excellent and free. Fire it up and give it your DNS-323’s name, and the user name and password you created earlier. You should see something like this:

Connecting to the DNS-323 from an FTP client

Now, yours won’t look quite like that — you won’t have any folders below Volume_1. That’s why we’re doing this; you’re going to make the folders (in Filezilla, right-click and select Create Folder) for each of the shares that you want to appear. In the example above I’ve made shares for Audio, Video, Pictures, Documents, and so on.

Finally, we need to tell the DNS-323 to share these newly created folders.

Back in the admin interface, select Advanced | Network Access. Down at the bottom is the default “Volume_1″ share — you can delete that one with the little trash can icon next to it. Then you can create a bunch of new ones in the bit at the top of the page. Use settings like this:

  • Category: User
  • User: All accounts
  • Folder: click Browse and select one of the folders you made earlier
  • Permission: Read/Write
  • Leave other values at their default

Repeat for all the other folders you made. When you’re finished, reboot the DNS-323 (Tools | System) and you should end up with something like this:

A browser window on the DNS-323\'s shares, showing lots of different names

Personal ,