What I learned at OggCamp 2018

I last attended OggCamp in Liverpool in 2015 and had a great time. There wasn’t one in 2016, and in 2017 it was in the wrong part of the UK for the gods of time & space to allow.

I did though make it to OggCamp 2018 in Sheffield, so here’s some of the things I took away:

Sheffield is Super

It’s been a long time since I was last in Sheffield, and an even longer time since I arrived by train on the Penistone line. The rolling stock is still the faithful old Pacer, that I’m sure they were going to replace when I was still in my teenage years…

Anyway, some lovely new buildings in amongst the old, and some nice ‘modern’ uses for re-purposed places too. One of which was where I had coffee and breakfast – Tamper Sellers Wheel on Arundel Street. Absolutely amazing food, coffee and service.

OggCamp

I got the feeling there were fewer attendees than at Liverpool, but I couldn’t be sure. The layout in Sheffield wasn’t ideal, with venues being split by five storeys, so it felt a bit disconnected. However, once the Welcome Talk was underway, there were plenty of familiar faces around and it soon felt like OggCamp again.

I went to a talk on The Things Network, as it’s always good to find out what other groups are doing, and if there are any ideas I can use to help with my own TTN projects on the Isle of Man. It seems the main thing we need to work on here in the island is a use case which builds a community around it, as that looks like the most successful way of involving enough people and getting access to some funds.

The next talk was about delivering images over the mobile web. Not something I’d specifically thought about but quite interesting nonetheless.

  1. You can wind up your JPEG compression without really noticing on small screens.  A nice tool called cjpeg-dssim, which looks at structural similarity, can help with this.
  2. File formats matter. SVGs are a kind of XML, and can even go inline with your HTTP code – BUT beware. If you create them in Adobe products, it seems about 98% of the resulting file size is cruft that you can remove! WebP seems to be the best format in terms of quality vs filesize, but is only supported in Chrome and Android browsers for now.
  3. Size matters. Most mobile browsers download loads of pixels, and then throw most of them away before displaying. This wastes mobile data, slows down load times, as well as making the processor in the mobile device work harder than it has to. Ideally create lots of versions of an image which differ by about 25 kB in size, and then use some responsive scripts to load the correct size image for the current viewport size. Speeds things up a lot.
  4. Lazy loading saves data, as most pages don’t get viewed in their entirety. Loading images just as they scroll up towards the viewport means that if the user doesn’t scroll, no data is wasted (and page loads quicker) but if they do scroll, they still see all the pictures.

The final talk before lunch was about hacking the O2 Joggler. This was great, as the presenter was clearly very passionate about re-using old kit that would otherwise have gone to waste. I’d never really considered hacking as a force for environmental good before. It seems that the Joggler is quite versatile with hacked firmware, and they’re available fairly cheaply at the moment.

Beer with Friends

As much as OggCamp is great (really, you should attend), I received a Twitter message from someone I’d never met in real life but who I’ve swapped messages with for years. They’d noted I was in Sheffield and wondered if I wanted to meet up. A very chilled afternoon of drinking in the sunshine and exploring various drinking venues and beers of Sheffield followed, before riding the train again.

What I learned at OggCamp 2015

I attended my first ever OggCamp on the weekend of 31st October / 1st November. Having never been to any kind of ‘unconference’ before, I didn’t know quite what to expect. So here’s a few thoughts on what I learned:

Free culture and free software types are a friendly bunch.

This happened even before I arrived. Half way up Brownlow Hill, I was staring at a map on my phone when a chap walking nearby asked if I was looking for OggCamp. He told me about the previous ones he’d attended, and we walked up to the venue together. (I also learned the advantages of wearing an Ubuntu T-shirt in public!)

I didn’t realise Mars was as small or as cold as it is.

The first talk I listened to was by Gurbir Singh who gave a detailed presentation about space exploration, and likely future missions to Mars. You can see his slides here: http://astrotalkuk.org/2015/10/31/mars-the-new-space-race

Protocols run the world.

Jon Spriggs (who really is a nice guy) was giving the next talk I went to, looking at the various protocols which run our networks. Lots of great info, but the bits which stuck in my head were:

192.0.2.x is the ‘dummy’ subnet – just like example.com is for domain names
DNS resolvers allow for easy MITM attacks, because the first to reply wins
TLS is the correct name for SSL
SQRL (squirrel) is a new one-click authentication for the web

A lot can happen in five minutes.

The next thing I attended was the ‘lightning’ talks event. This is a slot where people present for just five minutes, and can be asked just one question at the end. A great format which led to many diverse things being presented. For me, the one to remember was about using big USB hubs and some software called Multi-Writer to write an .iso (or .img) file to multiple memory cards at once. I can see me needing this if I ever get round to my ‘Raspberry Pi for Dummies’ talk at IoM CodeClub.

Entroware make nice looking machines.

I’d never heard of Entroware until OggCamp, but they sell Linux based desktops, laptops and servers. They had a few on show in the exhibition space at OggCamp. Definitely worth a look if you’re in the market for a new machine. They also sponsored a lot of what was happening at OggCamp, and even stumped up a shiny new laptop as a raffle prize. Great.

HR Deparments suck.

The next talk I went to was by Stuart Coulson who was discussing ‘hacking’ your CV to gain advantage in the job market. Lots of great tips about why CV’s don’t work, and what you can do about it. It was interesting to think of a CV as device to get HR to pass your application on to someone who cares, in just a 20 second window! Also some good advice about separating out ‘personal’ and ‘professional’ accounts on social media, and creating your own ‘brand’ for yourself.

Talking to new people takes me out of my comfort zone.

But each time I do it, I reckon it gets easier. I didn’t know whether to go to the ‘official’ pub (The Constellation) for the Saturday night drinks. Thankfully, I was spurred into action by a tweet from @himayyay and so left the confines of my windowless hotel box to venture into the real world. I managed not to get lost on the way, and also learned that my legs are much longer than Google’s, as their Maps app had overestimated the journey time by about 100% 🙂

I got myself a drink (priorities, right?) and then loitered. People in OggCamp T-shirts around. People with Linux-y T-shirts. I was obviously in the right place. Everyone was engaged in conversations in groups, so…
…I went outside! Thanks to Twitter though, I met up briefly with @himayyay until the call of KFC on an empty stomach took him and his friend away. Still, I’d done it. Gone somewhere strange in the dark and spoken to people. Strengthened by my success, I went back inside all fired up to break into the group conversations…

…and promptly stood against a wall, clutching my pint for protection!

I thought I’d finish it and go back to my hotel, when I was rescued by Gemma and Dick who spotted my unease and asked if I’d like to join them. Thanks guys! Anyway, within seconds I’d identified them as fellow Yorkshire folk and so knew that everything would be OK. Three more drinks and much conversation later, we were finally kicked out of the place.

My hotel was in the opposite direction to the next venue, so I headed back. Bed was calling.

We have to step up on privacy.

On the second day at OggCamp, I went to a panel discussion chaired by Sally Hanford about privacy. I’d clearly missed a talk from the day before which this discussion was following on from. However, online privacy is something I’m very interested in so it was easy for me to follow along and contribute. It seems we still have to solve the problem of making privacy important to people. I guess in reality, it’ll take more breaches like the TalkTalk one, or a change to a more oppresive and authoritarian stance by our governments before people begin to realise the real consequences of a lack of online privacy.

ESP8266 modules are great for building IoT devices

The next talk I went to was by Tim Gibbon who has reverse engineered the RF interface used in a lot of UK gas central heating systems, so that he can switch his boiler on and off remotely. In conjunction with some inexpensive (about £6 per room) sensors and transmitters he’s able to monitor the temperatures in all the parts of his house, see the information live and historically through a web browser and get the system to crank up the heating automatically when it gets cold. All for a fraction of the price of any commercially available solution.

Update: Tim has made his slides available.

Air travel sucks.

My journey home was hard work. I left OggCamp as soon as it finished, and rushed off to the airport to catch a flight. It was delayed. It was delayed again. It was cancelled.

At this point, people ceased being human passengers and became units for a handling agent to process. Queues three hours long with no seats nearby. Lack of information and updates. When you finally get to the front of the queue, you’re told you’ve been booked on to the next flight in the morning. Queue again to find out where you’ll sleep.

Nobody knows. There are hotels nearby, but the handling agent has to use a national agent who is refusing to answer the phone. Hours pass. Still no seats to sit on. Legs tired. At midnight I call it quits and drop £70 on a hotel room across the road.

Four hours later, I’m up and back at the airport ready for my morning flight. There’s a fundamental problem with airport security if you bought your wife bottles of perfume in duty free the night before. Perfume is a liquid. Apparently, airline authorities are scared of liquids and so I now have a problem. I solve it. (I’m resourceful, y’see.)

So, back in departures. I see a delay on the board. Unease. More delay. Oh look – my flight is cancelled. Once again, we’re led like cattle through the arse end of the airport and back land side. Once again we join the queues of doom…

Rebooked onto another flight later in the morning. By this time their printer has died, and so I clutch a handwritten scrap of paper and have to find another desk to check in again. Oh, and I have to get my contraband liquid gifts through security again. This time I own up, and go for the human misery angle. It works. (Well, you can only use a 0-day once, right?)

Third time in the departure lounge. Time passes. Flight gets delayed. This time though, the news of the actual cancellation comes from the Isle of Man airport (via Zak’s excellent app) when I notice that our flight is listed as cancelled on their arrivals board. It was another 30 minutes before they finally owned up and told us in Liverpool, before leading us through the now very familiar tunnels and passages back to the land side world. I suspect the delay before telling us was because they were trying to manage the length of the queue at the handling agent’s desk!

At this point, I’d lost the will to go on. I couldn’t face the whole queue, rebook, queue, check-in, queue, security farce for a fourth time. I got my lovely wife to phone up and book me a seat on the evening boat from Liverpool, and got myself on a bus into town. I managed to kill time for the rest of the day with the help of a pub and some beer. Felt human again.

The boat was slightly delayed, but the reasons were made very clear. Here is a transport company that knows passengers need information. Here is salvation. I settle in for the journey, only to find my Bluetooth headphones have died. I think the triple X-raying they’d had earlier on had cooked them. Bloody airport!

OggCamp is great.

Really, it is. Great people. Well organised. Lots to learn. Lots to see. Lots to do. Huge thanks to everyone who played a part in making it happen. I had a fantastic time! Fingers crossed that OggCamp 2016 will be a thing.

The Weirdest Bug – Lenovo Ideapad S205

Today I offered to help a friend with their new Lenovo S205 which they’d bought a year or so previously, but not got around to using. It had come pre-installed with both Ubuntu 12.04 and Ubuntu 12.10 but wasn’t quite behaving properly.

I thought the easiest option would be to start again, with a nice clean install of Ubuntu 12.04.04 LTS. I attached my trusty USB flash drive, and…

….corrupted display, and no boot.

It turns out you can’t press F12 at boot time, and choose to boot from the USB media in the list that appears. No. You have to go into the boot settings proper, and put the USB media at the top of the list. That was Bug number 1.

So, off goes the install of Ubuntu. All looks good, WiFi working, hotkeys etc… time to reboot and…

….nope. PXE boot ROM kicks in instead. Check the boot settings. Yep, hard drive set to boot before other things, but doesn’t.

Back to booting from USB…. Fiddle with grub settings. No go. OK, re-install with manual choice of partitions…. still no go…. fiddle fiddle…. hours pass…

Finally I notice the drive has an MS-DOS type partition table, despite it booting EFI-style to the previous Ubuntu installs, so I decide to delete it and create a GPT one instead. Still nada…. Add an *empty* EFI partition… re-install… nope…. delete all partitions again…re-install… Voila!
(I’ve no idea which step was the magic one either. Bug number 2.)

So, now Ubuntu booted quite happily, but no WiFi. No worries. Attach an Ethernet cable and let it pull down latest drivers…

…but hang on, it has them all.

Poke about in the terminal for a while and realise the wireless is ‘hard’ blocked. But the wireless switch on the side is in the on position. Moving it disables Bluetooth. Moving it back enables Bluetooth. Still no WiFi, but at least the switch works! Everything driver wise seems to check out. The laptop is adamant that WiFi is disabled by hardware switch. Google. More Google.

What? Seriously?

Yup. On the Lenovo S205, WiFi will not function properly unless….

…the hard disk is the first entry in the boot menu!

Bug number 3, and I hit it because of Bug number 1…

Still, all’s well that ends well, but I never want to see another Lenovo S205 again!

Hello Chromebook

I bought my wife an HP Chromebook 11 for her birthday this week. I’ll admit that part of the reason for my choice of gift was my own curiosity. I wanted to see how good a Chromebook was, and whether it would be a better choice to use in schools than the current (expensive) tablet craze that seems to be going on…

First impressions are that the device is the perfect size and weight. The keyboard is great to type on (I’m using it now), with well spaced keys that have a responsive travel and good tactile feedback. Error-free typing without looking is definitely easy on these things, so anyone who needs to write a lot would find an HP Chromebook 11 very nice. The screen is much better than I expected at this price point, with a very bright and crisps display with excellent viewing angles. ChromeOS is easy to use without training, and of course it plays very nicely with the Google Apps stuff. If you’re a heavy user of Google Apps, I’d highly recommend carrying a Chromebook around with you!

The only snag was the inability to print. Sure, you can collect your docs from Google Drive on another machine with a printer, but that’s a bit clunky. Also, given that we have a networked printer at home I wanted to be able to use that. This is another of those Linux-to-the-rescue stories, so with a bit of tinkering all is well. Here’s my solution:

  • Install CUPS onto my HP Proliant Microserver and add our network printer to it
  • Connect CUPS to Google CloudPrint with some python magic from Jason: https://github.com/armooo/cloudprint
  • Set up an application specific-password to use in my Google Account (just in case…)
  • Give cloudprint the account details
  • In my Google account, share the new Google Cloud Print printer with my wife, so she can use it too.

I still need to tweak things so that the cloudprint connector will start automatically, but I very rarely reboot the server, so not sure when I’ll be bothered to get around to that!

Dell XPS 13 Developer Edition

My Dell XPS 13 developer edition is a lovely machine. It’s slim and light, very very fast and has a beautiful screen. It also came from the manufacturer with Ubuntu linux pre-installed and ready to go. I do wish more manufacturers would sell their computers without Microsoft Windows.

However, it did have a tendency to drop the wireless connection randomly which is surprisingly frustrating. Having never bought a ‘proper’ laptop before I thought I’d make use of the 12 months pro-support that came with it. Sadly, Dell’s representative was asking me Windows related things, so I politely gave up on them. Maybe if I’d persevered they would have put me through to an Ubuntu specialist, maybe not. I suppose the leaflet in the laptop packaging about getting started with Windows 8 should have made me suspicious of what to expect!

Anyway, it turns out that the Atheros Killer wifi card in the machine wasn’t being supported very well by the linux kernel that was shipped with the machine. That doesn’t say much for Dell’s quality assurance testing. All that was needed was for me to install a newer kernel, and the wifi now works perfectly.

I’d like to think that this minor issue will be addressed by Dell, but just in case you’ve got yourself a shiny new XPS 13 Developer Edition with flaky wifi, here’s how to get a newer kernel that works:

Open a terminal (press CTRL+ALT+T) and type:

sudo apt-get install linux-generic-lts-quantal

Then reboot your laptop.