Going dark…

Posted by Michael Fleming on Jan 25 2010 in Just Livin' | 1 comment

Don’t be alarmed, I’ve not been compromised :-)

In support of the Open Internet / No Clean Feed initiatives fighting proposed mandatory Internet filtering here in Australia, I’m “turning the lights out” on my site until the 29th.

The Great Australian Internet Blackout site (http://www.internetblackout.com.au) has more info – support us if you can, on and offline.

Keeping afloat in a binary ocean

Posted by Michael Fleming on Aug 26 2009 in Just Livin', fedora | 0 comments

Micro-rant:

One of my pet peeves as a guy who likes to say his piece online is the number of really interesting and useful technologies / ideas completely ruined by lazy attempts at marketing by even lazier “salesmen” and marketers.

Look at email – DKIM/SPF/DNSBLs/greylisting just to keep the signal to a sane level. I don’t accept IM’s from contacts not already vetted and authed, I’d be flooded..

Social media is no different, alas. I have accounts on both Twitter and Identi.ca and the former attracts enough bot followers that I routinely clean them out (no for the nth time I don’t want to see Britney naked; we’ve all seen it and we’re still paying for the eyebleach. Cheers)

Getting it right takes only a little  effort. Lauren Cochrane, an old colleague of mine who now works for the RSPCA nails this on the head – you need to balance your “brand” with being human ; don’t fail the Turing test.

While it’s easy to write up a bot to spruik a message cheaply and efficiently (especially to services with a free, public API like Twitter or Laconica, although thankfully identi.ca/Laconica aren’t as badly affected) it’s a huge turnoff for a lot of people and ineffective – the sign of laziness / ignorance in my rarely humble opinion. If your product / “brand” has real worth then it should be very easy to talk about it earnestly and openly and give it a bit more depth – Lauren cites commenting and relaying information relating to your interests, even a few pics here and there just to assure your community you don’t end in .sh :-)

Be interesting, discuss useful ideas, show you’re the real deal and they’ll come – something that F/OSS communities are also very good at. Are you reading me via Fedora Planet? See the posts above and below mine? These are great examples – a potpourri of diverse people, places and posts not essentially directly free software or Fedora related. The community works well and brings in more people simply because it has this depth, it’s not strictly dry technical talk.

If you can’t do that with your product / “brand”, then go buy a sandwich board / billboard we can choose to ignore if we want to while we go about our business. There’s enough noise in traditional advertising without adding to it here, there’s no need to force a broken old model on a medium built in an essentially polar-opposite fashion.

Other stuff:

I seem to have a spam dry run – for the first time since I started using email (1994, I’m a relative newbie) I have 0 spam in my junk folder. Either I have achieved some sort of email enlightenment, my setup is too hardcore for current spammer tricks or something is horribly wrong. The irony is that my secondary MX has no greylisting or spam filtering on it yet – just when you think you’ve seen it all something can still surprise you.

As heretical as it sounds I may have to lay off the caffeine, as my poor old brain doesn’t seem to cope well (beware the wired sysadmin!) plus for some reason instant coffee makes me sleepy (hey, that’s not meant to happen! Stimulants anyone?) Fortunately I dislike anything that I haven’t ground myself or at least been beans recently.

Any suggestions for good quality green tea are welcomed :-)

Another closed protocol failure…

Posted by Michael Fleming on Aug 19 2009 in fedora, networking | 1 comment

It looks like the Microsoft Windows Live Messenger Service protocol servers are unresponsive tonight (http login still works) – I’ve got some friends from old workplaces and other Windows hold-outs using it, so I still have an active account.

If you haven’t convinced friends/loved ones/co-workers to switch over to a decentralised, completely free and open protocol like XMPP, now is a good time! I’ll be making some gentle suggestions to the abovementioned holdouts :-)

Fedora has a slew of options for all the common desktop managers as well as the console (I look after mcabber for instance) and there’s excellent options for your Mac / Windows friends in Pidgin, PSI, Pandion et. al

At least with the XMPP network one downed service doesn’t bring down the  whole house, especially with cluster-aware servers such as ejabberd freely available and plenty of open, public services around.

Getting a PowerDNS recursor up and going, fast!

Posted by Michael Fleming on Aug 9 2009 in Linux, fedora | 0 comments

This post is another one of my “quick and dirty” service tutorials

This time, I’ll cover getting a recursive DNS service up and going, using the PowerDNS recursor package. Traditionally Red Hat/Fedora users would opt for BIND (with or without the old “caching-nameserver” package of old) but I like to be a little different. Plus:

  • PowerDNS has an excellent security record (was not affected by the Kaminsky DNS vulnerability)
  • It’s small and does only the job it’s intended for in the traditional small-tool UNIX philosophy (Authoritative DNS is the job of it’s “bigger brother” PowerDNS package)
  • It’s fast and very easy to configure (compare to djbdns for example, which is neither)

Installing the software

For Fedora users, it’s in the Everything repository so you can just install the package as below. Red Hat Enterprise Linux  / CentOS et. al will need to  add the EPEL repository first

To install, simply

yum install pdns-recursor

.. which will install the package and it’s dependencies (just lua and boost if you’re on a fairly fresh install)

Configuration:

It only needs a single configuration file in /etc/pdns-recursor/recursor.conf., so open it in your preferred editor

As it uses key = value pairs, it’s very easy to follow, well commented and the defaults are quite sensible.

Firstly, for security, change the “allow-from” to match your local subnets – this determines which address blocks our server will permit and answer recursive queries for.

allow-from= 127.0.0.0/8, 192.168.1.0/24, 10.0.0.0/8

If  you have local authoritative zones (especially private internal DNS) you may want to set forward-zones to tell the recursor to query those servers for domains

#format is zonename=dns.server.ip

forward-zones = internal.example.com=10.0.0.1

If  you have a number of zones to forward queries for, you can use the forward-zones-file directive, which should point to a file containing the key-value pairs as above

By default, PowerDNS will listen on all interfaces but in practice will still prefer an explicit interface to listen on, so setting a local address via local-address is generally a good idea, especially if you’re multi-homed. It takes multiple addresses or even 0.0.0.0 :-)

# Listen on localhost and my NIC IP

local-address = 127.0.0.1, 10.0.0.1

For spotting common issues I like to have a little logging, but not much, so I set it to send common errors to syslog

log-common-errors=yes

For most uses, that’s all you need! Start the server via service pdns-recursor start and test it via dig/host

[mfleming@qbert ~]$ dig a www.thatfleminggent.com @10.0.4.42

; <<>> DiG 9.5.1-P3-RedHat-9.5.1-3.P3.fc10 <<>> a www.thatfleminggent.com @10.0.4.42
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6559
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.thatfleminggent.com.    IN    A

;; ANSWER SECTION:
www.thatfleminggent.com. 2044    IN    A    174.143.247.61

;; Query time: 4 msec
;; SERVER: 10.0.4.42#53(10.0.4.42)
;; WHEN: Sun Aug  9 14:19:19 2009
;; MSG SIZE  rcvd: 57

Oh, and before anyone asks: see the 3rd answer in the FAQ regarding presence/absence of Authority records in dig etc. output. It’s a feature, not a bug!

A little more advanced..

If you have IPv6 enabled networks and want to make best use of v6-enabled services, tell the recursor to look up AAAA records too (it’s not on by default, as it’s a little slower):

aaaa-additional-processing=yes

You can also send queries out over IPv6 using the query-local-address6 directive eg:

query-local-address6=2001:44b8:62:1b0::1

If you’re security conscious and don’t want any bogus records coming from g/TLDs that isn’t glue/delegations, use the delegation-only directive:

delegation-only=ad,af,ar,biz,cr,cu,de,dm,fr,id,lu,lv,md,ms,museum,name,no,pa,pf,re,se,sr,to,tw,us,uy

Enjoy!

Keeping it simple isn’t stupid

Posted by Michael Fleming on Aug 6 2009 in Linux | 0 comments

GeoIP / IPv6

As an IPv6 enthusiast/proponent/fanboy I was really happy to see Maxmind finally put up a free-as-in-beer IPv6 GeoIP database[1]. Now to find some applications that will make good use of this data… :-)

(Don’t worry, I’ll pull it into EPEL/Fedora GeoIP packages either way. It’s not a huge file)

Keeping it simple isn’t stupid, no sir!

I’ve worked with configurations in a variety of baroque formats, not limited to but including your common XML formats, Perl scripts (thank you cleanfeed/amavisd), python (ta maradns!), something that may be Erlang (ejabberd), lua (prosody) and have developed a fondess for the simple simpicity of a key = value pair config.

This is especially useful when you’re in a bind with a relatively unfamiliar piece of software, as I was this morning. The last thing you want to be faced with when you’re under the gun and need something working Right Now is some app developer’s bizarro idea of a sane config file, so keeping them simple and sensible is a huge plus – app developers take note, resist the urge to be too clever :-D

Say what you will about the old Windows .ini file, at least you know what you had to do with it

(The less said about the prank-gone-wrong that is registry hives the better and I’m glad UNIX vendors never took that particular drug :-) )

PS. The application was qpidd from the AMQP stack, for reference and both it’s manuals – and Red Hat’s MRG Guides – helped immensely. Microbrews all around!

[1] http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz

How polite!

Posted by Michael Fleming on Jul 30 2009 in Linux, fedora | 3 comments

I’m testing the Prosody XMPP server package I’d mentioned some time back (I’ve worked with jabberd/jabberd2 and ejabberd, figured a new tinker toy was on the cards) and got this when trying to check the service status – as a non-privileged serf/peon

mfleming@pong ~]$ /etc/init.d/prosody status
Prosody is not running

Note:
You will also see this if prosodyctl is not running under
the same user account as Prosody. Try running as root (e.g.
with ’sudo’ in front) to gain access to Prosody’s real status.
[mfleming@pong ~]$ su -
Password:
[root@pong ~]# /etc/init.d/prosody status
Prosody is running with PID 17701

If only more software packages were that polite and helpful :-) (looks in the direction of some larger software concerns that shall remain nameless)

Just Plain Bad Service

Posted by Michael Fleming on Jul 19 2009 in Just Livin', Linux, fedora, networking | 1 comment

I almost lost two of my domains this week – a registrar / hosting company that will not be named decided to close them off without any notice – no email, letter or even a phone call.

15 minutes in a phone queue as the “next to be answered” and a debate with the tech on the other end finally got me the registry keys for both – I certainly won’t be renewing with them or asking for the accounts to be reopened, I’m already transferring them to my GoDaddy account.

Given their focus on “customer service” (even their technical support staff are “e-business consultants”) this is a MAJOR blot and I won’t tolerate it – no more business from me! It’s bad enough that they’re double the price of most offshore competitors but to close down accounts without notice is just plain intolerable.

The irony of the situation is that I worked at that hosting company for years and on realising this the tech at the other end started to agree with my assessment of the situation :-) Additionally I still know their systems better than some of the folks there now! (I talked him through the process of getting the keys)

I was quite pleased to see a Wordpress 2.8.1 upgrade hit EPEL quite quickly – new features and a security rollup all in one and before I felt the desire to roll one up myself. Cheers Adrian! This release was rock solid and the upgrade the most painless on record.

My own packaging is slowing up a little due to so little out there that is a) not already packaged or b) not really ready. One I have given a test run is the Miredo client for IPv6/Teredo tunnelling. IPv6 tunnelling is widely available – many places will even have native connectivity – but for those cases where you are behind a restrictive NAT (or just want to tinker like I do) it’s an interesting alternative. Fedora packages from my usual repositories.

Revisting Nagios for monitoring – I can’t just walk over and look at a server several thousand miles away -  brought back a few memories, it took a bit more dusting off of the old knowledge  (I use Zabbix at work, they’re dragging me into using Xymon which I don’t like as much) but it’s working quite well and the EPEL/Fedora packages are kept well up to date. With puppet / func it’s even simpler to roll out the NRPE checks (which were always tedious when done by hand)

The SmokePing package has also been a boon in the workplace – I used it to successfully convince our network administrator that the packet loss we’d identified wasn’t our imagination and lo, it got fixed as we could track performance. Again it wasn’t hard to install and the configuration makes sense after a pint or two :-)

My girlfriend and I have been getting back into yoga – “hot” yoga, which is the standard fare, just in a 35+ degree heat – and the timing is perfect; It’s been freezing here in Brisbane (10-20C on average, which is brisk for this part of the world) and I needed something to keep my mind in check. To my surprise I even held my form despite being away from it for a month or more :-)

New hosting arrangements

Posted by Michael Fleming on Jul 13 2009 in Just Livin', Linux, fedora | 1 comment

If you’re reading this (and not a “Page Cannot Be Displayed” or “Internal Server Error”) then I’ve successfully moved my site(s) to the new server.

After years of hosting off my own gear, either at datacentres or literally in-house I’ve moved to a Xen VPS at Slicehost, running CentOS 5. Setup and migration was relatively painless (fat-fingered a DNS record however, I won’t be doing that again..) and their default bare-bones install is an absolute boon for keeping an instance clean – I hate cluttered installs full of cruft I don’t need/want.

I’ve even got low-ping IPv6 to most of the world now via Hurricane Electric (just as I remember it – simple and do it yourself, which also meant pinging the service to keep the tunnel up :-D )

The only nit I’ve found has been the lack of SELinux support on their guests – I’ve had it in Enforcing mode on my servers for as long as I can remember it being offered – it just feels weird and wrong not having it now :-)

I’ve also found that there’s a few Fedora packages not available in EPEL that I just can’t live without (postgrey and linux_logo!). I’m not sure why they’ve not been picked up but I’m tempted to do so myself if there’s been no takers – give EPEL some love, it’s nice and stable and won’t do the dirty on you :-)

Too Fscking Clever

Posted by Michael Fleming on Jul 3 2009 in Just Livin' | 2 comments
  • If you have six discrete crontabs for a relatively small set of tasks instead of two (or even just one) you may be Too Fscking Clever.
  • If your SQL statement has five or more JOINS in it, you may be Too Fscking Clever (or a web development framework ORM)
  • If you are asked to forward ports to a host and instead DNAT the entire IP address, you may find that your Too Fscking Clever-ness will bite your arse when the usage case changes. Thinking it won’t is a sign of severe Too Fscking Clever Syndrome.
  • “We should cache this data for as long as humanly possible (what’s stale data?)” or “We should only cache this in RAM for 5mins (and refetch from a  large table?)” are classic Too Fscking Clever symptoms.

If you or someone you know has symptoms of Too Fscking Clever syndrome, often identifiable as a frequent need to overengineer what should be a simple solution, invite design by committee or overthink a problem ignoring practical usage cases and requirements,  suggest seeking immediate help before TFC develops into Solution Looking For A Problem Disease, which can in turn lead to madness or a career in Windows Server administration.

Treatment often involves simple counselling (of the W. Venema “what problem are you actually trying to solve” method or similar), introduction to Occam’s Razor, or in extreme cases flogging the subject with a copy of Plan 9 until s/he has an epiphany and tries to simply just get the job done.

This has been a Public Service Announcement.

Things I thought I’d never see

Posted by Michael Fleming on Jun 27 2009 in Just Livin', Linux, fedora | 0 comments

If I hadn’t been present for these, I’d probably call myself a bullspit artist. But I swear on a stack of $documents I was there and my experiences are 100% true.

Firstly, I thought I’d never ever see a web framework’s object relationship model used as a database stress tester (cheers Django!). I don’t think it was intended as such but some of the queries it’s generating are just hideous and driving load averages to insane levels.

Secondly – I have two USB keys in front of me. Nothing really unusual about that, except they have “Windows + PHP: Platform of Choice” on them. Yes, I raised an eyebrow too, and I’ve actually done Windows on PHP before at an old workplace.

Choice, PHP and Windows Server from experience boils down to this, in my experience: a) Run as FastCGI or b) Endure a world of suffering (the ISAPI is awful and suphp doesn’t exist).

I’ll of course advocate c) Run it on a Linux box as a DSO / suphp / under mod_fcgid process as your needs dictate – at least they’ll all actually work as you’d expect. :-)

I got the keys from a presentation / open session run by a good friend and former work colleague Jorke Odolphi, now working for Microsoft (but still genuinely interested in F/OSS, I’ve trained him fairly well) and “Professional Geek” Nick Hodge (also a pleasant and well versed chap).

Microsoft having an open session on OSS was not something my curiousity would let me miss, so off I went. I applaud Nick and Jorke for having a go – the turnout wasn’t huge but the session was very lively and definitely worthwhile.

Writing up an auto-installer for FOSS web apps under Win/IIS was a nice touch, and now you know how difficult it is to implement a depsolver :-) IronPython / IronRuby are interesting ideas (the Parrot project / Perl6 peeps are doing almost the same thing and Java has been doing it for ages) but your usage case might be a bit of a corner one. We are all aware in the OSS world how charmingly limited the PHP database drivers can be (hence PECL alternatives and native drivers) so you’re part of a large-ish crowd there :-)

But chaps you’re going to be pushing harder than Sisyphus to get some real FOSS cred for your bosses, if they genuinely want them.

I’m not going to delve deeply the licensing side of things (for good reason, there’s a post of it’s own) but a BSD-like license isn’t likely to get you the community you might want – it’s not really Free and there’s nary a nod to those making code / docs or other contributions (contributor doesn’t mean distributor by the way, if anyone from MS is reading)

The existing culture and mindset and that of Microsoft, it’s partners and some users is fatal to any “open source” initiative in my view (this doesn’t mean I’m unhappy to see an attempt, it shows the strength and relevance of communities like Fedora’s – or any other distribution’s for that matter)

They’re a cathedral; the faithful are handed tools and protocols blessed by the Powers That Be, with such tools/protocols invariably created because they help maintain the status quo (commercially advantageous to the “church”, closely coupled together to ensure/encourage adherence / lock in etc.) – many don’t know of or even see anything outside of the cathedral! Compare to the marketplace that’s Free Software – don’t like a tool/protocol? There’s other stalls with alternatives. Pick up a few and you’re building your own in no time and trying out ideas they may not even had considered before.

That’s the worrying part for the “high priests” – if the “faithful” are choosing their own tools for their own purposes (not just building using blessed tools for those protocols deemed desirable or “holy”) what’s to stop them straying from the rest of the flock? If the market allows you to build your own stall and offer your own wares, why go to the cathedral and be told how what to use?

I’m sure Microsoft’s upper management are happy (even if their outward demeanor may not show it) to see the projects around the Codeplex – still centred almost solely around their own technologies – .NET / IIS / Sharepoint / Windows Live Auth. Nothing really innovative and widely interoperable (and decoupled from other MS tech) like XMPP or memcached / OpenID / Laconica..

The real test will be projects that tie to *genuinely* open tech, a completely non-MS solution. I suspect the “high priests” may quietly sideline such “heresy”, even if the frontline preachers do not. :P

Lastly: To answer a question posed to me by James Morris via identi.ca: I asked about the IE8 and $10K giveaway: Technically it was mind bogglingly simple: IE8 has a little “feature” where it will display these “web slices” on certain pages like a favourite / bookmark. Find the “splice” with the winning content (on an MS partner site of course) and the 10K is yours.

The splice itself is just a boring standard DIV element with a “hslice” class.
But the hack worked for Microsoft Australia marketing, so I suppose it serves it’s purposes.

Of course there were Chrome and Firefox extensions to support this behaviour almost immediately :-)

The post is bought to you by lekhonee v0.4

  • Twitter: @thatfleminggent

  • Tags

  • ThatFlemingGent’s Flickr Stream