is Ben Rudgers

Remarks: Epigram 1

This is the first writing exercise around Alan Perlis‘s Epigrams in Programming.

Originally written in Journal 3, [bracketed] remarks are extensions of the manuscript.

1. One Man’s Constant is Another Man’s Variable

1. We write programs for a purpose – what we need is what we need and there are are no universals which solve every problem – To be a universal implies that something is both in the problem and its solution, and thus it would cancel out of the solution [There’s nothing like a Spinozan scholasticism to get the brain started]

2. Even a mathematical term like π may be a variable – first it is a symbol then a value then a reference then as a value with different precision. What I am getting at is that there is no single true way to represent π within a program, and our program may choose to treat it several ways [or ignore it completely, in which case what does this say about it being a constant in the formal sort of way of computer languages?]

3. Take a web application which selects tires for cars. makeOfCar is a variable…right up until I select “Dodge.” Then it is passed to an algorithm/program/closure which for all intents and purposes expects it to be a constant. In other words, makeOfCar does not change to “Ford” while I am paging through the list of tires matching my query. [To go Hickian, “The programmer’s variable is the User’s constant – I just watched Simple Made Easy.]

4. What is the meaning of a constant within a closure? It’s just a variable with lexical scope [then again every constant is limited to the lexical scope of the program that uses it].

5. What’s really going on in a Lispy sense is that we are lumping together vaules and the pointers which referense them. 3.14 is persistant. I can point to it any damn way I want. Is the assembly language x00f80044 a constant (assuming that is where 3.14 is stored)?

6. Aha!

7. “Variable” and “Constant” are syntactic sugar. They are useful in so far as they make writing a program which does what we want done, easier to write and no further. [Or is it simpler? No. Hickey doesn’t like variables because they complex value and time]. “Variable” and “Constant” are valuable because they give us a clue about expected behavior not because of some essence. [Alas, now they are leading the way into <Type> safety].

8. Modern transaction friendly languages have better terminology. Things are either mutable or immutable. “Variable,” “Mutable,” etc. all can give us clues as to the programmer’s intent. However, in the typical case, the primary primary insight is to the language designer’s intent [Thus references to Hickey].

9. A language with immutable values referred to by variables [sic, Symobls?] indicates the language designer’s intent to foster a functional programming style and support concurrancy. [Or perhaps correlates is a better description].

Whether or not, the choice of a language having those features tells us something about the programmer is less clear cut. We cannot ignore the possibility of FORTRAN in another language.

10. If Perlis were alive, <Type> safety would have several epigrams of its own.

11. <Type> safety matters to the extent it makes writing a particular program easier [Warning! Warning! Will Robinson] and no further. [Does <Type> safety make our programs simpler?] It is not something worth debating. The best option seems to be a language where <Type> safety may be turned on when required at the discretion of the programer [e.g. to keep pesticide out of my soup bowl].

12. Perhaps π is one of a small group of universal constants – something all programs can agree on? 

13. Nah. My program may want π = c/2r or some definition from integrals or trig functions.

14. Here I want a π symbol. There I want a π value. And in the other place I want a different π value stored on the plist of π-the-symbol. Later, I might just want π printed.

15. Even 3.14 may be a floating point or a fixed point or a string which I can convert to a number. But I might want to convert it to “π” or “pi”. [How do these uses hold together with the idea of π as a constant? Pragmaticism says the thing is it’s effects].

16. Is there something cultural about Alan Perlis’s association with Yale and Algol?

The format follows the journal entry. Obviously, this was not written as an essay


My interest is in computing’s artifacts. It’s philosophical not particularly pragmatic.

I’m not a programmer. Or a hardware guru. I’ve come to believe myself the amateur anthropologist. I like rummaging through the midden mound of the techpress reading what the tribespeople have to say. I’m bookish.

It started with the Amiga ROM Kernal Manuals. I learned to read some C. It took a long time. Kernigan & Ritchie and other books helped – a little. But lack of a compiler gave me an excuse not to program. Later, on DOS, Turbo C++ with Turbo Vision, didn’t offer such an excuse, but my real interest was still in reading the manual not the code. I fell into AutoCad in 1989 because it included AutoLisp and Lisp was the buzz of the techpress. I did some simple things in the language, but the disappointment in discovering AutoLisp’s limits came about after purchasing Artificial Intelligence in Common Lisp. The first piece of sample code was beyond AutoLisp’s capability – the functions weren’t there.

During the 90’s I became less interested in computing. Studying philosophy and entering architecture played a role. But it was probably workplace politics which made me most disinterested. Hardware is where the money is spent, and having no say in purchases certainly played a role in my loss of interest. But I also realized that hardware is easy for the techpress to write about. 60mhz is better than 30mhz. Four megabytes of RAM is better than two. With hardware many articles about the state of technology write themselves.

As the economy tanked in 2008, my interest in computing came back. The dual platform world of Vectorworks brought me face to face with Mac Culture and the ease with which Windows users had accepted second class status on the internet in the face of Apple’s talking points. It was looking at the ways in which this operated, sparked my anthropological interest.

A Crude F. U. Money Calculator

Prompted by regular posts regarding equity at startups and my own experience as a stockholder in a small business not turning into “Google Chef” wealth, I made a Fuck You Money calculator.

It’s here. http://fumoney.kludgecode.com/default.aspx

I think the misconception that small amounts of stock will allow one to retire as a millionaire go back into internet prehistory and Microsoft’s IPO. Our shared memory includes those tales of secretaries and receptionists whose tiny stakes made them rich.

It was extreme edge cases which shaped much of the public perception that there was great value in small equity stakes and the expectations such perceptions engender.

Ask HN: What service would you pay $10,000 per month for?

[Written in response to similar $5, $10, and $50 threads.]

What service would you pay $10,000 per month for?

This is the real question that a successful SAS subscription based company like 37 Signals seeks to answer.

A service which scales needs to focus on the needs of groups, not the stated desires of a series of individuals. The consumer space does not lend itself to the SAS subscription model because the value proposition won’t be attractive to enough people to create strong network effects – unless it’s “free” like hotmail, Google+, or MySpace.

37 Signals’ value proposition is not based upon individual convenience but enhancing the customer’s bottom line via network effects. Their basic revenue formula is > $1.00 per user per month. It works for them due to economies of scale. It works for their customers for the same reason.

What makes it work is that the customer pays to have control. 37 Signals doesn’t suggest chatrooms to join. Customers bring their networks with them, they expand organically based on the customer’s actual business operations rather than in order to squash an annoying pop-up.

Freemium or premium. Leave $5 footlongs to Subway.

“Startup” in the Silicon Valley Sense

Startups in the Silicon Valley sense (SSVS) are organized and operated as vehicles to attract and serve outside capital investment.

The first way a startup must serve investors is by accepting outside funding. In the Silicon Valley sense, there is no such thing as a bootstrapped (self-funded) startup. Without independent capital investment a bootstrapped company is of little interest to investors until it seeks outside funding.

Y-combinator (YC) only produces startups in the Silicon Valley sense – participation in a YC class requires the acceptance of outside investment (by YC) and consequently an organizational structure which readily facilitates further capital investment. In other words, there are no bootstrapped YC companies.

As an SSVS grows, its operations must continue to be conducted with one eye toward the needs of capital (e.g. a bootstrapped company doesn’t need to worry about option pools – Microsoft, perhaps the ultimate bootstrapped company, could offer Balmer 7% of the company as the 30th employee, at that point an SSVS would probably be draining its option pool without a new round of investment).

Finally, an SSVS has an exit timeline which is determined by the type of investment it accepts. Venture Capital (VC) investors need liquidity events timed to the life cycle of their funds. Timing of a sale or IPO will not just be determined by the strength of the market, the need for investors to cash out will also play a role; i.e. it is likely that the timing of an IPO or company merger will reflect the maturity of a VC fund. Likewise, the pursuit of venture capital may be affected by the time horizons of angel investors.

In short, a startup in the Silicon Valley sense is part of a capital ecosystem in a way that a bootstrapped startup or small business is not. YC illustrates that one of the things the Silicon Valley ecosystem produces is startups as investment vehicles.

Lodsys and Apple: follow the money to it’s logical resting place(s)

While the techpress has been falling-over-each-other-quick to classify Lodsys as a patent troll  – do parallel actions make Techcrunch a “copyright troll?” – unsurprisingly little analysis has been done regarding possible outcomes which benefit the major parties involved, i.e. Lodsys and the app store owners (Apple and Google). Given Apple’s non-response response and  that both Apple and Lodsys have claimed to be in negotiations over the meaning of an existing agreement licensing the patent, it would appear probable that the ultimate outcome will be beneficial to both parties.  I’ll admit that typically patent licensing negotiations are approximately as interesting as a those surrounding the taxation of Nabooean trade routes, but when they involve Apple, patent negotiations become almost as interesting as their method of screwing. And speaking of screwing, that’s what I suspect app developers will get out of the Lodsys – Apple negotiations.

Given the way events have unfolded, it doesn’t take rocket science to make an intelligent guess as to the sticking point of the negotiations – how much developers pay for use of the Lodsys patents and how much of that Apple takes off the top for collecting it. Lodsys’s first public step was to anchor the price implausibly high and Apple’s to anchor it implausibly low, virtually insuring that developers will ultimately pay something.

Beyond the fact that they are not taking legal action and have disincentives to do so even if they do not collect a cut, Apple’s recent history is to increasingly monetize third party development on their platforms. Because the development ecosystem for Apple’s platforms is almost entirely based upon a pay to play model (you can still go OSS route on the Mac but Xcode now costs $5) it seems an easy step to roll a “patent fee” into the platform access cost structure Apple imposes on developers.

Such an outcome should be a win for Apple – more revenue, more control of developers, and I suspect making explicit what has been implicit in their developer agreements: developers owe Apple money for the use of the intellectual property underpinng their products.  From a PR standpoint the Lodsys situation is a perfect construct – Apple doesn’t precipitate the change, yet the groundrules are changed to allow additional development fees “for using IP in Apple’s current patent portfolio and such IP as may be developed by Apple in the future or such third party IP as may be incorporated into Apple’s products”  (interestingly the terms of an Apple style developer agreement seem to write themselves – and they remind me of credit card fees).

Did Google just Outflank Apple in the Tech Press?

While last months iPhone to Verizon PR event was lacking in substance, today’s rollout of Steve & Rupert’s dollar-a-week love child was lacking in the sort of tech press coverage Apple is famous for generating.

It’s not that the press wasn’t there, or that standard form tweets and blogs were not written. It’s that Apple polishing did not dominate the tech-press in the lead up to the event nor dominate today’s coverage in the way in which we have all become accustom.  John Gruber said “meh” and MG Siegler didn’t write about it at all.  Apple wound up with less tech press buzz for this event than comes with a run of the mill announcement of slightly faster processors in the plastic Macbook.

It really looks like Google managed to steal a march on Apple. Yesterday’s Binggate drowned out the traditional flood of eve of event  articles predicting that Apple will once again change the world. Instead, this afternoon stories about  the Google Appstore were listed above conventional Apple-revolutionary-innovation pieces. Last night even MG Siegler was writing about tweets between Google and Microsoft as folks on the east coast headed off to bed.  Come morning Siegler was writing about a Microsoft press release on H.264 not Apple (yes a press release).  The rest of the his day was spent on Google. If this isn’t the beginning of the Apple-ocalypse, what is?

The conspiracy lover in me wants to believe that part of Binggate was Microsoft applying the PT Barnum principle of press coverage – it’s all good so long as your name is spelled correctly, but even if that’s not the case weighing in on H.264 today was not coincidence. Google, though clearly went all out. Generating tech media coverage of Binggate and the Android Appstore improvements were both concerted and well executed efforts.  But it is Apple’s sudden inability to dominate the tech press which is so stunning.

It didn’t take long, less than a month in fact, for Steve Jobs absence from Apple to become obvious. Without him at the iPhone, the tech press appears to be moving on.

Binggate is Bullshit

Google is bullshitting.

According to the Official Google Blog Microsoft’s Bing uses Google search results—and denies it the story goes like this.  Google noticed a similarity between the search results returned by Google and Bing when the term “torsoraphy” was entered.  Both returned the Wikipedia page for “Tarsorrhaphy” as the top result. Google immediately decided that Microsoft was copying their search results and charged 20 of their engineers with proving it. After several weeks of effort and the creation of hard coded search results Google was able to inject 7 out of 100 fake search terms into Bing’s database.

Turns out, Wikimedia’s search function returns the same result for “torsoraphy” as Bing and Google.

It looks like both submit “torsoraphy” to wikipedia’s search API and return it’s result as the top. Bing stops there, but Google submits Wikimedia’s suggestion to it’s own database in order to return more relevant results.

Google knows how Microsoft got those “suspicious” results – directly from the Wikimedia engine just like Google appears to have done.  If that’s a sin, then they’re both equally guilty.  But in this fight Google pulled out all the stops with a twenty engineer black hat operation against Bing and breaking their prime directive by hard coding search results.

All for a PR play at Farsight 2011

And where I come from that’s bullshit.

 Page 7 of 8  « First  ... « 4  5  6  7  8 »