using tcpwrappers with dovecot on fedora (aka denyhosts for dovecot)

(draft)

I've been planning to move my mail server off a cheap-ole-vps server for quite a while now. Recently I realised that they implemented a 300 thread limit for the vps, and this is killing my glassfish server occasionally, which is seriously heavy weight in its use of threads and dovecot login processes.

However due to laziness, and the fact there there is a big chunk of data in the form of Maildir and /var/lib/mysql is proving a blocker. Maybe a project for the downtime between xmas and new years.

Another limitation of the vps is a lack of access to the underlying iptables kernel module configuration which rules out fail2ban style systems for blocking brute force attacks against ssh.

Go Live Checklist for Web Applications...

I was trying to think of a memorable summation of the go-live check lists that I have variously applied over my various releases. One of my much more competent than I ex-colleagues sent a quite comprehensive list, which I tried to break down into these categories;

  1. Does it work?
  2. Is is reliable?
  3. Is it secure?
  4. Are we legal?

performance dominance... (longest span between world championship victories)


I got into the debate about who were the greatest experts in their area of performance ever this afternoon and I thought I would look up some statistics on unusual records.

The one I am looking for in this post is the longest span of time between world championship victories in any sport or suitable challenging endeavour.

(I am limiting these searched to the modern era, or at least to where there was a well developed championship programme in place)

Fuck the flu

So on Monday I was wandering about in the house making a cup of tea and pottering about, and I got a funny shiver... and I thought that's a bit odd, I hope I'm not coming down with something...

12 hours later, I am curled up in bed, pouring with sweat, shivering cold and running a massive fever. The invaders were not just at the gate, no, the castle walls were down and the keep was being ransacked. ;-) Headache, bone-ache, cough, sore-throat, delirium. etc. etc

Why didn't someone mention frameOS.org before?


for fuck sakes. I probably wasted 3 days last week messing about with various gems, rubies, yum etc.

I just found the frameos repo and all the problems went away...

http://www.frameos.org/FrameOS/Home.html

leaving yum for gems, better late than never.

I've made this particular mistake a couple of times before, which was trying to use the software from my packaging system of choice, rather than the one favoured by the developers.
I love a bit of yum, and eclipse and many of its components are packaged as rpms in the fedora repositories - so I made the mistake of trying to use that version, I kept running into bugs that were fixed in the eclipse update sites version years before, even though fedora releases are every 6 months.

newsflash: Chef much better than Puppet!


After spending a few weeks dealing with Puppet fuckwittery, I decided to deploy some instances into the HP cloud beta using Chef rather than Puppet.

It's like stepping out into the light.

(part 4) when scratching an itch becomes a stupid timesink

This is part 4 of a post about how adding a keyboard short-cut for the equation editor in google docs turned in to a week long mission into foreign lands such as google closure, chrome extension API, XPCwrappers and even a bit of C++ 


(Or: Cowboy coding at its most best.)

(part 3) when scratching an itch becomes a stupid timesink

This is part 3 of a post about how adding a keyboard short-cut for the equation editor in google docs turned in to a week long mission into foreign lands such as google closure, chrome extension API, XPCwrappers and even a bit of C++ 

So today's task;

Clicking the "Insert equation" menu item, or the "New Equation..." button in the toolbar cause google docs to run some Javascript which eventually initiates the equation editor widget in the document, in-line at the caret location.
So the task is to find the event that the browser is generating, and google docs is catching, and create one of those events programmatically.

(part 2) when scratching an itch becomes a stupid timesink

This is part 2 of a post about how adding a keyboard short-cut for the equation editor in google docs turned in to a week long mission into foreign lands such as google closure, chrome extension API, XPCwrappers and even a bit of C++ 

So the task of adding a keystroke for the insert new equation widget came down to 2 sub-tasks.
  1. catch the keystroke event
  2. call the application insert equation function.

(part 1) when scratching an itch becomes a stupid timesink

How adding a keyboard short-cut for the equation editor in google docs turned in to a week long mission into foreign lands such as google closure, chrome extension API, XPCwrappers and even a bit of C++

(For the title of the post I was trying to think of the suitable case in the "scratching an itch" software development analogy for when the problem starts consuming time and effort for little reward, and I thought of maybe an over engineered robotic itch scratcher anyway I gave up and abandoned the analogy)

the immoral computer


“I’m Hitler?” You said, appalled.
“And you’re the millions he killed.”

Those lines are from a story called The Egg, by Andy Weir which describes how the "you" in the story meet God in the afterlife.

3 different number micro-worlds

In my undistinguished academic history there have been 3 phases of operating in 3 different sets of number scalings. They were Big Numbers, binary numbers, and probabilities and working with them each was interesting (if only in a number geek way).

A natural implementation of symbolic logic?

At some level everything gets discrete looking. But we don't reason in Planck units. So what are the implications of natural symbolic logic systems?

If symbols systems are discrete, how would human evolution have produced a useful symbol system?




The Physical Symbol System hypothesis is that human intelligence implements a natural form of a symbolic logic.

But if symbols systems are discrete, how would human evolution have produced a useful symbol system?

rubbish chat bots and beyond...


Much of the need for grounding in stronger AI is blindingly obvious from the comically weak AI on display in the Loebner competition transcripts. In some senses the value of their efforts is as a warning to others about statistical and pattern matching methods.

bot : It's all wonderful, How are they treating you?
judge : horribly
bot : Many countries still treat women horribly.
judge : like what countries                            
bot : Congress is not likely to represent other countries
(Loebner 2010)

Misreading the Turing Test, or stumbling around in Blind Alleys

In the course material for my undergrad Artificial intelligence course there is an extract from a paper by Dr Blay Whitby about Turing's purpose for the Imitation Game paper;

A Turing performant type


The Turing Test is a bit like a driving test, it represents a demonstration of performance capacity of a particular set of behaviours under a certain set of circumstances.

A plausible weak AI to beat the Turing Test?

Is it theoretically possible that a weak AI can beat the Standard Turing Test?

Who cares. This is not philosophy, this is engineering. Let's plough on.


How do you eat an elephant?

Everyone who has read a self help book knows it's "One bite at a time".

But it also helps if you pick a really small elephant.


Lets say we make this Turing Test a little bit more interesting.




The Turing Test is a bit like a driving test, it represents a demonstration of performance capacity of a particular set of behaviours under a certain set of circumstances.

Just because the 17 year old version of you was presented with a license to drive, doesn't mean that you didn't crash your parents car into a lamppost 2 weeks later.