Vista net problems? Disable auto-tuning
May 5th
I have been having a problem where I would get “This page cannot be displayed” errors the first time I tried to access a website. The odd thing was that hitting Refresh would solve the problem and I would get through to the site immediately. At first, I thought it was a DNS problem due to the Internet Connection Sharing setup, but turns out it is Vista messing around with the net connection with a process called “Receive Window Auto-Tuning” (this alters the size of the packets on your network based on network conditions).
To turn this off, fire up an elevated command prompt window and type in “netsh interface tcp set global autotuninglevel=disabled” without the quotes. This solved all the problems I was having with my net connection in Vista SP1. Strange.
Presentation Zen by Garr Reynolds
Apr 7th
I’ve finally had the pleasure of getting a copy of Garr Reynolds’ Presentation Zen: Simple Ideas on Presentation Design and Delivery. Garr Reynolds, for those of you that don’t know him, is the world’s Powerpoint guru and his Presentation Zen blog is essential reading for anybody in the business of delivering presentations or public speaking.
The book is very visual, giving hundreds of examples of both good and bad Powerpoint design. Garr is of the “less is more” school of thought and he shows you how to turn horrific clip-art bullet point laden disasters into slick, to the point and punchy presentations that would make Steve Jobs proud.
Garr also touches on some aspects of Zen (of which he is very fond) and how it applies to the delivery and preparation of presentations. Be prepared for a bit of a Japanese lesson when reading about some of the concepts.
He is sympathetic with the current nightmare of slideshows shown in almost every lecture theatre and boardroom in the country, blaming slideware (Powerpoint, Keynote) for “guiding users toward presenting in outline form with subject titles and bullet points grouped under each topic heading” – basically the usual bullet point snoozes we have to endure every day. I really wish that this was compulsory reading for University lecturers.
Look at this slide from a lecture I was in today – I actually could not read the text from my seat in the room:
By quickly redesigning the slide based on the principles of Presentation Zen (in Powerpoint 2007), I get the following slide:
You might be wondering where all the information has gone – it is however the presenter’s job to present the information by speaking and explaining each point clearly and concisely, not reading from a slide. Streams of text copy and pasted from the net need to be in a seperate handout. The “watermarking” at the bottom of the slide is equally useless.
Teachers, please buy this book and start delivering engaging presentations that encourage students to come to the lecture. 5 people came to the class today – it started with 50. Engaging presentations will also teach the kids more!
XNA2.0 Dependency checking
Feb 23rd
After a lot of trial and error using Process Monitor and Virtual PC, I have finally sussed out exactly what XNA2.0 games on Windows need to run. The requirements are slightly different to XNA 1 games.
Direct X runtimes
There are four files that need to be installed in the system32 folder for XNA to initialise properly. They are:
- xinput1_3.dll
- x3daudio1_3.dll
- d3dx9_31.dll, and
- xactengine2_9.dll
The first three can be placed alongside the application exe and then load fine, but xactengine2_9.dll does not load this way for some reason, and has to be present in the system directory. Distributing these files alongside the application breaks the DirectX EULA, so they have to be installed using dxsetup.exe.
To check the presence in your XNA game, just put this code in Program.cs before game.Run() is called:
bool HasAllPrereqs = true;
// check all the required files, if any missing, return false if (!System.IO.File.Exists(System.Environment.SystemDirectory + "\\xactengine2_9.dll")) HasAllPrereqs = false; if (!System.IO.File.Exists(System.Environment.SystemDirectory + "\\d3dx9_31.dll")) HasAllPrereqs = false; if (!System.IO.File.Exists(System.Environment.SystemDirectory + "\\x3daudio1_2.dll")) HasAllPrereqs = false; if (!System.IO.File.Exists(System.Environment.SystemDirectory + "\\xinput1_3.dll")) HasAllPrereqs = false;
If HasAllPrereqs is false after those lines, exit the application before it crashes horribly when XNA tries to initialise.
Visual C++ 2005 SP1 runtimes
Even a fresh Vista install doesn’t have these. They are provided when updating Visual Studio 2005 to SP1, or installing SP1 of the .Net Framework 2.0. However, Vista comes with SP0 of .Net 2.0, meaning 99% of machines you come across will be lacking what XNA 2.0 needs. There is a 2.5MB standalone installer on the MS download site here which installs what you need even on .Net 2.0 SP0 machines. .Net 3.5 installs Net 2.0 SP1.
So if any of the following are installed, we safely have the right Visual C++ 2005 runtimes:
- .NET Framework 2.0 SP1
- .NET Framework 3.5
- Visual C++ 2005 SP1 Redistributable
By looking up the product codes in the registry, we can also check at runtime if we have the runtimes (again, before game.Run()):
[DllImport("msi.dll")] public static extern Int32 MsiQueryProductState(string szProduct);
…goes before the main application entry point, and
bool vccOK = false; // check for VC++ 2005 SP1 redist (very rare in the wild) if (MsiQueryProductState( "{7299052b-02a4-4627-81f2-1818da5d550d}") == 5) vccOK = true; // check for .NET Framework 2.0 SP1 if (MsiQueryProductState( "{2FC099BD-AC9B-33EB-809C-D332E1B27C40}") == 5) vccOK = true; // check for .NET Framework 3.5 (includes 2.0 SP1) if (MsiQueryProductState( "{B508B3F1-A24A-32C0-B310-85786919EF28}") == 5) vccOK = true;
If vccOK is still false, exit the application before you call game.Run().
Free pro Microsoft tools for students
Feb 23rd
Wow. Microsoft has just launched “DreamSpark” – a programme that lets higher education students download pro Microsoft development tools – not the cut-down Express versions of Visual Studio, but the full Professional editions. UK Microsoft student champ Ed Dunhill sums it up the best on his blog here.
You get access to:
- Visual Studio 2008 Pro
- The whole Expression suite
- SQL Server 2005 Developer edition
- Windows Server 2003 Standard (and hopefully soon 2008)
- The best bit is a whole years XNA Creators Club subscription FREE! This costs £65 normally with no real free alternative to get games running on the Xbox.
This is evidently a battle against pirated versions of the above products and this is the perfect way to do it. To enroll in the programme, your University needs to provide a Single Sign On authentication system to verify you or you need a ISIC card or NUS Extra card. Unfortunately, Oxford Brookes doesnt have a SSO Auth system (and I doubt they ever will – Oxford Uni does though) so I have had to order an NUS Extra card for a tenner to get in. Your status as a higher education student needs to be verified once a year, so students leaving Uni soon should sign up quick. Other than the XNA Creators Club subscription, I don’t think the products have time limits.
Expect Adobe to follow suit soon with their products if they want to get students hooked – although the academic discounts on Adobe CS3 stuff are great (only £400 for the Master Suite, down from £2500…) students will still pirate. Give students free access to professional tools and they’ll get hooked on them and buy them when they are earning a living.
iPhone improvements for the UK and Japan
Jan 15th
El Reg is reporting that O2 has been told by Apple not to release sales figures until Apple say so.
UK carrier O2 has confirmed that Apple has placed it under a gagging order to prevent it from publicly revealing how many iPhone handsets it’s sold to date.
The company’s head of media relations, Simon Lloyd, told Register Hardware that it’s a stipulation within the company’s sales agreement with Apple that O2 can’t release any such details until the Mac maker says so.
Lloyd would only say that O2’s UK iPhone sales in the two weeks up to Christmas period were “in line” with its expectations.
This is because the iPhone is completely bombing in the UK. Being in a University environment (where students always like tech gadgets), the only iPhone I have seen in the wild is an unlocked hacked-to-bits US model. The iPod Touch is undoubtedly a sound investment at just shy of £200 if you want a taste of “next gen” touchscreen interfaces and you are far better off buying an iPod Touch for the fancy new iPod bits and getting a free phone on a cheaper contract. You would have to be a complete mug (or rich fashionista) to buy an iPhone at £269 and be locked into an 18-month contract with O2 at £35 a month.
If the iPhone actually did half the things standard UK mobiles have done for years, it would maybe be an acceptable high-end phone model, but its not. The US mobile industry is a couple of years behind ours (people import our Nokia N95s for instance) so the iPhone looks like a fantastic bit of kit in the US.
The funniest thing is that the iPhone will be on DoCoMo in Japan soon – and it will need a complete feature overhaul to be even classed as a ケイタイ (keitai, mobile phone) out there, let alone here. To work in the Japanese market, Apple need to add:
- 3G support. GSM/EDGE/GPRS do not exist there.
- MMS support for their mobile email with emoticons (絵文字, emoji). Without emoticons, users will get gibberish when recieving mails from “proper” mobile phones in Japan.
- Java application downloads for iAppli
- Flash Lite for the on-demand games that are springing up on the Japanese mobile internet
- QR barcodes. Apple should be pioneering these in the rest of the world already with their clout, but aren’t. The possibility is enormous here – in a music magazine, a QR code could be next to a new album review: the user scans it and can buy it from iTunes immediately over the air, no text input required. This happens in Japan already for all sorts of mobile content – Apple could be making this popular everywhere.
The Japanese text input is already programmed and is damn good on the iPod Touch, so that doesn’t need doing. Stuff like IC chips aren’t required, so its only those five points that I cannot see Apple surviving without. Windows Mobile phones released in Japan on Softbank now get an application for MMS with emoticons because the original models were seen as pretty basic without it.
Sort it out Apple!
Taskbar invisible over Remote Desktop
Dec 18th
I frequently use Remote Desktop (RDP/Terminal Services) to access my machines running Vista SP1 RTM. 90% of the time, after connecting, I get this annoying problem with the Start bar:
Only the Start button itself is visible.
- This happens on all my Vista machines, both SP0 and SP1
- This happens no matter what version of Remote Desktop I am using, the XP version or the “new” Vista one
- It only appears to happen when the computer was originally using the Aero DWM composition engine and originally in a different resolution to what I am asking the Remote Desktop session to render
- It happens wether or not the taskbar is at the top or bottom of the screen
So far the only way to get the taskbar back I have found is to click the lonely Start button, click Windows Security, choose Start Task Manager, kill the explorer.exe process and start it again in the Task Manager from File > Run.
Subsequent Remote Desktop connections are then fine, but logging back into the machine from the console then back into Remote Desktop makes it disappear again. A bit frustrating, to say the least.
Microsoft Inspiration Tour
Dec 5th
Oxford Brookes hosted one leg of the Microsoft Inspiration Tour today, where Ed Dunhill and Busted-lookalike Ben Coley sent out the marketing message to Brookes students about the latest MS tech: Silverlight, Popfly, Windows Embedded, XNA etc. I had to leave halfway to get to work, but it was very interesting.
Unfortunately there was nothing new for people who already follow Microsoft news and tech such as myself, and the demos I had all seen before. This is the second time I have sat through the Fantastic Four Silver Surfer trailer on the Silverlight Fox movies demo site at a Microsoft event. Interestingly they had to bring a Xenon 360 devkit in for the XNA demos since they couldn’t definitely get an Xbox Live connection at the events they visit – which is required to run XNA stuff on a retail box. The presentation was a tiny bit out of date, for instance Silverlight 1.1 is now 2.0.
Around 70 people had signed up for the event, but just about 30 turned up. This isn’t the fault of the marketing or the presentation itself (although Wheatley campus no doubt had something to do with it), but because simply Oxford Brookes is not a Microsoft shop. They mentioned that all the technology they were showing has one thing in common – the .NET Framework powers all of it. However, try finding a computer in the Brookes computer labs even capable of running a simple .NET Framework app (seemingly none of them have any version of the runtime installed). Furthermore, despite having excellent fully-functional versions of Visual Studio now available completely free as Express editons, these are not on lab computers and no C# or .NET content is taught on any Brookes courses that I know of. Introductory programming classes are still taught in Pascal using Delphi – leaving students scrabbling around to try and find a free version of Delphi 6 every year. Brookes isn’t allergic to .NET though (my final year project uses it extensively for ASP.NET and XNA) and will let you use it when a programming language isn’t specified.
Maybe Microsoft should be giving an “Inspiration Tour” to the lecturers at the university instead, they could call it “Teach your students something relevant! Tour”. When the question “Who has heard of the .NET Framework?” was asked, 5 people put their hands up out of 30. These are meant to be computing students with an interest in technology – even my friend who is an Apple disciple knows about .NET.
Tomoyo 0.5 theme for WordPress
Nov 27th
UPDATE! This version is out of date, please see the latest verson on the main theme page here: http://www.edandersen.com/projects/tomoyo-wordpress-theme/
I toiled away for quite a while to create this WordPress theme which I think is pretty unique. I’m offering it up to the WordPress-using world. Just unzip into your themes directory.
Download Tomoyo theme for WordPress (303kb zip)
Features include:
- Sexy Flash-based headings using sIFR, for post and page titles and sidebar headings (degrades gracefully when no Flash or Javascript available)
- Full WordPress Widget support with three sidebars to customise (the one on the right, and two in the footer)
- No horizontal scrolling on a 800-wide screen (perfect for eeepc users!)
- Uses the new Meiryo Vista font if available for seamless latin and japanese mixed text
- Tested with WordPress 2.3
I still need to style the comment system and there are a few rough edges, but I thought I’d release it anyway. All you need to do it change the header image from my ugly mug and its pretty much your theme!
Windows Live ID Return URL banned words
Sep 19th
UPDATE: No need to do this now, its fixed!
For edngames.com I use Facebook, Yahoo! and Windows Live as sign on solutions. However, Windows Live is the only system with a restriction on the domain names you can register. For instance, because of the word “games” in my domain, I get the error message “The Return URL field contains a forbidden word or domain. Please use a different Return URL and enter the HIP solution again.”
Facebook and Yahoo, competing single sign on solutions, do not have this restriction, which the word “game” I assume is to block gambling sites from the authentication.
To get around this, I have had to set up a dummy domain (edslife.co.uk) without the banned words and perform authentication on that – you cannot simply do a redirect because the signature returned by the Windows Live server will be invalid because its a different return URL. I then have to create my own authentication (I use a hash function based on the time and a secret word) to move between the dummy domain to the real one securely.
Although this works, and is just as secure as authenticating on the target site I reckon, it provides a pretty shoddy user experience because I have to explain that there is another domain name involved. You also cannot use this method to get data from the Windows Live server such as contact information because from a different domain, the authentication is invalid.
PocketStackz (PocketPC) review
Apr 10th
For Japanese language practice for my course I use PocketStackz by some chaps called “Minddate software”. Its an all-purpose language flashcard program with an emphasis on Asian languages (such as that an Asian Unicode font needs to be installed on your PocketPC).
What sets it apart is that you can immediately see what words you need to study at any point since the program sorts the words into “stacks” from “unknown” on the left to “known” on the right. If you get an answer wrong when testing yourself, the word moves towards the left, and visa versa if you get one right. This means when you have only a few hours until a vocab exam, you can quickly refresh the “most unknown” vocab in the quiz.
Vocab or kanji can be tested in pretty much any combination (romaji to kana, kana to kanji etc) and I find I get better results if I use it for short periods of time often. My test results even confirm this – weeks where I’ve spent 5 minutes a day with PocketStackz have seen perfect vocabulary test scores. You still need a drive to study, when when you don’t need to get your textbooks and pen and paper out (or those silly little “word cards”) its easier to find the time.
The software comes with a free PC application so you can make your own lists of vocabulary, but files for many textbooks and series of kanji (including the official joyo kanji) are available on the developers website. I had to make the kanji files for the Genki textbook series since they were not available, but this was painless using the PC software. Top stuff. 5/5.
Plus its only 19$ from Handango and they have a free trial (which I liked so much I bought it). Thats £8!
Buy or trial PocketStackz from Handango
Genki Japanese Textbook Vocab file for PocketStacks
Genki Japanese Textbook Kanji file for PocketStackz
