Scripting for the Cloud

Paul R. Brown @ 2007-12-18T20:50:59Z

Paul Fremantle posted a brief analogy between classic UNIX pipelines and scripting for web services, and I posted a comment about some work going on with Ode that deserves a bit broader audience. Matthieu, Tammo, et al are working on a Javascripty language called SimPEL that maps to BPEL. They're making good progress, and the straw man examples are looking good, both for terseness and for legibility. It's still a way off, but it's on its way.

XML languages are known to be awful (hard on the hands, hard on the eyes, underspecified by document- or data-oriented schemata), and an orchestration DSL that maps onto BPEL has been on various wish lists for a while. (See, e.g., Brian's thought.) WSDL and XSLT should also be on the chopping block, and there are at least a few general approaches to abbreviating an XML syntax from which to draw inspiratiom. (See., e.g., RELAX NG compact syntax and Tom Moertel's PXSL.)

(comment bubbles) 0 comments

No You Should Not Pay Your Investors' Legal Fees

Paul R. Brown @ 2007-12-17T21:41:41Z

I noticed a post over on Venture Hacks that suggests that a company absorb an investor's legal fees (via dilution) as part of a financing, and while some of the advice is sound, I've got the opposite opinion. In no particular order, here are my thoughts:

  • First, cash on hand is not the same as cash obtained as part of a round of funding. Depending on the structure of the round, the cash from funding probably comes with liquidation preferences and various other privileges, meaning that the investor receives a multiple of their investment before lower classes of stock participate in the proceeds of a sale. The exact impact on the bottom line for existing investors might end up being small in the event of an exit at a significant multiple, but it will take a big bite in the event of a less favorable exit or a down-round in which anti-dilution provisions kick-in.
  • If you get sob stories from your potential investor about their level of planning or unruly limited partners, run away. If you get any sob stories from them at all, run away. Fast. A weak member on a small team can ruin you, let alone someone with a Board seat and a strong set of additional rights and privileges.
  • As an entrepreneur, you need to be a revenue animal and a cash bastard. You should be repulsed by the idea of letting someone else spend your money (present or future) on counsel (or anything else!) without your direct oversight.
  • As a potential investor and subsequently as a shareholder, the investor's interests and the company's interests are not equivalent. It's improper to spend the company's money (cash or stock) protecting the interests of any third party or single class of shareholder. It would be legitimate to spend the company's money on generic offering documents, but not counsel for a third party reviewing or amending those documents.
  • It's your obligation to run a tight ship, and it should be easy (ergo quick and inexpensive) for a potential investor to review your accounts, minutes, and agreements.

Finally, it rubs me the wrong way and sets off various alarms about being not quite correct. In any negotiation, each party should bear their costs, have counsel directed to protect their interests, and when they're all done, the dollars and cents should get recorded in their proper places.

(comment bubbles) 0 comments

Move, Rename, and Ne'er the Twain Shall Meet

Paul R. Brown @ 2007-12-12T20:27:05Z

The mv command in Unix has some subtlety to it in that it either moves or renames the file in question (never mind that it uses rename(2) to do it), but that subtlety is a good thing in that mv usually does what you expect it to do.

Not so with IntelliJ. I use IntelliJ for Java development, and while I do occasionally dally with Eclipse or Netbeans, I always come back. Anyway, with a bunch of packages to rearrange across a multi-module project, I tried using the "move" refactor, e.g., to change com.foo.x to com.foo.y. Contrary to my expectations, this produces com.foo.y.x, but not noticing immediately, I ended up with goofy package names like com.bar.impl.impl.impl. ((in classic Monty Python falsetto) That doesn't have much impl in it...) Grrrr.

A little commandline action will get things cleaned up in terms of file layout, e.g.:

find src -type file \
| sed -E '{h;G;s:\n: :;s/(impl\/)+/(impl\/)/;}' \
| xargs -n 2 mv

The first part of the sed program is a recipe for echoing the input as the first hunk of the line.

(comment bubbles) 0 comments

Just a Scoatch More Memory

Paul R. Brown @ 2007-12-12T20:23:05Z

After I saw post about a WTF-worthy comment a while back, I had meant to post this gem, which I'll paraphrase from memory:

foo *f;
f = (foo *) malloc(sizeof(foo)+4); // seems about right

The comment was the tip that code elsewhere was abusing the allocated memory, and the developer had added the padding to avoid segmentation faults...

There were quite a few similar gems lurking around in that particular app, like a catch block wrapped around printing "Whoops!" to stdout, which wouldn't be so bad if it hadn't been cut-and-pasted all over the place, making it difficult to determine where a "Whoops!" on stdout for the app actually came from...

(comment bubbles) 0 comments

No Fame for Violence

Paul R. Brown @ 2007-12-06T20:50:57Z

From the CNN story about the shooting in Omaha:

"He basically said how sorry he was for everything," Maruca Kovac said of the note. "He didn't want to be a burden to people and that he was a piece of s--- all of his life and that now he'd be famous."

(Emphasis mine.) I don't understand why names and pictures and other information about killers and criminals is published by the media, as it effectively rewards the behavior. Remember the victims, but let murderers die in anonymity.

(comment bubbles) 0 comments

Unsatisfactory

Paul Brown @ 2007-11-22T01:07:00Z

It turns out that the temperature issues with my G5 were not merely due to a little accumulated dust.  The temperature sensor on CPU B has gone downhill to the point where it puts the machine to sleep after about 10 minutes from a cold boot, whether the machine is just idling or working hard, and then it's another couple of hours before its cool enough to boot again.  The interesting thing to me is that this isn't an isolated issue, see, for example, this post and this thread.  In fact, Apple changed the cooling design after my machine was shipped.

I had a "Genius" at the Apple Store and a local non-Apple repair shop take separate looks at the machine, and the diagnosis was the same — unknown root cause, but the standard course of action is to successively replace the logic board and one or both CPUs to see if that helps.  (I didn't ask the "Genius" to show me his Mensa card...)  The part shuffle isn't a surefire fix: it may help, but it may just cost money and not help at all.  The person-to-person street value for an equivalently configured machine, via eBay, is about $1,800, which is barely more than the total cost of parts and labor if both the logic board and one CPU are needed.  The machine is nice and heavy, so maybe it will make a good boat anchor...

For what it's worth, my experience at the Genius Bar was similar to Paul Boutin's.  A twenty-something woman with various metal bits in her lips and nose asked me what the G5 was and if I did "computer stuff".  I contemplated making up a story about how it was a really big iPod with a special headphone amplifier and personal subwoofer built-in, but I just replied "yes" and left it at that.  The local repair shop provided more information but took two weeks to do it.  Maybe people who use their Apple products to make money instead of spend it are no longer the company's core market?  His house is a lot bigger than mine, so I can hardly fault Real Steve Jobs for his choices.

Today, I spent nearly two hours on the phone with Apple support, working my way through offshore call centers to someone with actual knowledge of the machine, but the response was a resounding "You should have bought AppleCare."  I have a hard time trusting someone who can look me in the eye and tell me that I need to put money down on a bet that their product will fail, but that's the official line.

Assaf put his Twitter finger on one of my thoughts: maybe Apple is not the answer.

And maybe it is time to give Linux another shot as a primary operating system.  The company that I bought reliable workstations from back when I was an academic is still in business...  Apple is far from perfect, but up to now, they have been better enough to win my business.  Like other people, I have had issues with Apple operating system updates on my laptops (SuperDuper is well worth the money!), and I've had to install from scratch at least a half-dozen times in the past five years.  In fact, I've developed a ritual for migrating my settings and additional binaries (primarily MacPorts) to a new install.  Nonetheless, it would be hard to leave the Mac behind.  I use and love OmniGraffle, Keynote, VoodooPad, QuickSilver, TaskPaper, and a host of other Mac-only software, including more spendy stuff like Reaktor.

If the guts are sufficiently generic, I'll give the forthcoming Penryn machines a chance, and if not, I'll take my money elsewhere.

(comment bubbles) 0 comments

Ten Fingers, Ten Toes

Paul Brown @ 2007-11-20T19:44:51Z

Yesterday, we had the 20-week ultrasound for what, with luck, will be our second child. The news was good: fingers, toes, arms, legs, nose, heart, kidneys, etc., all present and accounted for in the usual quantities.

The first pregnancy was textbook normal, but we had a bit of a scare early on with this one in the form of a statistically abnormal nuchal translucency (NT). NT is computed as a ratio between measurements in an ultrasound, and large ratios are correlated to trisomic chromosomal abnormalities like Down Syndrome. We went ahead with a chorionic villus sampling (CVS), and the results showed no abnormalities. It was a long couple of weeks waiting for information after the NT result.

Looking at the prospect of testing, the amount of hard information available to the prospective parent is limited, even from a "genetic counselor" or physician. I asked about statistics and studies around NT and CVS, and the best that the caregiver could manage were the usual statistics — without even the false positive rate! I'm more interested in looking at the actual studies and statistics than most folks probably would be, but I don't think it's too much to ask people to give correct explanations and provide reference materials. Come to think of it, I'd like to see all scientific and medical research data available as open source (CC By-SA, perhaps?) and freely available on-line. (It looks like this is aligned with the mission of the Science Commons.)

(comment bubbles) 0 comments

All Posts contains 397 items in 57 pages of 7 items each:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57