A Headphone Amplifier in a Tin

I've been looking at little headphone amplifiers for a while. These are things that do a better job at driving your 'phones than the overworked, made for a price, components you find in most things with headphone outputs. To be fair, the output of my Lovely Lumia 1520 sounds splendid, particularly if I plug it into an amplifier, but as someone with pretensions to High Fidelity (tm), I thought that a little extra amplification might make things even better.

And then I found this on Tindie. I think I'm becoming addicted to Tindie, in that they have lovely stuff and buying from all over the world is very easy. Apart from the pesky import duty thing of course.

I must admit that the packaging had me won over before I looked into the quality of the electronics. The device is packed into an Altoids tin (you can choose your design) and the board is beautifully made and assembled. The total price, including import duty, is well less than a video game, and listening tests have revealed (at least to my ears) a more solid bass and clearer midrange to the sound.

If you are into sound quality, want a bit more volume to your music, or like the idea of having a tin packaged gadget like this, then I reckon they are well worth the money. 

Printing in the air

This is the kind of thing we want to see.....

This is the kind of thing we want to see.....

I found out something kind of interesting today. Turns out that if you print things which are 1 mm above the print surface they don't actually print very well. I'd designed a little plastic lid with mounting pillars and placed them on the base, but i'd left a gap of 1 mm underneath the pillars, so the poor printer tried to print them in the air, with  "hilarious" consequences. 

Thinking about this, it would be great if the design programs displayed shadows because if I'd seen the gap underneath the pillars I could have fixed it straight away.

PInball Arcade for PS4

Real or Fake?

Real or Fake?

I'm quite a fan of pinball. Not very good at it, but quite a fan. I've payed with the Pinball Arcade program on my PS Vita, but today I got a copy for the PS 4. And it is ace. It really works well on the big screen, and the implementation of the Twilight Zone table is really, really, good. I've actually played the real table quite a lot, and the emulation is very faithful. I reckon it is slightly easier than the real deal, but that is not a bad thing as far as I'm concerned.

On a big screen the program looks very good. I'm not sure how much of the rendering  power of the PS4 is actually being used by the game, but it looks very good with faithful reflections of the table design in the ball is it whizzes around,and no hint of slowdown when you get some multiball action. 

The only criticism I can make is that the game sound effects don't sound very good through "proper" speakers. This is more to do with their origins as eight bit samples I suppose, but it does detract a bit from the game. I think a bit of judicious filtering on them to remove the slightly rough sound might be a help. 

But if you are into pinball, and want to try out loads of tables and get something very close to a real experience, then this is a really good bet. 

Open Day Crew

This is the audience from today. You can see that they are all budding students, as the lecture room has filled up from the back...

We had another great audience for the Open Day today. Lots of good questions, free food and drink, and of course we gave away a Raspberry Pi to one lucky winner.

One thing did come out of discussions though and I thought I'd clarify it here. I put a lot of emphasis on programming in the introductory talk that I do. I see this as reasonable, because a lot of Computer Science is the business of telling the computer what to do, and programming is all about that. 

But what I didn't make clear is that you don't need to be able to program before you start our course. We teach you everything from first principles (and in fact the Yellow Book is written that way) and so if you have never programmed before you don't need to worry. 

One of the best parts of my job is saying to students "You must have been coding for a while" and having them reply "No, I only started learning in September..."

Making a quick Batch File

batchFile.PNG

It's not often that I get to show off my Command Prompt smarts. But now and again they are useful. The Command Prompt is the place in Microsoft operating systems where you type, er, commands. In the days of MS-DOS it was the only way that you told the computer what to do and it has survived, mostly unscathed, all the way into Windows 8.1 

Of course, in these days of touch and windows you don't often have to give commands at the console, but every now and then you do, and today I got to show off a trick that I've used for years. We were typing in long commands to start up services in the Microsoft Robotics Framework and I suggested that we make a batch file rather than type everything in each time. You can use the "up arrow trick" (press up arrow to get the previous command) but that doesn't work if you close the command prompt and re-open it, as this clears the command buffer. 

A batch file is simply a sequence of console commands that are stored in a text file and can be executed just by giving the name of the file. It has the language extension ".bat". You can run them from within Windows too just by clicking on them. 

What you can see above is a way that you can take a long and complicated command that you have typed in and convert it into a batch file.  You use a few tricks. First trick:

copy con doit.bat

This connects the console (your keyboard and screen) to a file called doit.bat. Essentially, everything I type from now on will go into this file. 

Second trick:

(press up arrow to get your command)

Remember that I said you can press up arrow to get back things you have previously typed. This works when you are copying into a batch file too. So to my recover my echo command in the above screenshot I just pressed up a few times. Once I had the command on the screen I just had to press Enter to put the text into the batch file. Note that if you want to enter a sequence of commands that you have typed into your batch file you just have to recover each one in turn. 

Final trick:

^Z

This is CTRL+Z. It tells the command prompt you've finished entering stuff into the file and want to return to typing commands. The destination (in this case the file doit.bat) is closed and then you can just run the batch file by giving the name. 

The console is a powerful thing in the command prompt. You can copy things to it (which can gives a behaviour similar to typing a file) and you can copy things from it. You can also do stupid things:

copy con con

This works, I'll leave you to figure out what it does. And how to get out of it. 

Mastering the Crimp Tool

crimptool.PNG

I spent some (oh, alright, quite a lot) of today fiddling with hardware, as is my wont. I've been buying cables with ready fitted pins and sockets on them, but last week I thought that it might be useful if I could crimp my own pins, so to speak. So I bought a crimp tool like this one.

The theory is/was that I could make up custom cables of just the right length and with just the right arrangement of plugs and sockets on each end to fit in what ever I was building. And it sort of works. There's a very useful howto on the Hobbytronics web site and by the end of the day I was able to make pretty good connections, which is nice.

Having said that, you can get ready made cables of ebay for around 3 pounds each, which give you forty connections, and so I think I'll just get this out for special occasions. It's one thing to be able to use it, but another to have to do it a lot. 

Lego Movie. Everything. Is. Awesome.

Lego Movie.PNG

Went to see the Lego movie today. Of course, as a kid I had some Lego, although I was more of a Meccano man to be honest. But I've always liked the stuff, even more so when they produce amazing kits like the VW Camper Van

So of course we went to see the film. It really is going beyond product placement .The product is the movie. And it was produced by one of the largest toy manufacturers in the world. And the shops are full of toys built around (and from) it. But it is still crazy great. 

There is enough going on at all levels to make it interesting. Plenty of smart one-liners and cultural references. Loads of stuff being blown up. Some properly sad moments and a proper ending that I reckon really works. 

Go see. And probably buy a kit or two as well....

Kinect for Windows V2

Kinect For Windows.PNG

Oooh. Good news. Just got our notification email that connects us to the Kinect for Windows Developer preview.  I'm a big fan of the Kinect sensor. I even wrote a book about it. 

(do you think that plug is subtle enough).

I saw the new sensor in action a while back and it is awesome. It can't actually read the time off your watch, but it can tell you which wrist you are wearing it on. And it can apparently also read your heartbeat. Which might make it a good zombie/vampire detector I suppose. 

Anyhoo, we should get ordering details soon so that we can get our hot little hands on the hardware.  Such excitement. 

A Map of the Floating City

His album art is usually pretty special too.

His album art is usually pretty special too.

Thomas Dolby is one of my favorite artists. He's done sterling production work with Prefab Sprout and other bands, and every now and then he makes an album. And unfortunately, nothing much happens after that. Such is the life of a recording artist. 

Anyhoo, a couple of years ago he made another one, without telling me. I've only just found it.  A Map of the Floating City is splendid stuff. Some songs are poignant, some silly, and all different. He has some high powered collaborators too, including Imogen Heap, Mark Knopfler and Eddie Reader. You should definitely seek it out, if only to listen to The Toad Lickers

Tech@Hull Launch Event

Untitled

Andre Hitchman is one of our second year students. With some big ideas. One of them is Tech@Hull. He launched it this evening at C4DI. Tech@Hull aims to bring students and business together to encourage entrepreneurship and innovation. Which are things that I'm quite keen on too.

The launch event was great, plenty of people, food, drink and discussion. Jon Moss of C4DI urged us all to get out of our comfort zone and go and talk to other folks, something I've always been spectacularly bad at, but I did my best.

If you are a student in Hull you'd be bonkers to miss out on this opportunity. Tech@Hull will be running lots of events where local developers and students can meet up, learn from each other and make plans together. You must, must, must be involved in this. 

Andre has set up a web site for the group. It's under construction at the moment but you can sign up for news of when it goes live here

C# Code Snippets on Demand

Snippets.PNG

This is kind of neat. Rather than have to jump out of your IDE to find samples of how to use language and API features, you can just put the question into a comment and hit tab. 

It is a bit hit and miss at the moment (and doesn't know anything about XNA) but it would be a very interesting future development of my favourite place to work.... Have a play yourself here

Global Gamejam Hull Wrap Up

It's taken me a while to get round to doing the final wrap up on the amazing Global Gamejam Hull 2014. I've been hunting down videos and pictures and I've still not got quite a full set, but I've got details of the top six finalists, and pictures of all the prize winners. So here goes. 

This is the awesome "Spooky Elephant - Beard Bandit Collective" which picked up the award for "Most Ambitious Failure". Oh well. 

This is the awesome "Spooky Elephant - Beard Bandit Collective" which picked up the award for "Most Ambitious Failure". Oh well. 

This is 121 Gigabits with their "Best Presentation" award.  Their game is superbly presented, and you can even download and play it. 

This is 121 Gigabits with their "Best Presentation" award.  Their game is superbly presented, and you can even download and play it. 

The Chips 4 Rent team came home with "Best Aesthetics"

The Chips 4 Rent team came home with "Best Aesthetics"

The Disolveable Mammals  and their prizes for  "Most Ambitious Working Game". 

The Disolveable Mammals  and their prizes for  "Most Ambitious Working Game". 

This is what remained of "Grown Up Games" by the end of the competition, and his "Last Man Standing" award.

This is what remained of "Grown Up Games" by the end of the competition, and his "Last Man Standing" award.

This is the sound man from 'Put a const on it' with his richly deserved "Best Audio" award.

This is the sound man from 'Put a const on it' with his richly deserved "Best Audio" award.

The "Stick Pixels" team were down for a while, but never out. So they were awarded "Best Comeback" for finishing with something awesome.

The "Stick Pixels" team were down for a while, but never out. So they were awarded "Best Comeback" for finishing with something awesome.

These folks made their own trees from code. This earned "Put a const on it"  the award for "Procedural Awesomeness"

These folks made their own trees from code. This earned "Put a const on it"  the award for "Procedural Awesomeness"

And so we come to the winners. The judges had a tough time here. Lots of different takes on the theme, lots of seriously good stuff. In the end, in reverse order, they awarded the top three prizes as follows:

Third Place - Disolvable Mammals

Third Place - Disolvable Mammals

These guys came third with a game that gave you a chance to experience life as a cat and see everything through feline eyes. With novel "scrabble powered" leap sensor movement control and sofas you could jump on, a great piece of gaming awesomeness. 

Second place - Put a Const on It

Second place - Put a Const on It

These folks put you in a godly position, planting and managing an algorithmically produced forest that grows and decays over time. With haunting music that changed with the gameplay and the ever present threat of winter, this made for some absorbing play. 

First Place - 121 Gigabits

First Place - 121 Gigabits

These folks took the concept of identity and made it into a retro-styled 2 player game where the object was to find yourself, and your opponent and then blow them away. With retro themed graphics and gameplay and a multitude of different modes this polished production looked ready for the shops and gained the team, a stalwart crew of Three Thing Veterans, First Place.  You can download and play their game, just head over to their Raspberry Pi powered web site here.

Of course, it's not really about the winning, it's about what you learn by taking part. This is particularly true of my experience, where I've learned that relying on hardware that you haven't tested is a particularly bad plan. It was great to see so many returnees, it was also great to see all the games that didn't make the top six. If you want to find out more you can find the judging videos here. If your video isn't online yet, then please be patient as I'll be transcoding and uploading them in the next few days. If you want to add your own videos, please do, and add the tag globalgamejamhull2014 so we can all find them.

Thanks again to Platform Expo for organising everything, Hull College for a fantastic venue, Microsoft, Jagex and Sony for providing fantastic judges and prizes. 

And see you all next year. 

Ultimaker and Doodle3D Offer

This is officially a good deal. 

This is officially a good deal. 

I've had my Ultimaker printer for a while now. I made it from the kit (a great way to spend a couple of days) and it works a treat. At the moment mine is printing out a rather nice vase based on a Koch snowflake design. 

Ultimaker have released a version 2 of their printer, but I reckon there is plenty of life in the old one yet. Particularly if you pair it with a Doodle3D device that lets you create and print objects really easily over a wireless network.

And now they have a rather nice deal where you can get the printer kit, plus an UltiController and a Doodle3D device for less than 1,000 euros. If you want to get into 3D printing, and want one of the best devices on the market, you could do a lot, lot worse. 

Open Day Ego Mania

IMG_8372-Edit.jpg

We had an admissions open day today. First one of 2014. And it was packed, which was rather nice. I did the opening talk, as I do, and then we split up the attendees to allow the prospective students a chance for a lecture experience and us to have a chat with their parents. And someone asked me a question that I've not heard before, but struck me as a very sensible one. "We've been going round universities and looking at their departments for a while now. What has Hull got that they haven't?".

I could have said we have Three Thing Game or Rather Useful Seminars or Seed Software or Freeside or any number of things. Instead I said "I work here." It got a laugh, which was nice, and then we went onto mention all of the above plus a whole bunch of other things. 

As I was preparing to answer the question I looked across at Mike, John, Brian and Neil from the department and I knew that they were expecting me to say exactly what I did.......

Domain Name Suffering

Turns out these numbers are quite important

Turns out these numbers are quite important

Every now and then I do something really idiotic. I try not to, but perhaps there is a "Conservation of Stupidity" thing at work in the universe which means that every half way clever thing Robert does must be compensated for with an action of outright daftness.

Anyhoo, yesterday I was working on www.wherewouldyouthink.com, a little site for use by anyone thinking about university. It has a bunch of bits and bobs about student life and whatnot. And I was re-hosting it all using glorious Squarespace Version 6. To make this work I had to update the DNS settings for the site. And I remembered that I'd done that for this venerable site only recently, so I might as well copy those settings.  So I opened up my doman name hosting folks and made some adjustments. And by mistake I ended up changing the IP address of my two sites to completely the wrong values. This turned out to be a very, very, silly thing to do. 

The IP address is like the telephone number of a host on the internet. It is now part of popular culture. There is usually a point in a crime/spy caper where the evil guys have been posting things on the internet and one of the tech guys says "I've got their IP address, let's go..." Cue onscreen map, squeal of rubber as cars hurtle down ramps and gunfight before end credits. 

We don't like having to remember phone numbers, so we have an address book in our phones that maps names onto the appropriate digits. This saves us work and it is also useful because when someone gets a new handset you can just update their number and stay in touch.

The internet works in just the same way. Normally we don't bother with 198.185.159.135, instead we put www.robmiles.com into our browser. But something has to do the mapping of names to numbers,  and that something is the Domain Name Service, or DNS for short. This is like the address book for the internet. It is very cleverly designed, with a hierarchy of servers giving out addresses for names.

If your computer asks the local network for a host and the network server doesn't know the address of that one it will ask the one above, and so on to the very top of the tree. When a new name is added to the internet it is added to the very top site and eventually the name/address pair percolate down to the all the machines in the tree.

Each server will keep local copies of the address values so that it doesn't have to keep asking the one above it for help. But every now and then it checks to see if the copy it has is up to date. This means that if the address at the top changes it takes a while for this to have an effect. 

So when I broke my DNS settings everything kept going for a while. But then my site started to become inaccessible. And in a very strange way. Depending on which network I used, the site would either work or it wouldn't, depending on whether the DNS data was "fresh" or "old". 

Of course I figured out what had happened very quickly, and fixed it fast. But it still took the best part of a day for things to settle down and return to normal.  Oh well, I'll be a lot more careful in future when I fiddle with those numbers.