These guys just spammed me, so I'm not sure why I'm giving them publicity.
But All Dropping Domains is kind of interesting.
Tuesday, March 31, 2009
Sunday, March 29, 2009
Thursday, March 26, 2009
Tuesday, March 17, 2009
Zed is so on the money here :
Then I went to another event at SparkSpace, which is a fairly nice coworking place in midtown. I walked in the door and some guy (one of the hosts I guess) asked what I do. I said, “Well, I’m a programmer but I…” Then he cut me off and said, “Oh! Everyone’s always looking for techies. I’m sure you can find some great ideas here to work on.”
Yes, because I don’t have any of my own ideas. No, you see I’m a fucking nerd because I code. Never mind that I’ve traveled the world, survived horrible events, built myself up from nothing learning to fight, love, pray, and survive despite numerous obstacles that would make this little maggot piss his fucking pants.
I fucking code so I’m not a man anymore.
You see people, the alpha males have business degrees. They can be fat and pasty, pretty boy douchebags, or even ugly serial killers, but if they have an MBA from a 6 month “executive program” then they’re ALPHA. They have the ideas. They have the balls. They’re full of testosterone. Now me, I learned to actually do something with my brain besides take people’s money, which means I’m not a real man. My ideas don’t mean anything and I’m just supposed to let the adults talk. I’m BETA, and only some shit fuck rich boy (or wannabe rich boy) with his fucking pop-up collar and cheap suit can truly lead.
Thursday, March 12, 2009
Strange case of paper and pencil "beating" computers.
Personally I love my paper and pen. And I love my computer. When we finally get a computer interface as cheap, portable and flexible as my paper-notebook, then I'll be happy.
Personally I love my paper and pen. And I love my computer. When we finally get a computer interface as cheap, portable and flexible as my paper-notebook, then I'll be happy.
Tuesday, March 03, 2009
Now this guy is impressive.
Thursday, February 26, 2009
Yes. Atlas is also pretty damned cool.
I'm not, personally, quite so excited by this as I am by Bespin. But it's nice. Particularly how you program the sizers by clicking on which edges are glued and which not. And the connection of the panels in the screen to controllers on a special bar is good.
I'm not, personally, quite so excited by this as I am by Bespin. But it's nice. Particularly how you program the sizers by clicking on which edges are glued and which not. And the connection of the panels in the screen to controllers on a special bar is good.
It just occurred to me ...
Bespin's back-end server. Google Application Engine. Enso.
Python really is what the cool kids are doing these days, isn't it?
Python + javascript, of course.
Bespin's back-end server. Google Application Engine. Enso.
Python really is what the cool kids are doing these days, isn't it?
Python + javascript, of course.
Wednesday, February 25, 2009
Bespin
This is it!!!! Editing moves to the browser.
The future has arrived.
...
Update : LOLZ ... the hierarchical code-browser is a steal from Smalltalk. (Of course!)
Marcadores:
besin,
browser,
developing in wiki,
javascript,
smalltalk
Tuesday, February 24, 2009
App. Engine's pay-for-more model goes live.
Monday, February 02, 2009
Worth reading "Where's your data?"
Remember, your Mind Traffic Control data is easily exportable. Just go to : http://mindtrafficcontrol.appspot.com/exports (Via the "Export Data" menu item) and choose whether you want your data exported in CSV format (which you can import into Excel or EditGrid etc.) or OPML (which can be read in the OPML Editor or (less conveniently) in any XML editor).
Remember, your Mind Traffic Control data is easily exportable. Just go to : http://mindtrafficcontrol.appspot.com/exports (Via the "Export Data" menu item) and choose whether you want your data exported in CSV format (which you can import into Excel or EditGrid etc.) or OPML (which can be read in the OPML Editor or (less conveniently) in any XML editor).
Marcadores:
mind traffic control,
mtc,
opml,
spreadsheets
Wednesday, January 28, 2009
I love micro unit testing frameworks like Minunit.
Turns out you can do something even simpler with Erlang.
Turns out you can do something even simpler with Erlang.
Marcadores:
erlang,
tdd,
test-driven development,
unit-testing
Tuesday, January 27, 2009
Bruce Eckel on Grass Farming
Update : (Hat-tip Folknology) Michael Pollan talk at TED
Update 2 : I wonder, actually, if "grass farming" could be the new "pattern languages"?
What I mean is, patterns gave us a new way of thinking about the architecture of large software systems, and in particular thinking about their dynamics.
It seems that if we take the idea of grass-farming seriously, we're really talking about understanding the symbiotic relationships between species (and lets translate that to software-systems / agents) and finding ways to tune the interactions between them for improved performance (or resilience if that's what we prefer).
It's a bold but simple metaphor which I think inspires a lot of productive thinking. Perhaps not as rich as Alexander's work, but still a powerful idea to muse on. And I can imagine people starting to document the various symbiotic interdependencies using patterns.
Update : (Hat-tip Folknology) Michael Pollan talk at TED
Update 2 : I wonder, actually, if "grass farming" could be the new "pattern languages"?
What I mean is, patterns gave us a new way of thinking about the architecture of large software systems, and in particular thinking about their dynamics.
It seems that if we take the idea of grass-farming seriously, we're really talking about understanding the symbiotic relationships between species (and lets translate that to software-systems / agents) and finding ways to tune the interactions between them for improved performance (or resilience if that's what we prefer).
It's a bold but simple metaphor which I think inspires a lot of productive thinking. Perhaps not as rich as Alexander's work, but still a powerful idea to muse on. And I can imagine people starting to document the various symbiotic interdependencies using patterns.
Friday, January 16, 2009
Dave Winer back on Instant Outlining.
Would certainly be interesting if there was some movement on this. And some development of the OPML outliner in this direction.
Would certainly be interesting if there was some movement on this. And some development of the OPML outliner in this direction.
Ian Bicking on Python and Woonerf. A new pattern?
Thursday, January 15, 2009
Scribe is searching for "Harmonious Technology".
Marcadores:
enso,
harmonious technology,
quality without a name
Tuesday, January 13, 2009
This is possibly the best StackOverflow thread ever (on the quirks of Python closures)
Monday, January 12, 2009
Sunday, January 04, 2009
Saturday, January 03, 2009
Wednesday, December 24, 2008
Tuesday, December 23, 2008
Wednesday, December 10, 2008
Tuesday, December 09, 2008
Titanium is the free-software version of Adobe Flex / AIR?
Monday, December 08, 2008
Thursday, December 04, 2008
Sunday, November 30, 2008
A couple of great videos via Zbigniew
Avi Bryant's powerful spreadsheet editor that remembers changes that you make by hand and can apply them in bulk to the rest of the lines in your spreadsheet. Note that Avi's a Smalltalk guy, and a more primitive version of this (repeat last replace) has been in the Smalltalk environment for decades. Cool to see that Smalltalk ideas are still proving revolutionary 30 years later :-) (And cool of Avi to keep discovering them and taking them further)
Another way of doing something similar : Mass Edit which puts simultaneous editing cursors under the user's command. Very clever. That's from a video by David Huynh who seems to be involved in a lot of other neat research, like this mashup tool.
Avi Bryant's powerful spreadsheet editor that remembers changes that you make by hand and can apply them in bulk to the rest of the lines in your spreadsheet. Note that Avi's a Smalltalk guy, and a more primitive version of this (repeat last replace) has been in the Smalltalk environment for decades. Cool to see that Smalltalk ideas are still proving revolutionary 30 years later :-) (And cool of Avi to keep discovering them and taking them further)
Another way of doing something similar : Mass Edit which puts simultaneous editing cursors under the user's command. Very clever. That's from a video by David Huynh who seems to be involved in a lot of other neat research, like this mashup tool.
Marcadores:
dabble,
editor,
mashup tools,
mashups,
mass edit,
smalltalk,
spreadsheets,
tools
Thursday, November 27, 2008
A Platform Wars post on spreadsheets.
Not making as much progress on SdiDesk.NET as I thought I would. How can Visual Studio 2008 be soooo S-L-O-W? I swear it takes between 30 seconds and minute both to start and stop(!!!) my program executing.
At least with punched cards you knew where you were.
At least with punched cards you knew where you were.
Tuesday, November 25, 2008
Jocelyn Paine is one of the more interesting thinkers about evolving spreadsheets. Here's some recent stuff about components in Google Sheet.
Marcadores:
composability,
Excelsior,
google,
jocelyn paine,
spreadsheets,
widgets
StackOverflow discusses how to keep notes about programming projects : paper notebooks win hands-down.
Monday, November 24, 2008
Bill Seitz :
One Product Management rule Of The Day, that I try to impose, against resistance from most people, is Tasks that aren't crucial don't become more important with age. (Of course, if you have a paying client, "crucial" may be filtered via the Golden Rule.) Every task that takes more than 30min (even less?) should be evaluated against "is this the most important thing to do now?" (FoCus). Go ahead and stick that item on a To Do List. But it's ok if it sits there forever.
Sunday, November 23, 2008
I didn't know some of these great Python features.
Thursday, November 20, 2008
More playing with online spreadsheets.
Here's a cute example. This is an EditGrid spreadsheet that pulls book data from Amazon (including price in dollars), currency data from Yahoo, and then calculates the price in pounds of the books. It's a "calculator" meaning that I've set up only one field to be editable (the search term for the book, in the white cell) and you can change this in your local copy, without it changing my original.
Looks like spreadsheets really are evolving to be the online user-programmable dashboards which people can use to create and publish their own mashups and other software. Very exciting.
Here's a cute example. This is an EditGrid spreadsheet that pulls book data from Amazon (including price in dollars), currency data from Yahoo, and then calculates the price in pounds of the books. It's a "calculator" meaning that I've set up only one field to be editable (the search term for the book, in the white cell) and you can change this in your local copy, without it changing my original.
Looks like spreadsheets really are evolving to be the online user-programmable dashboards which people can use to create and publish their own mashups and other software. Very exciting.
Tuesday, November 18, 2008
So I created a CollabFinder profile.
Now, what would be really smart would be a way to import my StackOverflow rating into it.
Now, what would be really smart would be a way to import my StackOverflow rating into it.
It's definitely SdiDesk week this week. Watch the repository.
Wednesday, November 12, 2008
PythonCard, the Hypercard / VB-like python development environment maybe being forked and revivified.
Interesting new Subtext programming language presentation. (Schematic Graphs)
Quick answer to the guy who used yesterday's Form Experiment to ask what's happening with SdiDesk ...
Here's the status report :
1) In the last couple of weeks I quit my job and moved back to the UK ... which has been taking up quite a lot of my time and energy.
2) Once we've settled in, I hope I can get some time to focus on my projects ... including SdiDesk (and GeekWeaver, MTC etc.) The good thing, no more distractions from my previous demanding day-job. The bad thing, after a brief holiday I need to find work in the UK. (Offers, tips and suggestions are, of course, welcome)
3) SdiDesk was converted to VB.NET this year. And the source-code in progress is available on Google Code.
4) I am NOT a VB.NET programmer, and frankly, from the little I've played with it so far, I'm not very excited about getting more involved. I admired VB exactly because the combined language + IDE made Windows programming mindlessly easy. Throw away that virtue (as VB.NET seems to have done, and I'm blaming the new, incredibly sluggish and cluttered VS2008 as much as changes to the language) and it has little to recommend it against other languages.
5) On the hand, I'm a pragmatist and often able to find something interesting pretty much anywhere. I also know that in a recession I may not be able to be too fussy when it comes to getting a job. So I will be spending a bit more time over the next month or so tidying up the VB.NET codebase, fixing some egregious issues, and making an installer. It's going to be useful to me to be able to say that I can operate in the VB.NET world, and produce working products.
6) Longer term, my preference and commitment is still to a Python SdiDesk-like thing. And most-likely a Python server with UI in the browser (javascript etc.) I've cooled towards the idea of Flex (mainly because my trial copy expired and I remembered all the problems of depending on proprietory software)
The attraction of anything other than the browser has always been the vector drawing in the network diagramming part of the software. But I'm sure that if I just wait a little bit longer, the browser will eventually be able to handle this too.
7) As always, I'm not unaffected by user feedback and other things going on in my life :-) ... if there's suddenly a surge in interest or demand for a VB.NET SdiDesk then I may reconsider.
8) Joe Question asks : "how risky is it to commit myself to SdiDesk.NET then? What about all my pages?" Answer : SdiDesk.NET reads your existing PageStore files. There may be some issues with the size of the diagrams, but everything works. If it doesn't, tell me.
However, you can't even try SdiDesk.NET currently unless you're a VB programmer because it's only available in source form. There will certainly be a build for end-users this year and it will read your existing PageStore. The main reason you want this is if you're an existing SdiDesk user who has moved (or will move soon) to Vista where the old VB6 version won't run.
I'm always committed to upgrade compatibility. You'll be able to move your existing SdiDesk pages to SdiDesk.NET, and you'll be able to import them into a future Python version.
Here's the status report :
1) In the last couple of weeks I quit my job and moved back to the UK ... which has been taking up quite a lot of my time and energy.
2) Once we've settled in, I hope I can get some time to focus on my projects ... including SdiDesk (and GeekWeaver, MTC etc.) The good thing, no more distractions from my previous demanding day-job. The bad thing, after a brief holiday I need to find work in the UK. (Offers, tips and suggestions are, of course, welcome)
3) SdiDesk was converted to VB.NET this year. And the source-code in progress is available on Google Code.
4) I am NOT a VB.NET programmer, and frankly, from the little I've played with it so far, I'm not very excited about getting more involved. I admired VB exactly because the combined language + IDE made Windows programming mindlessly easy. Throw away that virtue (as VB.NET seems to have done, and I'm blaming the new, incredibly sluggish and cluttered VS2008 as much as changes to the language) and it has little to recommend it against other languages.
5) On the hand, I'm a pragmatist and often able to find something interesting pretty much anywhere. I also know that in a recession I may not be able to be too fussy when it comes to getting a job. So I will be spending a bit more time over the next month or so tidying up the VB.NET codebase, fixing some egregious issues, and making an installer. It's going to be useful to me to be able to say that I can operate in the VB.NET world, and produce working products.
6) Longer term, my preference and commitment is still to a Python SdiDesk-like thing. And most-likely a Python server with UI in the browser (javascript etc.) I've cooled towards the idea of Flex (mainly because my trial copy expired and I remembered all the problems of depending on proprietory software)
The attraction of anything other than the browser has always been the vector drawing in the network diagramming part of the software. But I'm sure that if I just wait a little bit longer, the browser will eventually be able to handle this too.
7) As always, I'm not unaffected by user feedback and other things going on in my life :-) ... if there's suddenly a surge in interest or demand for a VB.NET SdiDesk then I may reconsider.
8) Joe Question asks : "how risky is it to commit myself to SdiDesk.NET then? What about all my pages?" Answer : SdiDesk.NET reads your existing PageStore files. There may be some issues with the size of the diagrams, but everything works. If it doesn't, tell me.
However, you can't even try SdiDesk.NET currently unless you're a VB programmer because it's only available in source form. There will certainly be a build for end-users this year and it will read your existing PageStore. The main reason you want this is if you're an existing SdiDesk user who has moved (or will move soon) to Vista where the old VB6 version won't run.
I'm always committed to upgrade compatibility. You'll be able to move your existing SdiDesk pages to SdiDesk.NET, and you'll be able to import them into a future Python version.
Tuesday, November 11, 2008
Friday, October 24, 2008
Good overview of PBWiki's corporate wiki business.
Age distribution of StackOverflow users (hat tip mfeathers)
I mentioned that I think StackOverflow is totally amazingly wonderful, right? :-)
I mentioned that I think StackOverflow is totally amazingly wonderful, right? :-)
Tuesday, October 21, 2008
Interesting. Reia's Tony Arcieri debunks Erlang's "single assignment" propaganda.
I guess someone could argue that once you have multiple assignment you're going to be more tempted to write a longer chain of actions as a sequence of statements rather than composing it out of multiple functions ... and this may be a bad thing.
But I've ranted often enough against languages which think its their job to constrain programmers that it better not be me who makes that argument.
Update : I'd like to see Frederik's question about closures (in the comments of that blog-post) answered though.
Update 2: Ulf Wiger points out that it got answered by Robert Virding later in the comments.
I guess someone could argue that once you have multiple assignment you're going to be more tempted to write a longer chain of actions as a sequence of statements rather than composing it out of multiple functions ... and this may be a bad thing.
But I've ranted often enough against languages which think its their job to constrain programmers that it better not be me who makes that argument.
Update : I'd like to see Frederik's question about closures (in the comments of that blog-post) answered though.
Update 2: Ulf Wiger points out that it got answered by Robert Virding later in the comments.
Follow on from yesterday's "Python / Haskell crossbreed" post. Both Al "Folknology" and Gleber point me at the Reia programming language. A Python / Ruby like scripting language on top of the Erlang Open Telecom Platform (Erlang's parallel virtual machine).
Very sweet ... I've subscribed to the mailing list to find out more.
Very sweet ... I've subscribed to the mailing list to find out more.
Monday, October 20, 2008
Prediction I made :
Don't know if I entirely believe that, but it's a good conversational gambit. And there's a certain logic to it if you look at the languages visually.
I'm personally, more into investigating Erlang at the moment, mainly because it seems more practical. The fast, parallel virtual machines are here and ready to go. But I could see myself looking back at Haskell too if it seemed to be gaining momentum.
I guess I also like the Erlang story on concurrency through message passing rather than transaction memories. And perhaps the whole typing thing is overdone in Haskell, although I can certainly see that it buys you more in that context than in, say, an OO language.
But I'd really love to see someone come up with mashup of the best bits of Python, Erlang and Haskell. It would *look* more or less like Python, although would find some-way to do multi-line lambdas etc. Like Haskell and Erlang it would have pattern matching arguments, functions defined over several definition statements, and immutable state. Like Erlang there'd be processes and messages as standard. Like Haskell, monads. Classes might be more like Haskell.
How might a language like this look?
Note that what's in brackets after the word Tree is neither a super-class (as in Python) nor a list of types as in Haskell nor a definitive list of field names. It's something more like information that a Tree is a tuple of three elements. And that by default they're called val, left and right.
These default names for the elements of the tuple can be over-ridden in functions which deconstruct a Tree using patterns. For example, the size function doesn't care about the initial val element and so leaves it blank.
I just thought of trying to make size a method of the class Tree. The syntax might then look something like this :
Where, obviously, the object itself is still (as in Python) explicitly passed as the first argument to the method, but instead of being called "self" we pick it up with the pattern of another Tree constructor and so it gets broken into _,left and right.
But where do we put the None / empty tree clause? My first thought was something like this :
But that's not quite going to work. If this really were a more statically typed language like Haskell, and we knew that left and right were always Trees, this would be OK. But as we're trying to go for Pythonic duck-typing we have a problem. We would still like left.size() to mean, "pass the method selector size() to the object left" and then let the class of left decide how to handle it. But where left is None we have no idea which class to use to call. We could have a multitude of classes which define size(None); which would we pick?
Note that this is not the pattern-matching's fault. We'd have the same problem here :
We could get around the problem by disallowing methods which take a single None argument, effectively forcing the programmer to write something like this :
But this starts looking somewhat clunky.
We might make it a bit less awkward by providing conditional evaluation to the left and right subtrees. Based on Python's current conditional expression syntax that would look something like this :
Or maybe we have to accept a static type system closer to Haskell's. Perhaps the types, in this case, contribute to Haskell's terseness.
I predict that in five years time, the hot language will either be a version of Python which has adopted ideas (Pattern matching arguments, Monads, immutability etc.) from Haskell; or a Haskell-like language which has borrowed some syntactic sugar from Python.
Don't know if I entirely believe that, but it's a good conversational gambit. And there's a certain logic to it if you look at the languages visually.
I'm personally, more into investigating Erlang at the moment, mainly because it seems more practical. The fast, parallel virtual machines are here and ready to go. But I could see myself looking back at Haskell too if it seemed to be gaining momentum.
I guess I also like the Erlang story on concurrency through message passing rather than transaction memories. And perhaps the whole typing thing is overdone in Haskell, although I can certainly see that it buys you more in that context than in, say, an OO language.
But I'd really love to see someone come up with mashup of the best bits of Python, Erlang and Haskell. It would *look* more or less like Python, although would find some-way to do multi-line lambdas etc. Like Haskell and Erlang it would have pattern matching arguments, functions defined over several definition statements, and immutable state. Like Erlang there'd be processes and messages as standard. Like Haskell, monads. Classes might be more like Haskell.
How might a language like this look?
class Tree(val,left,right)
def size(None) : 0
def size(Tree(_,left,right)) :
1 + size(left) + size(right)
Note that what's in brackets after the word Tree is neither a super-class (as in Python) nor a list of types as in Haskell nor a definitive list of field names. It's something more like information that a Tree is a tuple of three elements. And that by default they're called val, left and right.
These default names for the elements of the tuple can be over-ridden in functions which deconstruct a Tree using patterns. For example, the size function doesn't care about the initial val element and so leaves it blank.
I just thought of trying to make size a method of the class Tree. The syntax might then look something like this :
class Tree(val,left,right) :
def size(Tree(_,left,right)) :
1 + left.size() + right.size()
Where, obviously, the object itself is still (as in Python) explicitly passed as the first argument to the method, but instead of being called "self" we pick it up with the pattern of another Tree constructor and so it gets broken into _,left and right.
But where do we put the None / empty tree clause? My first thought was something like this :
class Tree(val,left,right) :
def size(None) : 0
def size(Tree(val,left,right)) :
1 + left.size() + right.size()
But that's not quite going to work. If this really were a more statically typed language like Haskell, and we knew that left and right were always Trees, this would be OK. But as we're trying to go for Pythonic duck-typing we have a problem. We would still like left.size() to mean, "pass the method selector size() to the object left" and then let the class of left decide how to handle it. But where left is None we have no idea which class to use to call. We could have a multitude of classes which define size(None); which would we pick?
Note that this is not the pattern-matching's fault. We'd have the same problem here :
class Tree(val,left,right) :
def size(self) :
if self is None : 0
else :
1 + self.left.size() + self.right.size()
We could get around the problem by disallowing methods which take a single None argument, effectively forcing the programmer to write something like this :
class Tree(val,left,right) :
def size(Tree(_,None,None)) : 0
def size(Tree(_,None,right)) : 1+right.size()
def size(Tree(_,left,None)) : 1+left.size()
def size(Tree(val,left,right)) :
1 + left.size() + right.size()
But this starts looking somewhat clunky.
We might make it a bit less awkward by providing conditional evaluation to the left and right subtrees. Based on Python's current conditional expression syntax that would look something like this :
class Tree(val,left,right) :
def size(Tree(_,left,right)) :
1 + (left.size() if left else 0) +
(right.size() if right else 0)
Or maybe we have to accept a static type system closer to Haskell's. Perhaps the types, in this case, contribute to Haskell's terseness.
Marcadores:
erlang,
haskell,
java.next,
programming languages,
python
Saturday, October 18, 2008
Kira is a language which compiles to PHP
Monday, October 13, 2008
A pompous statement from the Voodoo Tiki God
StackOverflow discussion on good in-browser code-editors. Worth following.
Sunday, October 12, 2008
I'm expounding my usual "late-bound" tabs model of IDEs again, over on StackOverflow.
... late binding between the buffer in the editor and actual concrete thing you're working on, gives the editing environment more flexibility and power.
Think this is out of date? One place where the idea is back with a vengeance is in the browser, where you don't have 1-1 correspondence between tabs and web-pages. Instead, inside each tab you can navigate forwards and backwards between multiple pages. No-one would try to make an MDI type interface to the web, where each page had it's own inner window. It would be impossibly fiddly to use. It just wouldn't scale.
Personally, I think IDEs are getting way too complicated these days, and the static binding between documents and buffers is one reason for this. I expect at some point there'll be a breakthrough as they move to the browser-like tabbed-buffer model where :
a) you'll be able to hyperlink between multiple files within the same buffer/tab (and there'll be a back-button etc.)
b) the generic buffers will be able to hold any type of data : source-code, command-line, dynamically generated graphic output, project outline etc.
Marcadores:
browser,
developing in wiki,
emacs,
ide,
late-binding,
tfi,
user-interfaces
Saturday, October 11, 2008
Take a look at AppJet. An educational take on the IDE in a browser.
Thursday, October 02, 2008
George Monbiot has a good piece on pursuing the work you want.
So my final piece of advice is this: when faced with the choice between engaging with reality or engaging with what Erich Fromm calls the "necrophiliac" world of wealth and power, choose life, whatever the apparent costs may be.
Tuesday, September 30, 2008
Work is never fun if you do it for other people.
But why?
I'd guess it's not simply that someone else is asking you for it. It's that the other person is *always* setting some constraints, defining the boundaries of what the thing should be, that don't entirely line up with your own.
And then there's a *disappointment*, a sense of the thing not being quite "right" as you have to cut and stretch the product to fit the Procrustean frame your client asks for.
But why?
I'd guess it's not simply that someone else is asking you for it. It's that the other person is *always* setting some constraints, defining the boundaries of what the thing should be, that don't entirely line up with your own.
And then there's a *disappointment*, a sense of the thing not being quite "right" as you have to cut and stretch the product to fit the Procrustean frame your client asks for.
Monday, September 22, 2008
Round-up of web-based IDEs.
Ecco via Roberto Saccon
Eclifox, plug Eclipse into Firefox.
Global System Builder (web-based IDE for IronPython)
Ecco via Roberto Saccon
Eclifox, plug Eclipse into Firefox.
Global System Builder (web-based IDE for IronPython)
Sunday, September 21, 2008
My God! Visual Studio 2008 and VB.NET suck!
Saturday, September 20, 2008
Surprising SdiDesk news!!!!!
Like Cthulhu, SdiDesk, is still, currently dead, but occasionally stirs in its sleep and sends out weird dreams to the minds of men. Here's one-such ...
Around this time last year I got a new laptop with Vista and discovered that the old SdiDesk (in VB6) didn't work. Not having VB6 on the machine (or any installers for it) I didn't have a way to fix the problem. And anyway, I was (am) emotionally committed to getting off the Microsoft / VB treadmill and moving to a Python SdiDesk. (Really, I am!)
Six months later, though, heavily involved with GeekWeaver etc., I realized that I'd done nothing towards it. And SdiDesk was still broken.
I came across the new Visual Studio 2008 Express (free-as-in-beer) edition and decided to take a quick look.
It was s-l-o-w even on this newish laptop. And heavy, and I couldn't make much of it. But I realized that a) while I still wanted nothing to do with VB.NET and Windows-only programming b) SdiDesk was going to go extinct pretty quickly if it couldn't run at all. There seemed to be a closing window of opportunity to keep the original code-base and program alive. And I couldn't quite bring myself to let it die entirely.
So why not find someone else, who already knows about his kind of thing (VB6 to VB.NET conversions)? Via Rentacoder I contracted Zebo in Faisalabad, and thanks to some dedicated work by him, the SdiDesk source is now converted to VB.NET.
I'm not entirely sure where I'm going with this. The job Zebo did was a straight upgrade of the original VB6 code, (using the mechanical conversion and manually fixing the things the update couldn't handle). It's taken a while to sort out some weird security issues (eg. why the hell wouldn't Vista let it see Today's date?)
What there is now is new source-code which I've put on Google. If you're a VB.NET programmer you can check it out of the SVN repository and it should run.
I want to make a couple of minor tweaks before I make an installer for end users.
After that I'm keeping an open mind. It will depend a lot on whether existing SdiDesk users upgrade and new users appear. In general, the aim is still to move off VB, but exactly how and when, is open-ended.
Remember that this is the official blog for SdiDesk news and discussion so you can always get the latest news here.
Like Cthulhu, SdiDesk, is still, currently dead, but occasionally stirs in its sleep and sends out weird dreams to the minds of men. Here's one-such ...
Around this time last year I got a new laptop with Vista and discovered that the old SdiDesk (in VB6) didn't work. Not having VB6 on the machine (or any installers for it) I didn't have a way to fix the problem. And anyway, I was (am) emotionally committed to getting off the Microsoft / VB treadmill and moving to a Python SdiDesk. (Really, I am!)
Six months later, though, heavily involved with GeekWeaver etc., I realized that I'd done nothing towards it. And SdiDesk was still broken.
I came across the new Visual Studio 2008 Express (free-as-in-beer) edition and decided to take a quick look.
It was s-l-o-w even on this newish laptop. And heavy, and I couldn't make much of it. But I realized that a) while I still wanted nothing to do with VB.NET and Windows-only programming b) SdiDesk was going to go extinct pretty quickly if it couldn't run at all. There seemed to be a closing window of opportunity to keep the original code-base and program alive. And I couldn't quite bring myself to let it die entirely.
So why not find someone else, who already knows about his kind of thing (VB6 to VB.NET conversions)? Via Rentacoder I contracted Zebo in Faisalabad, and thanks to some dedicated work by him, the SdiDesk source is now converted to VB.NET.
I'm not entirely sure where I'm going with this. The job Zebo did was a straight upgrade of the original VB6 code, (using the mechanical conversion and manually fixing the things the update couldn't handle). It's taken a while to sort out some weird security issues (eg. why the hell wouldn't Vista let it see Today's date?)
What there is now is new source-code which I've put on Google. If you're a VB.NET programmer you can check it out of the SVN repository and it should run.
I want to make a couple of minor tweaks before I make an installer for end users.
After that I'm keeping an open mind. It will depend a lot on whether existing SdiDesk users upgrade and new users appear. In general, the aim is still to move off VB, but exactly how and when, is open-ended.
Remember that this is the official blog for SdiDesk news and discussion so you can always get the latest news here.
Monday, September 15, 2008
StackOverflow went live today, and it's already pretty good.
Update : Actually StackOverflow is awesome! Look what cool tricks people are doing with it.
Joel has another hit on his hands. It's amazing what you can do when you're smart AND have an audience.
Update : Actually StackOverflow is awesome! Look what cool tricks people are doing with it.
Joel has another hit on his hands. It's amazing what you can do when you're smart AND have an audience.
This looks good. CodeMirror, an in-browser code-editor.
Sunday, September 14, 2008
Here's a company with the right attitude. Their recruitment puzzle is pretty cute, too.
Saturday, September 13, 2008
Lloyd Davis's Social Media Empire, driven from a N95.
Thursday, September 11, 2008
Richard Gabriel is thinking and speaking about Ultra-large Scale, Resilient, Systems.
Essential reading.
Essential reading.
Marcadores:
abstraction,
programming,
scale,
sdi philosophy
Phil Windley on creating your own Domain Specific Language.
Marcadores:
domain specific languages,
dsl,
geekweaver
Tuesday, September 09, 2008
Compare and Contrast : TiddlyWeb with Ian Bicking's suggestion for the browser being able to request individual sub-trees of a DOM from the server.
The web is becoming more and more "feedlike".
(And yet email is ... well email is sort of feedlike, isn't it?)f
(And yet email is ... well email is sort of feedlike, isn't it?)f
Tuesday, September 02, 2008
Friday, August 22, 2008
A wiki with "Executable English"?
Of course, if like me, you use GMail for everything, these new email interfaces are less accessible ... when will Google offer a skinnable / pluginable architecture for Gmail, I wonder?
Saturday, August 16, 2008
Mattis Manzel continues his explorations in pulling wikis and feeds together.
Sunday, August 10, 2008
Haven't written here for a long time. A couple of notes and catch-ups.
Chandler 1.0 is out.
I was struck by these features :
Something like this experience is already available in Mind Traffic Control if you want to experiment with it. :-)
I'm getting into two further things :
Zbigniew Lukasiak has got me thinking about email again. It's still the most commonly used social software, and there is still room for improvement. Zby and I are thinking of doing something about this ... watch this space for more.
Meanwhile, I'm also back into feeds, in particular, creating and reading Yahoo Pipes. I'll talk more about this soon too.
Finally, a couple of good posts from Stowe Boyd about the shift to the flow internet. Or rather, the ongoing need for recombiners for the small pieces (eg. comments, replies etc.) that are scattered across dozens of different feed services like Friendfeed etc.
Chandler 1.0 is out.
I was struck by these features :
Chandler aims to provide a more integrated approach to managing information with:
* A Quick Entry Bar to enter everything from ideas to reminders and appointments.
* NOW-LATER-DONE Triage List to collect, process and track everything from deadlines and meetings to drafts and ideas.
* Tickler Alarms to auto-re-focus deferred (LATER) items to NOW
Something like this experience is already available in Mind Traffic Control if you want to experiment with it. :-)
I'm getting into two further things :
Zbigniew Lukasiak has got me thinking about email again. It's still the most commonly used social software, and there is still room for improvement. Zby and I are thinking of doing something about this ... watch this space for more.
Meanwhile, I'm also back into feeds, in particular, creating and reading Yahoo Pipes. I'll talk more about this soon too.
Finally, a couple of good posts from Stowe Boyd about the shift to the flow internet. Or rather, the ongoing need for recombiners for the small pieces (eg. comments, replies etc.) that are scattered across dozens of different feed services like Friendfeed etc.
Marcadores:
chandler,
email,
feeds,
mind traffic control,
mtc
Wednesday, July 30, 2008
Sunday, July 27, 2008
Dave Winer's back on the Windows OPML Editor ... which is great for me and for GeekWeaver ('cos I don't have a Mac and there's no Linux port yet.)
Meanwhile ... anyone know other decent OPML editors? I'd be particularly interested in ones that run in the browser.
Meanwhile ... anyone know other decent OPML editors? I'd be particularly interested in ones that run in the browser.
Saturday, July 26, 2008
Very important Mind Traffic Control update today.
The art of Mind Traffic Control is to defer as much as possible until later. But there are times you might have deferred a bunch of things until next week, only to find that actually, you *could* start doing some of them this week after all. (Maybe another task just got cancelled and freed up some time)
Until now, it's been a flaw in MTC that you couldn't rescue this stuff from the future.
That's now been fixed.
If you find yourself with time on your hands and want to pull items back : go to the Overview menu, and the Deferred list. You'll see a new button at the top titled "Restore the selected items to main queue". There's also now a column in the table with checkboxes for each item. Select any items you want to pull back and press the button. That's it. The items are back in the main "next actions" queue.
Of course, please tell me if this seems to have caused any problems. Doesn't look like it this end, but your bug reports are important.
The art of Mind Traffic Control is to defer as much as possible until later. But there are times you might have deferred a bunch of things until next week, only to find that actually, you *could* start doing some of them this week after all. (Maybe another task just got cancelled and freed up some time)
Until now, it's been a flaw in MTC that you couldn't rescue this stuff from the future.
That's now been fixed.
If you find yourself with time on your hands and want to pull items back : go to the Overview menu, and the Deferred list. You'll see a new button at the top titled "Restore the selected items to main queue". There's also now a column in the table with checkboxes for each item. Select any items you want to pull back and press the button. That's it. The items are back in the main "next actions" queue.
Of course, please tell me if this seems to have caused any problems. Doesn't look like it this end, but your bug reports are important.
Tuesday, July 22, 2008
Marcadores:
code-hosting,
developing in wiki,
hyperlinks,
ide
Tuesday, July 15, 2008
My post yesterday on Composing, about Geeks, Suits and Abstraction is relevant to SDI philosophy too.
Executive Summary : Geeks, by definition, have to be good at shifting their thinking between different levels of abstraction; Suits, by temperament, believe in the rigid separation of levels into the corporate hierarchy and would love for technology to enforce that.
Executive Summary : Geeks, by definition, have to be good at shifting their thinking between different levels of abstraction; Suits, by temperament, believe in the rigid separation of levels into the corporate hierarchy and would love for technology to enforce that.
Sunday, July 13, 2008
Dave Winer :
Update : continues
Of course, what Winer is ignoring is that companies are thinking of the crowd as an "aggregate" exactly because that's the only business model they have. It's no good calling it bad taste or a failure of vision, companies are entities who's function is to siphon off surplus value created from aggregates of people and give it to shareholders. If they don't have *someone* to "exploit" there is nothing for the shareholders.
Winer's philosophy is right for the web, and for us individuals, but it demands a new business model, possibly post-company.
I don't like it -- because it betrays a not-useful point of view. I am not part of a crowd, I am an individual ... When you mash us all together you miss the point.
Update : continues
Of course, what Winer is ignoring is that companies are thinking of the crowd as an "aggregate" exactly because that's the only business model they have. It's no good calling it bad taste or a failure of vision, companies are entities who's function is to siphon off surplus value created from aggregates of people and give it to shareholders. If they don't have *someone* to "exploit" there is nothing for the shareholders.
Winer's philosophy is right for the web, and for us individuals, but it demands a new business model, possibly post-company.
Saturday, July 12, 2008
What do people think about the Grazr widget along the side here? I introduced it using an OPML outline of my online life to explore the evolving OPML ecology.
But that's turned out be pretty inflexible compared to the gutter-tools that blogger is starting to offer. The OPML went out of date, (although I like the collapsible aspect). And the fact that the widget takes up a lot of room even when showing only the highest level, makes it kind of clunky.
So maybe I'll remove and replace by blogger list. Or should I give Grazr another chance?
Update : Cool! Mike from Grazr solved one of my issues. Read comments. Grazr stays for the moment.
Update 2: And I refreshed my OPML file too.
But that's turned out be pretty inflexible compared to the gutter-tools that blogger is starting to offer. The OPML went out of date, (although I like the collapsible aspect). And the fact that the widget takes up a lot of room even when showing only the highest level, makes it kind of clunky.
So maybe I'll remove and replace by blogger list. Or should I give Grazr another chance?
Update : Cool! Mike from Grazr solved one of my issues. Read comments. Grazr stays for the moment.
Update 2: And I refreshed my OPML file too.
Wednesday, July 09, 2008
Tuesday, July 08, 2008
Sounds like Bernstein doesn't really like this book, but doesn't have any alternative to recommend.
Monday, July 07, 2008
Prioritizing by Anxiety.
I see what he's getting at although I'm not entirely convinced.
Obviously No Free Lunch tells us that no "prioritize-by-X" strategy could be appropriate to all circumstances. (Including the FIFO algorithm of Mind Traffic Control).
Because of this, the less time wasted imagining you can specify priorities in advance, the better. Because the only time you can assign priorities is when pulling things out of your queue. To the extent that "anxiety" helps you identify the most urgent to do now it's useful. But Andre does recognise that anxiety (like most *emotional* indicators) is pretty ambiguous; it might be that an item makes you anxious exactly because you *don't* know how to do it or even what you *want* to do about it. So, even choosing to address it now, doesn't mean "doing" it now, it may be a signal to cancel entirely.
Still ... it's to good if it helps you reduce anxiety overall. Perhaps not if you start to *cultivate* it as a priority-identification mechanism.
BTW : MTC works on the opposite theory, assuming that it's easier to know which items you can definitely postpone, than it is to know which are most urgent ... so at least it helps you clear the former out of the way. Nevertheless, what this post mainly reminds me is that, now I'm up to around 200 items under Mind Traffic Control, even MTC is breaking down for me.
Or rather, it's missing something. And I'm starting to wonder if that's the "someday/maybe" bucket. Originally I assumed that "3 months in the future" was more or less equivalent to a someday/maybe ... but I'm finding that that's not the case.
I'm scared to push things so far ahead, even for things I have no idea when I'd get round to. Because there's always the possibility that I might get inspired to try them tomorrow. I need another queue to get things out of the way, but from where I can bring them back, if inspiration strikes.
Opinions anyone?
I see what he's getting at although I'm not entirely convinced.
Obviously No Free Lunch tells us that no "prioritize-by-X" strategy could be appropriate to all circumstances. (Including the FIFO algorithm of Mind Traffic Control).
Because of this, the less time wasted imagining you can specify priorities in advance, the better. Because the only time you can assign priorities is when pulling things out of your queue. To the extent that "anxiety" helps you identify the most urgent to do now it's useful. But Andre does recognise that anxiety (like most *emotional* indicators) is pretty ambiguous; it might be that an item makes you anxious exactly because you *don't* know how to do it or even what you *want* to do about it. So, even choosing to address it now, doesn't mean "doing" it now, it may be a signal to cancel entirely.
Still ... it's to good if it helps you reduce anxiety overall. Perhaps not if you start to *cultivate* it as a priority-identification mechanism.
BTW : MTC works on the opposite theory, assuming that it's easier to know which items you can definitely postpone, than it is to know which are most urgent ... so at least it helps you clear the former out of the way. Nevertheless, what this post mainly reminds me is that, now I'm up to around 200 items under Mind Traffic Control, even MTC is breaking down for me.
Or rather, it's missing something. And I'm starting to wonder if that's the "someday/maybe" bucket. Originally I assumed that "3 months in the future" was more or less equivalent to a someday/maybe ... but I'm finding that that's not the case.
I'm scared to push things so far ahead, even for things I have no idea when I'd get round to. Because there's always the possibility that I might get inspired to try them tomorrow. I need another queue to get things out of the way, but from where I can bring them back, if inspiration strikes.
Opinions anyone?
Marcadores:
getting things done,
mind traffic control,
mtc,
philosophy,
todo
Sunday, July 06, 2008
Tonight's tweak to Mind Traffic Control : there's now an "[untagged]" filter ... so if you are using #tags but you find those untagged items are getting lost when you aren't filtering, well, that's the solution. Chose the "[untagged]" filter to restrict your queue to only those items *without* #tags.
Saturday, July 05, 2008
Friday, July 04, 2008
Vagmi's Open Letter to Programeter (nice one)
Marcadores:
philosophy,
programeter,
programming,
sdi philosophy
Wednesday, July 02, 2008
I think this is probably the most mind-blowingly stupid and bad thing I've seen for a while.
There is no automated metric on earth that can get even a vague approximation of the value of a piece of programming. My colleague, yesterday, solved a fiendish long-troubling bug, by removing one character of faulty indentation from a 2000 line spaghetti routine. One change, one character and a comment. How would the system assess the "productivity" of that?
If SDI means anything, it's a rejection of the entire mindset that believes in the creation of, and use of, software in institutional control and measurement of employees. Bleaarrghhhh!
Update : someone from the company came back at me after I twitted (good for him, respect, obviously) ... but I went into full rant. :-)
There is no automated metric on earth that can get even a vague approximation of the value of a piece of programming. My colleague, yesterday, solved a fiendish long-troubling bug, by removing one character of faulty indentation from a 2000 line spaghetti routine. One change, one character and a comment. How would the system assess the "productivity" of that?
If SDI means anything, it's a rejection of the entire mindset that believes in the creation of, and use of, software in institutional control and measurement of employees. Bleaarrghhhh!
Update : someone from the company came back at me after I twitted (good for him, respect, obviously) ... but I went into full rant. :-)
A, surprising, good thing about Caché. It's "alive".
Marcadores:
cache objectscript,
living platforms,
smalltalk
Subscribe to:
Comments (Atom)