Isn’t creamy. Isn’t forgiving. Serves two.Read more…
Let’s say you have a makefile, and you already have a shell script (probably called something like
env.sh) that you source before running your app to set environment variables in it. Now you’re writing tests (run by Make), and you need your environment variables there, too. “Aha”, you think, “I’ll source the env script in a makefile variable”:
DUMMY_ENV := $(shell source env.sh)
Well, that doesn’t work. Make runs its commands in a subshell, so the variables exported by
source aren’t available to other commands.
Two hours ago, I had just shy of 300 repositories on Github. As of now, I have less than 90, and I’m not even sure I want to keep all those. So what up with that?Read more…
It is a truth universally acknowleged that online banking websites are shit. Smile, for example. If you’re so infelicitous as to press the back button, or reload, or open a link in a new tab because that’s how HTTP is supposed to fucking work it logs you out. And apologises (sneeringly). If, on the login screen, you start typing your sort code, it “logs you out”. Because reasons. The less I have to deal with the website, the better my general mental health seems (although I’ll admit there are confounding factors here).
- Something sweet (2tbsp molasses sugar or black treacle)
- Something tomatoey (2tbsp ketchup)
- Something umami (1tbsp dark soy sauce)
- Something smoky (dash liquid smoke or 1tsp smoked paprika or 1tsp Lea & Perrins)
Hello lazyweb: is #GE2015 polling data available anywhere? Can't find it.— ∀ tweets ∈ quarterto (@quarterto) May 10, 2015
Spoiler warning: it wasn’t. Not all of it. So, I wrote a scraper to grab it from the BBC website (sorry, Auntie Beeb!).
Now, for mad electoral science.
The boring bits, unless they’re the interesting bits
Request for the HTTP, Cheerio for parsing and extracting, Numeral.js as the sledgehammer to crack
10,000-format numbers, Highland and JSONStream to glue things together.
So, I got an email purporting to be from “FedEx International Economy”, a “Delivery Notification”. “Hmm.”, I thought. “What have I ordered? Waaait a minute…”
So, I found myself wanting to automate the “shameless plug” stage of releasing open source software. npm doesn’t (yet) have feeds for updates and releases, so that left Github. It’s got feeds for releases of each particular repo, and a firehose of a user’s public activity, but nothing in between. Until now.Read more…
You’ve been there. The crushing weight of your to-do list. The Twitter → Facebook → Reddit loop. The existential despair.
What’s the least I can do to be productive?
Whittle down your inbox? Great. Do it.
Wash up that one pot that’s taking up the entire worksurface? It’s not even that dirty.
Pump your bike tyres up? Reply to that bug report? Commit a one-line fix? Easy.
Suddenly, everything seems not so bad after all. Everything flows that bit easier. It’s like the foot-in-the-door sales technique, except for good not evil.
I made a thing. It rolls dice so you don’t have to. It lets you throw Risk battles with ludicrous numbers of dice, which probably speeds the game up.
It’s a library:
<pre>npm install risk-dice</pre>
And an app.
I still can’t believe how good this pork turned out. So, we get a fortnightly box of organic meat from Abel & Cole. And it’s delicious, but then every so often we get pork steaks, and end up turning them into something resembling shoe leather with paprika. Now, don’t get me wrong, it’s damn good shoe leather. Turns out I could do better.
This takes half an hour to cook but the pork’s juicier if you marinate it for a couple of hours (or even overnight). Plan accordingly.Read more…
In this manual will be found a description of the construction of the camera, and the simple instructions necessary to operate the instrument. The manual does not purport to be a treatise on twin-lens photography but we hope that the information provided will prove of value to the newcomers to twin-lens photography and enable them from the very commencement to produce first class negatives.
Livewire 0.6 has been released, containing a breaking change: HTTP request body parsing is no longer included in the core. It’s been split out into its own module, Corps, rebuilt on plain Highland, and gained a new feature: content type sniffing.
This post is adapted from Modulus’ excellent introduction to HAPI.
I might have mentioned Livewire around here a couple of times. Livewire is my little (and getting littler) HTTP router with a functional bent, for Node.js. Since 0.5, released this weekend, it’s been based on Highland, a high-level streams library.Read more…
I’m pretty psyched about this. First, some background. As you may know, I’ve been working on an MVC framework on and off for the last four years. Mostly off. It’s called Gusto, apart from when it’s called Struct or Juego. It’s never been anywhere close to ready, and in the last four years I’ve kind of grown up as a programmer and gotten a bit disillusioned with the whole MVC thing. Also frameworks. So fuck MVC. Also frameworks. And that’s a blog post for another time.Read more…