Saturday 19 December 2009

Revolving kitchen

This is an interesting piece of art:

rotating kitchen from Zeger Reyers on Vimeo.

It comes from the Transmission blog. The question is posed, "is this art?"; but surely the question is "is this good art?". You could consider anything as art, as a metaphor for something, or just something pleasing to look at.

Wikipedia claims "Art is the process or product of deliberately arranging elements in a way that appeals to the senses or emotions." But it doesn't specify by whom. You could come across some spilt milk and appreciate the pattern. If you took a picture of it would that make it art, because the photograph is deliberate?

Wednesday 25 November 2009

Toneport UX2 4.2.5 Beta drivers

I tried installing the newer Toneport UX2 4.2.5 beta drivers to see if it fixes the current problem with the 4.2.4 beta drivers. For me, this is: if you disconnect the UX2 USB device and reconnect it, it starts making the choppy noise again. You then have to restart your MacBook with the USB device connected to get it to work properly again (which is a real pain as you have to start all your apps again).

My spec: MacBook Intel '09, OSX 10.6.2, Toneport UX2.

Didn't realise the beta drivers existed until today as they are not well publicised. Remember to click the "beta" tick box on the Line 6 download page:


At first attempt I installed them over the 4.2.4 drivers that I installed, but this doesn't work. I got choppy noise again, but not the same as the first time with the 4.2.4 drivers. Ended up having to uninstall everything and start again.

To anyone from Line 6 reading this: Why don't you supply an application to clean up all traces of Line 6 applications? Dragging applications to the trash can won't delete all files on a Mac. Most of the hassle I have had was figuring out that you need to remove stuff from /Library etc, and that you need to do a clean install. This might stop a significant number of complaints, which I'm sure is losing you customers. I'm only a casual musician, but I'll bet more dedicated musicians are much more frustrated at the situation.

I had to use AppCleaner to get rid of everything (otherwise "kext error" appears):
  • Restart (so we start with clean slate).
  • Run AppCleaner.
  • Uninstall Line 6 Gearbox using AppCleaner.
  • Uninstall Line 6 Monkey using AppCleaner.
  • Restart.
  • Uninstall Line 6 drivers (Use program in Line 6 directory in Applications).
  • Restart (to start again with no Line 6 software).
  • Install latest Gearbox (3.70, contains 3.4 drivers).
  • Install latest (4.2.5 beta) drivers (over Gearbox drivers).
  • Restart.
Don't install Line 6 Monkey. Apparently the current version can't recognise half the hardware and don't know what other problems it causes.

So, the good news is that you no longer have to restart to get the UX2 to work if you unplugged it.

The Line 6 site claims:

This driver addresses the following issue:
* Various audio pops, clicks, and glitches - FIXED
I'm not quite sure what problem they are referring to, unless other devices besides the UX2 weren't fixed with 4.2.4. The problem I had was disconnecting the USB device.

The bad news is that the drivers still aren't there yet as they aren't 64 bit. I.e. you can't run your MacBook in 64 bit kernel mode where it is something like 30% faster in some cases. Snow Leopard defaults to 32 bit mode for safety, which a lot of people won't even realise. You can tell whether you have 32 or 64 bit kernel mode by doing:

Apple menu > "About this Mac" > "More info..." > Software (In "Contents" left bar) > "64-bit Kernel and Extensions"

You'll see:

To use your Line 6 device this must say no. Line 6 haven't added support for the new Snow Leopard 64 bit kernel yet.
  • To boot into 32 bit mode (default) hold down "3" and "2" keys when restarting your Mac.
  • To boot into 64 bit mode hold down "6" and "4" keys when restarting your Mac.



Tuesday 10 November 2009

Two routers, one network

I had two routers, an old wired one and a wireless one. The wireless one is the one connected to the internet, and I want to connect a couple of computers in a different room using the second router as a LAN. The older one (D-Link DI-604) doesn't have a "client mode" (i.e. will automatically work as an extension) so need to do some work. Was a bit of hassle to get working, as I'm not a network expert.

This diagram shows the arrangement to get it working. The following notes are how to plug a router into an existing (working) router:
  • Router B should be added as another client on the LAN, and the output of router A is a LAN input on B (i.e. not the WAN input).
  • Give router B a valid static address on the subnet of A. So if a has mask 255.255.255.0 and an IP 192.168.1.1 and a DHCP range of 192.168.1.100 to 192.168.1.200 you are free to give router B an IP of 192.168.1.210.
  • Disable DHCP on router B. Force the DHCP lease to renew on clients plugged into it if they won't connect.
And bingo, it should work! You lose two LAN ports, but this the only way I could get it to work.

Thursday 15 October 2009

Field

Field looks like a really interesting piece of software. It is step on from Processing, providing a richer IDE with features like embedded editing widgets. I haven't used it in anger yet, and it is still beta, but it looks promising. There are apparently 6 years of work in there so there must be a lot more than meets the eye!


What I also like is the implementation philosophy that other libraries and technologies should be embraced and integrated, rather than rewrite everything. It appears that Field provides a wrapper around other technologies and allows time coordinated use of them. The screen shot about shows the canvas. Left to right is the timeline and the boxes represent things going on.

It will be interesting to use the editor and experiment with the embedded widgets. I've thought about a similar concept for my Guish project, where you'd have interactive GUI elements mixed with text that you enter, like in a terminal. Pure text terminals see really out of date now, and it's about time there was some suitable graphical enhancements.

Other pieces of work by the Open Ended Group that look interesting are Breath, which explores different graphical representations of music, and Musical Creatures, which explores digital creatures that can interact with their environment.

Monday 5 October 2009

Toneport on Snow Leopard

UPDATE (25-Nov): Please read: 4.2.5 beta drivers are available.

I managed to get my Toneport UX2 working on my (2009 Intel) MacBook Pro with Snow Leopard after a bit of fiddling around. I installed Snow Leopard before finding out that my UX2 is not officially support yet (doh!), but there are beta drivers. I take this to mean that they haven't ironed all the issues out. I couldn't find anything (easily) on the Line 6 forums to help sorting this out. It seems a lot of people have the same problem.

Writing drivers is complicated, and converting drivers from 32 to 64 bit is non-trivial. If you've tried to run Vista 64 they had all the same issues (i.e. no/buggy 64 driver support for a lot of things for quite a while).

Initially I just installed the latest 4.2.4 drivers, but this created "choppy noise" (cutting out, popping, white noise, etc). I did get the "kext" error whilst installing, so assume something was going wrong (but I didn't spend time finding out what). Snow Leopard is all 64 bit now, so some drivers won't work. If you just install the latest drivers something must get confused.

The trick is to completely remove all Line 6 software and start again. I rebooted several times, cautiously, to allow the OS to remove unwanted files. I used AppCleaner to uninstall applications because otherwise some files get left behind (e.g. config and data files). If you don't use AppCleaner, this won't work.
  • Restart (so we start with clean slate).
  • Run AppCleaner.
  • Uninstall Line 6 Gearbox using AppCleaner.
  • Uninstall Line 6 Monkey using AppCleaner.
  • Restart.
  • Uninstall Line 6 drivers (Use program in Line 6 directory in Applications).
  • Restart (to start again with no Line 6 software).
  • Install latest Gearbox (3.70, contains 3.4 drivers).
  • Install latest (4.2.4) drivers (over Gearbox drivers).
  • Restart.
After you have done this your Toneport should work as normal. The order is important. My Toneport works fine with Garageband and Gearbox now. I'll keep an eye out for new drivers.

Not a bad idea to bung the guy who wrote AppCleaner a couple of bucks, because this won't work otherwise. :)

I'm not a Line 6 support engineer, if this doesn't work for you, sorry!

UPDATE (7-Oct): After disconnecting the UX2 and using my laptop elsewhere, and then plugging the UX2 back in, the crackling came back again. I managed to get rid of this by leaving the UX2 plugged into the USB port and rebooting the Macbook. It seems like disconnecting the UX2 and/or the Macbook going into sleep breaks something in the 4.2.4 drivers so you have to reset the machine.

Sunday 4 October 2009

Snow Leopard

Well, I upgraded to Snow Leopard recently (10.6.1). Normally I wait a while with new operating system versions until they've had a chance to patch them (e.g. version X.Y.3). I waited quite a while before installing Leopard as it was such a big upgrade. Snow Leopard is supposed to be a "tweak", with the biggest changes at low level, where everything has gone 64 bit.

The biggest problems here will be with hardware drivers breaking (as I found out with my Toneport UX2). Still, compared to Vista 64 this doesn't seem to be much of a problem. Microsoft is notorious for releasing beta quality software and then patching it after users have tested it. Apple seem to be a bit better at releasing, but then they control the whole hardware and platform more strictly, so they have less margin for error.

Snow Leopard does seem more responsive, not that Leopard was slow. Apps seem to start faster, and the Finder is instantaneous. This is a breath of fresh air after using Window's sluggish Explorer (on XP). It's pretty poor that it can take a couple of seconds to refresh, even on a high spec machine.

Snow Leopard no longer supports PowerPC so my old G5 will have to stay on Leopard, and will probably be appearing on ebay. I believe applications are also compressed, which allows them to load faster. It's faster to decompress something into memory from disc, as the bottleneck is your slow hard drive (especially on a 5400 RPM laptop drive). My laptop does seem more zippy, and I got a massive chunk of hard drive space back, ~10GBs?!! I have XCode and a load of other stuff that would benefit.

Not really noticed any visual changes, but it does seem strangely more pleasing to the eye. Upgrade cost is relatively cheap and Apple have been smart not to charge a lot for something which doesn't give a lot of end user features, but a lot of work will have gone into all the optimisations it provides. Worth upgrading for the extra responsiveness.

Friday 25 September 2009

Overlord II and franchises

Just finished playing Overlord 2 on Xbox 360, and very enjoyable it was. The first version felt a bit rough round the edges and I didn't complete it. I played that on PC. I seem to remember getting a bit lost in parts of the game, especially after you return to it after not having played it for a while.

After playing the first version on PC I thought the 360 version would be really difficult to control without the mouse and keyboard, but it works really well. The difficultly level was about right for me. I'm more of a take-it-or-leave-it casual gamer, than a hardcore gamer; no time! So impossible bosses and engrossing 4 hour games get played rarely. Overlord 2 felt a little easy to stroll through, but I enjoyed the journey and if it had been more difficult I don't think the control mechanism would have coped that well.

This version has more help with the mission structure and generally feels a lot more polished. It's interesting terms of development because it seems this is what you have to do now to release a relatively big game now, especially as an indie developer, due to the enormous costs involved. You really need to build a franchise to cover any loans or expansion costs, and to reduce future risk, providing the game sells.

It's very easy for game developers (or anyone writing software for that matter) or aim too high on version 1.0 and not deliver. Estimating costs and complexity are complicated matters with large cumulative margins of error. If you develop in an agile manner you should be able to provide something and increment. If you come out with some interesting USP you can afford to release first version that's a bit rough, but in a crowded market this is very high risk.

Tuesday 25 August 2009

FEAR 2

Finished FEAR 2 a couple of weeks ago. This is one of the best first person shooters I've player since Doom 3. It has a added horror bent, which was interesting, but didn't interrupt the game flow too much. It can be irritating when the side story keeps butting in when you're enjoying the game, or you don't find the side story that interesting.

Controls were great: weapon switching and reloading was easy. Movement was easy. Difficultly level was good for me, as I'm not really a hardcore gamer. I started on "normal" and somehow ended up on "hard" towards the end, which I didn't think was that hard. The game flow was excellent, it just kept on going and the length was good. Engaging, constant, and easy to follow.

It was quite refreshing to not have ridiculously hard bosses every hour or so. Instead, there are levels where you are trapped and have to shoot multiple foes. This was more of an enjoyable challenge. Sometimes you get a boss which is just too hard and you spend 2-3 hours and multiple attempts killing it. This just become on exercise in frustration. For example, in Metroid Prime 3 on Wii, Mogenar is too difficult. Perhaps that just tells you something about my level of skill :-). But non-linear difficulty is frustrating for players. Mind you I should have another go now I've found that walkthrough. ;-)

Some of the weapons were a little similar. Not really the variation you get with Doom/Unreal, but usable and change your attack strategy. Climbing into the armoured shell and blowing things up was also fun.

I haven't played the first FEAR, but playing this has made me want to search for a copy.

Monday 22 June 2009

Spotify

It's funny, I was having a discussion with a friend recently about how the music industry is out of date with it's listeners and needs a new revenue model. The current one is decades old and doesn't benefit many except the record companies and a few large artists.

People want free access to music that they have payed for, and want to pay a reasonable price. We already got ripped off with "indestructable CDs" that you can spread jam on and they still work. Ha! One tiny scratch and they're coasters! Vinyl is much more resilient; and better quality sound. Also, the price is too much. 12-15 quid for CD with 8-10 tracks on it is too expensive unless you're a real fan. To get the real money you have to bring more people in, which means getting people to experiment, but people won't at those prices. 6-8 quid and you're talking.

I've heard about Spotify recently, but there is a lot of buzz on the internet and a lot of things don't really pan out. But I really think this will. This is the new model I was talking about. If you are a casual listener it's great for skimming songs, finding new artists and listening to old stuff that you lost; the catalogue is huge!

Ahhhh.... I'd forgotten just how good Daydream Nation is. Silver Rocket is my favourite.

Riddled with viruses


Whilst updating my media server I did a virus scan and discovered it's riddled with trojans and various viruses! Oops.

I use AVG free version but it seems to have circumvented that. Even after a full virus scan various strange things still happening, including getting redirected to Windowsclick repeatedly whilst trying to fix the problem. Seems other people had the same problem.

Running Malwarebytes Anti-malware (free version) initially didn't work. You have to rename the mbam.exe to get it to work! The trojan is blocking it running. Clever. So after a rename, a quick clean and a reboot that seems to have gone. Wonder what else is left.

So, lesson learnt:
  • Update Windows automatically. I had this turned off because I don't want the server resetting randomly.
  • Run full virus scans regularly. I was just running quick scans occasionally.
  • Viruses are getting more devious.
  • If you can't follow this link then you have it too.
  • I post stuff like this because I found what other people put really useful. Thanks!

Thursday 9 April 2009

Mac usable coloured terminal

When using a terminal window on the Mac (or on any system!) if everything is the same colour it is difficult to tell the difference between file types. E.g. there is no difference in presentation between a file, a directory and a link.

If you are using a bash shell (it tells you in the title bar what type it is), you can configure colouring using your profile. This lives in the file: ~/.profile. Add your changes to the end of the file.

There are some helpful blogs with information on what to add, but I found the bold lettering difficult to read. You achieve something more readable just using 'ls -G'. So add:

alias ls='ls -GF'
alias ll='ls -hl'

The -F option also tells you what the object type is (man ls), and ll adds an extra command to save doing ls -l.

You might also want to change your terminal prompt. The default is the machine you are logged into, which is a little pointless if you know it, and takes up a lot of screen. I find the following quite useful:
export PS1='\t \w> '
\t gives you the time in 24 hour format. It also gives seconds and can be a useful way of timing commands roughly. \w tells you the current directory.

Tuesday 17 March 2009

First Jython experiment

W00t! Got first Jython program working with GTGE:
# Test of Jython and GTGE.

# Java Foundation Classes (JFC)
from java.awt import *

# GTGE API
from com.golden.gamedev import *


"""
**
* The basic skeleton of Golden T Game Engine (GTGE).
*
* Objective: show how to set up a new game.
*
"""

class Test(Game):

def initResources(self):
# initialize game variables
pass

def update(self,elapsedTime):
# update game variables
pass

def render(self,g):
# render to the screen
pass


def main():
game = GameLoader()
game.setup(Test(), Dimension(640,480), False)
game.start()

main()


I decided on GTGE because it seems like it has been used for a lot of games so far, and so is fairly mature. It has also just been released as open source and seems to fairly well supported. We'll see.

Anyway, have a working Jython program that create a GTGE window. Admittedly the authors of GTGE did all the work and I just converted a Java tutorial into Python. Original Java code:
// JFC
import java.awt.*;

// GTGE
import com.golden.gamedev.*;


/**
* Game in Windowed Mode Environment.
*
* Objective: show how to set up a windowed mode game
*/
public class Tutorial5_1 extends Game {


/***************************************/
/************ GAME SKELETON ************/
/***************************************/

public void initResources() {
}


public void update(long elapsedTime) {
}


public void render(Graphics2D g) {
}


/**************************************/
/********** START-POINT ***************/
/**************************************/

public static void main(String[] args) {
GameLoader game = new GameLoader();
game.setup(new Tutorial5_1(), new Dimension(640,480), false);
game.start();
}

}

Sunday 15 March 2009

Safari 4 Beta

Just trying out Safari 4 beta. Previously I decided Firefox 3 was better than Safari 3 because Safari didn't seem to add any advantage, as Firefox has lots of customisation options.

My initial impression is that Safari 4 is really fast. Pages appear notably faster than Firefox 3. It will be interesting to see Firefox 3.5 improvements. I wonder if they'll beat Webkit.

Other reviews (The Unix Geek: Safari 4 Review) have pointed out new features. I agree that moving the tabs into the title bar is a great idea as it gives more space. This is especially important on laptops where the screen isn't as tall. It's a relatively simple change but being able to read a couple of extra lines makes all the difference.

I also found a plug-in to allow use of Delicious bookmarks. It's not as well integrated as the Firefox one, but it'll keep me using Safari until I can try Firefox 3.5. Having your bookmarks stored online is a great usability boost for web usage, and having this well integrated with the browser is just as important.

The new bookmarks viewer in Safari 4 looks interesting. You can scroll through previews of your bookmarks or history. This a great if you are doing research and trying to find a site you bookmarked to read later. I hope someone is working on a Delicious extension for this. Now that would be cool.

Saturday 14 March 2009

Java games

Been wanting to write a little game for fun. There are lots of ways to do this!

There are good C/C++ cross platform game libraries. One of the best I found is Clanlib. It's well designed and contains everything you'll need. Libraries like SDL provide simple cross platform APIs but extra functionality is via extension libraries which tend to be low quality or not maintained. Clanlib provides more of a coherent framework, and uses OpenGL for all rendering, so there are no platform specific quirks.

Using Python and PyGame means you don't have to recompile per platform. PyGame provide bindings for SDL. High level languages, like Python, are nice for prototyping and knocking experimental games up. You also don't need to worry too much about performance these days since most PCs have more than enough horsepower.

If you want to get your game to the widest audience then probably the best way is to make is playable in a browser. Downloading executables from the web is a lottery. Any program could contain malicious code. Running them in a browser gives people more confidence nothing nasty will happen. Flash is quite popular for this, but I didn't really grow to like it when experimenting with it. Now that canvas has arrived, Flash may be on the way out.

I've never really used Java, I suppose I haven't found a use for it. I use C++ for performance programming and Python for scripted tools etc. An interesting Python variant is Jython, that is, Python written in Java. This allows you to compile Python code into Java. So this seems like a good compromise, and allows you embed your Jython applet in a page to be used.

Using Java and Python also allows me to use Eclipse, which is a great development environment. We'll see how it works out.

Saturday 10 January 2009

Hot Chicks With Douchebags


If you haven't come across it yet I suggest you get over to "Hot Chicks with Douchebags". It's pictures people have sent in of the "choice" trendy set.

Not a lot you can say really, the title says it all. Here are some of my favourites. :-)





What is so brilliant about some of the posts are the Haikus. For example:



Crotch first, Glenn triumphs,
Two Russian Cougars from Queens,
And the Hair Point. Dude.

Hair tapered to point
reminiscent of a turd
that I just pinched off.

Inga: real estate
Olga: low-rent "socialite"
Glenn: sanitation

So full from dinner,
Pointy reclines and begs you
To sniff his blue jeans

Looks like all three shop
at H&M, buy one girl's
black shirt get two free

Blue Moon


I've been trying to work out exactly how this guy managed to end up upside-down dangling from the lift. It can't have been easy.

Hilarious. More photos.

Upgraded Mac to Leopard

Been getting more into the Mac recently. Did a clean install of Leopard (OS X 10.5) and it seems there are a lot of subtle improvements over Tiger. I held off doing this for a while since a lot of open source and freeware software hadn't been updated.

Seems more polished generally. Once nice thing is connecting to a Windows machine over a local network is a lot easier. Despite the apparent ease of a lot of things in OS X some things were a little esoteric, or half arsed. Generally, though I now seem to spend less time messing around trying to get things done. Quicksilver also seems somewhat redundant now as Spotlight has been added.

This is the last upgrade of OS I'll get for the PowerMac G5 I have. Apple are apparently on a big push to optimise OS X for Intel now and have dropped support for PPC. Not too surprised at this as the machine is starting to feel a little sluggish now and starting to think about upgrading, but not quite sold on the pricier Mac hardware yet. For starters, Mac laptops have relatively small screens for the price (although it helps with battery life). For a desktop replacement though you need a bigger screen.

Also got an external hard drive so I can use Time Machine. Now this is a great piece of software. Not only does it just back everything up transparently it also sets your backup schedule for you. And the presentation is excellent as well, screens travelling through space. Corny but well done ;-).

Haven't had to retrieve anything major (yet!) but it's nice having that feeling that everything is being backed up in case you have a catastrophic drive failure (which will happen eventually, and has happened to be twice before on PCs). Now to backup my Windows laptop I can just copy my documents onto the Mac and they'll be backed up. :-)

Just getting into using Spaces now. With four of them you have four desktops which is very handy for programming where you have web and document references open, a compiler and testing environment. Well you need one screen just for Xcode because of all the window clutter.

Another addition is Mobile Me although yet to try this. Unsure what I'd use it for at the moment. I use Google and Yahoo for my web storage at the moment.

How much is that dog in the window?

Granville Street, Vancouver, Canada.