Wasted Energy

| No Comments | No TrackBacks

The leaking MC252 oil well is releasing an incredible amount of hydrocarbons—estimates have moved upwards from BP's ludicrously low 5,000 barrels per day all the way up to 100,000 bbl/day. Beyond environmental effects of this released material, the amount of potential energy held in the hydrocarbons that are going uncaptured is staggering.

Flaring

Development II driller with the Discoverer Enterprise flaring gas in the background Since getting the lower marine riser package (LMRP) cap installed last month, the Deepwater Horizon response team has been able to capture a portion of the oil & gas leaking from the well. Hydrocarbons are brought to the surface aboard the drillship Discoverer Enterprise which transfers the oil to tankers that in turn shuttle it to shore. Unfortunately, the Discoverer Enterprise isn't equipped to handle natural gas, and can only capture a limited amount of oil. For the first twelve days that the LMRP cap was installed, June 3rd through June 15th, the Discoverer Enterprise collected as much oil as it could each day, up to a maximum of 15,000 barrels per day. The LMRP cap was configured to only capture as much oil as the maximum amount that the Discoverer Enterprise could recover, with the excess allowed to flow around the LMRP cap and into the ocean directly. Natural gas that came to the surface was immediately flared by the drillship, which lacks any other ability to handle gas.

On June 16th, the Helix Q4000 joined the Discoverer Enterprise on the scene as a secondary vessel to handle the well's producation. While the Q4000 adds no oil capturing capacity, it does have the capability to flare oil, allowing the LMRP cap to be reconfigured, bringing more oil & gas to the surface. BP has been releasing daily statistics concerning the amount of oil & gas flared, allowing us to calculate the energy that is unceremoniously disposed of each day.

Since the Q4000 arrived, an average of 8,400 barrels of oil and 1.49 million cubic meters of natural gas have been flared. A barrel of crude oil contains 6,119 megajoules of energy and a cubic meter of natural gas 40.9 megajoules. Using these numbers together tells us that 51.48 terajoules of oil energy is burned in the form of oil and 60.97 TJ from flared natural gas every day.

The total energy being continuously burned each second from the MC252 leak is 1.3 gigawatts, the same amount of energy as produced by a large nuclear power reactor or nearly 3 times the average power generated by the Hoover Dam.

Other energy loss

The above calculations only concern the amount of oil and gas collected by the installed LMRP cap, and not the other balance of the well's production that is released into the ocean without being captured. This additional flow amounts to 35,000–60,000 bbl/day according to the most recent estimate of the Flow Rate Technical Group. In terms of energy, this amounts to 2.5–4.2 gigawatts of potential energy lost to the ocean.

Details and Further Information

Goin' for Broken was the first event for Team BVD Skidmark. None of us had ever done LeMons before, and only a few of my teammates had even been on a racetrack previously.

In The Beginning

This all started when Matt asked if I had heard of this 24 Hours of LeMons thing...in fact, I had. I was on the verge of starting a team for the first East Coast races before I moved out to California. In short, we rounded up some other folks and submitted an application for Goin' For Broken 2010 at Thunderhill in May.

Just as the website says, we got our confirmation for the race 10 weeks out in Early March. To start, I called a meeting of the prospective team members to get together and pay the entry fee, which was $1,500 for our 6 driver team. I had also drawn up a very rudimentary budget by talking to a friend of a friend, and running some quick numbers—it worked out to about $1,000–1,500 per driver, all said and done.

Since we had a committed team, the next move was to find a $500 car. Since submitting the application for the race, a few of us had been trolling Craigslist to get an idea of what was out there. The week after we were accepted, a BMW 325es showed up, which seemed like a very good option to me. I have been a part of the BMW community for a number of years, and do all of my own work on my e36 M3.

We've Got a Car

Cheesy Gordita Crunch

Once we had a car, the first order of business was to get a roll cage installed. I looked up a few race shops in the Bay Area and stumbled across Evil Genius Racing. Of the places I called, they were by far the most helpful, and even had the cheapest offering; turns out, John is very involved in the 24 Hours of LeMons, so we couldn't have found a better shop.

Before getting the cage installed, we had to clean out the car. We spent a couple of Saturdays with 3 or 4 guys just removing the car's interior—everything from the car's interior. When we were done, the only thing left was the un-bolted driver's seat, the windshield, and the back window. John had advised that we even remove the dashboard, so that they could install a dash bar, resulting in a safer cage.

The only other work we did at that stage was fixing the brakes. When we got our car, the brake pedal went to the floor. Having never worked on crappy cars, I wasn't sure what the problem was, but figured it to probably be the master cylinder. We tried swapping the completely worn out pads, and the gouged rotors to no avail. It was indeed the master cylinder. A trip to Pick-n-Pull and we had a replacement, solving our brake issues.

Finally, we trailered the car to Sacremento, and left it with Evil Genius. The next weekend, we sent a team to pick up the car, complete with roll cage. It was starting to look like a real race car now.

Racecar Preparation

Aside from the roll cage, the 24 Hours of LeMons rules mandate a bunch of other safety gear. Bill found a race seat of the type recommended by John at Evil Genius Racing, a Kirkey Intermediate Road Race Seat on Craigslist. After a test fit it was abundantly clear that the seat was much to low to actually drive. We made some calls and, once again, John at Evil Genius came to the rescue, suggesting we use some 2 inch square tubing to get the seat higher. We ordered some 2 foot long pieces on the internet along with some grade 8 bolts to mount it. After a bunch of drilling and test fitting, the seat ended up fitting atop its brackets with the square tubing underneath.

Other things included mounting the fire extinguisher to the transmission tunnel (in reach of the driver) and mounting the center brake light, since we had removed it's stock mount along with the rear deck. Other things to comply with the rules included painting numbers on the doors & hood, securing the battery, painting tow locations, and installing the kill switch—that last one being a bit difficult. Our BMW, like most, is equipped with a rear mounted battery, which gets power to the front of the car through a single, huge cable running along the passenger side. The cable itself took 20 minutes to cut through, but with it severed, Ryan was able to get the kill switch itself wired up in another hour of work. We used a single-pole double-throw switch, running some 2-gauge cable from the original battery cable over to the left of the steering wheel, making it accessible by both the driver and anyone outside the car. The second throw was used to interrupt the positive line heading to the ignition coil, which we did with some 8-gauge speaker wire.

To The Races

After all of this work, the car was ready to go and we headed to the track. At the track, we rigged up a few things, including some probe thermometers for monitoring the water & transmission temperatures. It turns out, these hack gauges were the best thing in the world—they feature temperature alarms that make sure you know when something has gone wrong. Without a doubt, having the alarm go off after our water pump belt broke kept us in the race.

If you have ever thought about doing the 24 Hours of LeMons or had the desire to race at all, get a team together and do it. It's a bit of work, but entirely doable and an incredible amount of fun.

This past weekend, Team BVD Skidmark participated in its first 24 Hours of LeMons, the 2010 Goin' For Broken at Thunderhill Raceway outside Willows, CA. The team consisted of myself, two folks from Genius.com, and three guys that were part of CSH. In the end, only 5 of us drove the car at the race, because one of our team was quite sick in the lead up to the race.

Getting There

Cheesy Gordita Crunch We loaded up Cheesy Gordita Crunch, named after a shopping list found in the glove box, on Thursday night before the race, along with all of our tools in the van. Matt & his wife Lynn drove the van, Bill, Tristan, Quynh, and I were in the RV that we had rented, along with a weekend's worth of food from Costco. The drive up to WIllows is pretty boring, and not much fun when you're driving an RV and a van with a trailer. All was going well until about 10 that night when one of the inside rear tires on the RV de-laminated with a loud thud, followed by a thumping from the flail that was left on the tire. The latter sound was reminiscent of the sound that Cheesy's original tires made when we bought the car.

Luckily, we were only a mile from a gas station, and only a few miles from Willows itself. We pulled into the gas station for the night, parking behind it. At 6 the next morning, I got up and called the RV rental roadside assistance line; they said that a tow truck could be there to swap the wheel within an hour. We sent the van & car ahead to claim a good pit spot while the rest of us waited for the RV to get fixed. The wheel replacement didn't take long and the team was reunited in the paddock by 8 AM. We unloaded the tools, pulled the car off the trailer, and signed up for the Friday practice session ($200 + $50 per driver).

Friday

Cheesy Gordita Crunch The pre-race practice session was supremely useful—all of our drivers got a chance to hot lap on the track and get a feel for the car that hadn't been driven since we brought it across The Bay months before. Everything felt good and Cheesy did great all of Friday. I had been on the fence about doing the track day because I thought we might be using up what little life the car had. Getting out on Friday turned out to be a perfectly good thing, however, because it bolstered everyone's confidence in their own abilities, and our confidence in the car.

We did tech inspection with a few issues: tape the rear lights, tape the positive battery breakout in the engine compartment, and wire the clips for the harness. Bullshit inspection was pretty easy for us, given that we had a bone stock car and are pretty clueless. Having an e30 brings immediate scorn from the judges, but the fact that ours is the efficiency model and has an automatic helps. The Starbucks cards that Matt bribed the judges with helped, too; it also didn't hurt that our engine's intake is green from moss that was growing on it. In the end, they only gave us 5 penalty laps, mostly for having a crappy theme—really, we just had a car seat bolted to the roof and some huge Firefox stickers on the car.

At the end of the day, we swapped tires from the hard as anything, 55 series on 14" e30 wheels to the set of fairly low-profile tires on 16" wheels that had come with Cheesy. We cooked some burgers and headed out for a track walk at the end of the day.

Saturday

Cheesy Gordita Crunch I got up at 6:30, grabbed a shower (luxurious Thunderhill!) and roused the team. I made some eggs, we gave the car a quick check, and headed off to the driver's meeting at 8. The meeting was as expected—a rundown on flags, an admonition to not drive crappily, and some quick words about logistics for the day. With that, we headed back to the paddock and I suited up for the first stint.

I got out just before 9 and circulated a couple of laps with the handful of cars out there, until the green flag dropped. On the third lap, I managed to spin in turn 9. I could blame the different tires on the car, but that really just adds to the fact that should have been taking things more slowly 3 laps in at the beginning of my stint. I had gotten overzealous. We were penalized to re-theme the car, and we quickly applied spray paint to implement the original "skidmark" theme that we had originally thrown around months ago. I headed back out for a little more driving, and set the fast lap for the team that stood for the day.

After my stint, Tristan went out and spun in 11. Back into the penalty box, we made an abbreviated walk of shame thanks to the Judgemobile's music dying. Bill took Tristan's place and was out for a while before also spinning in 11. We saw the judges again and were ordered to get the very first Cone of Shame in the race. Since they were pretty unimpressed with a team getting 3 black flags before Noon, we found the biggest cone in the entire paddock, and returned to attach it to our car. With a tow strap and some zip ties, we had the cone on and the car was back out there. Matt did a stint and then Josh got in the car.

Cheesy Gordita Crunch Josh came in after about half an hour, and one of the cooking thermometers was wailing: it had hit the target temperature of 200 degrees fahrenheit. The roast wasn't done—the engine was hot. He shut it down and upon opening the hood and the missing water pump belt was pretty obvious. As the chief mechanic, I proceeded to bark some orders to the team and jumped under the car to fix the problem. After a brief struggle getting the forward-opening hood off, and dealing with the alternator with a broken belt-tensioning belt, the engine was back the way it should be. With the hood reattached, I went out for a stint.

We had a bunch more uneventful, but terribly fun driving the rest of Saturday and that evening, talked with a bunch of the other competitors. We ended up selling our extra rear brake pads to the Ninja team (all black e30 with a HUGE sprint car wing) and got tons of advice out of the trade. We talked with a bunch of judges and learned about the Bob Ross penalty that they applied to any car with a good expanse of paintable sheet metal.

Sunday

Cheesy Gordita Crunch The second day of the race started with unintended excitement. Matt started the car just before the driver's meeting and it spewed automatic transmission fluid—the adapters of our hacked-in ATF cooler had failed. Thankfully, we had thought ahead a bit and left all of the stock hookups unmolested. With some quick Vice-grip work, we managed to hook the ATF lines back up to the stock cooler and get out onto the track from the beginning of the day. Josh & Matt did morning stints and then I headed out. At Matt's suggestion, I started shifting the car, rather than just leaving it in drive the whole time; this lead to a new fast lap for the team of 2:37. Much better than Saturday's 2:46, but a far cry from the leaders who were running better than 2:20. Even though we weren't super fast, the added power out of turns allowed us to pass a number of other cars.

At the end of the day, we were in 65th place out of 108 runners—pretty damn good for a completely new team with a stock, automatic racecar. After this experience, the entire team is pumped to do more LeMons races. While track days and HPDEs are awesome, those can't hold a candle to wheel to wheel racing, especially when you're in a car that is cheap and you're OK with driving like you stole it.

24 Hours of LeMons: highly recommended.

Atheism and Society

| No Comments | No TrackBacks

Phil Zuckerman, a sociology professor at Pitzer College and author of Society Without God, an analysis of religiosity and its effects on a society. Zuckermand gave a talk at the annual Freedom From Religion Foundation convention in 2009, highlighting many of the important statistics he analyzed for the book, which I will paraphrase below, using the section headings from his speech. As Zuckerman himself says, these are merely correlations—his prime aim towards Americans is to make clear that a lack of religion does not hinder a society.

Atheists are better educated

  • Only 7% of members of the National Academy of Sciences claim a belief in a personal god.
  • While 27% of Americans claim "no religion", 42% of college graduates are in the irreligious cohort.

Atheists are less homophobic and more moral

  • 60% of religiously unaffiliated Americans support gay marriage compared with only 26% of Protestants and 42% of Catholics.
  • Among secular Americans, support for the invasion of Iraq was 38%, compared with 68% of evangelical Protestants, 58% of Catholics, and 47% of Jews.
  • Nonreligious Americans support stem cell research much more (84%) than those who report being "very religious" (55%) or "somewhat religious" (76%).
  • The US prison population consists of only 0.2% atheists.
  • Murder rates are lowest in the more secular states, and highest in the most religious.

Atheists in concentration results in societal success

First, let's see the rates of residents reporting "no faith" in states.

Highest:

  • Oregon (31%)
  • Washington (30%)
  • Vermont (30%)
  • Colorado (26.6%)
  • Delaware (26.5%)
  • Idaho (25.4%)
  • California (25%)
  • New Hampshire (24.5%)
  • Wyoming (24.2%)
  • Montana (23.7%)

Lowest:

  • North Dakota (9.3%)
  • South Dakota (10.2%)
  • Mississippi (11.5%)
  • Alabama (12.3%)
  • Tennessee (13.5%)
  • Maine (14.5%)
  • Texas (15.4%)
  • North Carolina (15.4%)
  • Louisiana (15.5%)

Some statistics using those numbers:

  • Rate of religiousness and murder rates are inversely correlated; the highest rates are found in Louisiana and Alabama while the lowest are in Vermont and Oregon.
  • The poverty rate is similarly related to the proportion of atheists, with the most poor people in Mississippi and Tennessee, while the fewest in poverty are found in New Hampshire and Hawaii.
  • Mississippi has the highest obesity rate at 31.6%, followed by West Virginia, Alabama, Louisiana, and South Carolina; the lowest rates are in Colorado (18.4%), Hawaii, Connecticut, Massachusetts, and Vermont.
  • Infant mortality and teen pregnancy show similar trends; STD rates are highest in the Bible Belt where college graduation rates are also the lowest.

Where I Stand

I'm on the side of the statistics, which show stronger societies are those with less religion.

Recently, I wanted to respond to a friend's tweet with a specific quote from The Big Lebowski. While there are a number of Big Lebowski scripts around the internet, none of them provide markup to allow linking to sections of the script. With the help of some simple Perl, I created a version of the script with anchor tags throughout, making it easy to point someone to a specific scene from the film. Check it out.

I am about to give a talk at Super Happy Dev House 36 on Moose, the object system for Perl.

I've put the slides for my talk up on SlideShare.

Using The Shell Right

| 1 Comment | No TrackBacks

The most powerful part of Unix/Linux/BSD is the command line. In stock trim, the Unix shells are all very effective, but your time can be more effective by customizing the shell. I use bash, so I know that these things work in that shell, but they ought to be easily transferred to others as well.

Aliases

A good friend of mine, Jordan Sissel, once said that if you do something more than once, you're doing it wrong. His conjecture applies as much to your shell as it does to your browser—computers are great at repetitive tasks, so you shouldn't bore yourself with such things. Therein lies the most important thing you can do with your shell: make common tasks easier with aliases.

First things first, I use ls a whole lot, and, despite it's simple makeup, I often mistype the command. I don't care about being able to easily run Steam Locomotive, and there's no s or l command, so I replace those all with ls:

alias sl="ls"
alias l="ls"
alias s="ls"
alias ll="ls -l"
alias lh="ls -lh"
alias la="ls -la"
Another thing I do all the time is descend into directories, which means I need to get out of them, too:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ......="cd ../../../../.."
alias .......="cd ../../../../../.."

I always want extended regular expressions, and there are tons of things I don't want to search when I grep (though I use ack these days):

alias grep="egrep"
alias G="grep -n --color=always --binary-file=without-match --exclude=tags \
--exclude=*-min.js --exclude-dir='.[a-zA-Z]*' --exclude-dir='external' \
--exclude-dir='blib'"

Furthermore, I often want to do recursive greps of a entire codebase, sometimes case insensitive, and like everything else, I mistype it:

alias GR="G -r"
alias RG="GR"
alias GRI="G -r -i"
alias GIR="GRI"
alias IGR="GRI"
alias IRG="GRI"

If you do any sort of system administration, you need to grep the process list; make that easy:

alias paux="ps aux|grep -i"

Is someone shoulder surfing?

alias c="clear"
alias logout="clear; logout"

Matt Behrens tipped me off to this one—type -a tells you a lot more than the standard which:

alias which='type -a'

When I'm writing in a language that requires compilation, I use cowsay to break up the output of each run, so that errors are easy to distinguish between this run and the previous one:

alias gcc='cowsay "Hello"; gcc'
alias g++='cowsay "Hello"; g++'
alias make='cowsay "Hello"; nice -n 10 make'
alias javac='cowsay "Hello"; javac'

Machines that I SSH to often get their names as aliases; I've got a bunch more of these:

alias claudius="ssh -Y dinomite@dinomite.net"
alias caligula="ssh -Y dinomite@caligula.dinomite.net"

Prompt

There are numerous articles about pimping out your shell's prompt, many include previous command exit codes, the time, the current energy of the LHC, and the price of the S&P 500. I have a web browser, so I don't need all that information—I only put in my prompt things that are pertinent to the task at hand. The things that make up my prompt are a bit complicated, so I build it in stages. First, since I work on a lot of different machines, I always have the hostname in my prompt. To make it easy to tell which machine I'm on, I assign colors to the systems that I use most often:

HOSTNAME=`hostname|sed -e 's/\..*$//'`
if [ $HOSTNAME = 'Caligula' ] || [ $HOSTNAME = 'Caligula.local' ]; then
    export HOST_COLOR="\[\033[1;35m\]"
fi
if [ $HOSTNAME = 'claudius' ]; then
    export HOST_COLOR="\[\033[1;36m\]"
fi
if [ $HOSTNAME = 'dev1' ]; then
    export HOST_COLOR="\[\033[1;34m\]"
fi
if [ $HOSTNAME = 'svr-dev-rw1' ]; then
    export HOST_COLOR="\[\033[1;31m\]"
fi
if [ $HOSTNAME = 'drewfus' ]; then
    export HOST_COLOR="\[\033[1;30m\]"
fi

Next, I capitalize the hostname and make the colon separating it from the path red if I'm currently acting as root via sudo -s. This makes it very hard to forget that the consequences of actions are great at the current time:

COLON_COLOR='0m'
if [ ${UID} -eq 0 ]; then
    COLON_COLOR='1;31m'
fi
if [ ${UID} -eq 0 ]; then
    HOSTNAME="`echo $HOSTNAME|tr '[a-z]' '[A-Z]'`"
fi

Finally, build the actual prompt:

PS1=`echo -ne "$HOST_COLOR$HOSTNAME\[\033[00m\]\[\e[$COLON_COLOR\]:\[\033[33m\]\
w\[\033[00m\]\\[\033[01;33m\]\$\[\033[00m\] "`

What does this look like?
claudius:/usr/local$
And when root:
CLAUDIUS:/usr/local$

History

There are a lot of complicated commands that I only use occasionally; having a big history means if I've used it once, I can easily search and find the command later. The histappend options tells bash to append rather than overwrite the history file and cmdhist combines multi-line history commands into a single entry. It's often useful to run the same command repeatedly, and I find myself typing ls whenever I stop to think; setting HISTCONTROL and HISTIGNORE keeps those actions from filling up my history.

#"I know I've used that command before, but I can't remember the syntax"
export HISTSIZE=50000
shopt -s histappend
shopt -s cmdhist
HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:ll:la:lh:sl"
export HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S - '

Environment Variables

A lot of linuxes come with lackluster program defaults (emacs, more, etc.); you can get better ones by setting environment variables:

export PAGER=/usr/bin/less
export EDITOR='vim -X'
export BROWSER='firefox'
export CC=/usr/bin/gcc

Since we are in the 21st century, I use Unicode:

export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"

Functions

I use Perl a lot, and have to deal with keeping modules the same across different systems; this function makes getting the installed version of a module easy:

function perlmodver {
    perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . " is installed.\n"' $1
}

The thing I use awk for most often is '{print $n}', so I wrote fawk which you give a number and it des just that:

function fawk {
    first="awk '{print "
    last="}'"
    cmd="${first}\$${1}${last}"
    eval $cmd
}

awk also does math:

function calc {
    awk "BEGIN{ print $* }";
}

Tying It All Together

To keep things organized, I separate the above mentioned things into a few different files, so my .bashrc brings them all together. Additionally, I check for a .bash_local file, which isn't checked into subversion, so that I can have machine-specific alterations to my shell environment.

# .bashrc
source ~/.bash_global
source ~/.bash_aliases
source ~/.bash_functions
if [ -f ~/.bash_local ]
then
    source ~/.bash_local
fi

Screen Presets

| No Comments | No TrackBacks

Ubuntu's Screen Profiles package taught a lot of folks about how GNU Screen can be so much more than a fancy replacement for nohup(1). Since GNU Screen's name is difficult enough to search for, they have thankfully renamed the package to Byobu. Byobu provides users with a whole bunch of pre-defined aliases to make working within Screen easier, and make more sense by defining a useful status line. There's more that can be done with screen, the most notable in my view is creating predefined working environments that make getting yourself up and running when logging into a system easy.

I've got a number of different things that I commonly do where I want a number of different screen windows: running the deamons on our development server, connecting to the DB servers in each of the different environments, and developing an experimental project. For each of these applications, I have created a screenrc that I keep in my .screen/ directory; the basic format is this:

source $HOME/.screenrc

sessionname daemons
chdir /code/htdocs/dstephens/trunk/webroot/daemons

screen -t 'CONTROL' bash
screen -t 'aggregator' bash
screen -t 'autoEventWatcher' bash
screen -t 'emailReady' bash
screen -t 'sfUpload' bash
screen -t 'jmsCommandExecutor' bash
screen -t 'bouncedEmail' bash
select 0

First, I source my global .screenrc, which includes setting a statusline, larger scrollback buffer, multiuser and utf8. Next, giving the session a name makes it easier for me to figure out which one to reattach to later. Finally, I create and name all of the windows that I want to have in my session, in this case, one for each of the daemons that I want to be able to run.

To run a specific preset, just invoke screen with the -c option: screen -c ~/.screen/daemons. Easy.

With the help of Mike Rooney, I created a plugin for Hudson that shows quotes from Bruce Schneier Facts: the BruceSchneier plugin.

BruceSchneierPlugin

Skittles Vodka

| 2 Comments | No TrackBacks

When walking through Ikea one day, I spotted the perfect bottles in which to make Skittles vodka. Starting with these, here is the process for making this infusion. Skittles vodka materials

Materials

  • 1300 grams of Skittles [$18 at Costco]
  • 4 liters of vodka [$60 at Costco]
  • Five 1 liter bottles [$25 at Ikea]

Tools

  • Paper towels
  • Colander
  • Funnel
  • 1 liter bowl
  • 5 bowls

Sorting

Sorting Skittles The first tedious part of this process is sorting the Skittles into their various colors (ostensibly, flavors). I sat down in front of the Singapore Grand Prix with six plates: one for each of the five Skittles colors and an extra on which to dump packages for sorting. I bough a box of 36 normal-size (61 gram) packages of Skittles from Costco and ended up using 22 of the packs. To sort them, I poured a few packages onto one of the plates and separated the candies onto the five others.

After consulting other who had made Skittles vodka, I settled on needing 240 Skittles per liter of vodka.


Assembly

Now comes the easy part. To get the Skittles into my narrow-mouthed bottles, I made a simple paper funnel and carefully poured the candies in. Easy. Then, I just used my liquid funnel to fill each bottle with vodka.

The assembled Skittles vodka team

Shake and Wait

After each of the containers was filled, I gave them a quick shake; within a few hours, much of the candies had dissolved. I left them overnight, and by the next day all that was left was a small bed of white pebbles in the bottom of each bottle.

Filter

Finally, the filtration. This step is the most difficult, because it requires a lot of patience even though you're almost done!

Completed Skittles vodka

A lot of the mass of Skittles is binder—corn starch and the like. It leaves a significant amount of scum onthe top of your Skittles vodka mix. To strain it off, I started by using standard office coffee filters, but those clogged very quickly. I switched to normal paper towels, which made filtering take about 5 minutes per bottle. After filtering, re-bottle and enjoy your super-sweet vodka rainbow!

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 25 Next

Pages

Find recent content on the main index or look in the archives to find all content.