Skip to content

Instantly share code, notes, and snippets.

@vhata
vhata / gist:1186461
Created September 1, 2011 15:47 — forked from voodootikigod/gist:1155790
PyCodeConf Ticket Give-away

Day job:

I am Operations Team Leader at Yola.com. We are a small team of four guys who are currently doing a complete re-platform to get rid of all the technical debt that has built up in the last three years. We're moving our code from svn to git, using chef on all our machines, and re-architecting all the services, and it's pretty exciting.

Favorite Python project:

Currently celery, the Distributed Task Queue (http://ask.github.com/celery/index.html). I'm replacing a lot of old crufty ways of running periodic jobs and getting background tasks done (sending to SQS, and then having a cron job sit and munch through the queue, for example) with a simple system of celery tasks. This way, each of our services can fire off a request to any one of the others that will get queued and dealt with at the target service's leisure, but we can also bring up a cluster of generic workers that can handle all of our other task requirements. I might be a little too starry-eyed about it

@vhata
vhata / tomcat-attributes-default.rb
Created October 31, 2011 13:45
Tomcat Chef recipe
default[:tomcat][:standalone] = false
default[:tomcat][:port] = 8009
default[:tomcat][:timeout] = 30
default[:tomcat][:default_host] = 'localhost'
# java options
default[:tomcat][:java_opts] = []
# listeners handle events across the server. The following are defaults
# which will probably be enough. The jasper listener will be needed where jsp
@vhata
vhata / gist:1380719
Created November 20, 2011 19:09
On the fly method-caller
try:
m = imp.load_source(f,'%s/%s/deploy/%s.py' % (workspace_path, self.application.name, f))
log.debug("Successfully imported module")
except IOError:
log.error("Could not find %s's deploy script" % self.application.name)
raise Exception('Could not import %s/%s/deploy/%s.py' % (workspace_path, self.application.name, f))
try:
func = getattr(m,f)
except:
log.error("Failed to call function %s" % f)
23:14/0 [jonathan@nitesca] ~/Desktop/talitha/Unformatted-pages1&2 $ dig +trace A staging.payu.co.za @a.gtld-servers.net
; <<>> DiG 9.7.3-P3 <<>> +trace A staging.payu.co.za @a.gtld-servers.net
;; global options: +cmd
. 518400 IN NS f.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS j.root-servers.net.
. 518400 IN NS k.root-servers.net.
The Programming Ape
===================
Humans, you may have noticed, are not exactly rational. And yet here we are, trying to get them to build software. It's a bit of a mess. But there is some good news: by drawing on modern theories of human cognition we can begin to optimize our tools for how people think, not how computers work. I'll talk about our experience at Yammer building human-centric tools for engineers, lay out the sociotechnical challenges facing organizations trying to build transparent architectures, and mention in passing how all of this relates to making money.
I want to do one on "Scaling GitHub". It'll be part scaling on a technical level, and part scaling on a business level.
Here's a short little abstract to give you a little idea:
---
A month after launching, GitHub hosted one thousand repositories. Three years later, we host over three million. In the same time we've gone from one thousand users to over a million.
This type of scaling presents some interesting technical challenges. I'll dig into our development workflow and how we address concepts like scaling, deployment, code review, and testing.
It also presents some interesting business challenges, too. How you grow your company from three employees, how you work in teams, and how you split your app up into services all help ensure that you'll be able to react to your product's growth.

Hi Paul,

Look, we've actually got about a dozen people mailing us, sending us messages on facebook and eventbrite, tweeting at us, and so on, asking for tickets because they left it till the week before the conference to book. And unsurprisingly, almost all of them are saying things like "can I have first option if tickets free up". So, if we give first option to everybody who asks for it, that puts us back where we started: first come first served.

I'm really sorry you didn't get tickets, but you must understand that we have spent the last three months putting literally all our time and energy into organizing this thing, and working out plans and logistics and numbers and budgets and venue capacities. We can't just change all that now because a bunch of people are mailing us demanding special dispensation. I'm sorry to be like this, but even having to reply to all these emails begging for tickets is taking up time that I would rather spend trying to work out what the hell I'm going to say in my talk (w

@vhata
vhata / gist:1714189
Created February 1, 2012 00:29
Making ScaleConf more technical
Abz, been thinking about this.
Would workshops fill your requirements?
If we had a day before the main conference where we had two streams of
four workshops, about 90 minutes each... Some expert from Percona
talking about mysql optimization, somebody teaching the basics of
puppet or chef, somebody demonstrating vagrant or capistrano...
Would that provide the technical benefit of the conference to you?
export RED=$'\E[01;31m'
export GREEN=$'\E[01;32m'
export YELLOW=$'\E[01;33m'
export BLUE=$'\E[01;34m'
export MAGENTA=$'\E[01;35m'
export CYAN=$'\E[01;36m'
export NORM=$'\E[00m'
@vhata
vhata / gist:1770459
Created February 8, 2012 15:29
Stupid people bothering me on the internet
Somebody apparently found this blog post: http://vhata.net/blog/2008/09/26/the-political-compass
And then clicked the "chat with Jonathan" button on the side:
17:09:52 d8352459cac9691: any1 in?
17:10:26 Jonathan Hitchcock: hi
17:11:11 d8352459cac9691: hi, so was just going through your blog
17:11:25 d8352459cac9691: and wanted to ask u a question
17:12:15 Jonathan Hitchcock: okaaaaay... are you going to ask it?
17:12:42 d8352459cac9691: ohh sorry ur waiting fr it ..