Thursday, December 10, 2009
Giles Bowkett has a profound and entertaining blog-post, starting with some thought-provoking criticism of Joel Spolsky and Paul Graham; and then moving on to other questions of business models for blogging programmers.
Marcadores:
blogging,
business models,
giles bowkett,
joel,
joel spolsky,
paul graham
Wednesday, December 09, 2009
Great exegesis of Ward Cunningham's maxim.
Saturday, December 05, 2009
Another thing that I saw recently that looks pretty interesting : Fossil, a kind of source-control system with built in web-server and trac-like wiki and bug-tracking, all in a single executable file.
I've no time to play with this at the moment, but it looks very cute.
I've no time to play with this at the moment, but it looks very cute.
Marcadores:
fossil,
personal wiki,
source-control,
trac,
wiki
Wow! Dan Bricklin has still got it.
This is a really nice twist on the mobile notepad / todo list app. The UI looks brilliantly well thought through.
This is a really nice twist on the mobile notepad / todo list app. The UI looks brilliantly well thought through.
Marcadores:
dan bricklin,
iphone app,
multitouch,
notepad,
organization,
todo
Thursday, December 03, 2009
Joel on his "search engine for programmers".
Saturday, November 14, 2009
More of Joel Spolsky's smart understanding of "social software" as both social and software. Now StackOverflow evolves to become a smart online CV for recruiters.
Monday, October 19, 2009
Friday, October 02, 2009
Wednesday, September 23, 2009
Saturday, September 19, 2009
Friday, September 18, 2009
To return to a theme I started many years ago, I commented on this excellent article about why web-site development has got so damned hard. (And remember when we all thought of web-apps as lighter and simpler than desktop apps? What happened?)
Anyway, here's my comment.
I think the problem is less the multiplicity of programming languages, than our insistence that we should always be separating our languages in different places.
This goes against the basic tenets of cohesion and coupling. We cluster unrelated activities together because they happen to have the same syntactic sugar, while separating tightly-coupled activities because half of them happen on the client and the other on the server. Why the hell should this implementation detail have to be reflected in our architecture?
What I'd like, controversially, is to be able to mix-and-match the languages within the same source file, grouping together the python, javascript, html and sql that actually has to work together in one place. I have no trouble dropping into regular expressions or similar DSLs from inside my main code, why should dropping into a layout or query language be different?
Anyway, here's my comment.
I think the problem is less the multiplicity of programming languages, than our insistence that we should always be separating our languages in different places.
This goes against the basic tenets of cohesion and coupling. We cluster unrelated activities together because they happen to have the same syntactic sugar, while separating tightly-coupled activities because half of them happen on the client and the other on the server. Why the hell should this implementation detail have to be reflected in our architecture?
What I'd like, controversially, is to be able to mix-and-match the languages within the same source file, grouping together the python, javascript, html and sql that actually has to work together in one place. I have no trouble dropping into regular expressions or similar DSLs from inside my main code, why should dropping into a layout or query language be different?
Saturday, September 12, 2009
This is an absolutely brilliant summary of the virtues of PHP.
The important point is that these virtues aren't going away. By comparison this seems to miss the point. In 2020 we won't be programming the web with an advanced Python framework (wonderful as python is). We'll have something which does what PHP did for CGI or Processing does Java, ie. wrap a purpose built, sophisticated back-end (something like Google Application Engine) in a light, domain-specific language. That language won't look like PHP. It would be nice if it looked like Python, but I suspect Javascript is a more likely model.
But it will retain the virtues of PHP : none of this fussy separation of presentation and logic; easy discoverability of where URLs go; fast iterative development; big built-in library etc.
(Hat-tip, BillSeitz for the links)
The important point is that these virtues aren't going away. By comparison this seems to miss the point. In 2020 we won't be programming the web with an advanced Python framework (wonderful as python is). We'll have something which does what PHP did for CGI or Processing does Java, ie. wrap a purpose built, sophisticated back-end (something like Google Application Engine) in a light, domain-specific language. That language won't look like PHP. It would be nice if it looked like Python, but I suspect Javascript is a more likely model.
But it will retain the virtues of PHP : none of this fussy separation of presentation and logic; easy discoverability of where URLs go; fast iterative development; big built-in library etc.
(Hat-tip, BillSeitz for the links)
Marcadores:
domain specific languages,
GAE,
php,
python,
web
Saturday, August 22, 2009
Sunday, August 09, 2009
A quick thought ... working with a lot of Django and Pinax at the moment, I'm seeing a lot of use of Python's varargs. Functions that just take *argv, **kwargs
I find I don't like this. I want to see argument lists as explicit as possible. I feel uncomfortable and a bit lost. I feel unprotected when the compiler can't even check the number of arguments I'm sending.
So I wonder if this is legitimate. Or isn't it analogous to the case of static typing? Varargs give more flexibility than fixed arguments. Much as dynamic typing is more flexible than static. So why shouldn't I prefer the power and flexibility over restriction and security in this case?
Update : Of course, this is the way that GeekWeaver works, where there's no explicit definition of the list of arguments passed to a reusable block. I've been unhappy with that there too. Thinking that I should add positional explicit named arguement lists. But if this kwargs thing is a trend, then GW should probably be left as it is.
I find I don't like this. I want to see argument lists as explicit as possible. I feel uncomfortable and a bit lost. I feel unprotected when the compiler can't even check the number of arguments I'm sending.
So I wonder if this is legitimate. Or isn't it analogous to the case of static typing? Varargs give more flexibility than fixed arguments. Much as dynamic typing is more flexible than static. So why shouldn't I prefer the power and flexibility over restriction and security in this case?
Update : Of course, this is the way that GeekWeaver works, where there's no explicit definition of the list of arguments passed to a reusable block. I've been unhappy with that there too. Thinking that I should add positional explicit named arguement lists. But if this kwargs thing is a trend, then GW should probably be left as it is.
Wednesday, July 29, 2009
Two links I need to read but haven't got to yet.
Martin Fowler on Illustrative Programming
Dion Almaer on coding in more than 2-D.
Martin Fowler on Illustrative Programming
Dion Almaer on coding in more than 2-D.
Sunday, July 05, 2009
Nowdothis is awesome!
(hat-tip @adrianh)
Of course, if it becomes massively successful and famous I'll be ... kind of ... you know ...
But I really do wish it well.
(hat-tip @adrianh)
Of course, if it becomes massively successful and famous I'll be ... kind of ... you know ...
But I really do wish it well.
Sunday, June 28, 2009
Playing with simple python access to RabbitMQ today. Looks pretty cool.
Marcadores:
AMQP,
erlang,
message queues,
python,
rabbitMQ
Saturday, June 27, 2009
My day-job means that I now have a github account.
And I have to say, I am very impressed by it.
I decided on bzr last year as my distributed source-control system, mainly because it felt so similar to svn and it was written in python. In comparison, git is still bloody confusing. But bzr seems to be losing momentum (hg is the pythonic candidate in the race) and git-hub with its YASN-oriented social approach to source-hosting feels way ahead of other repo-hosting services like Launchpad and Google Code or running my own Trac-SVN solution.
So, I'm quite likely to switch my projects over to github in the near future.
PS : Oh, and if felt really cool to just fork my own repo of Folknology's Reactored. Encourages me to start playing with it.
And I have to say, I am very impressed by it.
I decided on bzr last year as my distributed source-control system, mainly because it felt so similar to svn and it was written in python. In comparison, git is still bloody confusing. But bzr seems to be losing momentum (hg is the pythonic candidate in the race) and git-hub with its YASN-oriented social approach to source-hosting feels way ahead of other repo-hosting services like Launchpad and Google Code or running my own Trac-SVN solution.
So, I'm quite likely to switch my projects over to github in the near future.
PS : Oh, and if felt really cool to just fork my own repo of Folknology's Reactored. Encourages me to start playing with it.
Thursday, June 04, 2009
Monday, May 04, 2009
Just created a ThoughtStorms page on ComputationalThinking
Saturday, April 25, 2009
Javascript keeps rolling on as a language. Now on iPhone
Thursday, April 16, 2009
Tuesday, March 31, 2009
These guys just spammed me, so I'm not sure why I'm giving them publicity.
But All Dropping Domains is kind of interesting.
But All Dropping Domains is kind of interesting.
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
Subscribe to:
Posts (Atom)