This is just a quick blog post to get something off my chest. It’s about the open-source conference I’m currently attending, linux.conf.au. The thing is this: I run a Windows 10-based laptop, I’ve brought it with me to LCA, and I’m proud of that.
I use Windows for work. I’m a .NET developer. It’s how I earn my cash to attend this conference. That, apart from anything else, is why I don’t run Linux on the desktop.
A lot of people run Apple Mac OS X, another closed-source operating system. I don’t understand why people don’t discriminate equally against that.
Speaking of Apple, nobody directs ill thoughts their way at LCA. Microsoft does attract this discrimination, despite them actually releasing a large quantity of open-source software (including most of .NET) over the last couple of years.
I write open-source software. I write this in C# on .NET, because it will make it easier for the end users of this software to install and use, since they will be Windows users for the most part. I consider myself to be doing a lot of good by writing this software, giving users options apart from closed-source and cloud-hosted software.
In my mind, when somebody makes fun of Windows at an open-source conference, they’re buying into an anti-Microsoft herd mentality, forgetting that Microsoft does a lot of FOSS stuff, that Microsoft users do a lot of FOSS stuff, and the Apple laptops and Android phones that the majority of delegates have all contain a lot of closed-source software too.
Recently I had cause to build a new cross-compiler (used for operating system development). I recorded the entire process, thinking it might be useful to others who’ve never gone through the process of compiling a compiler before. Here it is.
The canonical reference for a GCC cross-compiler build, including all the instructions for this video, can be found on the OSDev.org Wiki.
I’m (sporadically and with much delay) blogging my yearly pilgrimage to linux.conf.au 2014, this year being held at the University of Western Australia in Perth.
We begun the first day of the conference with the morning keynote, which was presented by Suelette Dreyfus. She talked about some of the statistics around people’s feelings towards privacy, whistle-blowing and government surveillance. The thing I found most interesting was that the ordinary citizen supports whistle-blowing and doesn’t support government surveillance. Which leads to one of two conclusions:
The government will soon have to start actually listening to citizens and do something about all this.
The government is actually entirely controlled by the spy agencies and we’re all screwed.
Yay for freedom and democracy! :/
Rocketry & Radios
The next talks I attended were from the open radio miniconf, where Bdale Garbee and Keith Packard talked about the hardware and software they are using for rocket to ground radio communications on their rockets, and which they are successfully selling through their fully open-source business. I found a few points interesting:
RF circuit board design is hard. There is some serious smarts going on with designing those boards to not have everything interfere with everything else (especially in such as a small package, with two radios within a centimetre of each other).
Here is yet another FOSS small business that is clearly surviving and not a complete drain on the pocket (one assumes, you can never be sure). That’s good news, as the world needs more businesses to cross that divide between open-source and the commercial world.
Rockets are fun!
The Sysadmin Miniconf
Between lunch and afternoon tea I sat in on the sysadmin miniconf (there’s a mantra at linux.conf.au: if you’re in doubt as to what to see, tend towards the left hand side of the schedule). The most interesting talk for me was from Elizabeta Sørensen on RatticDB, which looks a pretty cool password management tool that would have been amazingly useful in my last job (where I worked as a sysadmin rather than being a programmer like I am now). Despite being immature software, it has a lot of promise and I’ll definitely be trialing it for my own uses.
I also found the talk on Husk by Phillip Smith to be very interesting. Writing iptables rules is a pain, and writing them twice (once for IPv4 and again for IPv6) is a complete pain. So Husk looks great because it gives you extra power in simply being able to write-once for both network stacks and being able to re-use variables and rulesets. It’s basically SCSS for firewalls.
After afternoon tea I went to the talk given by David Rowe on modems and how they work in a basic sense. Unfortunately I was completely out of my depth and I had no idea how the modem algorithm fit into the stack of hardware and software. Is the mixer hardware or software? Where is forward error correction done? No idea. More reading for me to do!
By this stage I was pretty exhausted, having not got much sleep the night before. I therefore retreated to the dorm room and had a quick nap, a cup of tea and a shower (Perth is hot!) before dinner. I went out with a few friends (new and old) to a great pub we’ve found nearby that does good pizza and amazing crème brûlée. Hopefully an early night tonight so I don’t get too exhausted before the week is out.
I’ve recently installed Linux Mint on my laptop, replacing a horribly broken install of Windows 8.1 Preview. There have been good and bad things:
The Windows 8.1 Preview broke the wireless connectivity on my laptop horribly. Every time the laptop booted up or awoke from sleep, I would have to uninstall the wireless card from the device manager and then scan for new hardware to add it again. I would then have to key back in all the wireless keys for the networks I used before I could connect again. This got a bit annoying after a while. Installing Linux Mint, I had no issues with drivers or network connectivity, even with sound drivers, which is something that has plagued the Linux desktop world for years. It just works, and that is truly great.
With all the attention being given recently to the NSA’s spying on the citizens of the world, it’s nice using an operating system that gives you a little more protection (even if it isn’t very much more) from the spooks. I am still using many cloud services (including accounts with Facebook, Google, Twitter, Microsoft and Apple) so I still have a long way to go, but I can now PGP encrypt my mail with little effort, and should the need arise I can inspect every line of code on my system for back doors (though, it might take a while).
The GUI can actually be described as beautiful. While I’m a big fan of the classic Windows look (circa 2000 and XP) and I’m also a big fan of the Windows 8 Metro theming, the horrible combination of the two that most Windows 8 apps seem to have leaves much to be desired. In addition, most GNU/Linux distributions (looking at you especially, Ubuntu) have completely unusable GUIs. Linux Mint takes a beautiful looking GTK+ theme and marries it with a window manager (called Cinnamon) that is just stunning. It’s what Linux should have been like for years. And no Unity in sight.
Steam now works on Linux, and I can play Counter-Strike: Source again. This is a big deal, and it’s a great benefit to “Linux on the desktop”.
It uses Ubuntu’s package repositories, which use in turn use Debian’s awesome apt-based package management system. This gives you access to all of Ubuntu’s packages (which is a massive collection) and it uses familiar Debian configuration files. It’s a rock-solid (less stable than Debian Stable, but so are most nuclear reactors) core system.
Over recent months I’ve done a lot of software development in Visual Studio. VS 2012 is a great IDE. And it has nothing that comes even close on Linux. Netbeans (my preference on Linux) is a pretty powerful IDE, but VS still blows it out of the water in every way. Similar to Evolution vs. Outlook, there are still a few killer applications on Windows that make it the default choice for getting things done.
Firefox and Thunderbird look ugly as sin on Linux Mint compared to Windows. I’m really disappointed as everything else is so good looking in comparison.
There’s no good replacement for MetroTwit. I’ve tried most of the Twitter clients for Linux, and they all suck in various ways. MetroTwit, as far as I’m concerned, is pretty much where it’s at with Twitter clients. It’s awesome.
Overall, I’m very impressed with Linux Mint. If you haven’t tried a GNU/Linux distribution in a while, give it a go. I think you’ll be pleasantly surprised.
This week I’m at linux.conf.au, the southern hemisphere’s premier open-source conference. This year it is being held in Ballarat, about an hour’s travel from Melbourne. I’ll be documenting the trip and conference as much as I can given the limits of my enthusiasm and awakeness.
Tuesday 17th January:
Day 2 was full of a lot more great talks. First up in the morning was Bruce Peren’s keynote address. He talked a lot about trying harder to maintain the ideals we’ve worked for in the past. He says the fights we fought in the past, using our moral high-ground to our advantage, we might not win now because we have business groups (like Ubuntu and Redhat) speaking on our behalf… and businesses always have to put profit first.
After morning tea I saw two great kernel-related talks, the first by Jonathan Corbet and the second by Mathew Garrett. Jonathan basically gave a rundown of the Linux kernel development work that has happened over the last year, including the release of Linux 3.0 and for the first time ever, a kernel release having less source code in it than the last one (due to some cleanup work). Mathew Garrett gave a really impassioned talk on the good and evil of EFI. From what I gathered, the runtime services stuff offered by EFI is a great idea with a half-arsed implementation. On the other hand, the secure boot offered by EFI threatens to make open-source deployment to normal users a right pain in the arse… if it is possible at all. That’s a bit of a worry.
After lunch I watched a talk by Greg Banks (who works for Opera) on renovating old source code to get it up to scratch with modern systems. His examples came from the Cyrus IMAP server, and there was a heap of great tidbits of information there. The second talk after lunch was given by Robert Mibus from Internode, about how they are implementing reverse IPv6 DNS mappings for their customer. With a possible 4TB of mappings for each customer, they have to generate them on the fly… but no existing DNS server did this. So they wrote their own. One thing I was very interested in, being an Internode customer, is that I can request to get IPv6 reverse mappings delegated to my own DNS servers; something I have already put in a request for.
The second last talk for the day was about moving large amounts of data and essential services from one datacenter to another with no loss of downtime… an impressive feat! Given by a team from Mozilla, it detailed how they prepared for and moved thir crash reporting system from San Jose to Pheonix. The last talk I saw was given by Sarah Novotny about caching databases, and how the many caches on a system can sometimes work against each other. It covered performance benchmarking and monitoring as well, just to make sure everything is running fine.
Dinner this evening was at the Irish Murphy’s we visited the night before. While a bit unadventurous, I was with a group who hadn’t been there before, and the food was still quite excellent. I was happy. On the way back to the hotel I got to do a bit of train spotting as well, which made me quite happy. 😀