Refactoring: really? 

I have a 3 month old son, and I’m often up at silly-o-clock at night with him. One thing I’ve taken to doing is watching various videos on youtube. I watched through the gocon 2014 videos, a bunch of pycon ones, some ted talks, and recently started watching through some ruby based videos. I’ve never really been into Ruby as a language. It seems to have some nice things, but python always seemed cleaner to me. ...

vim 

I use the text editor “VIM” for almost everything, since it’s quick, does pretty much everything I need. It’s interface isn’t the quickest to learn, but once you can use it, it’s great. I especially like being able to log into the server from any computer in the world and be able to have my whole environment available to me, I don’t have to install huge complex IDEs or whatever. Some plugins I use: Vundle vim-less surround.vim Syntastic vim-powerline pythoncomplete The-NERD-tree Markdown-syntax jedi-vim YankRing.vim ack.vim Pydiction ctrlp.vim minibufexpl.vim and some bits I have in my .vimrc which may be interesting to you other VIMers: " Make line numbers fun. ...

merging directories with the magic of python 

We finally got the last projects out of that monstrosity ‘Final Cut Server’, but one project at the end was a nightmare to export, and we weren’t sure which files from the end actually were in a different version of the project that we already had. We essentially needed to merge two different versions of projects directories, making sure not to lose any files, and we didn’t want to lose the organization of the files. ...

sqlite dates and django 

I was getting very confused with my django DB quite happily setting the date in SQLite, but displaying a '' when loading it back from SQLite. The SQLite field was a DATETIME, and in Django a DateField, which I would have thought should work. Alas, no. Apparently the SQLite field must be a varchar(20) (or similar) for a date w/o time. Strange. ...

Duel Booting, mapping UIDs for different filesystems 

I’m dual booting Debian & OSX on my work machine. In OSX, users are created starting with UIDs 1000.  So the admin user is 502, I’m 501, and so on.  Also, the ‘staff’ group ID is 20. On Debian, users are created starting with UIDs 1000.  So I’m 1000, my testing blank account is 1001, and so on.  The ‘staff’ group ID is 50. This is a bit of a problem when I want to share files.  Since it’s just me on the computer, technically I could just mount the drive with full read/write permission to me.  But I don’t want that.  I don’t want to be able to muck around with stuff outside my /home (or /Users/) directory without really trying hard. ...

python string concatination speed 

I made a quick python script to convert OpenLP song (lyric) databases into the presentation format used by ProPresenter. https://github.com/danthedeckie/OpenLP-To-ProPresenter5-Converter is the link. I put it together in a few hours, it should have been quicker, but I’m still re-acquainting myself with python. It is a nice language. One thing I did today, while cleaning up a bit, was wonder about something I remember from doing python years ago - string concatenation. ...

moving osx leopard server users 

So we needed to move a bunch of users from an OSX Leopard Server to a normal OSX machine (as a backup / test bed) using the normal ‘migration assistant’ didn’t work, so we had to do it manually. Possibly due to moving from a Intel based OSX-Server machine to a PPC based non-Server? All user details are kept in /private/var/db/dslocal/nodes/Default/users in .plist files (XML, human readable). and all passwords are kept in hash files in /private/var/db/shadow/hash The hash files are named after the “generateduid” found inside the users .plist file. ...

Software 

I write software. Programs. Applications. Call ‘em what you want. If possible, I’ll release them as open source / free software. ...