Archive for the 'software' Category

Been Busy

Still am. However, while looking for a replacement for Picasa (boo! bad google) for Wen, I did discover that my Photography Subscription to Adobe (Lightroom + Photoshop) also includes a neat little Photographic Portfolio generating tool. Here’s what it did in 15 minutes.

Glastonbury, See Tickets fail & Twitter win

The crazy Sunday morning browser refresh panic returned after a year off with the sale of 150,000 tickets to an estimated 750,000 punters. The promise of a beefed-up system (after it took 4 hours to sell out last time, to a number which did not include me) soon evaporated and even getting to the “holding page” seemed like a victory.

The next page was the “registration entry” where you added the numbers and postcodes. Naïvely, we thought we had succeeded the first time we got this far. Sadly, “0% uploaded” was as far as we got before being thrown off again.

Luckily for me, I was watching the twitter #glasto feed in another window. After about 40 minutes, somebody tweeted a hack – a line to add to your hosts file – which would get you through to the See Ticket servers. I didn’t really believe it, but had nothing better to do so gave it a go. Result! Straight through and tickets bought.

So how did that work? It was an error by See Tickets with their DNS entry.

For the non-technical: DNS (Domain Name System) is the “phone book” of the Internet. (For younger readers, a phone book was a list of people’s land line phone numbers listed alphabetically by their surnames, printed out every year and delivered to the house of everybody who had a phone – hard to believe, I know.) When you type “glastonbury.seetickets.com” in your browser, the browser asks your Domain Name Server for the IP address, and the server returns a number like “194.168.202.202”.

Anticipating the demand, See Tickets had, to their credit, set up two servers. Both the addresses should have been entered in the DNS records, and thus 50% of the punters looking for tickets should have gone to each server. Sadly, somebody mistyped one of the addresses, putting 192 instead of 194. Thus half the queries failed, and the other server was hit by every sales request.

On your PC the hosts file is like a small, local Domain Name Server where your browser looks first to see if it knows the IP address of a name. Adding the actual address of the “spare” server in that file meant that you avoided the queue and walked directly up to the almost unused counter next door. Apparently, See Tickets did notice the very unbalanced load on their servers and fixed the DNS record after about 10:00am. The nature of DNS meant that it still took quite a while after that for the change to work its way through the Internet.

How was the error (and fix) discovered? It was because of the actual IP address numbers involved. Addresses starting 192 (or 172 or 10) are reserved for private networks. If you have a network at home, it will start with one of these numbers. Somebody trying to connect to See Tickets was doing it from work on a network which just happened to have a machine with the mistyped address. Instead of the same “could not connect” error that everybody else was getting, they saw a web page from a computer on their own network. So they looked up the numbers, worked out what the error was and shared the solution via Twitter.

Thank you, anonymous hacker, for getting me my tickets to Glastonbury.

Apple Trojan?

I have a standard, non-jailbroken iPhone 4. This morning, randomly, a message popped up asking me to enter my iMessage password. On a PC I would have been suspicious, but Apple have been doing odd things with their security lately, so I responded. Then it asked the same question about Facetime. Ditto.

A few minutes later, entirely by coincidence, I attempted to access my Apple account via iTunes, and my password was not recognised. I reset the password and checked the account – thankfully nothing purchased. Still, this is odd and surely related to the now-suspicious question on my iPhone.

I’ve had a quick Google and seen nothing about this kind of behaviour reported anywhere, but if other people get that prompt and have their password changed, maybe they’ll find this when they search. Another data point.

I don’t know how to tell Apple, and in my previous experience that’s a black hole anyway so I didn’t try very hard.

Windows Embedded CE 6 and AFXWIN.H error C2039

This has just wasted a day of my time, and apparently nobody else on the internet has had the exact same problem, so I document it here for the good of humanity. 😉

I am migrating an application from Windows CE 5 to Windows Embedded CE 6. Just a little thing with a couple of dialogue boxes to exercise the hardware. At the client’s request, it used MFC. MFC and ATL 4.0 are no longer supported directly but most of the functionality is in the new ATL 8.0.

I included afxwin.h in my program, and added the Visual Studio 2005 directory to the include path:
C:\PROGRA~1\MICROS~3\VC\ce\atlmfc\include\
(There is some primitive parsing going on here which means that the include path can’t have spaces. That should really be:
C:\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\include\)

I attempt to compile my code and get this obscure error:
C:\PROGRA~1\MICROS~3\VC\ce\atlmfc\include\atltime.inl(140) : error C2039: '_time64' : is not a member of '`global namespace''

atlmfc.h is some nested include from afxwin.h and I am obviously not going to be editing that to make this work. What have I missed? I tried various orders of header inclusion, a few random definitions from suggestions on the ‘net, but nothing worked. Somebody suggested including atlosapice.h, but that threw up even more errors and left the C2039 as well. Searching how to fix that led me to a Google Group microsoft.public.vc.language and a comment that changing the order of include directories removed some undefined errors.

Specifically, Paul Heil mentioned that he put some directories after .\ce\include and .\ce\atlmfc\include.

Bing! .\ce\include! I’m not using that at all!

I added it to the top of my include list and VC is now quite happy with “_time64”. I’m not sure what header files it was getting instead of those in “.\ce\include”, but they were certainly not the right ones.

Busy Blogging Elsewhere

I am now a confirmed fan of WordPress. This blog introduced me to it, but I’ve recently been using it to create a new website for the Willingham Photo Club.

I’m currently one of the “gang of four” leadership team (there’s a rotating membership – all very communist) – having volunteered mainly in order to improve the club’s IT for viewing photographs on-screen at the monthly meetings.

It fell on our watch to organise our first exhibition as part of the Willingham Feast. It seemed obvious as part of the planning to have a website to send visitors to, and afterwards to continue the exhibition in the virtual world.

There are so many themes, plugins and widgets available to make a WordPress site look good, even the free ones, that it’s mostly a filtering task to choose what you need.  The results can look professional, and certainly give the impression that much more skill and hard work has been involved than is the case. (Having said that, the list of minor tweaks and edits to get it to look “just right” is getting longer.) I’m basking in that reflected glory, but it is an easy-to-please audience of non-technical people, so far.

I’ll finish by crediting  the Theme: Modularity Lite 1.2, and Plugins: The Events Calendar, NextGEN Gallery and NextGEN Public Uploader, which have made it so easy to do. Check them out next time you need to make a website for a photography club.

So that’s where my evenings have gone. I’ll just point out that if anybody mentions “display boards” in my vicinity in the near future, they’d better be on guard.

New Blog

Shiny and new, with its own subdomain and WordPress software, free from the tyranny of Blogger, welcome to coded v2.

Two things coincided to make this happen. First, Blogger stopped supporting FTP sites, which my old blog was. I like to fiddle with the files, so I wanted to host it on Ballandia, and this meant I couldn’t any more if I stayed with Blogger.

Second, 34SP, my website hosts, had a tasty upgrade offer which included SMTP (useful for Robyn while she’s in the USA), multiple MySQL databases (which is what was stopping me using WordPress before)  and subdomains.

Thus coded.ballandia.co.uk (update your Blogrolls and feeds) was born. Praise is due and given to Blogger and WordPress, which let me export (via a temporary blogspot domain) and import all the content, including the comments. I was impressed (especially the second time I did it (don’t ask)).

Initially spoilt for choice with themes, I’ve played with a few before stealing the one Paul uses, K2. I had to mess with it a little, of course (to make it wider, to get the Flickr and 365 galleries to be the same width, to make the menu bar visible), but I like it.

I hope you like it, too.

An Entry About Coding

A first for this blog! I really like the new Chart API announced by Google which lets you do this:

simply by coding up a URL with parameters. Insert it as an image, and Google will send back the chart in PNG format. That pie was made with the following ingredients:

http://chart.apis.google.com/chart?
cht=p
&chs=300×120
&chf=bg,s,fff2cc
&chtt=Willingham+Elections+2007
&chd=t:66,16,9,7,2
&chl=Lazy+Bastards|Brian+Burling|Pat+Daniels|Leslie+Gelling|Nicola+Andrews
&chco=00c000,0000c0,c0c0c0,c0c000,c00000

You are limited to 50,000 hits a day, so I think I’ll be safe. I took the data from this image, which I originally made in Excel and captured, etc.

Democracy Inaction 2007

Less Intuit

So, Microsoft Money it is. Intuit did refund my money, a day after I sent the email. They just didn’t tell me, and what with the Egg website playing up as well, I couldn’t check.

MS Money is much better than Quicken 2000. Whether it is better than Quicken 2004 I’ll never know, because of the short-sightedness of their upgrade policy.

More Intuit

It got worse.

I uninstalled Quicken 2004, re-installed Quicken 2000 and tried to open the data file. Quicken validated the data, and then refused to open it. Apparently Q2000 cannot read Q2004 data files. Ha!

Off to Microsoft, where there is a free trial of Microsoft Money. (I originally picked Quicken because, back in 1999, Money had no concept of Standing Orders or Direct Debits. How Americans put up with their banks is a mystery.) A surprisingly similar 30Mb later, and “Guess What?” Money can open Q2004 data files. Not perfect, but close enough. And Standing Orders/Direct Debits are now handled. Only £22 including postage from eBuyer.

Intuit, to their credit (-:, offer a 90 day refund. They had come across my problem, and the solution is to upgrade to Quicken Investor (for another £11). I don’t want investment help, I only have some old Bradford & Bingley shares in the Quicken data. I suggested that a better upgrade path might have been to allow me to open my file but just discard the shares.