but I still hate java

Installing the latest version of java should not cause the Flex compiler to break.

WTF all around.

fail

I realize now my essential mistake in the process of porting this game.  I played it and looked at the code and formed an opinion that it was a moderately polished but essentially uninteresting thing.  So I proceeded to port it by distilling the intent behind vast swaths of code, and writing that intent in AS3 instead of Java.

What I did not realize, but probably should have, is that the client looks at this game entirely differently than I do.  They see it as a highly polished flagship of their online community.  What they wanted was for me to make the game's Java code run in AS3, exactly the same.  I completely misjudged their level of caring by projecting my own distaste for the product onto them.

So, I direspected their game, and I did a bad job porting it as a result, and now they have called in the original programmers to detail every feature or non-feature that the original game had that I optimized out, and are telling me to put them back in.  Fine.  We need the money.  But the work grates, and the game is still exactly as sucky as it used to be.

I don't like being the guy who does a bad job, and I ESPECIALLY don't like being the guy who works really hard but still ends up doing a bad job, so this entire situation is extremely uncomfortable.  A polished turd still smells, but if that's what the client wants you better damn well give it to them, or don't take the job.  I wish I had figured that out sooner.

national software foundation

Why isn't there a public institution whose mission is to create free open source digital infrastructure for everyone?  A free version of Photoshop, a free version of Maya, Free video and sound editing software, etc?

It would be analogous in execution to PBS and NPR, in that it would hire professionals from the private sector but would focus on producing software for the public good instead of for profit.

In mission it would be more similar to the Interstate system, the point is just to give everyone good free tools, and then get out of the way and let commerce happen.

To some extent the open source movement is filling this niche, but as a mostly volunteer effort they lack the focus and accountability that a publicly funded organization would have.  A Digital Infrastructure Foundation could prioritze usability and documentation in a way that the open source cannot (no-one volunteers to do things that aren't fun).  The DIF could focus on just a few projects, instead of forking out to thousands of tiny efforts.  One high quality image editor.  One text editor, one 3D architectural program, etc..  All free, all open source.  In fact the DIF could start with existing open source projects where appropriate.

There's a lot of thousand-dollar-software on the market today that sucks.   If there was a good, supported, free alternative, companies like Adobe would be forced to innovate and compete.  This is what Google did with search and email, and what they're trying to do with the browser, but Google as a company has a mission that includes making a profit.  The DIF would have a mission of empowering citizens.

The US is (probably?) the leading exporter of creativity in the world; it is currently our competitive advantage.  In order to maintain and expand this advantage, we need to get more and better tools into the hands of our citizens.  Digital infrastructure is going to be nearly as important as physical infrastructure in the near future, and so it makes sense for government to start investing in this public good.

this is relevant to my interests

I should read up on this and understand it, it's relevant to the Community Builder software.

Complementary currency - Wikipedia, the free encyclopedia

dehumanizing paperwork

I know I'm not the only one who hates filling out paperwork, but what I find really infuriating is the way that bureaucracy tries to fit you into a box. You can sometimes see through the form you're filling out to the committee that wrote it, and the committee invariably stares back at you with a cold dead expression of utter contempt. You lowly form-filling-out person. How can we best put you in a box so we can do math about you?

Filling out a form is an act of submissiveness to the Beast, a subtle reminder that you are being processed, chewed, just like everyone else. It hurts my ego, sure, but I'm also afraid that I'll get too used to the feeling, that I'll forget why I find it offensive, and that I will have lost something in the process.

I keep saying I'm not an anarchist; maybe it's just that as a humanist, I think that we can do better. Like, WAY better.

Good paperwork, like a clean interface, respects the citizen. It requires no duplication, and requests no unnecessary information. If a piece of information can be looked up in a database, it is not requested. If a piece of information is an irrelevant invasion of privacy, it is not requested. Optional fields are clearly marked. The reason you might want to provide this information is clearly noted. You don't have to print your address on every page. Why do we even need your address? It should say why you might want to give it to us, right there on the form!

The truth is, most paperwork is about exercising power. The organization has power over the individual, and forcing the individual to fill out paperwork is a way of exerting this power. The reason that some paperwork feels like torture is because it is. Just like poorly trained prison guards invariably abuse their prisoners, poorly trained bureaucrats invariably abuse their constituents, because they are in the same position of asymmetrical power.

Until we start calling this mental abuse what it is, we'll never escape the prisoner/guard emotional pattern that defines bad paperwork.  Solving this problem requires imagination and courage, but organizations that tackle this problem will find themselves, I predict, universally beloved.

money

If you're looking for one, here is an interesting--if biased--explanation of the current financial crisis. It's long but readable.

In 1982, the same year John McCain entered the Senate, a bill was put forward that would substantially deregulate the Savings and Loan industry. The Garn-St. Germain Depository Institutions Act was an initiative of the Reagan administration, and was largely authored by lobbyists for the S&L industry -- including John McCain's warm-up speaker at the convention, Fred Thompson. The official description of the bill was "An act to revitalize the housing industry by strengthening the financial stability of home mortgage lending institutions and ensuring the availability of home mortgage loans." Considering where things stand in 2008, that may sound dubious. It should.

Seven years later, the S&L industry was collapsing. What was the cause? Garn-St. Germain handed the S&Ls a greatly expanded range of capabilities, allowing them to go head to head with full service banks, but it didn't give them the bank's regulations. Left to operate in an anarchistic gray area, S&Ls chased profits, indulged in amazing extravagances, and cranked out enough cheap mortgages to fuel a real estate boom. They also experimented with lots of complex, creative -- and risky -- investments, even though they didn't have the economic models to really determine the worth of the things they were buying. The result was a mountain of bad debts and worthless "assets." Does any of that sound eerily (or nauseatingly) familiar?

...

Even so, by 1999 Phil Gramm ... put forward the Gramm-Leach-Bliley Act. ...

This act repealed part of the Glass-Steagall Act. This may sound like a bunch of Congressperson soup, but the gist of it is that Glass-Steagall was put in place in 1933 to control the rampant speculation that had helped cause the collapse of banking at the outset of the depression, and to prevent such consolidation of the banks that the nation had all its eggs in one fiscal basket.

Gramm-Leach-Bliley reversed those rules, allowing not only more bank mergers, but for banks to become directly involved in the stock market, bonds, and insurance. Remember the bit about how S&Ls failed because they didn't have the regulations that protected banks? After Gramm-Leach-Bliley, banks didn't have that protection either.

...

In allowing financial institutions to grow to Godzilla-sized proportions, Gramm-Leach-Bliley helped ensure that we would have financial entities that were "too big to fail." Rather than choosing to enforce rules that kept these institutions apart, the deregulators chose to create monster bankeragasurances whose downfall (and existence) was enough to threaten the whole system. [hence the taxpayer must bail them out if they make bad decisions]

...

Credit default swaps did allow the banks to share risks. So much so, that banks raced each other in an effort to find more risks. They made it possible for the down payment on homes to become 3%, 1%, 0%. Skip the credit check, avoid the employment requirements, damn the torpedoes, full speed ahead! We've got a credit default swap, we can do anything!

...

How big did this market become? Here's business correspondent Bob Moon and host Kai Ryssdal on American Public Media's Marketplace from back in the spring.

BOB MOON: OK, I'm about to unload some numbers on you here, so I'll speak slowly so you can follow this.

The value of the entire U.S. Treasuries market: $4.5 trillion.

The value of the entire mortgage market: $7 trillion.

The size of the U.S. stock market: $22 trillion.

OK, you ready?

The size of the credit default swap market last year: $45 trillion.

KAI RYSSDAL: That's a lot of money, Bob.

As in three times the whole US gross domestic product, Bob. And the truth is that Moon probably underestimated. The unregulated and poorly reported credit default swaps may have actually passed $70 trillion last year, or about $5 trillion more than the GDP of the entire world.

...

Then a funny thing happened. After years in which banks had handed out loans willy-nilly, guarded by the indestructible swap, people and companies started to really default on those loans. Credit slowed, home prices fell, and the whole snake started to eat itself tail first. Suddenly, credit default swaps were not sources of limitless cash. It turns out that an insurance policy -- even a secret, unregulated policy -- is occasionally expected to pay. Speculators started to look at the paper they were holding and for the first time realized it could all be worthless. Worse, it could (and did) represent a massive debt; one that no one had the funds to cover.

...

It may come as a surprise to the champions of deregulation, but nobody likes regulation. The restrictions that were placed on banks, S&Ls, and other institutions in the 1930s weren't put there because someone thought it would be fun. They were put in place because they addressed problems that had just been clearly and painfully revealed. They were put in place because they were necessary.

celebrity jeopardy of economics



Ever notice how FDIC looks really close to EPIC? You just have to extend the F and D downward a bit, like so:




It's like a visual pun. Aren't I clever?

holding pattern

I'm feeling unsettled about work stuff, and that tends to cascade down a bit, making me less likely to start new projects or commit to spending money.  Frustration ensues.

i smelled the brine when i saw this image


Join me at Machine Project in Los Angeles on Saturday September 20, 2008 for Picklefest 2008!
FREE, but bring pickle jars, and produce to pickle and/or swap with your new pickle buddies.
In collaboration with Erik Knutzen and Kelly Coyne from http://www.homegrownevolution.com. and Mark Frauenfelder from http://www.dinosaursandrobots.com/, we’re excited to be hosting our first ever pickling festival and produce swap.


It might be fun to meet the Homegrown Evolution peeps, I enjoy their book. You know what else I enjoy? Pickles.

just for my sanity

embedding fonts in AS3 is just slightly more complicated than it appears to be.

[Embed(source='../asset/fonts/CENTURY.TTF', fontName="embed_CENTURY", mimeType="application/x-font-truetype")]
public static const FONT_CENTURY:String;
...
var EffectTxt:TextField = new TextField;
var format:TextFormat = new TextFormat("embed_CENTURY");
EffectTxt.setTextFormat(format);
EffectTxt.embedFonts = true;

I always forget that last line, because if you have the font installed on your system, and if the font name you use for the embed is the same as the font's system name, it will use the device font and it will look fine.  Cost me about 2.5 hours today.

grumpy face.

nothin like livin

It's nice to have a day off.  I took care of a lot of the little things that were nagging me.  Bills, laundry, shave, haircut, yard work, that sort of thing.  Nice to have a little bit of time to reflect.  I went and saw my brother Isaac at his new place.  It's tiny, but it ain't in Newbury Park.

I have so many plans and ideas that don't even have time to stew properly, and I'm not about to go into them right now, except to say that I hope I'll get to consider some of them a little more seriously in the next few months, and maybe even execute one or two.  There's nothing like living.

What I mean is... sometimes we get so busy we forget our dreams.  And sometimes our dreams get so busy they forget our lives.  I think a big part of my growing up has been the convergance of the two... my dreams get more realistic and my life simultaneously gets closer to what I want it to be.  I used to feel sad about changing my dreams, but let's face it: when I was young I didn't know how to live, so clearly my dreams were going to be a little bit off.  Improving our dreams perhaps, is just as important as striving towards them.

Maybe I'll have more time to think now.

ownership

I've been looking at real estate prices in the South Bay recently, and it's incredible how much they've dropped since two years ago.  Right now there are a lot of houses one the market for under 350k, which means that the monthly mortgage payment is under $2000, which is a lot for one person, but is way cheaper than rent for say, 3 people.  So, why not buy a 3-bedroom house and sublet the rooms?*  I've always liked the idea, but in the California real estate market it's never really been... imagineable.  Now it is.  That intrigues me.


*srsly, why not?

wednesday is bring your crowbar to work day

On wednesday the CERN Particle accelerator goes live.  Bring your crowbar to work in case something goes wrong.*

*kids, always remember to wear your HEV suit.

AS3 shortcomings

The lack of block-scoped variables in AS3 is really killing me.
for(var i:int = 0; i != 5; i++)
{
do_something(i);
}

for(var i:int = 0; i != 7; i++)
{
do_something_else(i);
}
throws a compiler warning for duplicated variables, but ALSO,
do_something(i);
var i:int = 4;
does not throw a compiler warning, since 'i' is defined in the function scope.  This can lead to unexpected behavior.

In porting from Java, one of the most irritating non-regular expressionable tasks is finding all the duplicate variable definitions and moving them to the beggining of the function, because AS3 doesn't respect block scoping.

AS3 is a huge step up from AS2, and there's a lot I like about it, but this omission is really glaring, and frankly amatuerish.

on porting

Maybe I'm a big elitist, but I really dislike porting bad code. I'm always torn between wanting to rewrite and restructure it, and wanting to just push it through. I feel like it makes my brain dirty every time I read it.

It does hurt me...the code duplication, the completely extraneous code, the badly named varibles... I understand that it's just the nature of a large project like this, that just accrues code, that sometimes it's easier to copy and paste than to encapsulate, but... it still hurts me. 

It's the missing sense of pride, I guess?  Like, in porting this, I'm not really on the line for algorithm design or anything, the game already works... but I still feel bad passing on these terrible tangles to whoever else will have to work on them.  I feel bad putting my name at the top of the file, I want to put a disclaimer next to it.

Basically, I've been spoiled this past year by only working on our in-house code.*


*elitist fist bump, mabreu.

lulz

(here).

chrome architecture ftw

Admittedly, it might be the browser's fault that flash crashes, but I don't really care; I'm just happy that a browser is finally taking stability and responsiveness seriously.

you are what you read?

Funny article about selfish economists.  I've always wondered how much your profession influences your personality, and vice versa.  If you study optimal selfish behavior for a living, it's no wonder that you tend to make choices that way.  What's really messed up, in my opinion, is that you then project that decision making math on everyone else.

this and that

Jonathan Coulton does an Obama fundraiser in NYC.

Google Chrome is my new browser.

Sarah Palin's rollout is EPIC FAIL.


Everyone is talking about a Coffee Shop and Game Store.  Percolate away, tiny dreams.