3 things, as we used to say

Second, Tycho mentions Dwarf Fortress on Penny Arcade today.

Third, we're going to have a party on Sunday to celebrate the new deck. It should be finished by then, so chances are slim that I'll try to press you into service if you show up.

Point being, if you're reading this, consider yourself invited, but please send me an email for details and to let me know you're coming.

deck progress 3

Thursday: Huge progress!
Wednesday evening we moved the frame into place.  Thursday I got all the framing done, by making extensive use of jigs and clamps.

I was proud that in the entire frame, there are only 3 cuts, which made contruction much simpler.  

Isaac came down in the afternoon and helped out, which was great, and motivated me to work a bit into the evening with the help of the floodlights. Annie was able to get in on it too when she got home. By 8:00 we had the main deck finished!

Now it's on to the small deck, and the upward, to the Pergola!

deck progress 2

Today, true to my threat, I went out and bought the missing piece. Lowes didn't have it, so I ended up visiting Crenshaw Lumber. They were very friendly, and the price I paid made me wish I had placed my large order there. Ah well.

With that done, I constructed the main frame, with only a couple of the joists, because I want to move it into place before it gets super heavy.

Actually it's super heavy now, and I don't really want to move it by myself. So I'm waiting for help for now.  Maybe we can get it roughly placed tonight, or maybe I'll have to start calling my brothers and bugging them.

deck progress 1

A few things.  First, when I went shopping for wood yesterday, I couldn't find the decking material that I wanted.  After looking in a few places I asked the guy at Learned Lumber, who told me that 5/4 wood decking was more of an East Coast thing, that it had fallen out of use on the West Coast, but that he had 5/4 composite decking.  I asked about that.  At ~2.90 per linear foot it was out of my price range.

Now, 5/4 wood decking is what we used for the fort down in Texas, and it would save me a lot of money and back pain, so I thought I'd at least call around instead of just taking his word for it. But indeed, no-one carries it among the 5 or so lumber yards that I called. Weirdness.

Instead I went with 30 12-foot 2x6es*, and this informed my decision to go with cheaper pressure treated wood, rather than redwood, because the cost of materials was getting above where I wanted to be.  I'll paint it, it'll be fine.

This morning
the wood arrived. One piece was missing, a 12' 2x8, which will be used as a joist hanger for the main deck. Since building the main frame is the first step in my mental plan, I can't really start in until that arrives.  Still,
I got it all moved to the backyard, which was a lot of work.

Now, the location where the deck will go, next to the Eucalyptus tree, was a little bit covered with sticks and debris.
A few hours later, it still is, but a little less so. 
So, hopefully I'll get the missing piece tomorrow morning.  If not I may just go buy it from someone else so I can get going.   Exciting!


*about a third of the price of the composite decking they tried to sell me, and I like the woodyness of it better anyway.  But holy crap 2x6 decking!

hard labor

Anyone who wants to do some construction work can show up at Frontier Town (my place) this week and help me build a deck.  Until I make a post saying otherwise, construction is ongoing.  Daylight hours are best but I will try to accomodate.

so long, irvine

I've been doing some work down in Irvine for the past few months. This is my last day. I'll have a week or so off, and some Jury Duty, and then I start up in Sherman Oaks at a game studio. In the mean time I plan to build a deck in the backyard, and (otherwise) generally be lazy.

Irvine has been alright.  Good money anyway, which was a welcome change. Time to move on though.

also, news

If you hadn't heard, Annie and I are engaged.

I could write a big long post about how happy I am, but I will spare you. Annie's is better anyway, so just read that.  :-)

wesley christopher feldman

Welcome to the party.
Congratulations Elizabeth and Peter!  Jacob, high five for being a big brother.

establishing your child's online identity

Question:* when you have a kid, do you register their name as a domain name, a gmail address, or anything? To be held in trust until age whatever when you turn over the password? At what point, from 1990 to 2050, did/will this become standard practice?

Is using an email address or domain name that your parents registered for you uncool? Are there social conventions for choosing online handles yet, what are they, or what will they be?


*Not to go all cyber-punk on you, but

2D liquid simulation aspirations

Check out this (java) water implementation:


want.


video of similar c++ implementation:




Makes me want to work on Mage Drops again.

wrapped in bacon ftw

Gouda Stuffed Chicken Wrapped in Bacon.

Not as hard as I thought it would be, actually.

In other news, I have a slight hangover.  :-)

wooden drawers

Nice design reference for making your own wooden furniture/drawers.

http://woodgears.ca/drawers/index.html

I'd think about using nylon or delrin strips, too.

Basically, I dislike the metal tracks with wheels that you see almost exclusively these days, because they add a lot to the cost and complexity of the project, because they take up extra space, and because they seem fragile.

trigonometry has a badly designed interface

Imagine for a second that our trigonometric nomenclature doesn't exist as such, and you work for me, and you are writing an API for trigonometric functions.

You come to me and say:
sine!
cosine!
tangent!
arctangent!
atan2!
I say: 
Those words are meaningless.  You're fired.
Math language in general is really terrible about this; it forces the student to learn meaningless foreign names for concepts that, to mathemeticians, have become intuitive.

Which raises the question, what would you call those functions?
sine could be:
math.RightTriangle.height_of_opposite_side(angle)
or
math.UnitCircle.position_from_angle(angle).y

...I got nothing.

how we specify information

Online shopping currently sucks.*

Have you had this experience?  You're shopping for something outside your area of expertise, and you hit a wall of mediocre websites.  Each has too many products, each product described by 1 line of text and a janky 50x50 jpeg.  None is quite what you're looking for, though you're sure the product exists.  Eventually you find a site that has what you're looking for, but it's in German.  But then you start for searching for that specific nomenclature, and you can eventually find a site in your language that talks about what you want, but doesn't sell it.  They link to 3 online stores, 2 of which are broken links, and one of which is one of the janky sites you found in your first search.

It's like, the story of my life.

Now, go to http://www.mcmaster.com/ and try to find some piece of hardware, like say, a 3/8 hex nut.  The site isn't perfect, but I'm betting it gets you there, and teaches you something about hex nuts along the way.  The part I love is that if you search for a broad category, it lets you narrow down your search in a way that makes sense to you.  You build your own decision tree, instead of being channeled down theirs.  It is a very flexible process.

So, online shopping: who will fix it?  Who will make the process work when I don't already know what I want, or how to describe it, or how to search for it?  Who will let me buy something by teaching me what I want to buy?


*Amazon.com is OK, but not great.  It's mostly usable, which is enough to make it the world leader.  But it only covers a relatively small area of content.

what can you do

L and I have been working on a crash bug in a flash game.  He was finally able to fix it.  Here is what he said.
L: so you know what the problem was?
  the composition

me: the
  what
  as in, how the movie clips were grouped?
L: yeah!
  i just went into the fla
me: Nice.
L: went thru most of the symbols, and ungrouped, broke apart, and flattened stuff

me: once again I find myself flabbergasted.

L: it was pretty crazy... the art was imported from illustrator, but sometimes, there were 10+ layers of groupings inside of groupings, and some symbols had 100+ groups inside of groups
me: huh, yeah.
  I guess I'll try to keep an eye on that in the future.
Forget everything you know, or think you know.  All that you require is your intuition.  Or, when a person works with a complex system long enough, they develop an intuition about how the system behaves, that is parallel to and sometimes contradictory to how they know system is supposed to behave.  This intuition can be valuable, but it's not the kind of thing you can talk about in polite* company.  See: mysticism.  


*where by polite I mean rigorous.  Reading Neal Stephenson's Anathem has been been good and bad for me.

also, a blast from the past

Babies everywhere.

Congratulations to everyone I know who just had a baby, or is just about to.  :-D

on Flash

My friend Jared sometimes links these articles:

It’s not a secret: I don’t like Flash.

I don’t like Flash because it is responsible for the overwhelming majority of my browser crashes. I don’t like it because it consumes memory and (especially) CPU resources on my computer for almost the sole purpose of showing me advertisements, which also translates directly to reduced battery life on my laptop.

Furthermore, I resent the way that Flash rose to new heights of popularity by providing a terrible video playback mechanism that (although it largely solved the problem of video codec ubiquity) can’t reliably perform the most basic of media playback functions, such as accurately seeking within the stream, even after it’s fully downloaded.

You might think that I feel conflicted here, because I earn my living by working with Adobe products.  The fact is though, that I hate flash as much as the next guy.  Well, unless the next guy is Steven Frank, in which case I hate it slightly less.  But I wanted to offer my perspective on why Flash is so ubiquitous.

In my view, Flash beat out its main competitor, Java, by racing to the bottom.  What I mean is, while Java was busy trying to teach content creators the beauty of strongly typed object-oriented programming, Flash was busy letting them put shapes on a timeline and tween them around.  

The calling card of Flash is that it fails silently.  Unless you have a debug version of flash player installed, you will never see a Flash error box pop up in your browser.  In its early years, it was pretty stable, too.  Java on the other hand likes to tell you about its problems.  Now, a programmer might tell you, of course I want to know when I've made a mistake, that forces me to fix it.  But we're talking about racing to the bottom right now: Flash never concerned itself with pleasing programmers, in the early days.  It wasn't for us.  

When you're a performer, a singer say, and you're on stage in front of a real audience, the worst thing you can do is show weakness.  If you sing the wrong note, if you start singing the wrong song, you just roll with it, and you never admit it to your audience.  Performers and artists know this.  Now, shouldn't the public face of your website be the same way?  The genius of failing silently is that no-one will ever now how incompetent you are, they will just think they don't know how to use your website, or that there's not much interesting going on.  They will never figure out that you tried to access a null pointer.  As a brand manager, which would you pick?

So, in the same way that HTML flourished by allowing anyone to make a website, Flash flourished by dramatically lowering the barrier to creating dynamic content.  In the process it became an engine for commerce.  That is a legacy that I support, either because I am a big soft-headed populist, or because I am a big hard-headed pragmatist.

What really steams my beans lately, is that Adboe seems to have changed course with Flash, and is steering hard, away from designer-land and towards programmer-land--which is fine--but now they're stuck in the middle in a bad way.

Their designer-oriented tool (Flash CS4) is not fully inter-operable with their programmer-oriented tool (Flex).  Designers feel betrayed by the shift away from their specialty, and programmers are not yet satisfied, because of the bad performance and outmoded language. The flash player crashes.  A lot, for no good reason.  So they've lost the never-let-them-see-you-bleed mystique.

I know why Flash became popular, and I can see the logic behind where it's gone since, and yet I hate it, and Adobe, for 

A, not having the vision to lead the industry they've built
B, not having the technical acumen or leadership to do a good job with any of the tools they make
C, shoving it down our throats and making us pay for it, anyway

As a game designer for browser games, I almost literally don't have a choice, I am forced to use flash.  And I resent the hell out of it.

Let me be clear:  All of the tools Adobe ships for working with its flagship web technology are crap.  Utter crap.  The virtual machine itself fails at what should be its main goal: invisibility.  The Flash empire is Goliath waiting to meet David, but David never shows up.

In this day and age we have an expectation of positive progress, and when we're opressed by bad technology it seems every bit as urgent as if a foreign army were living off our land.  When it doesn't get better over the course of 5 years, it feels like the gods have abandonded us.  Where's your messiah now, Moses*?  Oh Adobe, who will play the Google to your Microsoft?


*Uh, you don't have to actually listen to it, I just wanted to find it for my own edification.

Flash As3 2d physics engines

I'm poking around trying to find a good physics engine to use.  Here are some resources I've found useful.

A possibly biased comparison chart.
blog post on the subject.
See also: *drawlogic for pretty comprehensive coverage of the field.

The gist of it seems to be that, if you want a fully featured engine, go with something derived from box2d, which is the fully featrured open source 2d physics engine for c++.  You have a few choices here.  Box2DAS3 is the official port, which stays very close to the c++ API and implementation. Motor2 and Physaxe are both forks which are optimized for AS3 performance.  But Physaxe is acutally written in HaXe, which is interoperable with AS3.  APE is an older, action-script only alternative, but active development seems to have died some time ago.

Hm.  My main requirements are that it have a community of users, and be under active development*.  For this game in particular I'm less concerned about raw performance, since I don't anticipate handling more than 10-20 items at a time.  So I will go with Box2dAS3.  Perhaps for my own (speculative) titles I'll move towards Physaxe, though.


*This is the best quality filter I know of for open source projects.

merchandise

Annie is selling shirts. The designs are from her blog. Mostly just awesome/cute drawings, with few words.

open source +1

I'm not sure what I expected, but I'm pretty sure I didn't expect to be able to download source code and compile it straight away with no errors. So good work, Scintilla and SciTE guys.