Saturday, March 07, 2009

An bhfuil "Hello World" gesagt agat?

[[ Darf ich dul go dtí an little boy's room. Please. Miss! ]]

These links don't just grow on trees you know, please support our sponsors:
I think perhaps the most important problem is that we are trying to understand the fundamental workings of the universe via a language devised for telling one another when the best fruit is
Ok, back again ? The redditors are gone, and that brief drunken fling with ysh is past-ish, so let's refocus on language(s).
  • What is it?
  • Which is it?
  • How are magical and mythical languages related?
  • What are it's characters' motivations?
  • Which framework should I ... should I use a framework ?
  • Why is it so shallow?
  • You were expecting answers? In a blog?
  • Why are there so few free multi-language tools (and why are the commercial ones so, ..., otherwise engaged) ?
  • How are magical and mythical languages related?
Languages suggests frameworks like a joker suggests chaos, you'd want to become a symbol to differ.It doesn't have to be that wayknow that a language signifies nothing that another one couldn't just as, usually nearly as, easily signify. And any saved geek (noun: "a geek who sees beyond the religions like vi and emacs (and uses vim anyway)") would've noticed the same squandering of significant signification in perl v python v ruby.

  • The language that I am using means nothing that any other couldn't usually as easily mean
  • If you wish to consider meaning, language is irrelevant
  • Let's just consider that for a moment
  • Whoa, back up a minute there


"The collection plate is at the
...
END of The Congregational Hall

Hope to
...
See you all next week
"

Labels: , , , , , , , , , , , , , , ,

Where'd you git that?

(Some names have been changed to suggest subversion)

I use at least 5 distinct logins on the LAN at work
  • a.murphy (one laptop and many servers)
  • builder (a few (virtual) servers)
  • tracker (one server)
  • root (on build and tracker servers, where I am root)
  • root (on many test servers, where I'm just visiting)
And on the home LAN there are three more
  • a.murphy (one laptop)
  • development (a few servers)
  • IT guy (including expensive OSs)
I would dearly love that ll worked the same way on all of them. And that it worked my way on all of them, namely
alias ll='ls -laht --color'
Of course "--color" might not be available on some machines, so some variations are allowed.

I would especially like to take my ll with me into guest accounts, such as the roots on the corporate test servers, being careful not to interfere with other users' definitions and aliases.

I'd also like to propogate changes across machines, so that, if builder wants to re-define ll then builder's ll is available no matter what machine he is logged in to. And there should be an easy way for another user to adapt builder's new definition of ll, and have that propogate across all machines too.

There are various solutions available for this problem, but they tend to miss the sweet spot on scale - they cater for a user on two machines, or billions of users on trillions of machines (I exaggerate slightly for exmphasis), whereas I want to make my like easy with a few users on a few servers.

A propos of nothing in particular
The greatest missed opportunity in Computer Science is the introduction of the Troll numeric system for programming languages. The Troll system uses
  • one
  • two
  • many
  • lots
and it'd be interesting to adapt current alogorithms to that, But I'm mumbling again't I ?

Oh - and it should work on any system using bash (including on OS X, where they live just far enough over the edge to make one careful. "/User" instead of "/home" - little gotchas like that.)

I have been using a system for this over the last month.
  1. Subversion server, on the corporate LAN
  2. Holds file each for aliases, functions, environment, prompt and bashrc
  3. Subdirectories for vim, my/python/site, and like that
Works better in this incarnation because I have not tried to version ~/.bashrc. Rather I just source my stuff thence. Even with a group of accounts as close as mine are - there are still reasons why there's more than one, and each account needs it own private time too.

The four files (aliases, functions, prompt and environment) have stayed remarkably clean. There is some
if [[ $HOST == "..." ]]
left, but mostly because I checked out the same devlopment sources to different directories on different servers.

Since I started using this system the number of aliases and functions I write has exploded. Because they are more carefully written to work in different contexts, and because it is now so easy to transfer them between terminals ("scj" in one, "upj" in another, done), I write more of them.

I chose a centralised, Subversion, repository because
  • I maintain such repositories, so it was set up in 5 minutes
  • Who's to notice one more repository on the company's server ?
  • Their server is backed up to Aero-Industry standards (mine isn't)
But a central repository is not right for this system, it's too restrictive. When making changes at home having to commit changes to the company's server in order to send it from upstairs to the kitchen adds a brake, clutch, change, clutch, accelerate, when I thought I was driving automatic.

It's not network speed - a commit is tens of bytes - it's more the teenage rebel in me
  • What's so special about that account?
  • How come he gets to sit on the server?
  • He'll go and resign, then we're fucked

And, yes, it is immature, but I only indulge my Id when I'm right.
It's an inherently distributed system, and git or Mercurial would be better.

git is scary. I could not get it working on enough machines
  • OSX - easy
  • CentOS - peasy
  • Mandriva - poisson
but the scary thing is the ability to rewrite your history. Which is just not any kind of repository I recognize.

Mercurial is Python from the ground up - I shall follow the shiny path.

Labels: , , , , , , ,

Tuesday, October 04, 2005

Why AI ?

AI is agitatingly interesting.

I just can't get it out of my head, it has such arresting implications, and actual implementations. But still has room for mailing lists full of tomes that start with "I believe ...".

Of course there is no such thing as "Artificial Intelligence", because there is no agreed definition of intelligence. Hence poor ol' Deep Blue takes on the champeen o de worl', beats him, and ... is not "intelligent" after all. And many algorithms will suffer the same applied ignominy as it turns out their solutions aren't "intelligent" after all. Like Jane in Michael Jackson's story.

All of which shall continue in the great world out there, but in here I am going to apply insights derived from the field to the more awkwardly immediate problem of PI - programming intelligence.

Why should PI be a more immediate problem than AI ? Because I need it daily, and the tools I have to work with are so fucking primitive. With one or two honourable exceptions, the tools I use for programming, are nothing to do with programming !

Ok, ok, caveats galore again - I do use compilers, and build systems, and debuggers, but for two out of these three I don't use them directly, they happen behind the curtain. And, now that I think of it - I haven't used a debugger in months. Not since I switched to Python.

So I can reasonably repeat - the tools I use for programming know nothing about programming.

Enhanced by Zemanta

Labels: , , , , , , , ,