News aggregator

Steve Kemp: So load-balancers are awesome

Planet HantsLUG - 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 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

Dick Turpin: Here we go again ZenCart.

Planet WolvesLUG - Thu, 13/03/2014 - 12:09
So I'm doing yet another ZenCart site for a customer. The latest version 1.5.1 requires PHP 5.5 which meant we had to set up a dedicated LAMP server, which actually is about time.

I did all the usual PITA stuff of changing permissions on folders so it installs and that [supposedly] was fine. Now the default template is pretty nasty to say the least so I had a quick punt around and found a suitable one and installed that. But wait, what's this?

WARNING: An Error occurred, please refresh the page and try again.

Really? What kind of error? A hint would be nice? Now your first thought is "This must be a template related error as the default one works?" so after some searching (And time wasting I hasten to add.) I find that supposedly ZenCart does not turn on Layout Boxes by default. You have to go in there and turn them on, but wait!

WARNING: An Error occurred, please refresh the page and try again.

WTF now? Oh yes, clicking on Tools--Layout boxes controller bombs out with that very same, ever so helpful message! So off we go again in search of an answer. After losing even more time (And time is money you know.) I find a kinda helpful answer "Check your logs." so off I go to my logs and it says;

PHP Fatal error: 1146:table 'my.TABLE_EZPAGES_TEXT' doesn't exist

WTF? Surely that's a core element of ZenCart? After all, there is a button for Layout boxes controller why would there not be a table for it? But no! According to DrByte on this thread

"There is no "ezpages_text" table in original Zen Cart code."

I also had to laugh at Kobra who apparently is a at the Black Belt level for support who asked

"Table 'XXXX.TABLE_EZPAGES_TEXT'Are the XX's actual or just what you added?" Bwahahahaha

Tears flowed down my face when I read that, talk about not understanding what your reading? As if they're going to put myxyz.TABLE_EZPAGES_TEXT? You'd still ask "What's myxyz?" I suspect?

Anyway the thread is about as helpful as a one legged man in an arse kicking competition. Suffice to say supposedly you now have to install Multi-Language EZ-Pages which comes with a database script to add the table[s]. Who's bright idea was that to make an integral function of ZenCart a plugin? Oh and just look at these hoops you have to jump through!

Step 2.  replace the following two CUSTOM folder with your own folder(template) name

Step 3.  Make a copy of the included file
and save it as
then edit the two define statements in the file to suit your language.

And then @tigg wonders why I hate it with a vengeance. :-)
Categories: LUG Community Blogs

Tony Whitmore: Have you processed the pictures?

Planet HantsLUG - 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?

Planet HantsLUG - 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 = ""; } backend web2 { .host = ""; } backend web3 { .host = ""; } # 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

Chris Lamb: Two aesthetically pleasing Python snippets

Planet ALUG - Tue, 11/03/2014 - 10:25

The following Python tree structure recently resurfaced. I find it rare to see functional or recursive techniques expressed so succinctly in Python:

def tree(): return collections.defaultdict(tree)

Another construction I am quite fond of is:

for _, dirnames, filenames in os.walk(path): break

...which leaves dirnames and filenames in the current scope, containing the immediate subdirectories and files of the specified path.

Perhaps a little too cute, but appealing in its own way.

Categories: LUG Community Blogs

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

Planet HantsLUG - 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( "", "Website host is up: IPv4" ); ping6_ok( "", "Website host is up: IPv6" ); # # Socket tests # socket_open( "", "2222", "OpenSSH is running" ); socket_closed( "", "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

Jono Bacon: Open Source Think Tank Community Leadership Summit Soon

Planet WolvesLUG - Fri, 07/03/2014 - 00:03

As some of you will know, I founded the Community Leadership Summit that takes place in Portland, Oregon every year. The event brings together community leaders, organizers and managers and the projects and organizations that are interested in growing and empowering a strong community. Each year we discuss, debate and continue to refine the art of building an effective and capable community, structured in a set of presentation and attendee-driven unconference sessions.

This year’s event is happening on 18th – 19th July 2014 (the two days before OSCON), and is shaping up to be a great event. We have over 180 people registered already, with a diverse and wide-ranging set of attendees. The event is free to attend, you just need to register first. We hope to see you there!

In a few weeks though we have an additional sister-event to the main Community Leadership Summit at the Open Source Think Tank.

The Community Leadership Summit and Open Source Think Tank have partnered to create a unique event designed for executives and managers involved in community management planning and strategic development. While the normal annual Community Leadership Summit serves practicing community managers and leaders well, this unique event is designed to be very focused on executives in a strategic leadership position to understand the value and process of building a community.

I have been wanting to coordinate a strategic leadership event such as this for some time, and the Think Tank is the perfect venue; it brings together executives across a wide range of Open Source organizations, and I will be delivering the Community Leadership Summit track as a key part of the event on the first day.

The event takes place on 24th March 2014 in Napa, California. See the event homepage for more details – I hope to see you there!

The track is shaping up well. We will have keynote sessions, break-out groups discussing gamification, metrics, hiring community managers, and more, a dedicated case study (based on a real organization with the identity anonymized) to exercise these skills and more.

If you want to join the Community Leadership Summit track at the Open Source Think Tank, please drop me an email as space is limited. I hope to see you there!

Categories: LUG Community Blogs

Jono Bacon: Ubuntu Developer Summit Next Week

Planet WolvesLUG - Thu, 06/03/2014 - 23:51

Next week we have our Ubuntu Developer Summit, taking place online from Tues 11th March 2014 – Thurs 13th March 2014. Go and see the schedule – we still have lots of schedule space if you want to run a session. For details of how to propose a session, see this guide.

I just want to highlight a session I would like to really invite input on in particular.

Today the online Ubuntu Developer Summit is largely based on the formula from our physical UDSs that we used to have, and that formula goes back to 2004. While these have traditionally served the project well, I am cognizant that our community is much bigger and more diverse than it used to be, and our current Ubuntu Developer Summit doesn’t serve our wider community as well as it could; there is more to Ubuntu to rigorous software engineering.

UDS is great if you are a developer focused on building software and ensuring you have a plan to do so, but for our translators, advocates, marketeers, app developers, and more…the format doesn’t suit those communities as well.

As such, I would like to discuss this and explore opportunities where UDS could serve our wider community better. The session is here and is on Wed 12th March at 15.00UTC. I hope you can join me!

Categories: LUG Community Blogs

Surrey LUG Bring-A-Box 8th March 2014

Surrey LUG - Thu, 06/03/2014 - 18:47
Start: 2014-03-08 12:00 End: 2014-03-08 18:00

We have regular sessions each month.  Bring a 'box' meetings, usually allow any box to be brought, and re-installed, but this month we are in a Pub,  so small boxes only please -  bring a notebook, bring anything that might run Linux, or just bring yourself and enjoy socialising/learning/teaching or simply chilling out!

Categories: LUG Community Blogs

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

Planet HantsLUG - 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

David Goodwin: Automated twitter compilation up to 06 March 2014

Planet WolvesLUG - Thu, 06/03/2014 - 15:15

Arbitrary tweets made by TheGingerDog (i.e. David Goodwin) up to 06 March 2014

(2014/03/06 src)
  • My teeth have been successfully sharpened. £18… (2014/03/05 src)
  • Pancake day? That’ll never catch on. #PancakeDay (2014/03/04, Bromsgrove, Worcestershire src)
  • Bromsgrove’s high street. #BobTheBuilder
  • (2014/03/04, Bromsgrove, Worcestershire src)
  • Looking for Ukraine analysis? This a good place to start (2014/03/02 src)
  • Happy RAID check day ! #linux (2014/03/02, Bromsgrove, Worcestershire src)
  • It’s a hard fact to swallow but we all live life alone (2014/03/02, Bromsgrove, Worcestershire src)
  • Bromsgrove hockey ladies awesome Saturday. Played 3 won 3 scored 21 conceded 3. Could it get any better? @BromStandard @BromsgroveHC (2014/03/01 src)
  • ‘Murica700 via @mikko @TrustyCon
  • (2014/03/01 src)
  • Hockey Bromsgrove men’s 3rds vs Droitwich. 0:0. :-/ (Cc @BromsgroveHC ) (2014/03/01, Wychavon, Worcestershire src)
  • IKEA grammar fail (“Why not add a bowl of potato’s…”) #fail
  • (2014/03/01, Walsall, Walsall src)
  • @Ansible 1.5 now available with a faster OpenSSH transport, Vault, and many updates: (2014/02/28 src)
  • Massive weekend 4 Bromsgrove Hockey. Men & Ladies in huge games. Like to give it a try yourself? Let me know @BromStandard @BromsSchool (2014/02/28 src)
  • Men use a pontoon to move a car in floodwaters in England. More Photos of the Day: (Getty)
  • (2014/02/28 src)
  • When using APC with PHP, set `apc.stat_ctime=1` in php.ini. Found the tip in Scaling PHP Book by @stevencorona. Thanks for saving my sanity. (2014/02/28 src)
  • .@mattcutts I think I have spotted one, Matt. Note the similarities in the content text:
  • (2014/02/27 src)
  • Trying to figure out why Chrome (OSX) gives “The site’s security certificate is not trusted!” for #foursquare (2014/02/27 src)
  • Funky 3D eye in a browser near you – (webgl demo of an eye). (2014/02/26 src)
  • IKEA fail. #bjursta
  • (2014/02/26, Bromsgrove, Worcestershire src)
  • I think I may have eaten too much rhubarb crumble. #feelingSedentary (2014/02/26, Bromsgrove, Worcestershire src)
  • You wouldn’t steal a handbag… you wouldn’t write your own SSH Daemon in PHP… You wouldn’t deploy said code? Oh wait, MTGOX CEO did. (2014/02/26 src)
  • This is why you ALWAYS use `{` and `}` in conditional blocks in C-syntax languages, friends: Laziness is never okay. (2014/02/22 src)
  • ★ On the Timing of iOS’s SSL Vulnerability and Apple’s ‘Addition’ to the NSA’s PRISM Program: (2014/02/22 src)
  • Hockey: Bromsgrove 3xi 4:3 Kings Heath. Great result. (Cc @BromsgroveHC ) (2014/02/22 src)
  • ‘Offshored’ jobs heading back to region: Rising costs in China and the Far East means a boost for Midlands emp… (2014/02/21 src)
  • Dog poo minefield.
  • (2014/02/18, Bromsgrove, Worcestershire src)
  • “All of our operators are currently engaged. …”
    Presumably lots of weddings soon then NatWest ??? (2014/02/18 src)
  • Your call is important to us and will be answered as soon as possible. #lies (2014/02/18 src)
  • Watching my tablet slow to a crawl as it installs weeks of app updates. #almostUnused #firstWorldProblems #nexus10 (2014/02/18 src)
  • In Norway they’re spraying reindeer antlers w a reflective coating to protect them from cars
  • (2014/02/17 src)
  • Less commonly used UNIX commands: (2014/02/17 src)
  • Apostrophes. Commas. There/their. Were/we’re. To/too/two. Was/were. Definitely. It’s/Its. Those/them. It’s not that hard really is it? #ARGH (2014/02/17 src)
  • Today I’ve filled in a Winding up order to possibly present to Mr LatePayingCustomer #funtimes (2014/02/17 src)
  • Bromsgrove 3xi hockey vs Wolverhampton – we won 3:0 (2014/02/15 src)
  • PHP is Awesome (2014/02/14 src)
  • Google, I’m sorry to keep complaining, but can you please make using your apps with multiple accounts suck less? Pretty please? (2014/02/14 src)
  • Never quite gotten the point of flowers. “Here, I killed these for you… now watch them die.” (2014/02/14 src)
  • “I wanted to ask you a very important and timely question…” (2014/02/14 src)
  • Bitter single man scuppered Valentine’s Day by booking every other seat at a cinema to stop couples sitting together (2014/02/14 src)
  • hahaha I thought I had feelings before I had children. I had no idea, NO IDEA what feelings even were. Recalibrated all axes. (2014/02/14 src)
  • Just another rainy day in Newlyn, UK, apparently. [via @traceysuckling]
  • (2014/02/14 src)
  • We have rules.
  • (2014/02/14, Manchester, Manchester src)
  • Roses are red
    Violets are blue
    Nagios is red
    OH FUCK THE SITE’S DOWN (2014/02/14 src)
  • Roses are red
    Violets are blue
    Your bitcoins are in escrow
    on The Silk Road 2
    …bugger. (2014/02/14 src)
  • Meanwhile on erlang-questions, the lurking, it was good, and profitable…
  • (2014/02/14 src)
  • Headteacher’s award ! Excellent tricky word spelling!
  • (2014/02/14 src)
  • “Is it me, or is it a bit hot in here? Ah – you must be with @OvoEnergy!” #feellovedagain (2014/02/14 src)
  • The school jester #hair
  • (2014/02/13 src)
  • Sent my girlfriend a dozen roses for Valentine’s Day. Hope she’s not upset that I ate the rest of the box. (2014/02/09 src)
  • Free petrol in Bromsgrove !
  • (2014/02/06, Bromsgrove, Worcestershire src)
  • Breaking Flanders #simpsons
  • (2014/02/05 src)
  • Cannot. Be. Unseen.
  • (2014/02/03 src)
  • Rebooting an unbacked up server which had/has I/o issues & locked up. If only $customer listened to my warnings. Crossing fsck fingers ATM! (2014/02/03 src)
  • Simply brilliant. A poem. RT @iancawsey: I don’t normally like graffiti but…….
  • (2014/02/01 src)
  • @suejaned: so what did the ancient Herdwicks live on during winter without an awesome shepherd to feed hay?”They had an ancient shepherd
  • (2014/02/01 src)
  • Instant feedback on your #phpunit tests while you’re editing code or tests. In case your editors won’t.. (2014/02/01 src)
  • Bromsgrove men 3xi vs streetly. Lost 2-1 #hockey (Cc @BromsgroveHC ) (2014/02/01, Walsall, Walsall src)
  • Theiyr’reTake that, grammar police.
  • (2014/01/31 src)
  • Happy Chinese New year!! And it’s going to be a filthy one if BBC news subtitles are anything to go by…..
  • (2014/01/31 src)
  • Harsh working conditions in Silicon Valley
  • (2014/01/31 src)
    Categories: LUG Community Blogs
    Syndicate content