A month ago I attended my seventh Linux.conf.au, LCA2014 in the lovely Perth. January rushes by so fast I often neglect to write about it at all, but this time I would like to highlight my two favourite talks.
The first is Friday’s keynote, “Deploying software updates to ArduSat in orbit” by Jon Oxer. I would call this talk: “A school class can do a science experiment in space for a week for $300”. CubeSats are a “standard micro-satellite” (about 10×10cm). Jon got involved with a Kickstarter campaign called ArduSat and helped them design an Arduino board to go in the CubeSat, as well as a prototyping board that students could use in their classroom to design their experiment.
Jon shows the web-based interface where a class would submit their Arduino design, which includes an “upload to satellite” button. Really. :)
(My title for this talk is a little bit of an over-sell, as at the moment the ArduSats have massive waiting queues for anyone to book time on them. But Jon’s intention is to get lots more of them up there, so hopefully that will change sometime soon. I’m not sure where the best place to stay in the loop on that is. I would also love to read a blog or something where schools talked about how their experiments went.)
So his talk (youtube, mp4) was wonderful, highly recommended if you want to feel inspired and amazed and hopeful.
The second is a little more down to earth! I was really into the talk on Visual Editor by James Forrester and Roan Kattouw of the Wikimedia Foundation. (Youtube, mp4, slides) Visual Editor is the WYSIWYG-ish/rich text/Google Docs-ish editor that Wikimedia has developed to avoid people having to learn arcane mark-up and help drag MediaWiki’s interface into this decade.
First of all I think this is inherently interesting, that they have solved (or are well on the way to solving) this problem, as it is one that loomed so large that it has threatened to topple Wikipedia and the other Wikimedia projects many times. Large vibrant communities have certainly been destroyed (or destroyed themselves) over less.
Secondly, they needed to build something that would largely work for the existing corpus that is millions and millions of Wikipedia articles, in over 300 languages. OVER 300 LANGUAGES.
What was most fascinating was hearing about how they tried to reproduce “expected behaviour”. For example, in a right-to-left script, when you press the right arrow, should you move right in the text or “forward” in the text? And in bidirectional text such as numbers embedded in Hebrew, which direction is “forward” anyway? And do Windows apps behave in a similar way to OSX? Or phone OSes? What about IME software for inputing non-alphabetic scripts?
You would think the simple design of moving a cursor around some text was a well-solved problem, but not necessarily. It must have been a nightmare. A fascinating nightmare.
Oh, and if you work on some web-based software and think a nice HTML editor could be an improvement over whatever your default is, they would love to help you try and integrate VisualEditor into another project, like Drupal or Wordpress.
So I saw two talks at LCA about security: Joh Clarke’s Hackers, Crackers and Security Basics, and Mark Piper’s Web application security, OPEN style. I still remember seeing Joh’s So you want to be a sysadmin talk in Melbourne 2 years ago, and mainly just my jaw dropping open for the whole talk at how she casually just knew this amazing amount of stuff that I had barely even grazed against. It was equally scary and awesome, and both talks this year were the same way.
Anyway, I had good reason this week to think that is more than time that I started to pay more than the bare minimum attention to security. And I thought about all my installed web things (mainly Textpattern and Wordpress), and how I don’t have any way to keep them systematically updated, unlike my desktop. Thanks to Ubuntu’s Update Manager, I get annoying red warning icons until I bother to update my system packages. So I actually do it within like a day of them being released.
So I was thinking how can I get these notifications… maybe I need to write some Update Manager-like little program to give me a taskbar icon when a new release comes out. So I need to know something about daemons and some basic GUI thing…and how do I detect when a new release comes out? The Textpattern blog doesn’t have a category just for release announcements. So how about the code? Google Code has a bunch of project feeds, but none of them seem to be “new release”. Oh well, maybe I can pray the trunk is stable?
Hmm. Then I was thinking, hey, I can solve this at a higher-level… just make the code update itself. As long as my webhost has the same VCS as the project, and I checkout the code from the dev branch, and the projects have a commitment to a stable trunk, I should be fine. Just make a script that does an “svn up” and put it in cron. In fact Werdna set this up for the Wikimedia Australia MediaWiki installs with his Wikimedia sync script, although there it updates to the version that is live on Wikipedia, rather than the utter-most bleeding edge.
But sadly, en.blog.wordpress.com is not as revealing as MediaWiki. In fact I can’t find any easy indication about which version it is running. So maybe that won’t work. OTOH, Wordpress has email & RSS notifications for new releases, and in the admin side a nice notification, which works well if you are updating it regularly, not so much for abandoned/finished sites.
Hm, Wordpress does have instructions for Updating WordPress with Subversion, including “Tracking stable versions”, but they don’t have an automatic method of telling when a new release is available. So close!
But wait… I just checked the Dreamhost panel and under one-click installs, they have an option for “Upgrade everything, now” and then “Automatically upgrade everything to the latest version”. Too good! That covers MediaWiki and Wordpress, but I guess I have to roll my own somethingorother for Textpattern.