Enjoying Rails Underground 2009 - Day 2

Posted by Bernd Ahlers Wed, 29 Jul 2009 15:29:00 GMT

Following Felix’s summary for day 1 of Rails Underground, here are my highlights of day 2.

The day started pretty early with Yehuda Katz’s keynote about Rails3 and interfaces in Ruby general. Really nice talk! Yehuda is working full-time on Rails and did some great refactoring for version 3. I’m looking forward to the new major release. video

For the next talk I decided to attend Ben Scofield’s presentation about Rack integration in Rails. Rack acts as the glue between webservers for Ruby and Ruby web frameworks. Ben showed how Rack works and lots of nice ways to work with it. (like some middleware projects) I will definately dig a bit deeper into Rack. Really nice! slide video

Pat Allan gave a nice talk about sharing your knowledge with other people or using your knowledge to help people. He gave some examples like giving guest lectures at universities (_Teach the stuff you’d like to have learned at the university._), organizing meetings in your local area or doing charity work in other countries. Pat himself did charity work in Cambodia for three months and helped local organizations with their websites. Awesome! slide video

There also was a Q&A panel with Obie Fernandez, Jim Weirich, Jonathan Siegel and David Heinemeier Hansson. Unfortunately David didn’t attend the conference personally but was only connected via video link. That was a bit weird and I didn’t really liked that. Not that many questions from the audience but some interesting discussions between the panel members.

Lindsay Holmwood talked about Behaviour driven monitoring with cucumber-nagios. This was really inspiring and is a cool way of doing regression tests for your websites. Thinking a bit further, this can not only be used for websites, but also to test other types of services, like asterisk (checking your dialplan, for example) or smtp sessions testing your mail addresses or mail routing. He also mentioned his own monitoring tool flapjack which he’s currently writing. I’ll give it a try soon!

It’s a bit sad that I missed Jim Weirich’s talk about object oriented programming stuff but I hope there will be slides and a video.

All in all, Rails Underground was a really nice conference. Thanks to the organizers, speakers and all people who made it happen.

We’ll come back next year!

Oh, I almost forgot that I won a Ruby In Practice book at the book-lottery. YAY! :)

Enjoying Rails Underground 2009 - Day 1

Posted by Felix Kronlage Sat, 25 Jul 2009 13:04:00 GMT

Rails Underground turned out to be a good conference to be at. While we do many conferences, it was my first Ruby / Rails conference and the first software development conference in quite a while. Apart from it being very well organized, the lectures and talks are very informative and held pretty well.

The first conference day started with a Keynote by Fred George. Fred George has been in IT for the last fourty years and throughout the keynote his experience regarding software engineering was clearly visible.

The plenary on JRuby, with the lead developer of JRuby Charles Nutter, was one of the highlights on the first day. Especially, since I originally come from the java world. Another nice talk was given by Obie Fernandez, the guy behind hashrocket. He talked on running a software development company practicing agile methods. I was more than delighted to notice, that a lot of the things he mentioned are part of our culture at bytemine.

The third talk that I really enjoyed on the first day, was on CouchDB. CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API. Highly interesting, something I will definitly will look at again in the future.

The evening was closed by a lightning talk session, which was very entertaining and again, very informative. As soon as I’ve talked to the various people involved and got their permission for publishing pictures of them, we will post a few pictures here as well.

I will poke Bernd to cover the second day. Since for him, being our main ruby and rails head, there were lot’s of interesting talks as well.

Rails Underground 2009 - London

Posted by Bernd Ahlers Thu, 23 Jul 2009 07:53:00 GMT

Felix and I are currently sitting on the Hamburg airport waiting for our plane to London. We’re visiting the Rails Underground 2009 conference which has lots of nice talks about Ruby On Rails and Ruby in general.

So if you’re in London as well or even visiting the conference, drop us a comment or email. We’re looking forward to meet you there! :)

Taking the OpenVPN experience to a new level: the bytemine manager

Posted by Felix Kronlage Tue, 21 Jul 2009 09:47:00 GMT

We’ve been deploying OpenVPN installs for a few years now and ever since the administration of the OpenVPN concentrators was something our customers never really liked. For once there is the Certificate Authority and the user management. The scripts provided by the OpenVPN developers, named ’’easy-rsa’’, are nice but not very user-friendly. For another there is always the wish, to see which users are currently connected to the VPN and how much data they shove around.

At the end of last year, I looked around to find a different solution for handling the certificates and the users. While there are some tools out there, none of them really did it. The features we were looking for:

  • Easy handling of certificates and users
  • Being able to control the VPN Servers and see what was happening

Ain’t a big list. Wanting to handle the Certificate Authority (CA) meant for us, that it had to be a stand-alone application and not a webfrontend on the OpenVPN Servers. Why? Very simple: In most places it is a requirement, that the CA may not be connected permanently to the network or at least not be on the same host who grants access based on certificates that are issued with this CA. The CA needs to be protected. Furthermore I did not want to offer our customers a set of applications to use with the vpn servers, but only one application that would fullfill all their needs in regards to the OpenVPN concentrators.

We came up with what we call the ’’bytemine manager’‘. The ’’bytemine manager’’ is a stand-alone java-based desktop application. Why java you ask? For one very simple reason: it allows you to use the application almost anywhere. Yes, there are tons of possiblities to achieve the same thing with other languages, but java was from our perspective the most simplest one. Mono was another idea, but there is no stable mono environment for OpenBSD, and of course, we wanted to use the application for ourselves on OpenBSD.

Currently we’ve tested the ’’bytemine manager’’ on the following platforms:

  • various Windows flavours (XP, Vista)
  • various Linux Distributions (Ubuntu, Fedora, Debian)
  • OpenBSD

As long as you have access to a Java 6 runtime environment, you should be on the safe side. All libraries needed, are bundled with the application. The contents of the application (certificates, users, configuration data) is stored in a sqlite database.

Coming back to the features of the ’’bytemine manager’’. Currently it brings the following features along:

  • user and certificate management
  • synchronisation of users and certificates to multiple OpenVPN servers
  • import of existing user and certificate data from existing OpenVPN installations
  • management of users and certificates stored in LDAP
  • users can be assigned independently to servers
  • display of currently connected users per server
  • display of usage data per user
  • termination of connections
  • modular design – various modules can be used independently of each other

Users and certificate data is synchronised from within the application to the vpn concentrators via ssh. Of course the application supports the use of ssh keys, so you don’t even have to use password authentication, makes it even more safe. All communication with the vpn servers is done over the ssh connections. The manager application also allows filesystem- and ldap-based export of the user- and certificate-data.

So this is already quite a lot. One of the neat features is, that the ’’bytemine manager’’ is not only for use with out bytemine openbsd appliance, but can be used with any OpenVPN server. The only requirement is, that if you want to use the controlcenter, you will need at least OpenVPN 2.1rc14, since that version introduced the unix domain socket for the management interface. For security reasons, we decided not to support the cleartext telnet interface. However, the socket-wrapper interface, will be covered in an upcoming blog article by Holger.

More (german) information on the bytemine manager, can be found on the corresponding product page.

There is a trial version of the application available: bytemine-manager-1.0.1-trial.zip.

Getting started with the bytemine openbsd appliance

Posted by Bernd Ahlers Tue, 14 Jul 2009 08:47:00 GMT

In the course of releasing version 1.1 of our bytemine openbsd appliance, we’d like to tell you about some details.

The bytemine openbsd appliance ships with a nice written manual which covers lots of configuration topics. Following OpenBSD’s good practices to write documentation for every file, we wrote man pages for every program and file we added on top of the OpenBSD default installation.

Let’s move on to the first boot of our new appliance.

The bytemine openbsd appliance comes with a pre-installed operating system, however there are certain details, we cannot decide for our users and customers during the installation. That’s where ba-firstboot(8) enters the stage.

The ba-firstboot(8) program will run during the very first boot and will ask you questions like the machine hostname, network interface configuration, nameserver configuration, smarthost for the MTA, timezone and some more stuff. After answering the questions and another reboot, your machine should be ready to be used.

Don’t panic. You can configure the bytemine openbsd appliance just like a regular OpenBSD system if you want. We just added some convenience to get the system up and running.

Learn about the bytemine openbsd appliance system.

A good starting point for learning about our additions to a regular OpenBSD system is the bytemine-appliance(8) manpage. It will explain the first boot configuration, the system startup options and will provide links to other man pages.

So far for the first steps. Following articles will highlight some more details and components.

Have fun!