Sunday, May 8, 2016

building an interactive tree with d3.js php and sqlite: an annotated webliography

I want to make a tree with rectangular nodes containing text, such that I can add nodes or remove nodes on the fly. I want the tree to be "multiplayer": everybody who visits the site sees the same tree, and when one of them modifies it, it the updates are applied to everyone's view.
I know nothing about d3, and very little about PHP, but a bit about sqlite and Apache.
For this project I'm using a minimal number of libraries, and a very simple server setup, which leads to some inefficiencies. The server is Ubuntu 14.04 with Apache 2.4 with PHP 5.6. Client side the only library I'm using is d3.js 3.5.

A consequence of the simplicity is that I don't have a good way to push data to clients, so I can't use long polling or web sockets. Instead, I rely on repeated client requests for updates, which adds some latency, but hopefully not too much.


Requirements for graph:
Nodes are boxes that can contain about 50 words
terminal nodes can be added or removed (capability to add or remove internal nodes is not necessary)
root is on the left
subtrees can be expanded or collapsed
zoom-in zoom-out capability
pan capability
sort nodes with the older siblings above newer siblings


Let's get this figured out!

Wednesday, March 30, 2016

Linux shell notes

This is a post containing various assorted Bash scripts, and some explanations of how they work. Some don't rely on Bash specific features and will probably work on many other shells as well. I intend to keep adding to this list over time.


Sunday, March 6, 2016

Please stop writing dilution ratios as though they were fractions

Many biologists seem to not know how to write dilution notation properly. The colon ":" and the slash "/", both have distinct and well defined meanings. People (biologists, at least) usually use the slash properly, but in many situations use the colon as if it were a slash. Please, if you mean slash, write slash. If you mean colon, write colon. Do not write colon when you actually mean slash.

Let me explain the difference:

Sunday, January 31, 2016

Real Dennis Moore meals

Previously, I made a Dennis Moore memorial dinner using mostly just lupins as the ingredients. In the sketch there are actually a number of foods named those foods are: lupin soup, roast lupin, steamed lupin, braised lupin in lupin sauce, lupin in the basket with sauted lupins, lupin meringue pie, lupin sorbet.

At one time or another, I have all of those foods (except Lupin meringue pie, which I'm still working on) and present them to you here.

Highlights are the lupin sorbet (which is much better than my version of lupin ice-cream), and the lupin soup, which is also delicious.

Monday, January 25, 2016

How to cook lupins

The most important thing to remember when cooking with lupin is that lupin is a bean, and therefore behaves much like any other bean. I've written extensively about lupins in the past. In this post I summarize some of that knowledge, and give some general tips and tricks for cooking with lupins.


The Dennis Moore memorial dinner: a three course meal composed (almost) entirely of lupins

1 year, 8 months, and 16 days ago, I received my first shipment of lupins. I had a dream. That dream was to honor my hero Dennis Moore by making a three course meal composed in the greatest part possible by lupins. Today that journey has come to a successful conclusion.



Monday, January 18, 2016

Lupin chocolate chip cookies

I'm still occasionally experimenting with cooking with lupins. Today I made lupin cookies. Which, I'm happy to say, turned out fantastic! In fact after I made the first batch, I liked it so much I went ahead and immediately made another batch.