It’s a problem we as developers face time and time again, it works on my box but for some reason it doesn’t work on the customer’s machine and it’s not reporting anything useful in the error stream.
Maybe we could install Visual Studio on the customer’s machine and run it in debug? Maybe, probably not. Even if the customer lets you it probably involves punting significant chunks of binary around the place, a lengthy install and although Microsoft probably won’t mind as long as you uninstall it when you’re done it probably does violate your Visual Studio licence.
A much lighter alternative is to use the .NET Command Line Debugger. It’s available as part of the Windows SDK which is significantly less hassle to install than VS and far less likely to get you into trouble with the customer or with Microsoft.
The debugger is MDBG.exe and is likely to be in C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin (which you might consider adding to the PATH).
—=== Edit 2013-08-30 ===—
In fact a little research indicates that you can be even more lightweight by installing the relevant parts of the Windows SDK on another box and then just copying Mdbg.exe and MdbgCore.dll to a temporary directory on the target machine.
—=== End of Edit ===—
—=== Edit 2014-11-21 ===—
In an update that could easily be decorated with the attribute [FFS] it appears that mdbg.exe is no longer part of the Windows SDK. Instead it can be found as a “sample debug program”—=== End of Edit ===—
You can load the executable you need on the command line, e.g. C:\Program Files\MyCompany\MyProduct>mdbg MyProduct.exe
Ah, that’ll be it. I’ve made a typo in one of the XML config files. That’ll be a new item for the backlog then, “Make the app write some useful information to the error stream when some numpty screws up the XML“. It’s fine that it terminates, just not that it gives no reason for terminating.
Back on topic, MDBG.exe itself is easy enough to use, it’s even good enough to list its basic usage in response to a ?
To waterproof or not to waterproof, that is the question. Will I get wetter from the inside than the rain could ever make me and what’s the problem with getting wet anyway? Last time I checked I was waterproof.
Usually in the UK getting wet is a problem only because you get cold but on warm still days like this that won’t happen. Putting your phone and wallet in a waterproof pouch and just getting soaked is a serious option.
Today I went for the waterproof jacket only which proved the right decision, the heavens opened when I was in the middle of nowhere and trying to dry out on the 09:43 to London could have been awkward.
PS – I then decided that as it was London I wouldn’t need the waterproof as I could always nip into somewhere under cover, got caught in an open space and got completely soaked.
I don’t like giving air-time to scare stories – indeed I seem to spend rather a lot of my time debunking them. I find a lot of them distasteful in attempting to use the most extreme means they can to frighten people. This American “NBC Action News” report (video) definitely falls into that category. I think I need to explain this – sensibly – without trying to frighten anyone.
The story, for those who choose not to watch, is that if you post images from your smartphone to online images services (such as flickr) you could be giving away a hell of a lot of personal information that you had no intention of making public. That information could be very useful to criminals.
Now between the ridiculous hyperbole, the desperate attempts of the newscasters to instil panic into every parent and an American “expert” who is clearly no expert at all there is actually some degree of truth behind this. Not only that but it somewhat falls into my area of expertise.
What we’re talking about is geo-tagging and it’s not new(s) – it’s been going on for years. Pretty much all smart phones and a good number of digital cameras have an option to record where and when the photo was taken (generally using GPS, the same system that sat-navs use to work out where you are). Those phones and cameras then write that information into the image itself in what’s called a geo-tag. If you post that image to an online image service then, depending on which one you use and various options etc. that information might stay in the file and it’s possible that someone viewing the file might be able to retrieve that information.
To do so – to find this information out – is in no way hacking. You don’t need to get access to any accounts or run any strange programs downloaded from dodgy darknets. Beneath is a screenshot of a free tool that came with my camera and all I’ve done is to use it on the image at the top of this page (which I’m very deliberately posting publicly).
You could use this tool on any image that contains a geo-tag to find out when and where it was taken. This one is a few metres out – basically the wrong side of the street. That’s fairly typical. I did some experiments around my house last night however and it was possible for me to identify which room I was in when the photo was taken.
Now if it had been one of those images that I’d taken last night that I’d used in this article, rather than giving away the location of The Dove St Inn I would have given away my home address.
The amount of information you could give away like this can build up. If you post an image for which the content is clearly identifiable, or there are comments that clearly identify the place or activity then someone could quite easily build up a picture of your life. Your home address, your childrens’ schools, what parks they play in and when, when you’re away from your house, your elderly relatives houses and when you typically visit them, when you’re on holiday, etc. etc.
They could, but actually the chances that anyone is actively stalking you are pretty slim. There are billions of people out there after all. Also remember that there are quite a few ducks that have to line up for this information to be revealed and if even one of them is out of line then you won’t be publishing this information to the entire planet.
Another aspect of this is story is the fact that if the geo-tag information is in the image and that image is publicly available it can be indexed for searching. So it’s possible to search for images by their location – instead of searching for just images of kittens you could search for images of kittens within, say, 500m of a particular location. If you got any results the chances are that you’d know pretty much the house that they were at. I do find that a little concerning.
Over lunch I thought I’d give it a go – I wondered who else had posted public pictures of – or from – The Dove St Inn. So I searched flickr for “Dove” within a small area of Ipswich.
All perfectly innocent in this case but it proves the point – you can search for a term and find images connected with that term in a given area.
So what can we do to prevent this from happening? Essentially the message is simple, don’t post geo-tagged images to public sites unless you’re really happy about what it reveals. Your options are as follows.
Turn off geo-tagging on your phone and cameras. My smartphone has an easy option in the camera app itself called “store location”. If you turn it off, the location is never stored in the image and it can never be made public.
It is kind of handy to know when and where an image was taken though – thankfully there are other options.
Make sure that you never post anything publicly. Many social networking sites and image hosting sites have privacy controls that allow you to ensure that only people you trust can see the photos.
Remove the geo-tags before posting. The Nikon ViewNX utility that came free with my camera can remove geo-tags as well as view them. I bet there are smartphone apps for it too.
Use an image service that has the ability to remove geo-tags of images that you’ve posted – flickr for instance has this option (under “defaults for new uploads”) and I imagine most of them do.
If you don’t find “geo-tag” or “location data” in your privacy settings then look out for the term “EXIF” – this is the format that most smartphones and cameras use to add information such as the camera brand and exposure details as well as the location to the image file.
Personally I prefer option 2 – I tend to restrict who can view my images. I only make a few publicly available and I pay close attention to what those ones reveal, not just through geo-tags but also through the content of the image itself.
So in conclusion your smartphone is not a hot-line to the Cosa Nostra and it’s really rather unlikely that anyone with any criminal intentions is paying any attention to any images you’re posting online.
It is however worth checking if you’re posting geo-tagged images with no privacy control and if you are then have a think about whether or not you’re happy with that. If not then delete them, remove the geo-tags or make them private and then implement some sort of strategy to make sure you stop doing it.
About 25 miles into a 33 mile cycle ride I was just starting a climb when I heard a nasty snap and suddenly the back of my bike seemed very wobbly. Instinctively I sprung to my feet and it was then I heard a nasty bump-clank-clank as parts formerly connected to the bike hit the floor. Turns out that bolt that holds the saddle to the seat post had sheared.
So I rode the remaining 8 miles without a seat which was actually quite fun.
What surprised me though was how difficult it is to get a replacement. It’s a 45mm M6 socket cap (Allen) bolt which are ten-a-penny but if you don’t want to buy them by the kilo they’re quite hard to come by.
So I’ll be going out on a mission to find later and if I can’t I may have to order a titanium one from The Internet. I may not look too hard, there’s no such thing as too much titanium on a mountain bike (unless it’s getting in the way of the carbon fibre, or course).
Addendum Aug 13th
It’s lucky I did do an initial search before ordering a titanium one! I popped to Pedal Power Cycles, mainly because it’s closer than any decent hardware supplier. Turns out it’s not M6. So after some measuring I think it’s 1/4″ UNF – I’ve ordered a pair of stainless steel ones from Ebay for next-to-nothing so we’ll see!
Addendum Aug 15th
Gah! It’s not 1/4″ UNF either. It’s close, it’s really, really close. It’s possibly close enough to work but it’s not close enough for me to have any confidence in it.
So it’s not a common standard size. I could keep looking but I’m going to end up spending more than the cost of new seat-post if keep getting nearly-but-not-quite right bolts. It could be one of any number of little used standards or even a custom thread just for that seat post.
So it might be better to get a new seat post after all. Think I can justify this one? It is titanium and titanium is good!
So I was looking for something in the rack behind me in the office when I came across my final year project from my first degree. I thought it might be fun to look at the project again and I wondered if it’d still run.
I ran into a small issue though, I no longer actually own anything that can read a floppy disk. C’est la vie!
“A case of plagiarism has been identified that involves your work. You are to appear before The University plagiarism panel…” the email began. I remember being slightly scared but moreover I was enraged, how dare The University accuse me of plagiarism or even being complicit in plagiarism?
That was a long while ago – during my first degree. It occurred to me last night though that something similar to what happened to me could easily happen to someone else now and it’s something students should be aware of.
I went to the plagiarism hearing open minded, but with a very assertive position. The work concerned was a programming task and I’d actually been a professional programmer before going to university, thus it was quite likely that my solution to the problem was similar to one in a text book or to something one of the academic staff may have written.
It transpired that this was not the problem. The line of questioning followed one rather obvious track, to try to answer the question of if I’d either worked sufficiently closely on the exercise that someone else may have submitted a solution similar to mine or if I’d shown my solution to anyone else.
I was a little angered by the first point: was The University suggesting that I shouldn’t help other students? Surely a university is supposed to support learning not discourage it? I found the second point plain insulting, did The University really think I was that stupid?
I think the panel may have picked up on my frustration because eventually they just showed me the two submissions. The one on the left was plainly mine, as was the one on the right. They were almost identical, right down to the spacing and layout. That caused a sharp intake of breath.
“Are you sure nobody could have taken a copy of your work?” asked one of the panellists. This was a welcome change in the tone, “you didn’t leave your terminal unlocked when you went away or anything?”
“No,” I replied, “I worked in a secure environment for 4 years before I came here, I’m fastidious about locking my terminal. I genuinely can’t think how the other student got a copy of my work.”
Then one of the panellists pointed out that there was a mistake in the copied submission and it suddenly dawned on me. Back in those days we submitted printed out listings. At the end of a lab session the printer was usually congested with people trying to print out their work so I’d taken to printing earlier and using the rest of the lab time to double-check my solution. I’d spotted the mistake in the first copy, screwed it up in disgust and thrown it away. I corrected it and printed a new copy which was the one I submitted.
Someone had waited until the end of the lab session and then fished my first copy out of the bin, then copied it verbatim.
“I’m happy with that explanation,” said one of the panel members. The others nodded, “I see no reason to inconvenience Mr Fosdick further.” I later found out, unofficially, that the other student was of low ability and to submit a nearly correct solution was quite out of character. There never really was a question about whose the work was, they only wanted to establish that there hadn’t been excessive collusion between us.
Last night I was thinking that this is unlikely to happen now because most submissions are electronic – there’s no need for people to print out their work. Then it dawned on me that every student these days is walking round with a relatively high resolution camera (phone) and that leaving your terminal unlocked for a short time could easily result in sections of work being plagiarised.
So please be careful, plagiarism is taken very seriously by universities. Even if it’s your work that the original you could still find yourself in serious trouble if you’re unable to defend the accusation that you may have allowed someone else to copy your work, or worked so closely with them / helped them so much that you’ve both essentially submitted the same solution.
Don’t get me wrong – helping people is definitely encouraged, but there’s a line you must stay the right side of. I think of it as this – explaining how to solve the problem is productive, giving someone the solution to the problem is counter-productive (and dangerous).
Being a mountain cyclist in Suffolk is a bit of an oxymoron. So I’ve bitten the bullet and got some road tyres. I have no intention of giving up off-road cycling but it’s just more practical to do the majority of my cycling on the road. What’s more the local forests such as Tunstall and Rendlesham are criss-crossed by well made up trails that don’t really require off-road tyres, so I don’t need to spend too much time on the boring black stuff.
As a side-effect of this I’ve been looking at some online tools to help with route planning and the like. The best straight-up map I’ve found so far is provided by Sustrans, the Sustainable Transport charity.
The only problem I’ve found is the lack on information on the state of some of the off-road, and to some extent on-road sections. Some of them would be unsuitable for delicate road bikes and would require a hybrid if not a dedicated cross-country (XC) bike. The vast majority of routes are no cause for concern, however.
Google also have cycling maps, the cycle tracks highlighted in green…
These include many of the Sustrans routes as well as other cycling facilities. The problem I’ve found is that they’re not entirely accurate. The above example (as of the time of writing) includes a large section alongside the River Deben. Some of it is made-up track, but the surface is very poor and narrow. The rest is just a mud track. I’ve bumped into similar problems elsewhere too – overall I’d recommend not trusting the Google Cycling Layer unless you’re an experienced off-road cyclist.
On my smartphone I have a few apps, but one of the most useful is OS Atlas. It’s pretty basic, its main advantage is that it displays the Ordinance Survey’s 1:25k scale mapping. This is extremely useful for navigating because it contains a good level of detail not just about the roads but about landmarks. It also has GPS integration so it can show you as a dot on the map. The app’s not free but it is cheap. There is a free version but this doesn’t work terribly well. Beware that it does rely on an internet connection.
For full browsers the Ordinance Survey themselves offer the 1:25k scale mapping via their Getamap interface – you need to make sure that you have “Leisure” maps selected.
There are a number of online route planning and measurement systems. For a quick calculation of distance Map-O-Meter is good. The system I use for planning and recording rides however is MapMyRide. There’s a smartphone app to record your rides and upload them to the web site for proper analysis. It has a route and course feature so it will detect when you’re repeating and ride and you can compare performance. It also allows you to jump onto other people’s published courses so you can compare your performance with everyone else who’s ridden that route. You can also search for other people’s routes and courses in any given area, although they do tend to be “my commute to work” rather than “a scenic 30 mile loop around Lavenham”.
There’s one final web site that I’d like to mention – whilst over the past few weeks I haven’t needed it much the rain radar at Rain Today is about the most useful weather forecast I’ve found. It doesn’t actually do a forecast (unless you pay), what it shows you is where the rain is now and where it’s been recently. This is about as good as it gets for being able to predict if you’re going to get soaked on your 2 hour ride.
Why is it so difficult for car manufacturers to make cars that play MP3s?
Today’s hire car was an almost new Vauxhall (Opel) Meriva. It has a USB slot so I plugged my USB pen drive in it, “no data recognised” said the dashboard, “you can unplug the device.” There was nothing special about the device, just a plain USB pen drive with a handful of folders in the root dir and in each folder a handful of MP3s with a M3U playlist file. It’s difficult to imagine what could be simpler, so why is General Motors’ entertainment system not able to cope with this?
I’ve had similar problems in other new cars too. I know cars have a long development cycle and therefore we can’t expect all the very latest gadgets in them but there have been cheap commercial MP3 players that can cope with a few folders and MP3 files on the market for more than 10 years. There really is no excuse now.
In contrast my previous hire car was a Volkswagen Golf. Whilst initially annoying that I had to copy my “driving” MP3s to an SD card as this is preferred to a USB slot, the Golf had a neat little menu structure and worked very well.
Yes, there is another argument – most car manufacturers seem to have got Bluetooth integration working, so why don’t I just pair the car to my phone and play music from my phone? Because I want to change the music occasionally. DragonForce isn’t really ideal music when you rock up to the back of a huge traffic jam, perhaps Bat For Lashes or Portishead. Although if mounted to something it’s not technically illegal it wasn’t technically illegal when I wrote the article for me to operate my phone whilst driving it’s still fiddly to use and the voice command is good for a laugh but nothing more.
A simple menu structure and simple easy to use controls beat trying to fiddle with my phone hands down. I really don’t understand why it’s so difficult for some manufacturers to provide it.
In 2013 Glastonbury and the British F1 Grand Prix fell on the same weekend. They’re both enormous events, but the there are some very notable differences. This article in The Guardian gives us a few pictures of the aftermath of Glastonbury – I’ve cheekily linked one of the images to give an illustration.
It is true that charities recover usable equipment from the Glastonbury camp sites for less developed countries but there doesn’t appear to be a hell of a lot of usable equipment in the pictures. I suspect that most of the tents etc. might have been usable when the original occupiers left them with that noble intention, but it looks like a herd of drunken elephants have stampeded through since then.
This however is one of my pictures. It was taken a few minutes before we left Whittlebury Park Camp Site having spent the weekend at the British Formula 1 Grand Prix at Silverstone.
Is that one single abandoned chair I can see?
It seems rather perverse to me that a festival synonymous with charity and environmentalism could leave such a mess whilst one more associated with reverse barely leaves a trace.
I felt totally like a rabbit caught in headlights last night when a school-friend asked me to share some of my music with her. Usually when someone asks me what kind of music I like I duck the question, it’s easier that way. I think Duke Ellington put it best “There are two kinds of music, good music and the other kind”, but that’s hardly a useful answer.
The real answer is that it’s all Neneh Cherry’s fault. You see in 1989 I was 14 and I thought I knew the music I liked, I’d started with Rock and Roll (as in Elvis and Chuck Berry) and gone through a bit of a heavy metal phase and by then I was confident that I’d found what I liked in the goth / industrial and general post-punk scene.
I certainly didn’t like “rap music”. Then I heard Buffalo Stance and I did like it, which was all a little confusing. Manchild though was the one I couldn’t deny – I loved that track. This was highly inconvenient, people who wore excessive amounts of black and sat around graveyards talking about middle class contemporary poetry didn’t like Neneh Cherry.
The basic problem was that in 1989 there was still a very strong sense of (youth) culture and counterculture in the UK. Choices had to be made, the music that you liked and the fashions you wore defined you as either mainstream or counterculture. The latter was the harder path, random physical attacks against people purely because they were goths, punks, grebos etc. were pretty common. If you were counterculture you had to learn to talk fast, to fight and to run. So we were naturally suspicious of anything that was too far away from the culture that we identified as ours.
Neneh Cherry was firmly beyond the pale, Neneh Cherry was the sort of music that blasted out from a car stereo whilst the occupants decamped to beat someone up for no better reason than daring to wear different clothes to them.
In being insular, even paranoid we gained a lot of protection in sheer numbers. We could have clubs with strict door policies for instance. On the downside it also led to a lot of ignorance and misunderstanding. We thought we were being intelligent and indulging in superior culture but we were missing entire swathes of what was actually great counterculture purely because it didn’t superficially appear to be like our counterculture.
Going even further, it’s not just counterculture we were missing out on. Whilst some (thankfully quite limited) elements of the fans of mainstream culture might be knuckle-dragging degenerate thugs that doesn’t imply that there is anything actually wrong with their culture.
I’d like to say that I had a eureka moment and suddenly realised all of this when I first heard Manchild on the radio. Sadly that didn’t actually happen, what Manchild did was to start me on a journey of listening to ever more diverse music. I’d find an act I liked then try to find similar acts – before there were massive databases of artists on the internet it was actually quite difficult and exciting to try to find new music that you liked. I got to know the staff at the better local record shops quite well and I used to buy different music magazines pretty much at random. Eventually I was forced to agree with Duke Ellington, that “There are two kinds of music, good music and the other kind” and that what label or genre some music journalist or promoter wants to hang on it is no guide as to which kind of music it is.
So what is my music? Even if I had the first idea where to start I’m faced with another problem – it’s shifting sand. It can change between morning and evening. I can listen to an artist solidly for months and then not be able to stand the sound of them for years for no apparent reason whatsoever.
I’ve come to love the chaos that is my taste in music – I am fundamentally a scientist so most of my day is spent dealing with logic and reason and most of my hobbies are pretty heavy on this too. Having something that defies all logic and reason, that is pure feeling and emotion is really important to me and I find that in music. I don’t need to write a peer reviewed paper to listen to Professor Green. I don’t have to calculate the load bearing capability of Alter Bridge. I don’t have to qualify or quantify the beauty of Gabriel Fauré’s composition. These things can just be, there is no logic, no justification and there is no need for any – right now at this moment I like these three things, they speak to me, they make me feel emotions that I want or maybe need to feel. Ask me again in 10 minutes and I’ll tell you a different story. It might involve Bob Marley, or Nuclear Assault, or the Unthanks. Perhaps it might even involve the great Duke Ellington himself.
The only thing I know right now is that it’s going to be great finding out.