Articles posted in 'Internet'

I've got a new goal in life, and a new series of projects to achieve that goal. I'm planning to focus my free time to produce articles, screen casts and, hopefully, eventually, a book. They're all around answering my favourite interview question: "When I pull up my Internet Browser, type 'bbc.co.uk' into the address bar, and press return, what happens?"

In this article, I explore why I like it as an interview question, and some of the topics I'll be talking about in the coming months. Read more…

The Internet is full of Bad People Who Want To Steal Your Stuff. Well, no, not really. The Internet is full of good people (so long as you don’t read the comments), but it does give the bad people access to an unprecedented amount of computing power, and a large audience with which to play. When you’ve got enough computing power, and enough bandwidth, it’s no big deal to guess somebody’s password by just trying out every possible combination (called a "brute force" attack). Read more…

Today we're going to explore how to bundle up a sample Ruby on Rails application into Docker images, run containers locally in our development environment, and link the containers together so they can talk to each other. On the way, we'll automate the build with Rake, and discover a little more about how container linking actually works. Read more…

I could have sworn that tmux used to launch new shells in the current working directory of my active shell when it spawned new windows/panes. In this post, I discover that it wasn't my imagination, that it no longer happens by default, and how I can get the behaviour back again. Read more…

Mac OS X on my desktop computer (a newish 27" iMac, using a Promise Thunderbolt disk array for the root filesystem) seems to be having filesystem troubles. I notice it through symlinks going awry, though I'm sure they're not the only victim. I tidied all the errant symlinks up two weeks ago, hoping it was a temporary glitch, but they're back again today. Here's an example: Read more…

Sometimes, when you're writing applications that use a library to talk over the wire to a remote service, it's difficult to see how the high level API the library exposes translates into the on-the-wire protocol. Funnily enough, I was having that very problem yesterday, so I dug tcpflow out my toolbox to better understand what was happening. Read more…

This is a short tutorial on connecting back to your home Mac via SSH, through the magic of MobileMe, then downloading some software, mounting the disk image and installing it, all without the need of the Mac OS X GUI. I use VirtualBox as an example, but it should work for any standard Mac OS X installer. Read more…

Ubuntu is my Linux of choice. It has been for a long time. I've been a huge fan of Debian since the late '90s -- I was a Debian Developer stuck in the NM queue for a few years -- but the release cycle was way too long for my tastes (which invariably meant I kept most of my systems running testing or unstable). So I switched to Ubuntu pretty early on. Read more…

I've managed to find a new home for the Thumper. The noise it's making is driving me absolutely batty, and I have to switch it off at night. I'm also worried about it overheating as the weather starts to improve. So I've managed to secure a deal with Below Zero, an ISP based in Edinburgh with an amazing world-class network. We're going to shift it into the new place tomorrow, so I'm preparing by changing IP addresses before it moves. Read more…

In a previous post, Thumper: Putting Blastwave on ZFS, I quickly saw some information and jumped to completely the wrong conclusion. In the comments, Boyd kindly pointed out that I should probably investigate it a little more thoroughly. So I have. Just to recap, effectively I am trying to install software, with pkgadd onto a ZFS filesystem. The full filesystem is 17 terabytes, and still has 17TB available. The steps I followed were: Read more…

Since the root file system is a meagre 11GB, I figured I'd try and use my ZFS pool for installing Blastwave which is a system built on top of Solaris' own packaging mechanism with access to lots of extra software that I can't live without. Like sudo for example, at least until I figure out how the Solaris native RBAC mechanism works! So, I did something along the lines of: Read more…

So my email isn't working this morning. Somehow the MX record for woss.name has, well, disappeared. Maybe DreamHost got offended that I switched to GMail and decided to get their revenge. Maybe I buggered something up (I was doing stuff in the DH control panel yesterday afternoon, but I don't think I touched woss.name). Or maybe the gremlins got to it. Read more…

I've been using account_location for a couple of applications recently. It's a really nice way to give individual 'clients' of an application their own domain and when we come to scaling up, it's a really easy way of splitting customers across several hosts. So, yeah, very nice. And it's dead easy to deploy in the first instance -- a couple of DNS records along the lines of: Read more…

This is the first part in hopefully what will become a series on the trials and tribulations I have with a Sun Fire T2000 over the coming weeks while I have it on trial. This is going to be an interesting experience; I have used Sun kit extensively in the past -- I was one of the sysadmins for the Tardis project while at University, and since then I've run a variety of Internet services on Sun hardware, ranging from a SparcStation 5 (homer.mathie.cx, who used to be in the Usenet top 1000 peers, something I consider impressive for that calibre machine sitting behind a 512kb/s leased line) to a Sparc Ultra 30 (initially my desktop machine, eventually drusilla.wossname.org.uk, a replacement for homer). So I'm reasonably familiar, if a little rusty, with Sun hardware and Solaris. OK, OK, homer ran Linux, but at least all the Tardis kit was a mixture of Solaris 7 & 8 (with one machine, brigadier still running SunOS 4.1.4!). Read more…

launchd is Mac OS X 10.4's replacement for init, cron, (x)inetd and all the various startup bits like /etc/init.d or /Library/StartupItems (as was the preferred way in Mac OS X up to 10.3.x). It's all replaced with one supervisor daemon which controls the startup (and restart upon failure) of daemons, schedules regular running of tasks and other hoopy things. I've been reading a little about it at Introduction to Tiger Terminal part 5 and Getting started with launchd trying to figure out how to make it work for me. And I came up with settings, that will launch the Darwin Ports copies of both MySQL and PostgreSQL on demand, which you can download here: mysql4.plist and postgresql.plist. Place those files in /Library/LaunchDaemons and, to get launchd to notice them, run the following: Read more…

It would appear that, somehow, I am the killer of Apple Powerbook G4 CD/DVD drives. It's not that they stop working, it's just that they refuse to relinquish their media. I had always thought it was a problem peculiar to my previous Powerbook, a 12" G4. It would often take days of attempt to get it to cough up the CD I'd inserted. So that I basically stopped using the drive wherever possible, particularly since having a CD inserted -- even unused -- whilst on batteries does unnecessarily drain power. Read more…

I should prefix this with a warning: I know next to nothing about file locking and the implications of what I've just done. However, it now appears to work, and I'm not too worried about simultaneous access to my subversion repository since I'm the only one that uses it. (Even the web interface is currently running from a read-only mirror of the repository.) Read more…

I've been meaning to 'fix' this for ages. I use public-key authentication for my ssh connections wherever possible. I also use screen all the time. (If you use ssh regularly and haven't discovered it already, go look now! There's a bit of a learning curve, but it's well worth it!) But the SSHAUTHSOCK isn't always set correctly inside a screen session, so you can't then use the ssh key on the client computer to authenticate against other hosts. (Oh, I also have a reasonably strict policy of only ever create SSH keys for hosts that I am actually, physically, at the console of, not for hosts I merely ssh into now and then. There are, of course, exceptions to this rule!) Read more…