Wednesday, November 27, 2013

More knitting, but not baby hats

Baby legwarmers! All are Karabella Aurora 8 on #8 needles, simple 2 by 2 ribbing.  I think they are about 24 to 28 stitches in circumference, around 8" high, and they still fit a small baby around 10 months old.  The first one I did with double-pointed needles, and then I learned Magic Loop and my life got a tiny bit better.  (Only a tiny bit, because juggling needles with Magic Loop is still fairly annoying.)  I bound off the first one normally, i.e., with a chain bind off, and that did not work at all and I had to rip it up a bit.  It was frustrating that the basic casting on produces a stretchy edge but basic binding off doesn't. So I found and learned Jeny's Surprisingly Stretchy Bind-Off, which works quite well.

Monday, November 18, 2013

The Basics of the Sit/Stand/Walk/Flowerpot desk

This is Part 1 of a series about the Sit/Stand/Walk/Flowerpot desk, why I built it.  To find out how I built it, see Part 2.  To see its shortcomings, see Part 3.

One nice thing about human health is that the human body is so complicated that, when everybody has a contradictory opinion about a health issue, they can all be right, and they can even all have contradictory scientific research backing them up.  I think this paradox is also one of the pillars of the self-help industry.

So, there's a growing body of evidence and anecdote that sitting in a chair all day is not healthy.  Here's a 2012 New York Times article, but I learned about in 2003 with Calvin and Peter at Collaboraid in Copenhagen, when standing desks, along with centuries-old refurbished office buildings and high-intensity lights to stave off SAD was all part of what the cool kids did.  I never made the jump to a $1000 motorized sit-stand desk (if you want to, see this excellent summary of the options and details), but for most of the last ten years I've used some kind of IKEA shelving arrangement that made it possible to manually heave my monitors to higher and lower shelves.  I can't point to any particular health benefit, and often I get pretty tired of standing all day, but I'm still alive, so maybe it helped?

Anyway, there's now plenty of argument that standing all day is bad for you; and/or that standing doesn't offer much health benefit over sitting, that it's movement that offers health benefits.  So now there's a big market for treadmill desks.  This one is $1500; these fancier ones start at $2100.  I decided that I wanted to make one myself.  Here are my requirements:
  • I can build it using only hand tools appropriate for an apartment balcony
  • It costs no more than a commercial equivalent
  • It supports my pair of 30" monitors (~20 pounds each, total width of bases around 35 inches)
  • It has sitting, standing, and treadmill walking modes
  • It accommodates my chair (an Aeron)
  • When sitting, I can put the keyboard in my lap
  • It can change between sitting, standing, and walking modes with less effort than moving 20 pound monitors up and down, and without any unplugging and replugging.
  • It must be pretty enough to be in the living room, and ideally the large monitors can be put out of sight.
All of this was percolating in my head for the last year or so, leading to these design considerations:

I didn't find any simple motorized solutions like a lego-style module and didn't want to build anything that complicated from scratch.  I suspected a cranked mechanism might also be extremely complicated.  So I was leaning toward a counter-balanced weight that slides up and down.

If I was going to use a counter-balanced weight, I wanted it to be a flowerpot, so I would have sit/stand/walk/flowerpot functionality.

I rejected a wooden frame as too bulky.  I was leaning toward plumbing pipe, and I made an end table as a trial run.  It was a simple grid structure, all right angles, with diagonal wires to make it rigid.  It was fairly hard to make it rigid with diagonal wires, and depended on having very tight connections between the pipes and the shelf surfaces.  It ended up costing around $200, which is what a table of roughly similar size and materials seems to cost (and at least $100 more than seems reasonable).  I also learned that standard steel plumbing pipes are pretty strong, but that the threaded connectors are a real pain, since to get a complete loop (e.g., a square or triangle, you have to have some reverse threading.  That and a tip from Fram put me in the direction of Kee Klamp connectors, which are basically giant tinker toy connectors.  I also considered Unistrut, but it seemed too bulky and didn't have the same look as the pipes.

From the table experience, I knew that I didn't want to mess with tension wires, and so I wanted to try and build as many triangles as possible into the shape for rigidity (a kind of space frame design), with a poor second choice being rectangles braced with diagonal bars.  Also, the Kee Klamps are very expensive so minimizing them would be ideal.  So, I ended up pretty quickly with the basic design of a pulley and swingset: two A-frame sides, connected by straight bars, with the monitors sliding up and down one side and a counter-weight hanging down from the middle. Since the feet can't get attached to the ground, extra bracing is required to keep the legs from spreading.

This design led to more basic questions: how exactly the monitors would attach to, and slide up and down, the pipes?  The monitors had to go on some kind of arm, that would go onto a pipe or bar, that would slide up and down.  Fully adjustible monitor arms, especially for 20lb+ monitors, are $200+ each.  Can the monitors be made to fold out of sight?  And how does the bar slide up and down?  On wheels?  And how do the monitor and mouse attach to anything?

Here's what I came up with:

The monitors are attached to simple (i.e., cheap) arms which are mounted on a wooden 2"x6" board.  The board hangs from Kee Klamps which slide up and down the front pipes, aided by some teflon.  The monitors are counter-weighted by regular lead weightsthe flowerpot hangs independentlyand can be moved up and down with a bit of muscle.  The keyboard and monitor are on independent arms, which are manually loosed with a hex key and moved up and down as needed.  The treadmill is manually pushed forward out of the way for sitting mode.  The overall transition between modes takes several manual steps, less than a minute in total but only after practice.

Altogether, the parts totaled about $1300, and I'll go into more detail in a future post.  I'm satisfied with the design and use it every day, but there are things that aren't perfect and different paths I might take with a second try.  Would I recommend this approach to others?  Only if you like this particular design more than a commercial solution, are willing to spend just as much, and have weeks or months and some space to play around with it.

(All posts about the Sit/Stand/Walk/Flowerpot Desk Index

Saturday, November 16, 2013

More hats

Three more hats. 

I think this is more Lorna's Lace, but not producing quite the same nice spiral.  Also, I tried to apply some new pattern, I'm not totally sure what, and as you can see I executed the pattern successfully but I can't say it produced a nice hat.

Here's a reversion to simple 2x2 ribbing, but with a nicely colored yarn which I didn't quite keep good track of so I can't tell you what it was.

And here's one that I think came out okay: a "bamboo" pattern from my Vogue pattern book.  This is the Karabella Aurora 8 again.

Saturday, November 2, 2013

More hats

This hat totally spoiled me.  I think the yarn is Lorna's Laces, 2x2 ribbing on #8s again.  It's hand-dyed, and this hat came out in a perfect spiral.  I got three hats out of the hank, and the other two had weird zig-zags that had me convinced I'd started knitting backward, but it was just the luck of the dye.  After this hank, I wanted more, and I've bought two or three more of the same yarn, but never come close to the same colors.  One big problem with baby hats is that pink and blue are such charged colors that I'd like to just avoid them altogether, but some of the followup hats were much pinker that I would have liked.

Having gotten the hang of 2x2 ribbing, I went for something new.  These hats were for twin girls.  Back to Karabella Aurora 8 on #8s.  The ribbing goes from 2x2 to 3x3 to 4x4, not very successfully.  I left a patch of stockinette for the monograms, which are duplicate stitch.  Which is very very hard.  You can probably tell which one was my first.  Even when you are totally sure you have the right stitch to loop through, you still end up on the wrong stitch.

Who wants to see some hats?

My first three hats. All Karabella Aurora 8, on #8 needles, I think 72 or 80 stitches cast on, simple 2x2 ribbing, about 35 rows. And the pom-poms!

The perfect web development framework

I've been trying out Django as a platform for resurrecting my website.  The crazy thing about websites is that they are almost all extremely similar, and yet each one seems like a huge endeavor to build.  Of course, some of this is self-inflicted because, in my own case, I'd rather rebuild a website from scratch in order to learn (and, to a tiny extent, enjoy) the latest development methods.  But mostly I think that we haven't solved the problem of how to reuse medium-level stuff.

If you want to "reuse" blog software, you can use Blogger or dozens of other systems, but then you can only do exactly what they have built.  Which can be pretty configurable, but there are still limits.  That's big reuse.  

If you want to reuse bits and pieces, like spellcheckers or mathematical functions, that's small reuse, and that works pretty well.

But in the middle, it's a mess.

I made it through the first Django tutorial and I'm not totally happy.  I wanted to get a simple web-driven application working, just a "Hello World" kind of thing.  A list of dogs: name, breed, gender, neutered true/false?.  Breed coming from a list in a separate table.  So the whole thing is two database tables and a relationship.  In the ideal web development platform, you define your data and then, pow, you get automatically and with no code or anything, all of the typical stuff that you are likely to need:
  • web pages to look at a list of each thing you defined
  • sorting
  • filtering
  • pagination
  • pages and forms to look at individual items
  • pages and forms to add new items
  • pages and forms to modify existing items
  • pages and forms to delete items
And Django provides all of this, with just a tiny bit of glue code.  But it's stashed away in the "Admin" interface, which is not supposed to be available to the public.  If you want to expose this data to the public, you are expected to completely rebuild all of that lovely functionality from scratch with lots and lots of repetitive code.

At least, that's what the tutorial wants you to think.  Until you get to part 4, which introduces "generic views" that eliminate half of the mess.  It says:

Generally, when writing a Django app, you’ll evaluate whether generic views are a good fit for your problem, and you’ll use them from the beginning, rather than refactoring your code halfway through. But this tutorial intentionally has focused on writing the views “the hard way” until now, to focus on core concepts.
 You should know basic math before you start using a calculator.
Screw you, tutorial writer.  You should have offered that as a choice on the first page of the tutorial.  Now I know never to trust you.

So, impressions after maybe 4-8 hours of Django hacking:

  • There's no standard way to do anything.  The tutorial alone provides two or three or four different ways to do things, and searching for help and examples produces lots of code that looks slightly similar but not really.
  • Django really wants you to think you are writing a Python program that looks like a website, not developing a web site that has bits of Python in it.
  • The request processing flow is on the complicated side.  To get one page to work, you need to put code in four or five or six different places:
    • a template page, which if your application is "dogs" is mysteriously in dogs/templates/dogs/yourpage.html
    • probably something else I've forgotten
I think I'll try a bit more coding, and then try out the big selling point, which is a huge library of prebuilt tools (reuse in the medium), and see how well that works.  After using Django for a bit, I'm further from committing to a platform than I was before.

Friday, November 1, 2013

Praying, obeying, and endlessly praising

... walk into any synagogue during any service and almost the entire content will be about praying, obeying and endlessly praising a medieval conceptualization of God.  ... many Jews find the current ritual practice at temple, with its obsession over an anthropomorphic God as envisioned in the superstitious Middle Ages, repellent ... formal Jewish practice has gotten itself stuck in rituals that insult our intelligence as a modern thoughtful people, and turn us away from our heritage.
Dan Bodner.  Oct 18, 2013.  Letter to the editor.  J. the Jewish news weekly p 20

I first had a thought like this about thirty years ago, and have felt this way ever since, but have never been able to come as close to articulating it as this formulation.