psych0tik mirrors raspberry pi

Anyone who’s spoken to me in person knows that I’m really excited about the upcoming release of Raspberry PI.

I’ll keep the speil to a minimum, but a $35 ARM SoC with ethernet, USB and enough hardware onboard to decode 1080p video on 1 watt.. you can see why I’m pretty stoked.

Recently, there was a call for mirrors and psych0tik raised our hands, we’re mirroring any and all content (presently, debian 6 iso’s) needed to get your pi up and running, though unfortunately only for those of you with ipv6 access at this stage.

Point your (ip6 capable) browser at to get the images!

EDIT: For anyone having issues with their system giving preference to A records, I have removed the A record from

Posted in psych0tik News | Tagged , , , | Leave a comment

Git stashing, and why you do it too much

First of all, this workflow depends entirely on an (rarely un)spoken rule in my repositories- if it’s in the wip/ or trash/ tree, don’t touch it. I’m planning on rebasing with impunity.
I stash a lot at work, especially when I shouldn’t.

Generally, stashing occurs when I’m working on something that’s not ready for production or even feature complete enough to warrant publishing, and I need to rebase or start on something else. Nearly always I stash it and forget about it (even though my prompt yells at me when I have stashes)

The alternative is to check it into a wip/ or trash/ branch (depending on how confident I feel about the change in question being a Good Idea). This is useful for a stack of reasons:

  1. It preserves some history about the idea (what else I was doing at the same time)
  2. It makes tracking what you’re doing a lot simpler (because the stash stack is a pain at the best of times)
  3. Most importantly, you can keep branching

The last one is the most relevant, a stash isn’t rooted to any particular point on the tree which means if you make an invasive change you’re going to struggle (which is a pain when the patch in question alters some core behaviour and was only barely working to start with)

If I know it’s going to be a problem that I take a lot of stabs at I’ll generally make it a branch like wip/ideas/short_description_of_approach for simplicity to begin with; and this will only get better in git 1.7.9 which adds a description attribute for branches.

Stashes are awesome for getting a clean tree so you can rebase or do some non-trivial merging, but for keeping ideas straight it’s a pain; to the point where I’m considering a hook to delete my stashes after a week so that I can just be rid of them.

Posted in Articles | Tagged , , , | 2 Comments

Convert iterm color file to Xdefaults

My favourite colorscheme for vim (Jellybeans.vim recently had a pull request submitted including a colorscheme for iTerm2, a terminal emulator for OSX.

Not wanting to go back to OSX after finally getting my encryption key back and being back in linux, I set about converting it to RGB values that urxvt can understand.

I realised two things while doing this-

1. plists are flaming piles of horror. Someone at Apple took bad acid.
2. Ruby is cool for bashing up quick scripts.

The results are up on github as itermcolors2xdefaults and it seems to work reasonably well.

The scheme in question was very feint so I added an option to multiply all the colors, but by and large it does what it says on the tin.

Posted in Articles | Tagged , , | Leave a comment

~/.subversion in svn

I have to do this way more often than I’d like, my home directory lives in svn, and my svn config comprises part of my home directory. The upshot is that subversion likes to make blank data if none already exists, and then falls in a heap if the path it’s trying to create is already there.

This gets worse if you already have config you like and goes totally sideways if you actually depend upon some of it to get a clean checkout.

The solutions isn’t complex- but isn’t obvious either. Most solutions I’ve seen involved invoking svn, then trying to throw it in the background after it creates metadata but BEFORE it begins creating files, and then nuke the files. Kludgy at best- I much prefer this approach.

cd ~
mv .subversion _subversion
svn --config-dir _subversion up
echo "You must now merge _subversion into .subversion"

Posted in Guides, Hax | Tagged , , | Leave a comment

psych0tik domains are moving

As part of our general hatred of SOPA, psych0tik has made a few changes to our infrastructure.

Initially, was configured as a mirror domain for; as it is controlled outside the US it is further seperated from their draconian infrastructure and policy making, and in the event of things going sour should allow us to stay reachable while we sort things out and keep you posted.

The second change is moving registrars. Previously we had been with godaddy, but in light of godaddy’s support of SOPA (Good explanation here) we have migrated to I recommend that any of you with domains registered at godaddy do the same.

The final point is that while the domain transfer should be seemless, there could potentially be a hickup. In that event that this happens, we’ll keep our twitter account @psych0tiknet updated.

Posted in psych0tik News | Tagged , , , , | 5 Comments

psyCA Certificate Authority Management

We use Certificate Authorities indirectly every day while checking webmail and giving minimal thought to the authenticity of the page we’re reading from. Moxie Marlinspike talked about the flaws in the current trust in root CAs at BlackHat USA 2011. While flawed, certificate authorities can still be incredibly useful on a private level. Certificates can be used to authenticate users to VPNs, sign emails between users and organizations using s/MIME, enhance/substitute for password logins on websites, amongst other uses.

In my frustration while attempting to create and manage CAs for some of the above mentioned purposes I decided to fork and enhance the script that openSSL ships with. I am currently working on fixing bugs, adding better error checking, extra features, and better usability. I have dubbed the fork psyCA and has no dependencies except for OpenSSL and a POSIX shell.

Installation: installing the script consists of cloning the git repository

git clone git://
chmod +x psyCA/

If you would like to contribute changes to the script or the default openssl.cnf please fork our repository and send us pull requests if you’re a GitHub user or email your patches to me or the psych0tik-list mailing list if you’re not a GitHub user.

Posted in psych0tik News, psych0tik software | Leave a comment