So I said, narrow the focus.
Your "use case" should be, there's a 22 year old college student
living in the dorms.
How will this software get him laid? - jwz
Strategically Woome is very good at resource investment decision. As a management team we debate hard what projects get resourced and even then effort is only committed to step 1, the first decision point, and then we measure and iterate.
We try to apply the same logic in the day to day operational technical debt.
At Woome we’re quite lazy, I’ve mentioned that before. We write quite a lot of bespoke nagios alerts for our applications and on occasions we’ve found ourselves being woken regularly and needing to perform a simple restart of some buggy third party tool or a piece of code that we’ re waiting on a…
We’ve released our tiny templating language (calling it a language really is a stretch) as a jquery plugin.
We don’t actually use the plugin because it’s simpler to just include it in your js:
function tache(template, ctx) {
var t = template;
while (true) {
var res = t.replace(
/{{(.*?)}}/,
function (matched,p1,offset,src) { return ctx[p1]; }
);
if (res == t) {
break;
}
t = res;
}
return t;
}
An example of usage?
function popup(popup_name, data) {
data.popup_name = popup_name;
$("body").prepend(
elpad.tache("<div id='{{popup_name}}' class='popup hidden'>\
<h3>Login</h3><form method='POST' action='{{action}}'>\
<input type='text' name='username' value=''/>\
<button name='login'>login</button></form>\
<div></div></div>", data);
);
}
At Woome we often suddenly create a new set of key information, such as a regularly changing nginx config. We use mercurial extensively, so the typical next step at this point initialise a repo for the data set and check everything in. As a team we’ve trained ourselves to check in changes to most admin data sets automatically, with a ticket number in the comment, so this is very nearly self documenting change tracking with easy rollback.
Now, that gives us good change accountability and recoverability however it does tend to leave us with mercurial repos littered around the infrastucture slowly becoming more and more important. What we now do is auto-locate these repos and publish them to a central box for hgweb access presenting us with a rapid bare-os recovering in the case of hardware failure.
Read MoreThis is a new contact importer module for Django. We’ve just wrapped openinviter with some python… but what’s slightly unusual here is that we’ve wrapped it by calling php as a unix process, rather than as a webserver. That makes this a lot easier to setup. Indeed, it should just work with:
pip install django-contactstore
Of course, we recommend using veh to manage a virtual python environment.
An example app is included with the contactstore. This app uses our django-xslt but the contactstore itself does not depend on it at all.
monsterchat looking all facebooky.
This was done very quickly indeed. monsterchat is put together pretty well (we’re getting good at this) so skinning it for other environments is pretty easy. In fact…. well… that’s another story.
It was sooo awesome mikero had to capture it for posterity
phew
So we’ve pushed live our latest thing. This is monster chat a group video chat app that let’s you pull your friends from fb and twitter and yahoo chat and hopefully other places and have a right old natter.
Dev on this has been pretty quick. We got the basic app working within about 2 weeks. A lot of the last 2 weeks has been making sure we tweaked the Flash audio/visual settings to be optimal. We still haven’t got that right. Try opening a 24 person session and filling it up. Watch the lights dim.
What’s making this work is the same technology that makes shufflepeople work. An async app built on top of our comet server, drivel. So each chat, each entry into the room is an HTTP poll hangup and recycle.
The Flash here is pretty dumb, not even much display logic, it’s just shovelling the audio/video streams around. I really wish it was 2013 and we had HTML5 video in a large number of places.
In the spirit of eating our own dog food, the WooMe tech team has been doing it’s daily standups on a private instance of this for quite a while. Apart from the odd Flash issue it’s been working quite well with the discipline of a standup. It’ll be more difficult to make work for consumers with open mic problems and the like, we’ll see. I wonder tho if anyone else is interested in private chats with this for their own virtual company standups. Do let me know if you’d like to try it out.
Unlike google:
and youtube (couldn’t grab that one, never mind) WooMe will not be having an April’s fool joke this morning.
Why’s that? you ask.
Because they’re totally lame we answer
matt with latest hire
the infamous sea battle picture is in the background. check it out!!