@ wrote... (3 years, 7 months ago)

I recently moved my web server to Digital Ocean but apparently didn't properly configure my python virtual environment. My apologies to whomever tried to leave a comment but couldn't.

It should all work now.

Category: tech
Comments: 0
@ wrote... (3 years, 10 months ago)

Gitolite uses a slightly funky url scheme that can wreck havoc with other tools. In particular I wanted to use Google Repo (worst name ever by the way, htf do you search for git and repo to find this?)

Anyway, here's how…

more…

Category: tech, Tags: git
Comments: 0
@ wrote... (3 years, 11 months ago)

I often want to make a directory and then immediately cd into that directory.

mkdir foo
cd foo

put the following in your .bashrc

function mcd()
{
    mkdir $*
    args=($*)
    cd ${args[@]:(-1)}
}

and then

source ~/.bashrc
mcd -p a/b/c/d
Category: tech, Tags: shell
Comments: 0
@ wrote... (3 years, 11 months ago)

Every article I've ever read about technical debt always talks about how technical debt was a deliberate choice to get a product out the door quicker. In over fifteen years of professional development I've never, ever, seen that choice being taken on purpose. I have seen absolute horror shows of a code base brought on by:

  1. developers of questionable experience
  2. developers of questionable skill
  3. developers of questionable passion
  4. developers of questionable taste

Don't get me wrong, I've written stuff and been happy and proud of it but then six months later when I know more and understand the problem better I'm, to say the least, no longer proud of said code.

My point is, lets get off our high horse and stop pretending that shitty code was a choice called technical debt and own up to the fact that once upon a time the royal we wrote some crap and it's time to fix it.

Category: tech, Tags: programming
Comments: 0
@ wrote... (3 years, 12 months ago)

A random neuron fired in my brain and I was curious as to which grew faster, Fibonacci or n2. While I was at it I also plotted 2n.

more…

Category: tech, Tags: compsci
Comments: 1
@ wrote... (4 years, 1 month ago)

Here's how you can get Dropbox to run as a user service from systemd under Feodra. If you use a different distro that uses systemd the commands are probably the same but your mileage may vary.

For the most part I like systemd but good luck remembering all these commands in 6 months when you want to make another user service.

more…

Category: tech, Tags: fedora, linux
Comments: 2
@ wrote... (4 years, 1 month ago)

NameChanger is a quick and easy way to bulk rename files on OSX. But it took a bit of trial and error for me to figure out how to use back references when I wanted to use a regular expression. This brand of regex syntax uses $.

Quick howto:

  1. select and drag some files into the left pane
  2. eg file: 301 - some.show.name.avi -> Some.Show.s3e01.avi
  3. left box: ^(\d)(\d\d).*, middle box: regular expression, right box: Some.Show.s$1e$2.avi
  4. click the rename button
Category: tech, Tags: osx, regex
Comments: 0
@ wrote... (4 years, 6 months ago)

I recently needed to have a pool of objects and it would make everyones life a lot easier if those objects would automatically return themselves to the pool when they were done.

Here's my take on a shared pointer pool.

more…

Category: tech, Tags: boost, cpp
Comments: 0
@ wrote... (5 years, 1 month ago)

This is a quick and dirty config guide to setup git-http-backend with uwsgi from supervisord on nginx. I did this on Fedora 20 so on a different distro some paths will likely be different.

I've also ignored security in this post as I have ssl termination handled elsewhere. This will send your password in the clear if you don't have ssl setup correctly! Don't forget to setup git permissions as well. This config allows any authorized user (somebody who can login) to push.

more…

Category: tech, Tags: git, linux, nginx
Comments: 13
@ wrote... (5 years, 2 months ago)

OMG I HATE MY LIFE SOMETIMES

So… I'll hopefully write more about this later, but the TL;DR is do not use monitor.py and uwsgi.

So if you have something like this in your wsgi.py, comment it out with extreme prejudice.

import monitor
monitor.start(interval=60)

Symptoms include, but not limited to:

  • workers not shutting down
  • workers appear to hang and cause 50x errors
  • workers not restarting if you send appropriate signals
  • workers appear to work once or twice then hang
  • workers never work
  • randomness and non-determinism all over the f'in place
  • little to no helpful log output
  • propensity to start adding lots of config variables that you don't understand
  • propensity to start drinking
  • wondering htf everybody else seems to use this software without a problem
  • wondering if perhaps computers where a poor career choice after all

I haven't looked into too closely but I suspect the fact that the monitor opens up it's own thread and runs forever has something to do with it. Open files, open sockets, stuff like that.

Category: tech, Tags: django, linux, nginx
Comments: 0