One of the most beautiful things about free and open source software is the native freedom to alter, extend, adapt, trim, reduce, repackage and reuse the code as I see fit, within the terms of the license. Sometimes – as is the case of the of Canonical and Ubuntu who began their work with a simple bundling of Debian’s package software (as an aside, Ubuntu and Debian are still fairly compatible, to the point that, if you feel brave, you can use one’s repositories with the other’s distribution) – these changes are huge and massively sweeping. And at others, it is the freedom to change three lines to grant a new set of defaults.
When Aaron, Matthew and I incepted our Linux classes, we did so with a nebulous aim of offering a course of comprehensive beginner material, with our ultimate, nebulous goal being to offer “more advanced stuff”. Well, here we are. I dove into the basics of manipulating the Bash shell, simple scripting, SSH, and confidently administering a headless system as root. In the midst of my preparations for these classes, I had a theatric lightbulb-over-head moment: How hard would it be, really, to turn a desktop into a basic home server? Set aside performance and security concerns for a moment and just consider accessibility and turnaround time to live access on the Internet.
As it turns out, this takes about one hour. Maybe two if you are installing Linux from scratch. All you need to begin is a method to connect your dynamic home IP to a static domain and then a method to remotely access your home server:
Now give DynDNS and ddclient about five minutes (on the safe side) to update. Congratulations, you have a live Internet server for your file-access, media streaming, jerking-around-while-at-work, and general geek needs.
Now, we have a server. Locking down its Internet connection? Mmm, ten minutes. It was actually over an hour for me because I was engrossed in crash-learning netfilter/iptables syntax from scratch.
# Clear all existing iptable rules.
# Drop all incoming, outgoing and forwarded packets.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Permit loopback activity (client and server programs on this machine).
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Permit TCP connections to and from this machine on port 22 (SSH).
iptables -A INPUT -p tcp -dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -sport 22 -j ACCEPT
You’ll eventually need to open up ports for NTP, mail, DNS and others, but really: This is all there is to it. And because I am awesome, I wrote all of this up on Google Docs and made it freely available for download. Any notes suggesting alterations, additions or deletions can be made directly on the document, or by email to me directly.
As part of 091 Labs’ series of workshops for Irish Hackerspace Week, one event for which we received a great deal of positive feedback was our “Introduction to Linux” class, tutored by Matthew Kolder, Barry Coughlan and Aaron Hastings. The class, which we are looking to hold more of in the future, covered the very basics of Linux and Ubuntu (our Operating System of choice) – installation, initial setup, cool applications and benefits of running Linux over Windows and Mac.
By putting an 091 Labs laptop and an Ubuntu disc in front of each attendee, we guaranteed that everyone could get hands-on with the system, while having comfort in the fact they weren’t messing up their own computer.
A summary of the topics covered can be found on our Wiki, at the following link:
Maybe one of the most consistently popular workshops that 091 Labs has been holding to date have been those for Linux beginners. Come in, meet the members, and learn to use Linux while under the supervision of one of our Linux gurus. Although if you wind up with me assisting you, you are expected to stoically endure a certain amount of baleful stares and dark imprecations as I bravely cd and ls my way through your folders.
The majority of 091 Labs members choose and use Ubuntu Linux for its ease of use and installation, its broad user base – and implied support base, and the depth of its software repositories. In addition to our own personal laptops and workstations, Ubuntu also powers all of the work machines here at the Labs.
091 Labs <3 Ubuntu, in short.
In the next few months, we are hopeful of extending our Linux offerings for both Labs members and the public alike. They include:
A regular series of beginners Linux workshops with a focus on Ubuntu.
Shell accounts for Labs members to learn remote administration on.
Advanced Linux courses that will delve into security, advanced command line usage and kernel compilation using enterprise Linux distributions.
A local repository of current distributions for members.
I’ll start with a shout-out to Barry for providing me blog access!
My name is Mark and to describe what I do in inscrutably technical terms, I take photographs. Most of the time, I’ll go out into the real world to photograph skies or trees or ruined buildings. Some of the time I’ll sit on a couch and (ostensibly) visually archive the activities of other 091 Labs members.
And during a wee small part of that time I’ll hop into virtual worlds to photograph skies or trees or ruined buildings.
The virtual world in question is that of Azeroth, from the hugely-successful 2004 video game World of Warcraft. World of Warcraft is a Massively Multiplayer Online Game, a continuous online world where you are interacting with thousands of people simultaneously. You may form parties to raid dungeons, slay dragons and battle the opposing faction, or you can set out alone by yourself to simply quest and experience the world. I get out of bed an hour before the virtual dawn to set up my virtual tripod so I can capture that perfect ray of (it’s okay to groan) virtual light.
I began this small project, which I call Vistas of Azeroth, back in 2006 on a whim. Can I? Let’s see!
After chipping away, on and off, at different scenes from the video game at a low-quality for a few years, I’ve very recently gained the ability to “photograph” scenes at an incredibly high quality. I can now go to more new places than I’ve been able to in the last four years and on every single graphic bell and whistle with the help of other Labs’ members.
We built a graphical workstation.
Late last week, I spent an hour bemoaning my desire for a more powerful workstation while I struggled with a laptop that wanted to do nothing more than roll over and die. Matthew suggested that we could build a graphics, video and gaming workstation for the Labs. He donated a motherboard, RAM and a CPU. I donated software and a graphics card gifted by one Jennifer Tidmore of Dallas, Texas, USA – yes, we’re international!
In a hard-work montage straight out of an 80′s film, complete with upbeat soundtrack, we constructed, installed and tested. It is a fantastic piece of equipment for the Labs to have on hand because now have capabilities for:
Still image editing. I’ve transferred my imaging workflow from my laptop, although the screen real estate and underlying performance have jumped hugely. I’m down from (up to) six hours of building a scene, down to frequently under an hour.
Video and audio editing. I believe I saw somebody stream editing a video under Windows? I can build a time-lapse screencast in h.264 format and append an MP3 soundtrack in less than five minutes. Down from 20 or 30.
3D video game creation. Matthew and others have been very happily cracking away at the Unreal developers SDK.
Video games. Don’t share this with anyody, but not all of my World of Warcraft playtime have been to capture scenes. And Matthew runs Portal when nobody is looking.Don’t ask, don’t tell.