Welcome!

Julian's photo Hi there! I'm Julian M Bucknall, a programmer by trade, an actor by ambition, and an algorithms guy by osmosis. I chat here about pretty much everything but those occupations. Unless you're really lucky...

Most recently this is what I've come up with:

The rise and fall of my Jungle Disk

Quite a while ago (I was surprised when I looked it up: 2008) I subscribed to a backup app called Jungle Disk. The interesting thing about it was (a) it used Amazon S3 (then relatively new) as a backup store, and (b) you subscribed to it at a rate of a mere $1 per month. So, in essence, it’s an online backup program and it allowed me to keep documents and photos – about 6 folder trees in all – somewhere else than a local backup drive. It was the “house burns down” option: in the event of a catastrophe (like, say, if the Black Forest fire last year had been a little more ferocious and the wind from the north-east a little stronger) I’d have our decade’s worth of photos still around once we’d rebuilt.

And, for the next 6 years all went well. The monthly bill from Amazon for the storage came to around $15, sometimes more, sometimes less, but not by much. Even when I experimented a few months back in deploying a couple of static websites to Amazon, using Route 53, the bill never really made it over $20 every month.

And then, boom, February’s bill arrived: somehow I’d managed to spend just over $100. WTF?

The statement/invoice was no real help: all it said was that I’d somehow managed to incur over $80 of outward-bound data transfer. A grand total of two thirds of a terabyte had been downloaded from my S3 account in February. I don’t know about you, but a distinct chill went down my spine. Had I been hacked? Was there someone out there just continually downloading the larger files – images, PDFs, zips – I’d linked to from my blog? 0.67TB worth? The possibilities all looked dark.

I fired off an email to AWS support asking for help in trying to understand my latest bill. They responded after about a business day with lots of details about how to find out which buckets were being downloaded from and when – details that I’ll admit to being hard to find from scratch. In order to see the data transfer usage and when it started, I downloaded a usage report for S3 (actually it’s a CSV file, ideal for opening in Excel) – you can download one for your AWS usage from here. This report gives you an hourly breakdown of data transfer from your buckets and could help in identifying what caused these charges to accrue.

For me, the results were shocking. Here’s a glimpse from the time it all started:

AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 2/07/2014 3:00    2/07/2014 4:00               275
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 2/09/2014 18:00   2/09/2014 19:00              275
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 2/11/2014 20:00   2/11/2014 21:00              275
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 02/18/14 02:00:00 02/18/14 03:00:00  2,905,266,065
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 02/18/14 03:00:00 02/18/14 04:00:00  2,905,262,825
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 02/18/14 04:00:00 02/18/14 05:00:00  2,905,262,934
AmazonS3 GetObject DataTransfer-Out-Bytes jd2-f12ac61040xxxxxxxc267e70f7e26c07-us 02/18/14 05:00:00 02/18/14 06:00:00  2,905,263,028

From a minimal data transfer of a few bytes every other day, suddenly on 18-Feb, from 2am onwards Amazon time, something somewhere had started downloading nearly 3GB every hour. From where? Well that GUID-like thing in the middle is Jungle Disk’s generated name for my backup storage. Something was downloading data from my backup.

AWS support’s other hint was to turn on S3 server access logging for the bucket and regularly check the log reports. After a few hours, I checked the logs: lo and behold, all of the data requests were made from my IP address from the Jungle Disk Desktop app. No weird hackers out there who are really, really enamored of my data files: it’s all just Jungle Disk. For grins, I disabled Jungle Disk backups for a couple of hours, and the big data downloads stopped; enabled backups again, and the big downloads restarted. Pretty convincing to me: something in Jungle Disk Desktop was initiating these hourly data downloads.

Time for an email to Jungle Disk support. First answer: “what are you restoring from your backup?” and “Maybe it’s your antivirus. It’s scanning the files in your network folder.” In other words, the typical non-answer to get rid of the question. The interesting thing is that I’ve never restored from a Jungle Disk backup in the six years I’ve been using it (which in and of itself is a HUGE problem: how do I know it’s backing up properly if I don’t try and restore?) and nothing changed about my antivirus anyway; besides which I don’t make use of the network (that is, “mirrored”) folder functionality in Jungle Disk.

Before I replied, I deleted a couple of older backup hives from S3, something I should’ve done ages ago when I retired (and wiped) those machines being backed up. After I’d done that, I enabled backups again to see whether the clean-up had any effect. The data downloads were still there, but now they were only 750MB in size per hour (0.75GB). Score! I disabled the backups again before replying and presenting this new information. The reply was (in essence): “Some computer/person is initiating restores on a regular basis.” and recommended changing my Jungle Disk password.

Let’s get one thing straight: in order to initiate a regular backup (750MB every hour, remember), a hacker would have to know my Jungle Disk password (there’s an authorization check to see if you are still subscribed to the service every time you run the Desktop) and ALSO my Amazon AWS Access ID and Secret Key. Of course, once they have the latter, they have complete control over my AWS account and wouldn’t need to do bloody stupid “24×7 hourly restore” tricks (“hey I can store a cracked installer for Windows 8 on this stupid idiot’s S3 account and send all my friends the link”). Sorry, but it doesn’t fly. Also they must have access to my main machine to spot when I turn on or off Jungle Disk backups (this big data download only happens when backups are turned on for this one and only machine that uses Jungle Disk in my household). Not only doesn’t fly but doesn’t even walk. This, my friends, has no signs of life.

So, yesterday I decided that all this kerfuffle and investigation just wasn’t worth the time and effort. Nice app, but I’ve better things to do. I cancelled my Jungle Disk subscription, deleted the backup on S3, uninstalled Jungle Disk, and deleted the cache it uses on my C: drive (all 59GB of it, WTF?). I performed a backup to an external drive and put that in my car.

Update: so last night at the Denver Visual Studio User Group meeting – it was a boring bit of the proceedings – I viewed the access logs I had for the Jungle Disk bucket on S3. And found an interesting bit of behavior I’d completely missed before. Here’s a synopsis of the server access logs over a particular period of time late Friday evening/early Saturday morning showing access to various files that are numbered sequentially in a DB folder in the Jungle Disk backup bucket.

21-Mar 20:23:28 GET    ~/DB/75780 *
21-Mar 20:24:50 PUT    ~/DB/75781 *
21-Mar 20:31:59 DELETE ~/DB/75770 
21-Mar 21:31:51 PUT    ~/DB/75782 *
21-Mar 21:33:20 DELETE ~/DB/75771
21-Mar 21:38:19 GET    ~/DB/75781 *
21-Mar 22:30:36 PUT    ~/DB/75783 *
21-Mar 22:32:00 GET    ~/DB/75782 *
21-Mar 22:40:51 DELETE ~/DB/75772
21-Mar 23:30:25 DELETE ~/DB/75773
21-Mar 23:30:26 PUT    ~/DB/75784 *
21-Mar 23:26:21 GET    ~/DB/75783 *
22-Mar 00:22:43 PUT    ~/DB/75785 *
21-Mar 00:23:33 GET    ~/DB/75784 *

So for example: at 20:23:28 a GET is requested for file ~/DB/75780; about a minute later a PUT is requested for file ~/DB/75781. Then file ~/DB/75770 is DELETEd. And so on. As you can see, some part of Jungle Disk is reading these files one by one, sequentially, some other part is adding new new ones at regular intervals, again sequentially, and some other part is sequentially deleting the older ones with a delay of about 10 files. These files are 750MB in size, and I’m guessing are the database of the backups that Jungle Disk is doing.

And the reason for the asterisks? These requests come from Jungle Disk Desktop at a completely different IP address: 162.209.124.28. No idea who owns or what’s at that IP address, but it’s very peculiar that it was totally in sync with my copy of Jungle Disk and the only operations that it was doing was GET & PUT (with the files being deleted a little while later by my copy of Jungle Disk Desktop).

Well, it’s all moot now of course. Now, I’m researching apps that automatically mirror local folders to Amazon S3.

Now playing on Pandora:
Depeche Mode - Dream On (Dave Clarke Acoustic Version)
(from Remixes 81...04)

Upgrading the SSD in the Dell XPS 12 – what not to do

So, in the previous installment in this upgrade game I was crowing about how I knew how to boot from a USB drive on the Dell XPS 12 and therefore upgrading the SSD in it was going to be a piece of cake. Well, it turned out to be a piece of the heaviest, densest, fruit cake you’ve ever seen. Dropping it onto a wood floor would have dented the floor.

XPS Duo 12 NotebookTo recap, I decided to purchase a new Crucial M500 480GB mSata SSD to replace the 240GB unit I’d initially installed a year ago in my Dell XPS 12. Back then I didn’t worry about any backups of my data: the machine was new (to me) and I was wiping it clean. Hence the ‘normal’ Windows 8 recovery worked just fine: I created a bootable USB drive using the Dell tools and booted and installed from that. No problem. This time though, I didn’t want to have to reinstall all the apps I had on the laptop; I just wanted to switch drives and restore from a backup. Of course, that presumes I had a good backup to begin with: a backup is not a backup until you can restore properly from it.

I had in my hot little hands: a new SSD, a bootable USB external drive with the latest backup (created with Dell Backup and Recovery Premium – DBAR), and my XPS 12. Installing the new SSD was simple (the XPS 12 is very easy to get into), and so it was time to reboot. As it happens the setup on the machine recognized that there was only one drive that was bootable, so all that shenanigans about F12 didn’t seem to be that important. DBAR booted up, gave me a list of possible backups to restore from, and asked me which one to choose.

It was at this point I should have just chucked DBAR in the bit bucket, swapped drives again, installed Acronis True Image Home, backed up, and saved myself hours of frustration and just plain anger.

Why?

Because the list DBAR showed me didn’t have the latest backup in it. I mean, talk about a serious WTF moment. What the heck was I going to do now? I hit the Back button and then the Next button to get to the list again. And suddenly the latest backup was listed. Again I should have just dropped it all and moved on, but, oh no, whackjob that I am, I continued.

If I recollect – it gets hazy – that first restore ‘succeeded’ but produced a machine that would not boot. Trying to boot would just produce the friendly Windows 8 blue screen (was this Error code: 0xc0000001, or Error code: 0xc0000225? I forget). This is where I did use the F12 boot trick and booted back into the external drive. Repair my disk, I selected. Nothing needed doing, it seems. Either that, or the repair didn’t take. Tried rebooting again, but no go.

After a small nightmare of trying various things and just getting blue screens, I decided to try using the USB stick recovery approach. This worked and I got a minimal Windows 8 installed on the new drive. Yay. Except I had previously had Windows 8.1. DBAR was pre-installed on this recovery OS so I launched it, but it refused to recognize my backup. Time to reboot back to the external drive.

Another nightmare of trying various things ended up with the supremely ridiculous 0x4001001300001002 error code and DBAR wouldn’t even get through the full restore any more. Booting from the internal drive came up with “This disk is full” and I was starting to think I’d somehow damaged the new drive. Was this $280 down the drain?

I swapped drives again and resolved to try again with Acronis True Image instead, once I had a spare couple of hours. This turned out to be this lunchtime. I installed True Image Home 2014 on the XPS 12. I created an Acronis Rescue Media on another USB stick to launch True Image (those freebie USB sticks you get at conferences are really useful), and then did a disk backup (not a file backup) using True Image. Finally it was time to swap SSDs again and see what happened.

The Rescue Media booted beautifully, and then flipped into graphics mode and presented a garbled UI. DAMN IT! Was I forever doomed? At least this was something different to Google. I landed on this knowledgebase page on Acronis’ site which talks about this and gives ideas to solve it (in essence, the Rescue Media boot app cannot identify the graphics adapter and is selecting an invalid graphics mode, resulting in a garbled display). The vga=ask parameter didn’t work for me, so I just selected the value that defined the highest resolution (vga=0x31B).

Success! I could see the True Image display and I could easily locate the backup, and it just went ahead and recovered. The main partition on the old drive was automatically grown for the new drive and everything was restored correctly. It truly was a beautiful sight when the machine booted properly and my login image was displayed. Beautiful. And it didn’t even take a couple of hours, more like 45 minutes all told, from install to restore via backup and a bit of Googling.

So, the moral of this tale is this: ditch Dell Backup and Recovery and buy a true backup program, Acronis True Image Home 2014. You will not regret it. And I’m not even getting any kickbacks from Acronis for this, I just wish I’d saved myself a whole lot of bother by using it in the first place.

And, remember this: if you cannot restore from a backup, it is not a backup, despite what the backup program tells you. It is more than useless, it’s a waste of time and power, and is a bucket full of sloppy false hopes.

Album cover for Touch YelloNow playing:
Yello - The Expert
(from Touch Yello)


Booting from a USB drive on the Dell XPS 12

There are several possible reasons for wanting to boot from a USB drive, I suppose, but mine came from this thought experiment: I’ve been diligently making regular system backups of my Dell XPS 12 for a while and today I wondered if I would be able to recover from, say, a crashed hard drive or – a much better scenario – from upgrading the hard drive to a higher capacity one. In fact, this latter scenario is the one that interests me: I’m contemplating a 480GB drive (currently the Crucial M500 is $280 from newegg.com) to replace the 240GB drive that I bought a year ago for my Dell XPS 12.

XPS Duo 12 NotebookThe first big issue here I suppose is this: has my backup program really created a bootable partition on my external USB drive so that I can boot from it? After all, my backup would be pretty useless if I couldn’t boot to restore the system from it. Actually, that is the first law of backups: you haven’t really created a backup if you haven’t successfully restored from it. If you can’t, you’ve just been moving bits around and wasting electricity for the past N months and are – to put it ever so delicately – screwed.

The second issue is that the XPS 12 (like all machines that are built for Windows 8 or later) uses UEFI and Secure Boot for setup, not the traditional BIOS. How do you boot from a USB drive in this scenario?

For my backups of the XPS 12, I use Dell Backup and Recovery (DBAR), the Premium version. Usually, I’m an Acronis True Image man, but since the Basic version was pre-installed on the machine I decided to give it a go (the Premium version is a paid upgrade). As it happens, I’m happy with it: it does what I want it to do, which is make a complete system backup regularly – I’m not that interested in “data” or file backups, it’s the whole enchilada or nothing for me on the XPS 12. The first time you make a system backup with DBAR onto an external drive, it forces you to repartition and reformat the drive so that it can create a bootable partition, after which it backs up your system onto it. This I did, on a brand new WD My Passport drive that I’d bought for the occasion. So far, the weekly or so system backups I’ve been doing have proceeded without a hitch.

But… can I boot from it and hence recover from it? So, onto the next issue: just how do you boot from an external drive?

It turns out that, for the XPS 12 – despite the lack of hints – there are two keys you can press as it boots. F2 will navigate to the hardware setup page and F12 will navigate to the boot options page. By all means, explore the F2 setup and compare/contrast with ye olde BIOS setup, but F12 is the one you need. When I boot with the external drive plugged in and pressing F12, I get a screen which allows me to boot either the normal “Windows Boot Manager” or from “EFI USB1 PATH1” (or something similar – it depends on which USB port you are using). Select the second option and press Enter and the machine will boot from the external drive. Unlike other blogs out there suggesting you also need to disable Secure Boot to do this, I found that it is not necessary.

So, now to plonk down the $280 for a bigger mSata SSD…

Album cover for MCMXC A.D.Now playing:
Enigma - The Voice and the Snake
(from MCMXC A.D.)


21 reasons to enjoy DCI Banks

Back in November 2012, I ordered the first series of DCI Banks on DVD from amazon.co.uk, an ITV crime drama series starring Stephen Tompkinson as, well, DCI Alan Banks and Andrea Lowe as Annie Cabbot. For one reason and another, I really enjoy the traditional British police procedural: there’s some bizarre murder, after which proceeds a nicely drawn and perhaps drawn-out investigation of the crime, with lots of character development along the way. The epitome of this type of drama was undoubtedly Inspector Morse, with Endeavour following in those footsteps. DCI Banks was possibly not quite as well done as those, but it was nevertheless interesting to me because of the setting: somewhere in Yorkshire. Never really properly positioned unlike Morse’s Oxford, just assumed to be up there somewhere. Although I’ve never lived in Yorkshire, my parents have, and I consider myself a proto-Yorkshireman, having explored pretty much all of the Dales and most of the Moors. All in all, I enjoyed the episodes a great deal.

DVD cover for first series of DCI BanksAfter I’d ordered and watched the second series about six weeks later, I decided I really should read the novels by Peter Robinson upon which the TV series are based. Visiting his website, I saw that there were 20 novels in the series (the 21st has just been published), with the latest one still in hardback. Since a third TV series seemed to be a way away (as it happens, it’s just started airing in the UK), it was time to start reading with the first in the series: Gallows View.

And then came the first realization: the reason the TV series didn’t seem to mention where they’re placed is that the books are set in an invented town in North Yorkshire called Eastvale. There was a little map in this first novel showing Eastvale, and it looked a great deal like Richmond, a town with which I’m very familiar. Castle, check. River, check. Market Square, check. Head of a dale, check. In fact, reading the novels, you realize that Robinson seems to have inserted a new dale (with a new river called the Swain) just south of Swaledale and perhaps north of Wensleydale. To me, it looks pretty much like Swaledale with Eastvale/Richmond at the head of the dale.

Even at this remove, I’m just not sure how successful this gambit was. Knowing the area well, I found it a little disconcerting in places with the result that it would flip me out of the action. Consider: Morse in set in Oxford, pure and simple. Yes, the plot is made up, and so are the characters, but setting it in a real place helps ground it. In fact, knowing Oxford a little helped greatly with those episodes (and Dexter’s novels, when I read them). Setting the books in a fictitious place made it doubly hard to get in the flow for me, to suspend my disbelief. I actually gave up and “translated” the plot to Swaledale and Richmond. When Robertson described a house, a village, a town, some streets, I would place them in my mind’s eye to places I already knew.

I suppose this goes back to my childhood, reading authors like Enid Blyton (no idea where the places are she describes for The Famous Five, for example) or Malcolm Saville (always set in a real place or town – as I kid I really wanted to see Long Mynd but didn’t make it until my late 40s). Same with Arthur Ransome and Swallows and Amazons: yeah for the Lake District and Lake Windermere.

First 19 Banks novelsOnce I’d got over that particular point, I settled into the novels fairly quickly and got to genuinely enjoy the Yorkshire feel of the plots. Gallows View had the feel of a first novel but was nevertheless interesting and Banks solved it nicely, along with the twist. Next up was A Dedicated Man, set in a small village in Swainsdale (heck, call it Reeth) with some characters that can only inhabit English country crime novels. Of course the suspect most obvious at the start was not the real villain by the end, but Banks is not fooled. Another map in this one, but that was it from now on: the next novel A Necessary End had none and neither did any of the others. It was with this one, I think, that Robinson started to settle down with his writing and his characters started to flesh out.

I suppose there is a fundamental flaw in police procedurals: you know that one of the characters that the author is at pains to introduce is going to be the bad guy, but you also know that they’re going to toss in some “clues” to throw you off the scent and lead you away from the real villain. Also, in real life, with real murders, the villain is not that bright and is not likely to be able to fool the police for long. As for covering his or her tracks, puh-lease. That’s another reason why I enjoyed Robinson’s novels so much: yeah, the crime detection proceeds “normally” but there’s a great deal of character-building so that you enjoy the rapport between the main characters and can understand how they might be led astray or that they miss a clue or that they don’t spot someone lying or telling the whole truth. This is not like reading Colin Dexter at all. Reading these novels I got to delight in Banks’ characterization and the people he was surrounded with: his wife and children, Annie Cabbot, his superiors, the rest of his team, “Dirty Dick” Burgess, and so on.

Having said that, the later novels, for example All the Colours of Darkness and especially Bad Boy, I found to be more heavy-duty characterization with lightweight plot rather than the other way around. In fact, Colours annoyed me somewhat because of that (Banks just happened to be present at a terrorist explosion, really?) but I managed to finish it, whereas Bad Boy sat on my bedside cabinet for a couple of months because I just could not believe the character of Banks’ daughter and what she was doing (plus, I suppose, there was no whodunnit per se, it was more of a thriller than a mystery). Eventually I finished it by skipping/surfing the first third and then reading on.

The 20th novel in the series, Watching the Dark, is now out in paperback, so once I’ve finished Stonemouth by Iain Banks, I’ll be reading it. Despite my disappointment with the later books, I’ve greatly savored and loved the series as a whole. And the placement of Eastvale in North Yorkshire hasn’t helped with my ex-pat homesickness at all. Thanks, Peter Robinson, I’ll remember that…

Now playing:
Miro - Emotions of Paradise
(from Café del Mar, Vol. 3)

 

Routers: the next big security hole

There I was, minding my own business, when I came across this article in ArsTechnica: “ Dear Asus router user: You’ve been pwned, thanks to easily exploited flaw ”. I read on avidly, because, well, I have an Asus router, an RT-N66U to be precise and the subject of this article. It seems that some hacker had taken advantage of a security flaw in Asus routers, first described – wait for it – 8 months ago. The report on that flaw is pretty scary security-wise: access to attached external drives – the...

Read more »

Flying Standard Twelve

When I was younger my parents used to regale me with stories of Dad’s first car, a Flying Standard Twelve saloon. It was from the late 30s, so I would guess it was 15 years old or so by the time Dad bought it. Here is the car in pre-marriage days, Dad sitting in the driver’s seat (the “suicide door” open) with Dad’s best friend Derrick Hill leaning on the front mudguard. I think they were off on a camping trip to Wales somewhere. Dad must have been around 19 or 20 when this was taken. From this remove...

Read more »

Three quick takes on HDR

Every couple of weeks (on payday essentially, so I remember to do it), I go searching through my photo collection for a new Facebook cover image. There’s a couple of reasons for this I suppose: one, I like having cover images that change periodically since it allows me to show off some photos that I’m proud of; and, two, it forces me to continue to learn how to take what you might call good photos. I do not pretend to be a great photographer, but I continually try and cultivate an “eye” for a well...

Read more »

Bye, Ari, and thanks for being our cat

Once upon a time, in a house not that far away, considering, there lived a cat called Aristaeus. He was nominally a brownish tabby, but he had a wonderful white bib, white paws with a signature black toe on one of them. Because of, or to live up to, that sophisticated white bib, he craved the good life and got it in spades. This cat loved roast chicken, fresh salmon, smoked salmon, fresh tuna, tinned tuna, prosciutto di Parma, and even freshly grated Parmigiano-Reggiano. When we had pheasant for...

Read more »

Making a complex shape in Adobe Illustrator

File this one under “I’m gonna need this again one day, m’kay?” So the other day I was trying to make a cloud shape like all the big boys use to represent their tech cloud. Piece of cake, I thought. I’ll start off with a landscape rectangle, add a couple of circles at the end of the rectangle, and then add one larger circle and one smaller circle. Here’s the initial look in Illustrator. Yes, as you can see I turn on the grid and I snap to it to help position these shapes more accurately. I then used...

Read more »

Creating a calendar

My wife (who is a Senior Deputy District Attorney) is preparing for a major homicide trial at the moment – it starts on Monday, January 6, for an estimated 8 weeks – and so spent New Year’s Day at work. I was left at home and, after having tidied up, I was at a bit of a loss as to what to do. Yes, I could write some code, but I was in more of an artsy fartsy mood. Ideal thought: since it was the first day of the year, design and make a calendar. OK, so there was a bit more to it than that. As an...

Read more »

Extras

Search

About Me

I'm Julian M Bucknall, an ex-pat Brit living in Colorado, an atheist, a microbrew enthusiast, a Volvo 1800S owner, a Pet Shop Boys fanboy, a slide rule and HP calculator collector, an amateur photographer, a Altoids muncher.

DevExpress

I'm Chief Technology Officer at Developer Express, a software company that writes some great controls and tools for .NET and Delphi. I'm responsible for the technology oversight and vision of the company.

Validation

Validate markup as HTML5 (beta)     Validate CSS

Bottom swirl