programming language translation

February 10th, 2006 by mmeves

is probably a well-established field of inquiry, but I know nothing about it.

I was looking for the equivalent of php’s array_diff() in ruby, and I found this:

http://pleac.sourceforge.net/

It’s an attempt to solve a set of common programming problems with an assortment of different languages.
Each time I learn a new programming language I am struck by the awkward fumbly-ness of going from a language I am adept at to another I am a novice at.  (java to perl, perl to php, php to javascript, and now ruby).  You would expect that each successive language would come easier, and that thereby the process would be progressively more and more rewarding but in fact, the opposite is true:  Taking on new languages is like taking on a new lover.   With each new nuance and idiosyncracy you discover, you find yourself missing the comfortable familiarity of the old.  You unwittingly gather in your mind a set of all pleasant and fulfilling features against which you impossibly compare each new instance, and as you get progressively more bitter and jaded you accept that the only love you will ever know exists only as a conglomeration-memory of all the good memories of all the lovers you ever new, and by extension you love something that never really existed as an individual in the first place.   Dying is when you finally let go of this unattainable dream.
But what would make this transition-period smoother, I realized, would be an online programming language translator (that would translate function-by-function (or method or procedure)).  Surely something like this exists out there?

The fun thing, of course, would be to discover bit by bit the underlying (overarching) babel- (omni- ?)- language among all programming languages, and all the weird constructs that some have that others don’t.  (Closures, prototype-based vs. class-based OOP, lamda functions.)

The future never ceases to evade me

February 7th, 2006 by mmeves

Some random thoughts (ADD-parade):

goddess worship

thanks Sarah, kriskrug and ccote. (This is not a photoshop job. She was actually wearing this shirt.)

google identity

Scott, mom tells me that you are now the #1 google-hit for “meves.” Congrats. Having been displaced I feel a little disoriented, but I suppose that is my fault for carelessly leaving my sense of identity with a search engine ;)

body twitch

I said it here, now: One day in the next 5 years there will be a (successful?) chain of facilities that function as a mix between a video-arcade and fitness club. It will start with a gym installing “Dance Dance Revolution” arcade-game (or, less likely, an arcade installing showers) and/or some other such similar “physical” videogames, (like that boxing one, which seems to tire people out) … and then there will be a bigger market for such games and game companies will start to offer a wider variety of such games.

Research and engineering are of course underway for these games already. And I imagine that we could all come up with some remarkable physical videogames of our own. (I want one that teaches me how to dance to the “My Milkshake” song)

It might be difficult to make this lucrative in a gym-setting, because initial cost and the maintainence for a arcade DDR system is probably more than for an elliptical machine or treadmill (or is it?) and arcades and fitness centers differ in their respective pricing models. Also a challenge will be marketing it to the right demographic. There currently isn’t much crossover between the arcade-game market and the fitness-club set.

progress vertigo

Excerpt from David Heinemeier Hansson from the Rails book (pp.215 hardcopy): When discussing using SQL vs. ORM (e.g. DAO, e.g. ActiveRecord) David argues convincingly that there is a time and a place for both ORM and SQL. He says that you should “start out using the object-oriented interface for productivity and pleasure, and then dip beneath the surface for a close-to-the-metal experience when you need it to.” He is in fact referring to SQL as “close-to-the-metal”, which gave me a yet another little wave of progress-vertigo.

(All this time I felt guilty for not being too strong on hardware / networking (to say nothing of compiled languges or that .. what’s it called? assemblism code?), but now I feel more well-rounded for knowing something “low-level” like SQL. The future never ceases to evade me.)

In contrast,strongbad seems to have a handle on things with his succinct definition of technology

time management

Went to the dentist today (my actual teeth pictured). More on this later.

EZPDO, Propel, Rails

February 6th, 2006 by smeves

mark,

After out discussion about EZPDO, here is another one that looks more established and is use in the Symfony framework:

http://propel.phpdb.org/trac/

I think I may switch to this because it looks like it’s quite a bit more popular.

Also, I ordered the Ruby book. Doh.

Beat me to it again

February 1st, 2006 by mmeves

Damn. I guess I shouldn’t be surprised. Someone beat me to it — this is what my first project with Ruby on Rails was supposed to be:

http://cmsmatrix.org/

It’s is a tool that dynamically helps you choose among dozens (hundreds?) of content management systems.

(For those shopping for CMS’s see also opensourcecms.com, which lets you try out dozens and dozens of CMS’s and related things. (unfortunately this is limited to apps written in PHP4.))
This “decision maker” matrix is something that I have been wanting since like 2001, when I was sort of working on a version in Perl (or was it PHP?) to make such a thing for cell phones. (Choosing a cellphone plan can be daunting for the newcomer, if you remember that far back.) But then of course, I realized that such a tool would be useful for all kinds of purchasing decisions (Like a layer on top of pricewatch that does queries for you.) Surely, hundreds of other developers (entrepeneurs?) have thought of the value of something like this: Image a “push” ebay that stores your queries for desired items, and stores those items in a massive hyper-normalized (?) database. (A concept net? A knowledge-base?) It then notifies you when it finds items that fuzzy-match your query (within some tolerance).

Oh.. right. Amazon does this (among other online superstores). But does amazon have frontend that lets you construct queries with arbitrarily deep granularity with respect to the “problem domain”? What the hell am I talking about?
Surely, such a thing should be on its way to the surface by now, no? How come I haven’t heard of it? (It’s a rhetorical question — please don’t answer with an insult unless it’s clever ;))

I imagine the biggest challenges facing such a system would include but not be limited to:

  • keeping data current (spiders? trust metrics?)
  • keeping data accurate (”truthful”)
  • keeping data [properties? aspects? attributes? features?] unbiased and subjective
  • choosing aspect that can be compared to each other (aspect association)
  • allowing new aspects to be added dynamically

As for “keeping data current”, you would want spiders, when possible. I have always wanted a system that recognizes a spider as a “user” or “contributor” along with its human counterparts. (To have both humans and bots in the same table makes me shudder with excitement and reminds me of a story.) As for trust metrics, imagine a slashdot where people contribute not articles but well-defined, structured data?  (If you could get this easy enough for end-users to do, and you could set up an online shop, people would probably come knocking.)

But surely there’s something I’m not thinking of.

Well I can’t wait to see it when it happens. Shouldn’t be long now.

Instant Obsolessence

February 1st, 2006 by mmeves

is my business.

(So when do I get used to it?)

[then, on feb. 03:]

Is it possible that software is not like anything else, that it is meant to be discarded: that the whole point is to see it as a soap bubble?

—Alan Perlis

I discoverd Alan Perlis in Jim Weirich’s excellent blog where he is described as:

the first head of the Carnegie Mellon University Computer Science Department and the first recipient of the Turing Award, [who] recorded some of his accumlated knowledge about programming in a series of one sentence statements. You can read more about his Epigrams here

When were you first Turing-tricked?

February 1st, 2006 by mmeves

For me it was in like 1998 when I was in a users’ forum IRC chat room with bunch of Debian (linux) users. I kept asking neophyte questions like “how do you use apt-get” and they kept deferring my questions to some guy named Frank.
“Frank, tell Mark about apt-get.”

And Frank spit out a bunch of stuff about apt-get.

Everyone in the room kept sending the really easy questions to Frank, and what struck me was the manner in which they spoke to him: they were really rude and direct. I kept thanking Frank, and did not understand why the others weren’t extending him the same respect.

So anyway… blah blah blah I was engaged in a social interaction with this thing for a good minute or so before I realized that I was talking to a bot. Whatever: my belief was not suspended for that long, but long enough to give me a jolt. The feeling is probably akin to standing next to someone in an elevator and turning to them to ask the time and then realizing they are a mannequin. (one of my pet peeves in fact.)

Although it wore off quickly, the initial novelty of talking to a (somewhat useful) bot was exhilirating.
[more on this later]

test email post

January 30th, 2006 by smeves

apparently we can post to the blog from an email. this will prove to
be a useful tool when blogging from a cell phone or pda…

some needs for blogs

January 30th, 2006 by mmeves

[the following is an excerpt from an email i sent:]
Sorry to ramble — I have a question or two at the end.

I checked out your blogs (kiloblog, blogometer) for the first time today.
Enjoyed skimming over them — an activity I rarely engage in. distraught

[note: In the following I ramble on about ideas of what I think blogs “should” do. If there are already blog solutions that implement some of these features, I do not know about them because of my very limited real-world experience with both reading and writing blogs.]

[note: I do not consider any of this my intellectual property. If you like any of these ideas enough to run with them, please do so.]

One of my pie-in-the-sky dreams, as we may have discussed, is to write
blog software that would allow for authentication and then push
relevant entries (or emphasize them) to the reader based on her
profile of interests, or to push entries to different forward-facing
sites. (For example, under this scenario, both kiloblog.com and
blogometer.com would pull their content from the same underlying blog
database.)

Also readers could subscribe using a topic- or content-specific
filter, so that they get notified (RSS’ed ?) only when a post is made
that contains subject-matter or concepts from a set of their
pre-defined interests. (This might be of limited use applied to one
blog author, but applied to a community (or universe) of blogs, I
think this would be a very attractive feature.) I find it very likely
that something like this already exists.

Another cool feature I have daydreamed would be expandible-collapsible
blocks of text that would contain tangential or parenthetical notes.
For example, in a document intended primarily for a non-technical
audience, (like my managers) I would author technical details inside
such a box such that the secondary audience (my coworkers) could read
them, but my managers could easily ignore them.

As an offshoot, imagine writing a status report to a client, but then
also including private details intended only for your a limited
audience (like your development team) all in the same document.

(I am aware that all of these features would require a special
authoring interface that would allow for meta-tagging at such a small
level of granularity. You and I can probably both see the feasibility
of implementing such a thing with javascript.)

I think your “sub-blog” idea (from our conv. early summer ‘05) was
along similar lines. I guess what interests me specifically is the
underlying technical approach to such a scenario.

Riffing off of our conversations also, it would be great to have a
blog entry that is versioned and can revert itself to any arbitrary
version of itself for the reader. (So, for example, you could correct
yourself or build on your own ideas, but still have the earlier
versions of the document available for posterity and reference (which
might come in handy to synch the entry up with a comment that would
otherwise be irrelevant).)

The 37signals product “Basecamp” (free web-based project management)
has a widget they call a “writeboard” that implements such a feature,
but it is not dressed up as a blog.

Despite all this empty brainstorming, to-date i have *no* blog at all
(save for a handful of bad purple-prose entries on myspace) and I am
no closer to implementing the above than I ever have been.

Given that you have far more experience than me, could you please tell
me the blog software you use for your blogs? Do you recommend that
software? We are pretty big into Moveable Type (exclusively, i think)
here at the PR firm. Of course, all of us php developers bemoan its
being written in Perl.

I don’t realistically expect ever to get around to implementing most
of the wacky features I have outlined above. Ironically, I would
rather blog about them and see if someone else ever gets around to it.
;)

–mark meves