Planet HantsLUG

Syndicate content
Planet HantsLUG - http://hantslug.org.uk/planet/
Updated: 1 hour 41 min ago

Debian Bits: Video streams for the MiniDebConf 2014 Barcelona

Sat, 15/03/2014 - 12:10

This is just a quick note to tell you that the video stream of the Barcelona MiniDebConf will be available at the following URL:

http://bcn2014.video.debconf.org/

If you were not able to make it to Barcelona, now you can still follow from home!

May you have a productive and joyful MiniDebConf - and thanks for volunteering and talking if you do so! The MiniDebConf is what you make it.

Categories: LUG Community Blogs

Steve Kemp: So load-balancers are awesome

Fri, 14/03/2014 - 14:49

When I was recently talking about load-balancers, and automatically adding back-ends, not just removing bad ones that go offline, I obviously spent a while looking over some.

There are several dedicated load-balancers packaged for Debian GNU/Linux, including:

In addition to actual dedicated load-balancers there are things that can be coerced into running in that way: apache2, varnish, squid, nginx, & etc.

Of the load-balancers I was immediately drawn to both pen and pound, because they have command line tools ("penctl" and "poundctl" respectively) for adding/removing/updating the running configuration.

Pen I've been using for a couple of days now, and although it suffers from some security issues I'm confident they will be resolved in the near future. (#741370)

My only outstanding task is to juggle some hosts around and stress-test the pair of them a little more before deciding on a winner.

In other news I kinda regret the whole blogspam.net API. I'd have had a far simpler life if I'd just ran the damn thing as a DNSBL in the first place. (That's essentially how it operates on the whole anyway. Submit spammy comments for long enough and you're just blacklisted, thereafter.)

Categories: LUG Community Blogs

Tony Whitmore: Have you processed the pictures?

Tue, 11/03/2014 - 22:25

In 1991 I had some photos published in Doctor Who Magazine. Fast forward 23 years and 293 editions and it’s happened again.

I was asked to photograph Nicholas Briggs (voice of the Daleks, Cybermen, Judoon and more, executive producer at Big Finish and all round good egg) interviewing David Graham. David was one of the voice artistes who created the Daleks’ grating staccato delivery back in the 1960s. He has had an amazing career, appearing on screen in Doctor Who, The Avengers, The Saint and plenty more. He was also the voice of Parker and Brains in Thunderbirds, and is Grandpa in Peppa Pig.

So on a Monday morning back in January I found myself stood outside David’s flat in a rather nice area of London. Nick and David were already mid-interview (I was bang on time of course! They must have started early) so after David had made me a cup of tea I sat quietly a took some candid photos of them chatting. Then we carefully re-arranged David’s furniture to create an impromptu space for photographs and I broke out the speed lights and softbox. Figuring out how to make the available space work is something that I have learnt from my wedding photography. I think the photos capture the gentle good humour that was bouncing between Nick and David. Nick’s write-up of the interview is a funny take on the morning. It’s fascinating to read his take on the conversation.

You can read the interview and admire the photos in the latest issue of Doctor Who Magazine, which is a Dalek special. It’s at newsagents now, or available online: Doctor Who Official Magazine issue 471 (April 2014) – Dalek Special

Thanks to Tom Spilsbury and Nick Briggs for asking me to take the photos, and the DWM team who made them look fantastic. It was a very enjoyable way to spend a morning!

Pin It
Categories: LUG Community Blogs

Steve Kemp: Discovering back-end servers automatically?

Tue, 11/03/2014 - 14:28

Recently I've been pondering how to do service discovery.

Pretend you have a load balancer which accepts traffic and routes incoming requests to different back-ends. The loadbalancer might be pound, varnish, haproxy, nginx, or similar. The back-ends might be node applications, apache, or similar.

The typical configuration of the load-balancer will read:

# forward # backends backend web1 { .host = "10.0.0.4"; } backend web2 { .host = "10.0.0.6"; } backend web3 { .host = "10.0.0.5"; } # afterword

I've seen this same setup in many situations, and while it can easily be imagined that there might be "random HTTP servers" on your (V)LAN which shouldn't receive connections it seems like a pain to keep updating the backends.

Using UDP/multicast broadcasts it is trivial to announce "Hey I'm a HTTP-server with the name 'foo'", and it seems to me that this should allow seamless HTTP load-balancing.

To be more explicit - this is normal:

  • The load-balancer listens for HTTP requests, and forwards them to back-ends.
  • When back-ends go away they stop receiving traffic.

What I'd like to propose is another step:

  • When a new back-end advertises itself with the tag "foo" it should be automatically added and start to receive traffic.

i.e. This allows backends to be removed from service when they go offline but also to be added when they come online. Without the load-balancer needing its configuration to be updated.

This means you'd not give a static list of back-ends to your load-balancer, instead you'd say "Route traffic to any service that adfvertises itself with the tag 'foo'.".

VLANS, firewalls, multicast, udp, all come into play, but in theory this strikes me as being useful, obvious, and simple.

(Failure cases? Well if the "announcer" dies then the backend won't get traffic routed to it. Just like if the backend were offline. And clearly if a backend is announced, but not receiving HTTP-requests it would be dropped as normal.)

If I get the time this evening I'll sit down and look at some load-balancer source code to see if any are written in such a way that I could add this "broadcast discovery" as a plugin/minor change.

Categories: LUG Community Blogs

Steve Kemp: Time to get back to my roots: Perl

Fri, 07/03/2014 - 22:46

Today I wrote a perl Test::RemoteServer module:

#!/usr/bin/perl -w -I. use strict; use warnings; use Test::More tests => 4; use Test::RemoteServer; # # Ping Tests # ping_ok( "192.168.0.1", "Website host is up: IPv4" ); ping6_ok( "www.steve.org.uk", "Website host is up: IPv6" ); # # Socket tests # socket_open( "ipv4.steve.org.uk", "2222", "OpenSSH is running" ); socket_closed( "ipv4.steve.org.uk", "22", "OpenSSH is not available on :22" );

I can see a lot of value in defining tests that are carried out against remote hosts - even if they're more basic than the kind of comprehensive testing you'd get via Custodian, Nagios, etc.

Being able to run "make test" and remotely probe services is cool.

Unfortunately I suspect the new-hotness is to couple the testing with your Chef, Puppet, CFengine, Slaughter, Ansible, etc, policies. That way you have two things:

  • A consistent way to define system-state.
  • A consistent way to test that the damn thing worked.

Coming to CPAN in the near future anyway, I can throw it up on Github in advance if there is any interest..

Categories: LUG Community Blogs

Steve Kemp: So I bought some new hardware, for audio purposes.

Thu, 06/03/2014 - 16:48

This week I received a logitech squeezebox radio, which is basically an expensive toy that allows you to listen to either "internet radio", or music streamed from your own PC via a portable device that accesses the network wirelessly.

The main goal of this purchase was to allow us to listen to media stored on a local computer in the bedroom, or living-room.

The hardware scans your network looking for a media server, so the first step is to install that:

The media-server has a couple of open ports; one for streaming the media, and one for a user-browsable HTML interface. Interestingly the radio-device shows up in the web-interface, so you can mess around with the currently loaded playlist from your office, while your wife is casually listening to music in the bedroom. (I'm not sure if that's a feature or not yet ;)

Although I didn't find any alternative server-implementations I did find a software-client which you can use to play music from the central server - slimp3slave - and again you can push playlists, media, etc, to this.

My impressions are pretty positive; the device was too expensive, certainly I wouldn't buy two, but it is functional. The user-interface is decent, and the software being available and open is a big win.

Downsides? No remote-control for the player, because paying an additional £70 is never going to happen, but otherwise I can't think of anything.

(Shame the squeezebox product line seems to have been cancelled (?))

Procmail Alternatives?

Although I did start hacking a C & Lua alternative, it looks like there are enough implementations out there that I don't feel so strongly any more.

I'm working in a different way to most people, rather than sort mails at delivery time I'm going to write a trivial daemon that will just watch ~/Maildir/.Incoming, and move mails out of there. That means that no errors will cause mail to be lost at SMTP/delivery time.

I'm going to base my work on Email::Filter since it offers 90% of the primitives I want. The only missing thing is the ability to filter mails via external commands which has now been reported as a bug/omission.

Categories: LUG Community Blogs

Steve Kemp: Replacing ugly things would save the world many hours

Wed, 05/03/2014 - 19:56

There are some tools that we use daily, whether we realize it or not, that are unduly ugly. Over time you learn to use them and you forget just how hard they are to learn, and you take it for granted.

Today I had to guide somebody through using procmail, and I'd forgotten how annoying it is.

In brief I use procmail in three ways, each of which I had to document:

  • Run a command, given a new email, and replace the original email with the output of that command.
  • Run a command, silently. Just for fun.
  • Match a regular expression on a header-field, and file accordingly.
    • Later extended to matching regexps on multiple headers. ("AND" + "OR" )

There are some projects that are too entrenched to ever be replaced ("make", I'm looking at you), but procmail? I reckon there's a chance a replacement would be useful, quickly.

Then again, maybe I'm biased.

Categories: LUG Community Blogs