… Once again, I’ve completely failed to document my travels this year. I need to do better. Here’s my first attempt.
I’m off to Bangalore, India tomorrow to join in with DroidCon India 2013! I’m presenting two talks, and being a panelist on a panel:
- Portable Logic/Native UIÂ â€“ Explores the multi-platform app structure that we use on AsdeqDocs; things I wish we’d known at the start of the project, and things that we’ve learned doing it.
- Panel:Â The State of Android Development in IndiaÂ â€“ I’m on this panel as an international voice amongst a table of locals. It’ll be interesting to see how my perspective gels with the other panelists.
- Making Mobile Web Services That Don’t SuckÂ â€“ A talk that covers everything a mobile dev needs to know to understand how mobile networks work, and how to work with their back-end team to make an API that doesn’t suck.
I’ll post back here with slides and videos as they become available.
I’ll be in Bangalore until late on Saturday, then coming home via Singapore for a few days. Should be fun!
Lifehacker regularly features a segment where they interview famous people and ask them how they work. Rather than waiting for the e-mail that would never come, my friend Jack Scott decided to answer this set of questions on his own last week, and tapped me to answer them after him. So here’s my answers.
Location: Hobart, Australia
Current gig: By who pays me: Software Developer at Asdeq Labs. By what I love to do: Open Source Community person; general developer conference raconteur.
Current mobile device: Nexus 5 & Nexus 7.
Current computer: The one I directly use? That’d be a 2013-era MacBook Air; 13″ screen, with all of the extra trimmings.
One word that best describes how you work:
(But, if I’m actually passionate about something, that word might well be “obsessively”.)
What apps/software/tools canâ€™t you live without?
Python. It’s what I go to every day when I need to quickly bash out some proof-of-concept code or make some calculations. Even if I don’t use Python in my day job, Python prototypes will often form the genesis of production code I write in another language. Surprisingly often.
Also: Keynote. Or at least version 5 of it, I haven’t tried Version 6 yet. It makes making presentations easy, and I seem to be doing a fair bit of that at the moment. It’s probably the one piece of software that keeps me tied to Mac OS X.
Whatâ€™s your workplace like?
At work, I have a pretty generic veneered flat-pack style desk, with a 24″ monitor, and a laptop stand so I can put my laptop’s screen parallel with my larger monitor. I also have a Microsoft split keyboard, which I still can’t use properly. If I were planning my own office, I’d probably have an Aeron chair. But I’m not (at the moment, anyway), so I won’t
At home, I’ll sit wherever feels most comfortable to do whatever it is I need to do. Often that seems to be bed, just because I’m writing stuff, and it seems like a good place to do it.
Whatâ€™s your best time-saving trick/life hack?
If you’re travelling for more than 4 hours, learn to sleep on planes, and fly at night. Waking up in another city is cool, and having a whole extra day to do things on a trip is like generating extra time for free. It’s a productive use of sleep time!
Whatâ€™s your favourite to-do list manager?
Honestly, I tend not to use them. I’m generally across most of what I have to do in a day. If I have deadlines, I’ll shove them in a calendar. Otherwise, meh.
Besides your phone and computer, what gadget canâ€™t you live without?
A coffee maker. I like coffee of high quality. I have a rather nice espresso machine, which is the high-end model of a low-end brand; when I’m travelling, I carry an AeroPress and Hario Slim grinder, with a supply of high-quality beans. It saves me money, and I don’t complain about the coffee being awful when I’m somewhere I’m unfamiliar with!
What everyday thing are you better at than anyone else? Whatâ€™s your secret?
It seems to be remembering things. No secret, I just do it. Brains are weird like that.
On a completely different note, I have absolutely no natural pre-conception of how good other people are at things I know how to do. I’ve found that getting good at presenting technical material is great for figuring out what people need to know to know something (ask me about this sometime).
What do you listen to while you work?
If I’m in at the office, not very much. I hate music getting interrupted, so I’ll take my headphones off the moment I sit down.
If I’m at home, and I’m listening to music, pretty much anything in my library. Right now it’s jumping between Rumours by Fleetwood Mac, and Dear Miss Lonelyhearts by Cold War Kids. But that could change any moment.
What are you currently reading?
Python documentation. AppleScript documentation. Mostly so I can figure out how to implement features in my side project (Keynote-as-a-service). More generally it’s things on Wikipedia. I like to know things. Then I can remember them.
Are you more of an introvert or extrovert?
Though, introverts tend to think I’m extroverted. Probably because I can talk to a crowd if I need to. Needless to say, that’s a completely different skill to actually talking to people one-on-one, which I still have no idea how to do.
Whatâ€™s your sleep routine like?
Pretty regular. I go to sleep sometime between 22:00 and 23:30, and wake up, just before my alarm does, before 7:00. I wake up with disturbing regularity.
Fill in the blank. Iâ€™d love to see _____ answer these same questions.
Whatâ€™s the best advice youâ€™ve ever received?
Life’s too short for bad coffee.
If you don’t like coffee, substitute this for something else you actually like.
Basically, if you’re going out of your way to find something mediocre, or not as good as you can find in the general area, you’re wasting your time. Don’t do it. Be exceptional, and expose yourself to people who are great at what they do. You’ll almost always find some way to apply it to whatever you do.
And yes. Speaking with people who know how to make coffee properly has helped me be a better programmer
Is there anything else you want to add for readers?
Not particularly. I prefer responding to stimulus than coming up with ideas out of thin air.
Errm, so if you want to get an idea from me in the future, ask me something direct, and don’t ask for open-ended ideas.
I love Apple’s presentation tool, Keynote. In fact, if I had to nominate a single piece of software that was keeping me using Mac OS X, Keynote would be it. I haven’t yet found another tool that lets me throw together great-looking slides as quickly as keynote does.
On the other hand, I also really like using Android. And this is a problem, because Apple’s Keynote Remote app only works on iOS. Keynote Remote is an app that allows you to remote control Keynote from your phone. It also sends down a screen preview, presenter notes, and it also allows you to peek ahead to your next slide. Basically, it’s a killer app for people who want to step out from behind the lectern, and still have their notes and be aware of where they’re up to in their presentation.
And it only runs on iOS.
So this is where I introduce my new project: KAAS, or “Keynote-as-a-Service” is a Python-based HTTP server that lives on the same laptop as you’re presenting from, and exposes a JSON API for doing everything that Keynote Remote does, and potentially more. It’s Apache 2.0-licensed, and it already has a reasonable amount of documentation (though it could use a whole lot more).
I’ve thrown together a basic HTML front-end, with a really bad UI, just so you can see it in action.
In parallel, I’m developing an Android-based keynote remote, called Keymote. Once I release the app, I’ll be selling it for a nominal fee through the Play Store. It’s currently in Alpha testing, but if you want to try it out, let me know, and I’ll grant you access.
So how does KAAS work?
Keynote 5.x (iWork 2009) offers a reasonably comprehensive AppleScript interface* to creating and controlling slideshows with Keynote. It also has a remarkable HTML & JSON export format that, with some basic understanding of the JSON format, allows you to reconstruct how the slideshow will look at each stage of build.
Even better, it tells you when builds will be skipped, or when they’ll be auto-played. In concert, you can use this to determine where Keynote will be after you advance the slideshow, and you can build up build previews (lol) based on the commands in the JSON.
What’s best is that exporting such a HTML & JSON package is exposed through the AppleScript bridge, so it’s easy to do automagically.
In combination, you can use these to replicate the back-end functionality of Keynote remote.
So, if you’re interested in testing out Keymote, or if you want to contribute to KAAS, let me know. I’d be grateful for help and happy testers in any form.
(*Yup, this doesn’t work with Keynote 6.0. It’s apparently a substantial re-write, and Apple have removed the AppleScript interface to the new version. According to this support note, AppleScript support will come back. Hopefully there’ll be something resembling the Export format too.)
(Wooo, catch-up blog time!)
I was one of the invited presenters at the second PyCon Canada in Toronto.
My talk, “Android: The Land that Python Forgot?” looked at the state of Python development on the Android platform, and how we can improve things.
As for PyCon Canada itself? Well the conference itself was fantastic — a friendly, enthusiastic organising team, really good talks, and a beautiful host city. I’m really looking forward to returning to Canada next year when the US PyCon moves to MontrĂ©al in April.
I send this report off to Linux Australia detailing our activities for the past few months. I’m posting it here for posterity, because we had a pretty good couple of months:
- Registrations have been open for a month now, we’re about to equal our record for Early Bird registrations,
and should reach our limit of 80 Early Bird tickets this week(we actually sold our last 20 early bird tickets in one day. oops )
- Our CFP closed in early April, presentation submissions were up 25% — a record haul by quite some amount. International interest has increased a lot too, benefiting from on-the-ground promotion I did at PyCon US in March (many thanks to the Python Software Foundation for funding my trip).
- We’ve announced our first keynote speaker, Alex Gaynor (core Django, PyPy and CPython board member; PSF & DSF board member); our second keynote presenter is confirmed, and we’ll be announcing that in due course.
- Our programme committee met on Friday, we’ve selected our programme in its entirety. We have a great selection of local and international speakers lined up. Speaker acceptances will go out shortly.
- We’re finalising the details of our financial aid scheme. We hope that this will make PyCon Australia more accessible to people who could not otherwise afford to attend.
For those of you reading along at home, registrations are still open,Â and we really want you to come along. This is going to be the biggestÂ PyCon Australia yet, and is going to feature one of the strongestÂ programmes of any regional PyCon anywhere — all the details are up atÂ http://2013.pycon-au.org/register/prices
We’re down to just over 20 early bird registrations left of our original quota of 80. That means that we’ll probably run out of Early Bird tickets before our deadline of Friday.
The big announcement to every mailing list I can think of will happen tomorrow, so today’s a great chance to to get in before the tickets suddenly disappear.
Early Bird Registrations start at $165 for individuals, with discount registration available for students at $44. All the details are at the PyCon Australia 2013 web site.
At the recent PyCon North America, I presented my lightning talk on coding in Python in a way that is sure to keep you employed.
This was my first time presenting in front of an audience of thousands (2500, I believe), but I’m pretty happy with how it went.
It’s embedded below, or it’s available over at YouTube.
[!IFRAME FILTERED! ]
Just a friendly reminder that PyCon Australia â€“ running this year on July 5â€“7 in Hobart â€“ has just opened Early Bird registrations. All details are on our website: http://2013.pycon-au.org/register/prices
Can’t wait to see you all register!
Hamish and I went kayaking today. We paddled out from Roaring Beach several K's to a beach he's never been to before. He had a ball. I took some amazing photos, videos and tracked it via Google Maps.
Except we caught a boomer of a wave in which broke on the back of the kayak seat which had a pocket containing my phone in a hitherto waterproof bag.
As a result I was later re-introduced to the age old formula:
salt + electricity = magic smoke
So all of that data was lost and I'm currently without a smartphone. As Hamish said "How will you take photos and videos of me?". I'm more concerned about how I survive without constant Internet connectivity.
R.I.P. Google Nexus.
I picked a bad time to rebuild my laptop this week. I've been tracking Debian 7.0 (Wheezy) since it was frozen and using Enlightenment 0.17 (E17) for yonks. When I rebuilt my laptop, E17 was no longer available. The reason for the removal is essentially a result of the good news that a stable version of E17 has been released.
Hopefully the Debian Pkg-e Team will be able to build the entire suite of E17 modules to bring a complete E17 experience to Debian.
If you're not ready to run Debian unstable and would like E17 on Wheezy, you can run this command:
apt-get install e17 -t unstable
It's still version 0.16.999.70492-2 but it's better than no Enligtenment at all.