[HackSoc] Cascadia regional hacking skill share
Matt Taggart
matt at lackof.org
Tue Apr 26 01:23:07 MDT 2005
Hi hackingsociety,
Last weekend I went to a hacking skill share and wrote up a report for
those who might be interested. If you're not interested, feel free to
delete now.
Intro
=====
Here in Seattle I am part of a local hacking society group. About 1.5
years ago we started having regional hacking skill share weekends with
other groups that we knew about in Portland and Vancouver, BC. Every
3-4 months we hold and event and we rotate hosting them. Last weekend
we had an event in Vancouver. This was our 6th weekend so far and we
had between 15-20 participants most of the time.
General structure
=================
Friday:
socializing, eating, hiking, sightseeing, etc.
brainstorm list of topics for the weekend
Saturday morning: Show-and-tell, these are 15min sessions when people
present topics that they want to share and the group wants to learn
about. Other conferences sometimes call these Lightning talks. We
did 8-9 topics and it took about 2.5 hours. People always go over and
discussions happen so we usually leave some extra time for that.
Saturday afternoon and all day Sunday: Extended hacking sessions
We picked topics from the show-and-tell that people were excited
about and then did extended 2 hour sessions on those. We ran two
tracks in parallel and tried to optimize to minimize conflicts
(which is hard to do, we decided we want some software that can
do this for us, let us know if you write it).
Some meals were eaten out, some were collectively cooked. Most of the
time there was also stuff around to snack on as well, and a big coffee
pot and other drinks.
Topics
======
Here's my notes on what I remember. I obviously can't give you as much
info as the talks but maybe enough to interest you in researching for
yourself.
Linux VServers
You may be familiar with
VMware: emulates a whole system and lets you run whole operating
system images, bootloader kernel and all
Xen: emulates a whole system and lets you run whole operating
system images, but doesn't have to emulate at the low level that
VMware does and doesn't suffer as much performance loss
User Mode Linux: lets you run whole Linux OS images each with their
own potentially slightly different kernel
chroot: lets you run whole Linux userspace OS images in their own
protected process space, using the host kernel
Linux vservers live in between a simple chroot and something larger
that is emulating the whole system. vservers are each their own Linux
OS userspace image running in their own process space and can use
things like network adapters, disks, and other devices. vservers all
run under the same kernel and use kernel capabilities to restrict the
kinds of things that they can do. The presenter explained how
vservers are setup, how to use the userspace tools to manipulate them,
and some strategies on managing them.
http://linux-vserver.org/
Ruby on Rails
Ruby is a smalltalk like language (ask erics for a braindump if you
like). Rails is a framework for writing web applications in ruby.
Apparently all the super 133t web developers are using it and they've
imparted their collective knowledge about "the right way to do
things" into it. So this makes it easy to throw together really
powerful high quality web applications quickly. The presenters
demo'd a few things they had done with it and walked through
building a simple site.
http://www.ruby-lang.org/
http://www.rubyonrails.org/
http://en.wikipedia.org/wiki/Ruby_on_Rails
AJAX aka XML-RPC
"It's remote procedure calling using HTTP as the transport and XML as
the encoding. XML-RPC is designed to be as simple as possible, while
allowing complex data structures to be transmitted, processed and
returned."
IMO the win here is that you can have web apps that are more
interactive/responsive on the browser and load data behind the scenes,
thus not requiring page loads for each thing you click.
Examples of applications using this,
Google suggest: offers suggested search terms as you type
http://www.google.com/webhp?complete=1&hl=en
GMail: mail interface runs on the browser, transfers the data it needs
without interrupting the UI
Google Maps: lets you dynamically manipulate the map, loads map
"tiles" in the background
The presenters demo'd some sites and showed a jukebox type
application they wrote which allowed users to control it without doing
page loads. One interesting thing they pointed out is that users have
gotten so used to pages reloading they don't realize that their
clicks have taken an effect. This is causing some interesting UI
design discussions.
http://www.xmlrpc.com/
http://en.wikipedia.org/wiki/AJAX
munin
"Munin is a tool for graphing all sorts of information about one or
more servers and displaying it in a web interface."
Like mrtg but nicer and easy to add plug-ins. The presenter demo'd
their setup including some additional python scripts they wrote to
consolidate similar graphs for a bunch of hosts on the same page
for comparison purposes.
http://www.linpro.no/projects/munin/
check the "examples" link for eye candy
wrt54g hacking
This was a hands on workshop hacking on Linksys wrt54g wireless
routers. We experimented with flashing alternative firmware
images on the devices and talked about the state of development
of various efforts. In particular the openwrt.org folks have built
a pretty nice system. It consists of a base that comes with ipkg
(a dpkg clone for embedded systems, also used by the people hacking
ipaqs) and this lets you download packages and easily create a
custom solution.
Other things discussed were nocatauth and wifidog (both wireless
portal tools), WDS (wireless distribution system, a feature for
connecting access points together), OLSR (Optimized Link State
Routing Protocol, used for creating wireless meshes), and how to
use a jtag cable to recover your wrt54g if you manage to "brick it".
http://www.linksysinfo.org/
http://openwrt.org/
http://nocat.net/
http://www.ilesansfil.org/wiki/WiFiDog
http://www.faqs.org/rfcs/rfc3626.html
http://openwrt.org/OpenWrtDocs/Troubleshooting
cfengine
"Cfengine, or the configuration engine is an autonomous agent and a
middle to high level policy language and agent for building expert
systems to administrate and configure large computer networks."
The presenter showed off the work they had done to use cfengine to
maintain a large collection of systems. This involved explaining
where the tool and it's config files live on the systems and walking
through the config files and explaining all the rules that had been
setup for the various different services. In addition to maintaining
config files there were lots of other examples like using it to
maintain package install state, restart crashed services, deploying
freshly installed systems, and other super useful stuff. Everyone
maintaining a bunch of systems should be using this.
Another interesting note: the Custom Debian Distributions people
are using a combination of cfengine and low-priority debconf
config questions as a way for their users to maintain a bunch of
custom systems.
http://www.cfengine.org/
Encrypted Filesystems
A skill-share on how to effectively use encrypted filesystems.
Participants compared notes on how they are using this, things
like how to encrypt different filesystems (normal, raid, swap, etc)
and how to use keys and passphrases. (I didn't get to attend this
one).
VOIP and Asterisk
A demo on some implementing some cool features in Asterisk for a
net radio station.
1) A call queue system for people calling the station. Selections
included things like "go live on the air", "talk to someone",
"listen to the radio stream", and "leave a message".
2) A support queue system that attempts to call each of the support
people until it gets someone. The order it calls in is based on who
most recently answered a support call, once you field a call you
get moved to the end of the list.
I think it would be cool if the Colorado chapters started doing
similar events.
--
Matt Taggart
matt at lackof.org
More information about the HackingSociety
mailing list