Development Posts

Monday, June 21, 2021

If you're seeing this post, DNS has updated, and you've been directed to my new blog hosting. If I've done everything correctly, all of my previous posts are available here, at the same URLs. Hopefully I've even set up the Atom feed so that anyone using a feed reader has been automatically redirected as well.

read more …

Wednesday, May 19, 2021

One reason I haven't worked on fixing my obstructions before now is that winter makes the ground impenetrable, and the roofs treacherous. The second reason is that I didn't want to attempt any solutions without having data to guide me.

read more …

Tuesday, May 4, 2021

Every time I post pictures of a project I've completed, someone will ask if I have plans I can share. I never do. I have sketches with numbers near them, but I am confident that no one would be able to interpret them. If it has been too long since I made the project, I might have trouble interpreting them myself!

read more …

Sunday, February 14, 2021

Update, June 2021. This month, Starlink released an update to their mobile app that produces an image similar to what I was trying here. Hopefully some day they talk publicly about the feature, so I can lean how far off I was on implementation details.

read more …

Saturday, July 7, 2018

But there's the trouble. To get back the address of the originating account, you have to have both the signature and the original field values. If you supply different field values, you don't get, "This signature doesn't match," you get, "This transaction came from a completely different account."

read more …

Tuesday, June 5, 2018

"What is NoSQL?" was an impossible question to answer. Beyond, "A database that doesn't use SQL," it meant something different to each person involved. "What is Blockchain?" is the same way.

read more …

Sunday, March 12, 2017

Last week, Peter Bailis announced a new tool for smoothing timeseries data for plotting, called ASAP:

read more …

Sunday, March 5, 2017

Strike up the band, it's time for the eighth, and final, installment of this fermentation instrumentation series. In part four, I placed several different sensors in several different carboys of beer beginning fermentation. In parts six and seven, I analyzed a week of data from two of the sensors. This post will cover the third sensor, a floating accelerometer.

read more …

Saturday, March 4, 2017

Keeping on the hop, it's time for part seven of this fermentation instrumentation series. In part four, I placed a few different sensors in some actively fermenting beer to gather data. In the previous post, I looked at data from a commercial sensor. Now it's time to examine the data from my experimental pressure sensor.

read more …

Friday, March 3, 2017

Welcome back for part six of the fermentation instrumentation series. In part four, I placed a few different sensors in some actively fermenting beer to gather data. A week has now passed, and I've bottled the beer. Time to look at the data. Let's start with the device we know - the BeerBug.

read more …

Friday, February 24, 2017

Welcome back for part five of the fermentation instrumentation series. In part four, I placed a few different sensors in some actively fermenting beer to gather data. I now have a few days of pressures and force vectors to analyze …

read more …

Tuesday, February 21, 2017

This is part four of a series on monitoring homebrew fermentation. In parts one, two, and three, I experimented with data I downloaded from one platform and uploaded to another. In this part, I create some new sensors to try.

read more …

Monday, January 30, 2017

My code is ugly, but it works, so it's time to post part three of this series. In part one, I downloaded data captured by my BeerBug. In part two, I uploaded it to the Helium platform. In this entry, I'll read use Helium's API to query and graph the data.

read more …

Monday, January 16, 2017

This piece originally appeared on the Honeycomb.io blog as part of a series on instrumentation.

read more …

Saturday, January 7, 2017

Welcome back for part two. In part one, I explained how I exported my historical brewing data from The BeerBug's website. In this part, I'm going to demonstrate what I've learned about one alternative, the Helium platform.

read more …

Sunday, January 1, 2017

I'm not super into the Internet-of-Things. There are no wifi lightbulbs, electronic locks, or smart thermostats in my house. But, I'm a homebrewer, and that means I love new ways to get data about my beer. I backed The BeerBug on Kickstarter, and I've used it on a number of batches since early 2014.

read more …

Saturday, October 1, 2011

It has long bugged many of the Webmachine hackers that this relationship with Alan Dean's HTTP flowchart is one-way. Webmachine was made from that graph, but that graph wasn't made from Webmachine. I decided to change that in my evenings last week.

read more …

Saturday, March 5, 2011

If you were interested in my last bit of alternative code-geekery, you may also be interested to hear that I've pushed that NerdKit Gaming code farther. If you browse the github repository now, you'll find that the game also includes a highscore board, saved in EEPROM so it persists across reboot. It also features a power-saving mode that kicks in if you don't touch any buttons for about a minute. Key-repeat now also allows the player to hold a button down, instead of pressing it repeatedly, in order to move the cursor multiple spaces.

read more …

Tuesday, February 15, 2011

Contrary to the evidence on this blog, not all of the code I write is in Erlang. It's not even all web-based or dealing with distributed systems. In fact, this week I spent my evenings writing C for an embedded device.

read more …

Wednesday, January 26, 2011

If you enjoyed my last post on the Basho Blog, about computing baseball stats using Riak's map/reduce, you may also enjoy my followup post about dealing with (or avoiding) records that have been split across block boundaries.

read more …

Thursday, January 20, 2011

The luwak_mr tool I wrote about last weekend kept my imagination chugging this week. The result? I've learned a bit about baseball, and written code to compute batting average using luwak_mr (and Riak map/reduce, of course).

read more …

Sunday, January 16, 2011

I was inspired, this weekend, by off-list discussion of Luwak and by Guy Steele's talk How to Think about Parallel Programming—Not!. The two seemed naturally attracted, and thus I created the luwak_mr module.

read more …

Thursday, December 3, 2009

Now that iPhone webapps are all the rage, I thought I'd release one of my own. Behold: the Spinner for iPhone and Dashboard. Good riddance to indecision - let the spinner choose!

read more …

Saturday, May 30, 2009

Many people have asked for an example Webmachine resource that responds to POST. If you follow my twitter feed, you may have caught this gem.

read more …

Friday, May 29, 2009

Justin Sheehy has just posted his video slideshow introduction to webmachine. The video contains the slides and most of the talk that Justin gave at the Bay Area Erlang Factory last month. If you've been thinking about checking out Webmachine, this half hour is well worth your time.

read more …

Tuesday, May 19, 2009

Alright, here it is, proof that Webmachine and CouchDB can coexist peacefully: I've posted an example Webmachine resource that proxies requests back and forth to a CouchDB instance. (Thanks for the kick, benoitc.)

read more …

Monday, April 27, 2009

This is the final entry in a four-part series that demonstrates how to take the simple os-environment Webmachine resource, and expand it to support modification, authorization, and conditional requests. Today I add support for DELETE.

read more …

Friday, April 24, 2009

This is the third in a four-part series that demonstrates how to take the simple os-environment Webmachine resource I wrote last week, and expand it to support modification, authorization, and conditional requests. Today I add conditional requests through ETags.

read more …

Thursday, April 23, 2009

This post continues a four-part series that demonstrates how to take the simple os-environment Webmachine resource I wrote last week, and expand it to support modification, authorization, and conditional requests. Today I add basic authorization.

read more …

Wednesday, April 22, 2009

This post begins a four-part series that demonstrates how to take the simple os-environment Webmachine resource I wrote last week, and expand it to support modification, authorization, and conditional requests. Modification via PUT is up first.

read more …

Friday, March 20, 2009

I thought, "Wouldn't it be cool if your webserver could plot the path it took on that chart in handling a request?" Well, now it can - if you're using the latest Webmachine.

read more …

Wednesday, February 4, 2009

Erlang's dynamic nature came in useful for me on BeerRiot last night. I've blogged about hot code loading before, but last night I dipped into the world of OTP applications and Mnesia.

read more …

Sunday, February 1, 2009

A year in the making, almost completely rewritten, I can't bear to hold it back any longer: today I release the new BeerRiot. Here's a synopsis of the changes for you:

read more …

Tuesday, December 2, 2008

Unfortunately, I only found out this morning that some of you probably thought I had given up on BeerRiot. A month or so ago, I started hosting another domain on the same server, and thought I'd set up Yaws to handle that properly. Unfortunately, I botched it bad enough that while beerriot.com still worked, www.beerriot.com didn't. Sorry!

read more …

Wednesday, January 2, 2008

If you read the news, you'll know that tuneups are happening behind the scenes of BeerRiot. If you came to this blog after reading that story, you're wondering what, exactly, they are.

read more …

Sunday, December 16, 2007

I've just committed a couple of minor updates to the erlang2facebook library that I'm sure some of you are interested in.

read more …

Saturday, November 3, 2007

In case you're using this blog's feed to get updates about new features on BeerRiot, here's a notice that BeerRiot now has its own feeds. :)

read more …

Sunday, October 28, 2007

Yes, the update I promised earlier in the week is now live. BeerRiot's Forums are now open for discussion.

read more …

Wednesday, October 24, 2007

...I'm still alive and plugging away at BeerRiot code. I thought you all might just like to hear that despite the fact that I haven't made a post here in a while, or updated the news section on the site, development is far from dead. There are things in the works, and I hope they will be ready soon.

read more …

Friday, September 28, 2007

Just a quick note this evening: BeerRiot was down from about 3:30am to 8am this morning. The MySQL server shut down. I restarted it as soon as I found it down.

read more …

Sunday, August 19, 2007

I bet there are a lot of people still questioning the utility of hot code loading. Especially in the web app field, it can seem a little gratuitous. PHP apps don't need any special hot load facility - the script just gets reread from disk every once in a while.

read more …

Friday, July 27, 2007

As promised, here's the post about the development process of the BeerRiot Facebook app.

read more …

Wednesday, July 25, 2007

Yes, I promised new things well over a week ago. My excuse is that I picked up a cold during my trip to the Middle of Nowhere that took me out of commission for a solid week. :P But, now that that is over...

read more …

Sunday, June 24, 2007

I'm not a fan of "settings" pages. They give a terrible interaction experience.

read more …

Thursday, June 21, 2007

Don't Throw Out Maybe Yet!

read more …

Saturday, June 9, 2007

To those who are considering Erlang and Erlyweb as a framework for their website: just go for it.

read more …

Thursday, June 7, 2007

As some of you may have noticed, BeerRiot - Local is live. Thanks to Corey for planting the seed - it's a mashup of Brewery locations and Google Maps. It's not exactly what I had planned at the outset, but I think it may be even better. :)

read more …

Saturday, June 2, 2007

Fear not! I have not forgotten about BeerRiot. No new features have come online yet because this week has been rather busy for me.

read more …