User-enabled sendpass

As a network, we feel it is hugely important to maintain close relationships with our many communities and users. Our interactions with users in #freenode and elsewhere on the network, fielding support requests and assisting users, help build and maintain these relationships.

But we’re constantly looking for things to change and make better, and one of the pieces of feedback we’ve had is that users would like a little automation – and the ability to be able to resolve some of their own support requests.

We recognise that allowing users to generate their own password reset e-mails brings us in line with other registration systems online and may provide a higher quality of service.

So for now, if you are having difficulties accessing your account, you can generate your own password reset e-mail using the following command:

/msg NickServ SENDPASS <account>

This command will only work with an offline account (i.e. it won’t work if a client is logged into your account via NickServ), and should obviously only be used on an account that you believe is yours.

We will be keeping an eye on how this feature is used, and may retain it permanently if it proves to be helpful and non-harmful!


As many of you will be aware, freenode has been experiencing intermittent instability today, as the network has been under attack. Whilst we have network services back online, the network continues to be a little unreliable and users are continuing to report issues in connecting to the network.

We appreciate the patience of our many wonderful users whilst we continue to work to mitigate the effects this has on the network.

We also greatly appreciate our many sponsors who work with us to help minimise the impact and who are themselves affected by attacks against the network.

We’ve posted on this subject before, and what we said then remains as true as ever – and for those of you who didn’t read the earlier blogpost first time round, it’s definitely worth perusing it now if this subject interests or affects you.

Thank you all for your patience as we continue to work to restore normal service!

[UPDATE 04/02/2014]

At the moment SASL authentication works only on PLAINTEXT, *not* BLOWFISH. We’ve checked and TOR should be working too. Sadly will be taken off the rotation, so those users who’ve connected specifically to it, please make sure that your client points to our recommended roundrobin of!

The Cat Enigma!

Hello! Many of you have joined in with our April Fools’ activities, including the two challenges injected into the April 1st blogpost. We had several successful winners of the first competition, and a smaller number of the second, but many determined competitors – thanks to everyone who invested so much time and energy into the challenges!

We’d now like to give you the answers! Hopefully you won’t kick yourself too much if you competed but didn’t get all the way to the end. :)

Challenge 1

The first challenge commenced in the blog entry, which contained the cryptic message ‘GURER VF N CEVMR. VG’F JBEGU VG. UVAG: ZBGQ.‘ Deciphered via the magic of ROT-13, this pointed you to our April Fools MOTD (Message of the Day). Buried amongst rainbow text and pink unicorns was the string ‘VmlldyBwYWdlIHNvdXJjZSwgeW91bmcgZ3Jhc3Nob3BwZXIu‘, a Base64-encoded message pointing you to the source code of our blogpost, where the following message was hidden:

A$$p qk sc *$j7r, sc *$j7r /7 qsqv/§z Z/yr /k q a/ep,
sss /k kq7kr7 &l7k a/pr jq/7/§7 7kj$pr $§ /k7
sq§r /k klj§7 /§k$ q %aq§r Q§3 k*r§ /k klj§7 wqep
qzq/§ x*r§ c$l klz $§ /k7 x/§pc Rxx k*qk7 3/jkc! 3$ c$l k*/§p 7$?
Xraa / wrkkrj §$k 7*$x c$l x*rjr k*r ars$§q3r /7 sq3r 7xrrk ars$§q3r,
sss 7xrrk ars$§q3r 7xrrk ars$§q3r,
crq* 7xrrk ars$§q3r X*r§ e$sr wqep,
sq/a %/r k$ %/§pl§/e$j§7 qk t§ §rk

This was a Substitution Cipher (which various users decrypted in a variety of different ways, using ruby, javascript and python, as well as the ‘tr’ command line utility). The translation table is as follows:


If you want to try this for yourself, there’s an online tool for this here, or you can use the tr command line tool as follows (will require unicode support):

echo 'A$$p qk sc *$j7r, sc *$j7r /7 qsqv/§z Z/yr /k q a/ep,
sss /k kq7kr7 &l7k a/pr jq/7/§7 7kj$pr $§ /k7
sq§r /k klj§7 /§k$ q %aq§r Q§3 k*r§ /k klj§7 wqep
qzq/§ x*r§ c$l klz $§ /k7 x/§pc Rxx k*qk7 3/jkc! 3$ c$l k*/§p 7$?
Xraa / wrkkrj §$k 7*$x c$l x*rjr k*r ars$§q3r /7 sq3r 7xrrk ars$§q3r,
sss 7xrrk ars$§q3r 7xrrk ars$§q3r,
crq* 7xrrk ars$§q3r X*r§ e$sr wqep,
sq/a %/r k$ %/§pl§/e$j§7 qk t§ §rk' |
tr \/k7qZzyrxaepA\$sc*jv3X%QlwR§\& itsaGgvewlckLomyhrzdWpAubEnj

As this challenge had a larger ciphertext and was only lowercase, working out the translation table was relatively easy, and many of you seemed to manage to get it!

The first user to figure this out was elly - well done, you! The remaining users in the first ten to complete this challenge also won april-fools/ cloaks, and were the following:

Jessicah, Snova, hjf2010, Treeki, ttuttle, tonsofpcs, mth, awilcox, gnarf

Well done too to everyone who e-mailed in but came after these guys!

Challenge 2

As Challenge 1 went so well, we decided it would be a Good Idea to put together a second challenge. This was designed to be a little more complex, but started with a similar substitution cipher, with a text added to the source of the blog entry:

Un s%ctsn /%klt, kx$$&$* y/k%x*/ y/t z&tsr
X/tkt qkt n%x *%&$*, v&y/ n%xk ztys%eal ws%v&$* &$ y/t v&$r?
K vq$y y% l/%vtk n%x v&y/ lx*qk sx§hl, q$r k&rt n%x %ctk zt$etl
T%s&l/ n%xk /%%ctl tctkn l&$*st rqn, q$r wk&$* n%x y% y/t /%klt rt$y&ly
Un s%ctsn /%klt, n%x'kt q h%$n $% §%kt
Fx$$&$* qk%x$r v&y/ q §q$ %$ n%xk wqea, s&at q ykq&$ &$ y/t $&*/y...
Oq$ n%x l%sct y/t Oqy I$&*§q?

To complicate things, however, we used both upper and lowercase letters. Deciphering the lowercase text was relatively simple, as there was enough text to make divining the translation table relatively straight forward, but there were only seven unique uppercase letters in the song lyrics which emerged which were easy to identify by looking up the song (or remembering it, for those of you who’re also fans of Father Ted!) – at this point, if you competed, you probably had a translation table that looked something like this:


This seemed to be the step many of you got stuck on – as the final string beginning ‘WUWKM…‘ was substituted using the same table as the rest of the text. Many competitors had translated the song lyrics and the ‘Cat Enigma‘ comment:

My lovely horse, running through the field
Where are you going, with your fetlocks blowing in the wind?

I want to shower you with sugar lumps, and ride you over fences
Polish your hooves every single day, and bring you to the horse dentist

My lovely horse, you're a pony no more
Running around with a man on your back, like a train in the night...

Can you solve the Cat Enigma?

But you left the sequence of capital letters at the end unaltered! Whilst many of you guessed that ‘Enigma’ referred to the infamous German electromechanical enciphering machine, without the ‘WUWKM… ciphertext translated, you had difficulty progressing further!

As this seemed to be where efforts paused, we gave you a little clue, courtesy of njan’s enigmacat (whose name is actually cinak, but who is generally called Mittens), consisting of the first eight letters of the translation table – PQOWIELA- filling some of the blanks.

From there, some of you managed to take the next step – working out that the capital letters were entered according to a predictable pattern on a qwerty keyboard. Based on the ‘O_I‘ sequence in the partially complete translation table above, we’d hoped that might not be such a big step, but perhaps it was! Tap the translation table out on a qwerty keyboard and see what we mean.

Still – with a little nudging, this was a step that some of you managed to take together (and many others guessed at or were very close to), and with the complete translation table:


It was possible to un-translate the enigma ciphertext:


As many of you guessed, Catreferred to the enigma rotor settings, which when entered into any of the various online enigma machines (in javascript, java, or swf flavours) should produce the final plaintext. This wasn’t meant to trip anyone up (this applet defaults to the right settings, as do some of the others, and just needs the rotors to be configured) – although there are a variety of settings for enigma machines including rotor and reflector choice and plugboard settings we went with the default for many (Rotors I, II, III, Reflector B, no plugboard settings). Configured this way, the Enigma ciphertext deciphers to:


Phew! All done! :) The first to complete the second part of the competition were sbp and [bjoern]. Other successful entrants were kmdm, x0F, Tordek, Lopmon, Gryllida, and yano.

Thanks to those of you who participated and we had fun talking to and interacting with – and we’ll probably be doing something similar next year! :)

Canonical Pledges Matching Funds

Thanks to all of you for the donations you have contributed so far towards our fundraising drive. freenode has a few interesting fundraising events and ideas up its sleeves, so hopefully there will be a few more updates to the blog with more details in weeks to come! Today, freenode and the PDPC announces one of a number of exciting updates to the fundraising process:

Mark Shuttleworth and the Canonical team have kindly agreed to provide matching funding for up to £1700, which is enough to meet our £5000 goal). Effective immediately, every donation you make will have a matching contribution, thereby doubling in value! This is an extraordinarily kind gesture and we at freenode would like to thank Mark and Canonical, and the Ubuntu community, for directly and indirectly making it happen!

Change in #defocus policy – and what do you think?

Since rearchitecting freenode’s network help and social channels, we’ve been considering various ways to improve them for our network users, and recently freenode’s steering committee has investigated and considered these issues.

Whilst many of you have indicated to us that you feel longer or more aggressive bans are required to prevent disruption, the steering committee feels that an alternative strategy is most appropriate for freenode, as harsher punishments go against what freenode stands for.

Therefore, as of September 15th #defocus will be a moderated channel. This means that in order to speak, users will need to be voiced in the channel. Most of the time staff will be around to voice users in the channel, and if they are not, then users will need to wait in order to be voiced.

Whilst we appreciate that this will inconvenience some of our users, we regret that the difficulty of managing the channel makes a change in policy of some sort a necessity. We request that users not ask for voice, either directly via staffers or in #freenode, as this will not result in being voiced sooner. Please wait patiently, and you will be voiced eventually.

As part of the change in policy, we’d like to solicit comments from you, the users. How do you feel about the way freenode uses its help and social channels? What improvements would you implement, and how would you plan and discuss them? We’d like to foster greater community feedback, and if you’ve got any general comments about any of these issues we’d love to hear them! Please let [email protected] know what you think!