Friday, 30 November 2007

Will Web 2.0 kill Web 1.0?

I have come across the opinion that Web 2.0 might eventually kill off the older Web 1.0 web sites in the long run. This is an interesting point of view, I think, that I would like to explore a little of.

  • What is Web 2.0?

In this context, I am using Web 2.0 to talk about social networking web sites that provide an API for third party expansion. For example, Facebook would fall into this category. So the question I am really trying to tackle here is the question of whether Facebook will kill off older and more established web sites.

  • Social networking vs chat

Chat programs have existed practically forever on the web. Whether in the form of IRC (Internet Relay Chat), IM (Instant Messaging) or similar, they exist for people to exchange short message quickly with friends and sometimes strangers. Chatrooms are generally full of lurking weirdos hiding behind their anonomity and net speak, but real genuine people can be found there too, so it's not always a total waste of time to drop in one. IM programs are more like SMS on mobile phones but do let you search for other members.

This is all similar to social networking sites, however, your anonimity has been removed so when you message somebody, they know it is you. This is generally a good thing. Since joining Facebook, my own communication has often occured through the site and not via email or IM with people that would have otherwise been. So while I don't think that social networking sites will kill off chat and IM (esp as IM has in-company coporate benefits), I think that they will decline.

  • Social networking vs dating sites

Dating sites let you communicate with and hopefully meet new people by seaching for them or by providing a closest match results list. This generally works and if you have a good photo, a well written profile and are friendly then the whole dating site thing can be fun and people you meet online might end up being friends (or better) in real life. However, the big downside (and this is really big) is that they often want to charge you for the service.

Contrast and compare that with social networking sites, where you can view friends of friends profiles, see people by network and interest group, or search for people by some other arbitrary measure that you decide on. You can then message those people and get your flirt on. Thats really what all the poking is about that is going on in these social networking web sites. People flirting with each other. It wouldnt surprise me if people start to meet, date and even get married because of this. So dating web sites have a lot to worry about!

  • Social networking vs marketplaces

You can buy and sell items through social networking sites. I'm not sure how big this will grow or how successful it really is at the moment, I don't think eBay (or Craigslist if you are in America) has much to worry about on this aspect but you never know...

  • Conclusion

Web 2.0 will make significant inroads at the expense of Web 1.0 sites and services, but like the television didn't kill the radio, they will continue to coexist. Some web 1.0 sites which exist by deriving revenue (such as dating sites) will have to adjust their models or die in the long run.

How popular is Facebook?

A quick example to show how popular Facebook is was what happened to a friend who administers a network in a data company. He banned Facebook and within half an hour there was such an outcry amongst the staff (one girl even complained that she couldn't network with her clients without the site!) that he had to unban it.

Thursday, 22 November 2007

The Importance of building a Data Driven Engine

During the design phase of an application, game or project very strong consideration should be given to building a data driven engine. Essentially, it is an engine where some or all of the data that it uses is external to it, perhaps in configuration files, XML files or a database.
What follows is a brief look at why developing such a thing is a really good idea.


  • No compiling...

When you make changes to the data, you do not need to compile them into the engine. The opposite of this is where data is "hard coded" into the engine, so changes to the data, even small changes, require the whole engine to be recompiled. This is extremely unefficient and time consuming and so should be avoided.

  • Flexible...

Within the framework of the engine, this will prove to be a highly flexible approach. By and large because it is much easier to change the data that the engine uses than to implement code within the engine, it helps with iterative testing, e.g. for establishing balancing rules within a game.

  • My own experience...

My own experience with hobbiest games development (generally I don't build games professionally, instead it is applications, web sites and utilities on a day to day basis) has taught me a lot about what one lone developer can achieve. Having a fantastic vision doesn't mean it can be translated into reality, but having a data driven engine will help massively. I could not have build Necrotech on my own a few years ago without this approach.

  • Vs Design patterns...

Im also relearning this very lesson with my latest project Dungeon Creep. It is an RPG based on the principles of procedural content generation and is in its early stages. It can build dungeon layouts and the player can walk around them. This is in Macromedia Flash, by the way.
I'm currently working on the inventory system which works in a similar way to Diablo and Two Worlds in that the items are also randomly generated. For example, a knife and a heavy knife share the base stats of a knife but the heavy knife weighs more, is slower and inflicts more damage when it hits.
I implemented this originally using a polymorphic design pattern which was fine. The basic idea is that items can have modifiers stacked on them (in the above example, "heavy" is such a modifier) with some rules controlling which modifiers can be stacked on what (e.g. you will not get a "Sharp" Staff). This worked very well and made it easy to add lots of modifiers and was even flexible enough for me to expand it into materials (e.g. a Steel Sword, where Steel is a special type of modifier). However, now I have about twenty of these in the item engine, it is starting to become hard to manage.

Moving this out to a data driven approach that loads them from XML files makes it much easier to get an overall view on the whole data set. I had to write some loader and conversion code to get this working but now I'm back in control of what is going on. So design patterns are extremely useful but should be used in conjunction with a data driven engine and not as a replacement.

  • It could mean life or death...

...for the project you're working on. Essentially, it can be the difference between completing a project and not, especially if it is a large or ambitious project, or the team building it is very small. Take every advantage you can to minimise the time involved in creating the project and also the stress.


  • Performance could suffer

Anything that isn't hardcoded directly into the game engine code itself will not perform as well. However, this performance disadvantage can normally be removed by simlpy reading the external data into internal data structures as part of the main engine initialisation process. So it isn't as big a deal as you might expect.

Friday, 16 November 2007

Mind AI

Artifical intelligence has been on my mind recently (I'm creating a Flash based RPG in my spare time) and I have been reading an excellent blog (Game AI For Developers) about different aspects of it that I have not come across before. Previously, my AI programming has been limited to finite state machines, pathing problems and line of sight issues. My post on recursive thinking the other day triggered an interesting discussion about how many developers struggle with the concept of recursion and how it can be represented simlpy using a ladder diagram (thanks to Zeroth for his example in the comments there, which is useful for anybody else like me who isn't familiar with the term). Building on this, I have an idea to represent a "mind " in code, using this and another technique which I will discuss below. I find it to be sufficiently plausible enough to work and I think the idea is good enough to share, in case I don't get the time to implement this in any of my own projects.

The basic idea is to simulate how babies see the world and learn from it. When each of us are born, we have a relatively clean slate* in terms of what we know. How does it gather, and represent information as concepts so that it can understand the world it is in? Let's take the example of baby's experience with a teddy bear. The baby likes the teddy bear because it feels soft when it touches it. Softness, we could say, provides pleasure through its sensory interaction with the baby. What we have in this example is a string of information here, starting at the teddy bear and eventually mapping to the feeling of pleasure, something like this...

Teddy Bear -> Soft -> Pleasure

So eventually, the conceptual mappings lead to a pleasurable experience of touchign a teddy bear because of its softness. This will then become a memory that informs the baby's decision making in future. The baby will have learned that the teddy bear is a nice thing to touch and will touch it in future to experience a form of mild pleasure or comfort. In technical terms, pleasure becomes a base node that many concepts will map to that the baby experiences. I suggest using fear as another one, because negative pleasure could be stated as pain and the survival instinct will therefore map to a fear emotion.

Mapping information in this way provides symantics, i.e. actual meaning to base data, and even (to some extent) a limited context for understanding a single piece of information. By exploring the mappings (through a recursive function, of course, as you may have to go through an unknown number of levels), the information can be put back together. It could even be how the storage mechanism should work too - when the baby encounters something new, a fuzzy logic routine probably runs to categorise what this new thing is like in order to have some understanding of it.

Such a system as this is highly efficient in terms of storage (the concept of softness can be shared by any number of other concepts) and probably closely resembles the game of association that our own brains make. You can become aware of this when a certain sound, smell or place can suddenly trigger a memory. Also, this design idea would map into an Object Oriented system quite easily.

*Relatively because we all have our preprogrammed DNA that affects how we interpret our sensory information.

Wednesday, 14 November 2007

Improving Firefox

I recently went on a bit of a quest to speed up Firefox, as I wasn't happy with its rendering times on my (admittedly dated) iBook at home and my (fairly decent dual core) PC at work. I love Firefox, it's my favourite browser whatever OS I'm on it, but compared to say Safari it does feel a little sluggish in its default configuration, so I did a bit of hunting around to find ways to improve the speed of the old fox.

So what follows are the steps I've taken that have given a very nice speed-boost to Firefox, as well as improve its already good security model.

  • Use a ramdisk

Now this will be a controversial point as many people will contend that putting your web cache on to a ramdisk won't give any real speed improvements because the biggest bottleneck to render web pages is the net connection. While it is true that the net connection itself is a huge bottle neck, followed by the cpu rendering time, once you have the data from the interweb it will be saved somewhere. Retrieving from that cache is much quicker when it resides in physical ram and not on the hard disk. I would recommend trying it. You might be surprised at the extra snappiness you will get from the browser by doing this.

Ramdisks have their negative side, however. On rebooting, your cache will not be saved, meaning your browser will re-download from the web again. This is fine by me though, as I do not want other people to root around my web cache, dislike cookies and don't have the browser save my passwords - so there are security benefits to this too. As an aside, I do have firefox also clear private data when the browser is closed, something else I would recommend.

  • Get Fasterfox

Fasterfox is a performance and networking tweak add-on for firefox that is available here. It will make a few changes to firefox and also contains a turbo mode, which will try and pre-fetch static pages for you into your cache ready for when you want to visit them. This makes quite a big difference to browsing with firefox.

  • Flashblock

This nifty little add-on will block flash by default and instead show you a little play icon. Clicking this will play the flash movie. This is very useful for preventing useless flash banner adverts from loading. It also has settings so you can "white list" websites for flash files that you really do want to see. This will speed up your browsing by not downloading ads that you do not wish to see.

  • Adblock

Similar to the above, but for traditional banner ads, this will remove them from web pages so you are not downloading them unnecessarily. Also similar to above there is a white list, but also a black list, so you can use generic filters to block ads from servers whatever ad they try and send you.

  • Final Tweaks

Lastly, follow the instructions here to further tweak the browser.

Tuesday, 13 November 2007

Recursive Thinking

I have just woken from a dream where recursion played a part in what happened. In my dream I was in my bedroom and on the phone to a friend, but with two other friends beside me. When one of the friends near me started to sing a Metallica song the other one started to do some of the drumming to the song and my friend on the phone heard this and joined in. It was quite a funny thing. Then I wake from that dream - but I am still asleep in reality, but do not know this - and I'm walking up a hill with one of the friends from my dream, explaining to him about this dream I have had and how funny it was that he could hear the craziness on the other end of the phone and had joined in.

A dream within a dream, a window to another conscious reality constructed by the brain, a dimension within a dimension - recursion. This is not the first time I have experienced a dream of this type but it is pretty unusual and provides an insight into how our minds may actually work.

I was reading recently in New Scientist that recursive awareness may be what separates man from beast. Recursion in thought explains our ability to put ourselves in the position of others (often known as empathy) and understand their point of view on another situation as well as our own. Often at the same time as our own point of view. In fact, we can simultaneously hold our own point of view and view it as others may do and this can affect how we behave. For example, we may not wish to say what we really think as others around us may be offended, even though our point of view is perfectly valid and logical. This, the argument goes, is a uniquely human proposition.

Recursion occurs in daily life too, through the use of grammar. For example, the idea that I'm looking at you, who is looking at me is a recursive statement. It could go further (indeed forever): I'm looking at you, who is looking at me, who is looking at you, who is looking at me... and yet the meaning is clear. Our brains can decipher such complex statements with ease. Another example of it occurring within language is "she said this about her mother who knows that your father is an alcoholic." We really have no problem understanding such a complex piece of information because of our ability to handle recursive concepts in our heads. Maybe it is the secret to intelligence in the brain; that if you can represent a piece of information through recursion you will have a very powerful information processing tool. I will think on this some more as it is entirely relevant to my day to day activities as a developer.

Food for thought. Food for recursive thought.

Friday, 2 November 2007

Facebook data goldmine

What will the future hold for Facebook? Will it stuff itself full of ads to milk its position as number one social networking site? It's highly likely...

There's no question Facebook is sitting on a data goldmine, with an exhaustive amount of information on people's preferences, backgrounds, and social histories--all given voluntarily by members. Facebook has profiles that include people's favorite music, television shows, books, and hobbies; their job history, education, birth date, and marital status; as well as daily activities, social networks, and interest groups. Traditional ad networks would kill for all that information in one place.

Taken from: Can Facebook feed its ad brains?

My take on this is that they probably will have a bash, get it wrong and get taken over by either Microsoft, Google or Yahoo all of which have people with the right expertise and the tech to pull this off. At which point the largest social networking website will have started haemorrhaging users to whatever alternative / new social networking site appears, or to the next "big thing". Facebook will make vast profits for a while but in five years we will be saying, are you on Facebook? No, me neither. It was the viagra ads that killed it. And the hackers. And the identity thefts.

So while I'm predicting doom and gloom in the long term for Facebook, in the short term a lot of people are going to get very, very rich.

Sunday, 28 October 2007

UK government gets the right end of the stick

The UK government is now advising that schools should not sign license agreements with Microsoft. It looks like that they are finally getting the right end of the technology stick at last.

It's generally a bad idea for site licenses to be blanket bought by schools because it is another way that Microsoft supports its monopoly position. By offering large discounts and a network of machines that do not need individual licenses, the offer that Microsoft makes is certainly attractive to school IT decision makers who probably are unaware of the politics of the IT industry or have no interest in the OS market place. Ideally, schools should have a number of machines for students to use (Windows, Macs, Linux, Unix) to broaden their exposure to the number of systems that are out there in the real world. I'm in complete agreement with the government on this one.

Thursday, 25 October 2007

Microsoft investing in Facebook

Microsoft is interested in Facebook - as it Google - but Microsoft is putting its money where its mouth is with a 240 million dollar investment in the company.

Why is Microsoft, or Google, or anyone else interested in Facebook?

Facebook's value is not in the software itself—which could be duplicated relatively easily by a small group of programmers—but in the vast social networks the site has gathered, networks that contain information about people's interests and desires that would be invaluable for any marketing company.

So be careful what you put up there folks. This one social network that is going to become an advertising network in the near future, and if that isn't enough to stop you putting confidential information up there how about the identity theft risk that sites like Facebook pose.

Monday, 22 October 2007

Finally Microsoft will comply with the courts

Well, well, well, who would have thought it, but Microsoft has finally decided to comply with the European courts and their antitrust rulings that were made three years ago.

Among other things, the court upheld the Commission's finding that Microsoft failed to give rivals enough information so their work group server software would work as smoothly with Microsoft's desktop computers as Microsoft's own software.

So hopefully, we may actually get Macs working as smoothly on a Windows Server domain controller network as the Windows machines themselves. :)

Taken from Microsoft finally bows to EU antitrust measures

Friday, 21 September 2007

Analysis of iPod and iPhone: Has Apple stuffed up the UK launch?

As you may know Apple recently made its big announcement about the date of the iPhone launch in the UK. This is hot on the heels of a new iPod lineup being made available, a lineup that interestingly includes the iPod Touch.

Now the iPod Touch is basically the iPhone, minus all the phone parts, so you cannot call anyone on it, but what you do get is a very nice touch screen interface to your music, a WIFI enabled web browser and the much touted Coverflow. Coverflow is a way to browse your music collection by looking at the album covers and its really quite nice; it has been in iTunes for a while now providing some pretty cool eye candy.

So has this stuffed up the UK launch of the iPhone? Maybe. The iPod touch costs £200 for an 8gb version, whereas the iPhone costs £269 for 8gb of storage - so far so good. You can pick up the 16gb iPod Touch also for £269, making direct comparisons possible. Twice the storage space but no phone. Sounds like a fair trade, right? Well its not quite as simple as that.

Because the iPhone is a phone (duh!) it also has to have a carrier. Apple have chosen O2 for this role and they want to make a lot of money on the network plan for this phone. See here. To summarise, they want to charge £35 a month in a contract that lasts 18 months. Total cost is £899!!

So the real comparison is this: £899 for an 8gb iPhone, or £269 for a 16gb iPod Touch. It seems a no brainer to me if you were in the market for a state of the art music player which one to go for...

Wednesday, 19 September 2007

A creative outlet

I have set up a new blog known as Creative Chasm as an outlet for my creative urges. I had one last night after watching the film 23 starring Jim Carey that made me put "pen to paper" (virtually) and write a bit about the idea of Boltzmann Brains which I had recently read about in New Scientist. The blog will cover short stories and poems with a fantasy, horror or science fiction theme.

So, if you fancy something a little different, check out the Creative Chasm blog.

Friday, 7 September 2007


Today I'm flying the flag of victory because the UK government is going to force the BBC to make its iPlayer software multiplatform. This is all thanks to an online ePetition that managed to attract sixteen thousand signatures. I blogged about this previously here.

It is now officially time for the BBC to get a clue about technology instead of relying on Microsoft's biased advice - event the UK government thinks so!

A victory for the people :)

Monday, 3 September 2007

Sony rootkit strikes again!

You may remember the rootkit that Sony secretly installed onto Windows user's machines without the owners permission when they played certain CD's which was capable (like all rootkits) of hiding files from the operating system. Malware authors seized this as an opportunity to use the rootkit to hide their viruses/spyware/adware from anything on the OS - including tools designed to remove just such software. Such is the power of the rootkit - it modified the windows kernel.

Well guess what - Another Sony rootkit worms its way to the surface - its time to stop trusting Sony, folks. Once is a mistake, but being caught cheating twice is unforgivable. Time to break up with them and find some other pretty Asian electronics manufacturer to have a love affair with, peeps.

Wednesday, 22 August 2007

Apple number 3 in the U.S.

Apple's market share is growing, in line with what we would expect as many analysts in the IT industry believe we are heading for a tipping point in a few years where more and more people reject Windows.

Indeed, Apple's U.S. Mac sales have grown at triple the rate of the rest of the PC industry since last fall, propelling it into third place in the U.S., behind Dell (Charts, Fortune 500) and Hewlett-Packard (Charts, Fortune 500).

Taken from: Apple's surprise weapon: Computers .

So while this is in line with expectations (in terms of very healthy growth for Apple), it is somewhat surprising that they managed to achieve number three in terms of market share. While there are conspiracy theories that Google may be intersted in buying Apple (I don't subscribe to this point of view myself), it looks like Apple are doing just fine doing what they do best - producing great computers and focussing on user-centric software. Did I mention that Mac Mini boots in twenty seconds?

Wednesday, 15 August 2007

Vista too flabby for the 2008 Olympics

More bad news for Vista - The Olympic Committee chooses XP over Vista clearly demonstrating that big business finds it too risky to install the new OS (something discussed briefly in the previous post: Please hold, all our operators are busy rebooting Vista....) and in line with what you would expect if we are indeed heading slowly but surely for the tipping point.

So that's 12,000 desktop PC's and 800 laptops that could have been running Vista and won't be. I bet that there are some linux advocates out there kicking themselves that linux isn't mature enough for this kind of situation because if it were, I have a feeling that it wouldn't be Windows XP that was chosen, it would be Linux. Of course, if it were up to me I would say put them all on Tiger but I bet that the cost of all those Apple Macs that would be required effectively priced that right off the page, even if it would have been a great idea (and they would have got wireless internet thrown in the mix too, thanks to the user friendly Airport tech, but I digress).

I have a feeling that some of the Microsoft executives are way more pissed off than any linux advocates though. They would have loved their flagship OS to have been chosen by the Olympic Committee, as it is, it looks bad for Microsoft even if financially it isn't.

Please hold, all our operators are busy rebooting Vista....

Well this is interesting - the Dutch office of fair trading have set up a dedicated complaints hotline for Windows Vista users. Lots of consumers are having problems with the new OS and if it continues, they may take legal action against Microsoft.

The old business adage of waiting for the service packs to come out before upgrading should perhaps be adopted by consumers too (and retailers, as its their fault people are buying Vista, what else can they do if there is no choice)... or then again maybe Microsoft shouldn't release beta software on the masses.

Friday, 10 August 2007

Heading for the tipping point

The recent blog entry
Apple's Mac Set to Soar by Lance Ulanoff discusses John C DVorak's own acceptance of the Mac as his primary platform and sees that the future belongs to the Mac. I agree that Mac marketshare will continue to grow as Apple continues to put quality machines on the marketplace and more PC users become educated that OSX offers a better user experience than Windows. To quote the PC World article I've linked to...

To put it simply, Apple's Macintosh is becoming the most logical choice for those looking to buy a new computer.

I regularly use both platforms (PC at work and Mac at home) and know for sure which I prefer. It isnt the one that forces me to go through some convaluted uninstall process when I want to get rid of software and then asks me if I want to delete shared files (what the fuck?), its the one that lets me drag a program I don't want into the trash and forget about it!

(Update) A friend of mine pointed out that this may be true for home users but it isn't for business users. A very good point. However, this just popped into my RSS reader which suggests that the future of business user operating systems may not be Windows, either... Automaker Peugeot Converts 20,000 Desktops To Linux

Thursday, 9 August 2007

Roll your own SWF with MTASC, dude

I'm really liking working with MTASC, the open source actionscript compiler which supports AS 2 and the haXe language (something I've not used but I have checked out the language features and I'm pretty impressed).

Im currently using MTASC with Flash Develop on a Windows XP machine and as a hardcore coder at heart I love being able to create SWF's without using the heavyweight Flash IDE, which in most cases I feel to be totally unnecessary. Why do I need a timeline, after all? I can structure my programs just fine without one thanks.

The IDE is still useful however for doing things like laying screens out, which means the only Actionscript code in the FLA in a scenario like this is just to wire together the Classes (which do all the real work) and the interface textfields, movieclips and components.

This workflow of FlashDevelop and MTASC works very well indeed, but it is somewhat PC-centric. I'm still getting my Mac workflow on its feet with Textmate (works fine on my Tiger machine but complains loudly on my Panther iBook and I'm not familiar enough with the compiler to know why). Still, I'll get it set up even if I have to use Director to create a front end to the MTASC compiler!

If anyone else is thinking about going down this route of using MTASC to create SWFS, here is a useful links that solved some issues I had... Roll your own Delegate clas.

Sunday, 5 August 2007

Elton STFU n00b

Elton John says that the internet is destroying music. I think that Elton John is destroying music and has been doing for a very long time!

If anything, the internet may destroy the record labels - not music. Imagine a world where albums were free or such a low cost that they may as well be, how would artists make money? Through concerts and live performances. They would make more money because more people would be exposed to their music through the web and therefore they would gain more fans, which leads to more sellout gigs, which leads to more gigs. Everybody benefits in this model except the record labels.

So stick that up your fat ass crack-pipe Elton, just because nobody bought your last album doesn't mean the net is a bad thing, it means your last album was crap.

Friday, 3 August 2007

Foiled again RIAA, shucks

File-sharing is a "petty offense," say German prosecutors

Responding to a request from the German music industry for the names and addresses of users allegedly engaged in file-sharing, the court instructed the public prosecutor's office not to turn over the data.

Sunday, 29 July 2007

BBC iPlayer petition

Sign the petition to prevent the BBC from making its video player Windows only here and stop them from promoting one operating system vendor over another - 13,000 signatures so far. This is an e-petition that will go to Gordon Brown himself.

Curiously, the video player only works on Windows XP anyway (so no Vista or 2000 support), showing it up as the shite junk it obviously is.

Saturday, 28 July 2007

Close, but no...

So I sat down today to do some coding with Flash 9 (CS3) in AS3 on my Power Mac G5. I'm used to using AS2 and have a very good understanding of Object Oriented Programming, software architecture and design patterns and have been looking forward to implementing some of the cool features of OOP that aren't in AS2 in a Flash game. I have been working on a space game but recently started to lose enthusiasm for it because the idea of it isn't really mine, it's a remake of the old classic Elite but in Flash as 2d. Anyway, it would be nice to work on something that is totally my idea and I figure I can combine that with dabbling in AS3.

To bring you up to scratch with where I'm at, a work colleague of mine (a.k.a the Schoolboy Coder) wanted to trap an event that Flash doesn't provide. The textfield object will send an event when text is changed by the user when typing text into it, but not when the text is changed by code. He came to me to ask for ideas on solving it and of course I suggested extending the textfield class and sending a custom event out in the text set method. This is a the usual OOP solution to getting more functionality out of a class. This works fine, however, because Flash 8 / AS 2 do not support the creation of custom extended text fields on the stage, and there is no way to link one on the stage with your custom class, this solution (while it works in code) does not work with a real textfield. So I'm starting to brush up against some of the limitations of Actionscript 2. (As an aside, he eventually solved it using another suggestion of mine, adding a new method to the textfield class using prototype after trying without much success to create a proxy [think, decorator pattern], but then hes not as experienced a coder and also prototype is quite a simple, neat and tidy solution).

So hitting the limits of AS 2 pushes me onto dabbling with AS 3 and while I'm liking the new additions, where is the rest of the OOP spec? After only one morning I'm wondering what the hell happened to Adobe implementing function overloading? I can get around this by using a default constructor but hey its a feature that is glaring by its omission. What the hell happened to private constructors? I could use them in AS 2! And why are there still no typed arrays? That is surely a basic one for the Flash team to add in!

Friday, 20 July 2007

More bad news for the Xbox 360

Microsoft Xbox 360 Sales Plunge 60% As Problems Mount - no doubt why Peter Moore was pushed out the door of Microsoft. Looks like Microsoft need to follow Sony's lead and announce a price cut or they'll be heading for third place in the console war...

Wednesday, 18 July 2007

A sad day for the Xbox 360

Peter Moore is leaving Microsoft - as an Xbox 360 owner myself I attribute much of the 360's success to Peter Moore and his enthusiasm for the console. He outlined visions for the Xbox 360 that have come to fruition and given the console the best online service (Xbox Live) there has ever been.

Wishing you all the best dude, and if Sony decide to hire you, the future will look a hell of a lot brighter for the PS3...

Tuesday, 17 July 2007

Fuck the RIAA

This is just brilliant. The RIAA spends thousands to obtain $300 judgment - just fucking brilliant.If every case works out like this maybe they will stop picking on the people , innocent people , and dead people - or better yet just go bust!

Here's hoping!

Wednesday, 11 July 2007

Classic comedy moment

Night falls and Bungling Bob and his Boss are on the job, up to no good, looking to take what is not theirs as they are want to do from time to time to alleviate the boredom...

Suddenly they are confronted by an unexpected safe, an insurmountable obstacle between them and more cash than they could ever imagine!

"But boss, how do we open the safe?" Complains Bungling Bob.

"Just fucking Google it you damn fools!" Answers Boss, slapping his forehead with a greasy palm.

Wednesday, 4 July 2007

Microsoft, oh Microsoft, where are our Ultimate Extras?

An anonomous reader writes in to say...

Dear Bill Gates,

I paid more for my Vista Ultimate because I thought that the Ultimate Extras would be all you promised them to be - exclusive content for your most valued customers. So far all I'm getting is Texas Holdem and 14 language packs. Now you have apologised for this terrible situation (Microsoft apologizes for "Ultimate Extras" embarrassment) can I please have my money's worth, or my money back?


PS a language pack is not an Ultimate Extra you godamn ripoff merchants!!!!

Thursday, 28 June 2007

Radio Frequency ID Devices in Humans - Orwellian society alert

The American Medical Association wants implantable RFID chips in humans. The tiny rice grain-sized chips could be safely implanted with a needle. Here is the actual document where the case is made, despite the obvious privacy and health issues.

Every week it looks more and more we're heading for an Orwellian society.

Thursday, 31 May 2007

The Next Generation of software.

The future of operating systems and applications is online, everybody knows that, it's not exactly a secret. Google are leading the way into this new frontier with their web applications such as Google Docs (word processor and spreadsheet), Picasa web albums (photos) and Notebook (collaborative note taking), to name a few of the ones I use. Technologies like AJAX are making it possible to create a similar user experience in an online application as an offline application. Perhaps in the future Flash will also be used to create applications - it's certainly what Adobe would like.

The future isn't just online though, the future is also offline.

Wednesday, 30 May 2007

The path to 64 bit revealed?

As I wrote previously in my blog about the Windows Vista Ready Boost feature in Windows Vista, its memory model is vastly different to previous versions of Windows and indeed Windows XP. Essentially it splits the total physical RAM in a machine in roughly half, one half for programs and one half for a "cache" of what it loads from the hard drive. Needless to say this results in less overall Ram for applications to use and as a consequence requires a PC to have more physical memory in the system to give a comparable experience to what the user would be used to on, say, Windows XP on the same machine.

Is this the real reason why this memory model was adopted? Vista will drive users to 4GB RAM, and the 4GB limit will driver users to 64-bit

Wednesday, 23 May 2007

Privacy? What the f->k does that mean?

We live in an age of empowerment through information technology. Data is available at our finger tips through simple search queries, content is aggregated right to our desktop without us even having to think about it and communication over long distances has never been so easy. As consumers, we are becoming better and better informed about what choices we can make.

Yet this rollercoaster ride also takes us places we may not want to go. Information, any information, is readily available, including about ourselves. As Professor Mayer-Schönberger pointed out in his recent paper about how computers must be made to forget this situation is going to worsen. There are companies publicly saying that they wish to collect more and more data on us as individuals because it will enable them to deliver better targeted ads ( Google’s goal: to organise your daily life although Google is by no means an exceptions, each of the big search engines has similar goals ) and of course there would be certain benefits to this. I'm no fan of irrelevent advertising, don't get me wrong. It is the other uses that this mountain of data that will be gathered about each of us that it can be put to that makes me feel uncomfortable.

It isn't just the commercial world that wishes to collect data about us to infer what we like and dislike, building up pictures of who we are. The UK government seems to think that solving a crime is more important than a person's right to privacy ( 100,000 innocents on DNA database - and these are children) as police now have the right to get a DNA sample from any suspect. No doubt this will lead to more crimes being solved but a side effect of this is that if someone on the database happened to have been at a crime scene recently before a crime they will be incriminated automatically. Interestingly, Google has taken a stake in genomics info startup, expect a dna google search option in future. I can see how all of this data, put together, could be used to track the movements of people. We here in the UK are already the most watched nation in the world, we have the most CCTV coverage. Couple all of this with RFID tag tracking possibilities and for the first time it may be possible for a government to track its citizens no matter where they are, not just eroding the idea of privacy but destroying it.

The US clearly doesn't have a good record for respecting human rights ( U.S. Blasted by Amnesty on Terror ), and privacy is a human right too . The potential to misuse all of this data that governments and commercial entities will have on us as people will be very real. Put all of this together and you have a very dark view of the future, a possible dystopia outside of science fiction that could occur within the next decade.

Update - looks like Im not the only one concerned about this: E.U. Probing Google Over Privacy

Thursday, 10 May 2007

Photographic memory bad, amnesia good!

I just read a very thought provoking post entitled Escaping the data panopticon: Prof says computers must learn to "forget" on Ars Technica which is well worth a read. It makes reference to a paper by a Professor Mayer-Schönberger who makes a good case for building amnesia into a system, in other words, an expiry date on the data that is stored. In a nutshell, he says that it could lead to a society where people are afraid to express themselves because it will be recorded forever and potentially could be used against them.

I see some examples of information being publicly available and being used against people. Recently a student did not receive a degree because of a myspace photo on her blog. Here is a long list of people who have famously lost their jobs because of their blogs. I first ran into this phenonema a few years ago when I heard about the Queen of Sky, a flight attendent who was fired for a (not very) raunchy photo (i.e. a tiny bit of cleavage) on her blog and instantly sided with her point of view. It's likely that a nasty manager will use anything to get rid of an employee no matter how unfair it is and blogs and myspace photos are all fair game, it would seem.

Imagine how bad this scenario could get projecting it into the future. Perhaps we all need to hide behind a veil of anonimity and stop being so trusting with the internet, perhaps we also need to start building an expiry date on the data stored on our computers too. Food for thought.

Friday, 27 April 2007

The cutting edge hurts

Life on the cutting edge can be very exciting, but on it can also be dangerous. There is a reason why the very latest development version of a piece of software is known informally as the "bleeding edge" and a very good reason why software in this state is not recommended for the majority of users because it is considered to be unstable, largely untested and possibly even a risk to the user and her data.

However, the two main computer software operating system developers (i.e. Microsoft and Apple) may disagree with this.

Microsoft recently launched Vista, its next generation operating system and sold twenty million in its first month. Needless to say they declared the launch a huge success, even going so far as to state that it was the most successful launch of any operating system in history. Of course, how many of these sales figures are actually OEM sales is a different story altogether.

Anecdotal evidence about how good Vista is comes from people I know and work with that have it - and its not good. A colleague of mine (who I shall call Mr T) ordered a new laptop recently for his son, but Mr T's son is gutted because Vista will not run iTunes. In addition, another colleague of mine (who I shall call Mad Dog) has had problems with putting his laptop to sleep which is also running Vista - and Mr T has the same issue too. The laptops are totally different models, one is an Acer and one is a Dell, so it wasnt the hardware that was the issue, it was the OS. A workaround for this was found by telling the oS to hibernate, which seems to take longer (i.e. a few seconds) but at least the machine doesnt have to be rebooted every time the lid is closed. These aren't the only issues I've heard about: Mad Dog also told me that his Nokia software suite doesn't work, he has had issues with Flash 8 and so on.

There is more evidence out there that Vista isn't quite the success story that Microsoft would have us believe. The recent news story of how Dell responds to customer feedback by bringing back Windows XP highlights this very issue. On Vista's release, they canned all of their XP machines and sold only PC's with Vista on them. This caused outrage and the internet was awash with unhappy customers, some of them taking their business elsewhere. Now though, eleven thousand responses saying bring back Windows XP has forced them to reverse this decision. People want computers that work, not computers that don't!

At this point I could be facetious and say "just buy a mac, it just works" and in most cases I would be right. But on the other side of the fence, in the mac world, things aren't so rosey either.

The mac recently switched its arcitecture over from the Power PC processors (G4, G5, etc) to Intel. The operating system 10.4 looks the same on either system type, but under the hood is running totally different code. The Intel macs use some software called Rosetta to handle applications that aren't compiled for the new Intel macs and effectively run this in emulation. This has been causing issues for some people on the Content Paradise forums (I would link to them but they require membership) with Poser becoming too slow to use and was recently fixed in Poser 7, which is now compiled to run on the Intel Macs natively. However, this has stuffed up everybody on the older G5 and G4 Power PC processors and this application is now unusable (ie too slow) on these. What a mess!

You might imagine photoshop would be a different story (as its really a flagship Mac package) but no, Photoshop CS 3 is the first universal binary that gives good performance on both system architectures and thats only just come out!

Effectively, in their own ways, Microsoft and Apple are releasing bleeding edge software on the masses without telling them. People are finding out that life on the edge wasn't what they wanted, but it was what they got anyway.

Thursday, 26 April 2007

Software patents and monkeys

Last week in the pub I had a conversation with a software patent attorney. He seemed like a good guy and he had passed eleven of the twelve tests necessary to be an attorney over here in the UK, so he was close. He seemed to know his stuff (another programmer friend of mine asked him some awkward questions and he wasn't phased by them) and clearly came from the point of view that software patents were necessary.

See, I'm a developer and I don't think they are. So we had an interesting discussion and it was good to talk to somebody coming from the opposite point of view. I guess you could say that you would expect me to support software patents as I create software for a living, but this isn't the case at all. I believe in Intellectual Property and copyright - that is if I create some software it becomes copyright to me or the company I'm working for that is paying me to create it. This isn't my issue at all.

I believe that software patents hold up innovation. There tend to be only so many ways to solve a problem, especially when interfaces are discussed - and interface design is so very important because it is the bridge between the human and the machine. So when I read this on Slashdot Apple Sued For Using Tabs In OS X Tiger it really just reaffirmed my position. For Apple to be sued for using tabs in its interfaces - such an integral part of a computer interface - is ridiculous. As is this recent news story Microsoft accused of patent infringement with .NET which describes the patent as "a system and method for generating computer applications in an arbitrary object framework." - a phrase so generic that it covers practically any object oriented programming environment. So if we were to take these two software patents seriously, we wouldn't be able to use tabs in interfaces or create object oriented programming frameworks any more, two serious blows against software in general.

This is all without mentioning how Compuserve / AOL owns the GIF format and BT owns hyperlinks.

How much more ridiculous can software patents get? Is the US patent office run by a team of monkeys who are trained to just rubber stamp everything? It sure seems so!