Friday, October 14, 2011
Verpa's Gmail lib
Playing with this library to access my Gmail account via IMAP.
Seems pretty simple and convenient, though fairly basic.
Thursday, October 13, 2011
RIP Dennis Ritchie
Forget Steve Jobs, the guy who invented C has died!
Monday, October 10, 2011
BEACHhtml on GitHub
It's kind of trivial, but I put the html generating code that I mentioned in this post into GitHub. Mainly because I wanted to be able to share it between a couple of different projects and it made sense to use a Git submodule.
So here it is.
So here it is.
Google's Dart
So Google's Javascript replacement language, Dart goes public.
Looks awfully like Java with a smattering of CoffeeScript. I like the empty compact constructor and the one-liner functions. But I'm not sure what those colon ones are doing.
Presumably some jQuery-like action with the document.query().
Looks a little bit messy, but then Javascript has got kind of messy. Shame they didn't try to go for the CoffeeScript cleanness.
In a sense, it may be rather similar to writing Processing if they produced a decent IDE.
On the whole, I think I can live with it.
Some interesting evaluation at Lambda the Ultimate.
Looks awfully like Java with a smattering of CoffeeScript. I like the empty compact constructor and the one-liner functions. But I'm not sure what those colon ones are doing.
Presumably some jQuery-like action with the document.query().
Looks a little bit messy, but then Javascript has got kind of messy. Shame they didn't try to go for the CoffeeScript cleanness.
In a sense, it may be rather similar to writing Processing if they produced a decent IDE.
On the whole, I think I can live with it.
Some interesting evaluation at Lambda the Ultimate.
Marcadores:
dart,
google,
javacsript,
programming languages
Friday, September 30, 2011
How GitHub Scales Its Culture
Good explanation of the GitHub culture, built, as you'd expect, around asynchronous pulling.
Monday, September 26, 2011
Shhhh ...
I have a confession ...
I re-installed the Google App. Engine dev, environment on my machine. I popped open the Mind Traffic Control codebase and looked into it. I was a bit overwhelmed at the clunkiness of some of the code (I've become a more concise Python programmer since then) but I realised I could still make sense of it.
I tweaked a couple of minor appearance bugs and refreshed the server.
It worked!
It's been a long time since I actually had a working MTC development environment.
I wonder what this means ...
I re-installed the Google App. Engine dev, environment on my machine. I popped open the Mind Traffic Control codebase and looked into it. I was a bit overwhelmed at the clunkiness of some of the code (I've become a more concise Python programmer since then) but I realised I could still make sense of it.
I tweaked a couple of minor appearance bugs and refreshed the server.
It worked!
It's been a long time since I actually had a working MTC development environment.
I wonder what this means ...
Sunday, September 25, 2011
Google's "Future of Javascript"
So Google blame Javascript's weaknesses for Apple's success with iOS and its app ecosystem, and want to replace JS with their own alternative.
Obviously I think this is the most wrong-headed thing I've heard in a while, and a worrying sign of idiocy within Google.
I'm not particularly concerned about the future of Javascript which I'm sure will be around long after Google's alternative is abandoned.
Obviously I think this is the most wrong-headed thing I've heard in a while, and a worrying sign of idiocy within Google.
I'm not particularly concerned about the future of Javascript which I'm sure will be around long after Google's alternative is abandoned.
Tuesday, September 20, 2011
Trello
Trello looks very interesting.
Thursday, August 11, 2011
Wednesday, July 13, 2011
Going completely against the spirit of what I said yesterday, Web2py looks interesting.
Tuesday, July 12, 2011
Been browsing some interesting discussion over at Quora on how they built their site.
It's basically Python and Pylons. But this is cool. They don't use a templating language.
Here's developer Charlie Cheever :
This sounds like an approach I've been favouring for a while. I did it in Mind Traffic Control, some other unreleased SdiDesk in Python experiments, and I do it in some Javascript I've written. People think that you should separate HTML from code because HTML is the domain of designers and code is for programmers. But I think HTML is the realm of data-structure (designers should stick to CSS) and part of the programmers' remit.
The way a programmer (or at least, this programmer) wants to express complex data structures is with function composition. So here's an example of my html.py file.
But I did start to wonder, given the prevalence of templating languages and some of my recent experiences as a Django developer, whether this wasn't just me being wilfully perverse / crazy. I admit I'm kind of relieved to read that Quora are doing something similar. Maybe I wasn't so mad after all.
Bonus link : Decomposition by language is probably a modularity mistake. (Written back when I was more confident.)
It's basically Python and Pylons. But this is cool. They don't use a templating language.
Here's developer Charlie Cheever :
What "templating" means to most people is a way of having the developer write out HTML basically the way that you would send it to the browser and then having a way to include a few things -- typically variable substitution by using special tags lik <% ... %> or similar.
In our case, no one writes any code that looks like HTML/XML literals, so there's nothing in our codebase that really matches what most people think of as templates. We do have view code but that interleaves calls into the model and application logic along with a Python code description of what the HTML for that component should be, which is different from templates which are usually based around the ideas of separating logic and data fetching from this.
This sounds like an approach I've been favouring for a while. I did it in Mind Traffic Control, some other unreleased SdiDesk in Python experiments, and I do it in some Javascript I've written. People think that you should separate HTML from code because HTML is the domain of designers and code is for programmers. But I think HTML is the realm of data-structure (designers should stick to CSS) and part of the programmers' remit.
The way a programmer (or at least, this programmer) wants to express complex data structures is with function composition. So here's an example of my html.py file.
# HTML library
# basic level
def tag(name,x,*argv) :
if x is None :
return u"<"+name+u"/>"
if argv != (None,) :
inside = u''.join(argv)
else :
inside = u''
if isinstance(x,dict) :
# we're passing a dictionary of attributes for the tag
s = u"<%s " % name
s = s + ' '.join(['%s="%s"'%(k,v) for (k,v) in x.iteritems()])
s = s + u">"+inside+u"</"+name+u">"
return s
# or there are no attributes, just inner
return u"<"+name+u">"+x+inside+u"</"+name+u">"
# Now we'll actually make some tags
tags = ['html','head','body','script','p','div','table',
'tr','th','td','ul','ol','li','dt','dd','h1','h2',
'h3','h4','h5','h6', 'style','pre']
loc = locals()
def setit(loc,t) :
loc[t] = lambda x=None,*argv : tag(t,x,*argv)
for t in tags :
setit(loc,t)
# Use like this
html(
head(),
body(
h2("Header"),
p('para1'),
p('para2')
)
)
But I did start to wonder, given the prevalence of templating languages and some of my recent experiences as a Django developer, whether this wasn't just me being wilfully perverse / crazy. I admit I'm kind of relieved to read that Quora are doing something similar. Maybe I wasn't so mad after all.
Bonus link : Decomposition by language is probably a modularity mistake. (Written back when I was more confident.)
Wednesday, June 29, 2011
Back writing more Prolog and getting into Definite Clause Grammars. Having a parser generator built into the language is sweet. :-)
Marcadores:
domain specific languages,
parsing,
prolog
Thursday, June 02, 2011
Marcadores:
programming languages,
semantic programming,
semprog
Wednesday, May 18, 2011
Funny : Analogue literals in C++.
Marcadores:
spreadsheets,
visual programming,
visualization
Sunday, May 15, 2011
Friday, May 13, 2011
Monday, April 18, 2011
Nice Quora question about code at early Google.
What I take away from these stories is that pushing out ugly prototypes of your products will not prevent you from building a world-class engineering organization in the future.
Monday, April 11, 2011
Bloody hell, Prolog can be frustrating sometimes!!!!
Sunday, April 10, 2011
Doh! I may have been a bit previous in saying that I'd got the hang of Prolog syntax.
Friday, April 08, 2011
Awesome response from SWI-Prolog when you just query an unbound variable. :-)
?- X.
% ... 1,000,000 ............ 10,000,000 years later
%
% >> 42 << (last release gives the question)
Thursday, April 07, 2011
Wow! Playing with Prolog at the moment. It's awesome.
I seem to have finally achieved some kind of fluency instead of fumbling around without knowing how to drive the thing. It probably helps that Erlang has accustomed me to the syntax and other conventions.
I seem to have finally achieved some kind of fluency instead of fumbling around without knowing how to drive the thing. It probably helps that Erlang has accustomed me to the syntax and other conventions.
Monday, March 07, 2011
At Aharon's prompting I had a play with node.js over the weekend. It is very good. I can see why it's "the next BIG thing". (See the nice starter tutorial with a very impressive minimal twitter reader.)
Trying to think of something fun to do with node.js now.
Also, what with getting into Urbi, "events" are clearly the trend of 2011 for me.
Trying to think of something fun to do with node.js now.
Also, what with getting into Urbi, "events" are clearly the trend of 2011 for me.
Marcadores:
events,
node.js,
parallelism,
reactive,
urbo
Sunday, March 06, 2011
Resolver Systems have a new "cloud-based" pythonic spreadsheet called "Project Dirigible"
Wednesday, March 02, 2011
Urbi is a great, parallel, event driven language for programming robots.
Watch the tutorial video.
Absolutely packed with interesting control structures to handle the implicit parallelism and event-driven nature of the language. Several important ideas : free subsumption architecture (you actually run many different programs in parallel, each dealing with certain motors and sensors, but interacting with each other only through the body of the robot; "blending" modes which let different programs send multiple instructions to the same motor at the same time; "tags" which let you interact with (start, pause, stop) running processes by name.
Watch the tutorial video.
Absolutely packed with interesting control structures to handle the implicit parallelism and event-driven nature of the language. Several important ideas : free subsumption architecture (you actually run many different programs in parallel, each dealing with certain motors and sensors, but interacting with each other only through the body of the robot; "blending" modes which let different programs send multiple instructions to the same motor at the same time; "tags" which let you interact with (start, pause, stop) running processes by name.
Marcadores:
parallelism,
programming languages,
robotics,
urbi
Monday, February 14, 2011
An idea for an Android GUI designer.
Interesting to see the state of the art here. It's an improvement on XML ... but still, not as far forward as you'd hope.
Interesting to see the state of the art here. It's an improvement on XML ... but still, not as far forward as you'd hope.
Sunday, January 30, 2011
Amazing, this genre of Xtra Normal tech. conversations. Here's a strangely hilarious, profanity filled discourse on NoSQL.
Friday, December 10, 2010
Sweet! Emacs on a touch-screen.
Monday, December 06, 2010
Marcadores:
iphone app,
personal wiki,
pharo,
smalltalk
Friday, December 03, 2010
I like the look of the Clay programming language. C with variants.
Monday, November 08, 2010
Looks like Staticmatic is Rubyland's solution to the problem that inspired GeekWeaver.
Wednesday, October 13, 2010
There may be something in Zed's analysis of the decline in contributions to free-software projects.
Food for thought.
(Of course ... people could just be excitedly writing iPhone apps.)
Food for thought.
(Of course ... people could just be excitedly writing iPhone apps.)
Saturday, October 02, 2010
Import question. Is anyone currently using SdiDesk? Write in the comments if you are.
Tuesday, September 14, 2010
I'm getting an error message on Mind Traffic Control :
First time I've seen it is tonight, but if anyone else is seeing it and it persists, then please tell me in the comments.
Update : OK, seemed to have fixed itself pretty quickly.
Update 2 : Not that I seem to have a lot of regular users of MTC.
A server error occurred. Please contact the administrator.
First time I've seen it is tonight, but if anyone else is seeing it and it persists, then please tell me in the comments.
Update : OK, seemed to have fixed itself pretty quickly.
Update 2 : Not that I seem to have a lot of regular users of MTC.
Tuesday, August 31, 2010
Monday, August 30, 2010
TwitterSheep is entertaining.
Marcadores:
twitter,
twittersheep,
yasns,
yasns-mining
Saturday, August 28, 2010
Great talk on TDD, Ward Cunningham and what killed Smalltalk.
Marcadores:
ruby,
smalltalk,
tdd,
test-driven development,
ward cunningham
Wednesday, August 04, 2010
Thursday, July 22, 2010
ThinkLinkr, another pretty slick web-based outliner.
Marcadores:
browser,
geekweaver,
outliner,
outlines,
web-apps
Finally, Oli resurfaces with a blog about Semantic Programming, SemProLa and issues of programming the semantic graph.
Added to my blogroll of course ... and I'll be following here.
Watch that space!
Added to my blogroll of course ... and I'll be following here.
Watch that space!
Marcadores:
semantic programming,
semantic web,
semprog
Tuesday, July 13, 2010
LULZ : Did Google just re-invent Visual Basic?
Now, if they'd also made it do Yahoo Pipes-like stuff, *that* would have rocked.
Now, if they'd also made it do Yahoo Pipes-like stuff, *that* would have rocked.
Marcadores:
app inventor,
visual basic,
visual programming,
yahoo pipes
Saturday, July 03, 2010
Mark Bernstein :
It's easy to add generality to a spec. It makes you look really smart, especially when someone else is going to do the coding. But too much generality too soon makes the code age prematurely; you can get old, brittle, confusing code that looks like it's yellowed with age, even though it's not even finished yet.
Wednesday, June 30, 2010
The Smart Disorganized reboot is still in progress ....
Today, a sad story about GeekWeaver.
A couple of weeks ago I needed to revamp Gbloink!'s web presence. Quickly. And, I was in no position to do it in GW. So I fired up a copy of WordPress and made : Gbloink!
I also needed a new OPTIMAES site. And one for Gisel.
You spot the trend? The answer to "how do I knock up a decent-looking site? fast?" is to use WordPress. I'm seriously thinking of doing it for my own homepage too.
Obviously, these are the kinds of scenarios for which I envisaged GeekWeaver. So what's gone wrong?
Several things :
- I got over-ambitious. The basic GeekWeaver as templating language, worked great. But I wanted to make it into a full sophisticated Lispish sort of a functional programming language. That side-tracked me into several attempted rewrites before I shelved it with other unfinished projects.
- The OPML Editor worked great in Windows XP. But was horrible in Vista. And now I'm using Linux most of the time. I can run it under Wine, but it feels clunky to do so. So I don't have a decent OPML editor. There are still, surprisingly few outliners in Linux, and still no convenient outline editing widget for the browser.
- Great templates are the real win. An earlier version of GeekWeaver shipped with decent free template I got from somewhere or other. But I'm not a good HTML / CSS designer and I could neither adapt it to my changing requirements nor really design another. I guess the answer is to work with a designer. But as one of the proposals for GW was to make web-design more "programmer-friendly" (by introducing the programmer's favourite tool, abstraction, to HTML) that's rather a contradictory point. Chalk one up to web-designers and one against GeekWeaver.[1]
- Moreover, it's hard to compete against a rich ecosystem like WordPress. Among thousands of templates and plug-ins from dozens of contributors, are some pretty damned good ones.
- Also, while GW had a couple of sprinkles of syntactic sugar to make authoring XHTML / XML in the outliner a rather pleasant experience, the outliner is merely OK for CSS and not really all that good for javascript. (For a real programming language, it's useful to have the standard syntax checking, bracket counting, line numbering etc.) As web-pages are increasingly made of CSS and javascript over and above the HTML, GW is decreasingly useful. To do GW properly, the editor needs to be both a good code-editor AND a good outliner.
So is GeekWeaver a failure? Am I abandoning it?
Well, it's not yet a success, I'll agree. :-)
I still *believe* that there's a niche for a GeekWeaver-like language : something with the quick and dirty characteristics of early Perl or PHP; that let's you get a lot done quickly; and who's philosophy is "templating" at a granularity above the individual page or file. There's no reason that, if I had time and another burst of interest, I might not make further progress taking GeekWeaver in that direction.
But I now have a (more than) full-time day-job writing social software in Python[2] which leaves little time (or inclination) for a lot more experiments in python for web-site making. So GW is definitely on hiatus while I pursue other projects.
Nevertheless, I'm always coming back and thinking what I should do with it. You never know when inspiration might strike again.
[1] This raises another sceptical doubt. Allowing you to define abstractions is meant to make things easier. If it doesn't make "web-design" easier, am I barking up the wrong tree?
[2] In fact, I'm working with Django. Which brings a lot of other concerns and ideas. It was easy to see how GW could compile down to PHP. But would it make sense to try to compile it down to Django?
Today, a sad story about GeekWeaver.
A couple of weeks ago I needed to revamp Gbloink!'s web presence. Quickly. And, I was in no position to do it in GW. So I fired up a copy of WordPress and made : Gbloink!
I also needed a new OPTIMAES site. And one for Gisel.
You spot the trend? The answer to "how do I knock up a decent-looking site? fast?" is to use WordPress. I'm seriously thinking of doing it for my own homepage too.
Obviously, these are the kinds of scenarios for which I envisaged GeekWeaver. So what's gone wrong?
Several things :
- I got over-ambitious. The basic GeekWeaver as templating language, worked great. But I wanted to make it into a full sophisticated Lispish sort of a functional programming language. That side-tracked me into several attempted rewrites before I shelved it with other unfinished projects.
- The OPML Editor worked great in Windows XP. But was horrible in Vista. And now I'm using Linux most of the time. I can run it under Wine, but it feels clunky to do so. So I don't have a decent OPML editor. There are still, surprisingly few outliners in Linux, and still no convenient outline editing widget for the browser.
- Great templates are the real win. An earlier version of GeekWeaver shipped with decent free template I got from somewhere or other. But I'm not a good HTML / CSS designer and I could neither adapt it to my changing requirements nor really design another. I guess the answer is to work with a designer. But as one of the proposals for GW was to make web-design more "programmer-friendly" (by introducing the programmer's favourite tool, abstraction, to HTML) that's rather a contradictory point. Chalk one up to web-designers and one against GeekWeaver.[1]
- Moreover, it's hard to compete against a rich ecosystem like WordPress. Among thousands of templates and plug-ins from dozens of contributors, are some pretty damned good ones.
- Also, while GW had a couple of sprinkles of syntactic sugar to make authoring XHTML / XML in the outliner a rather pleasant experience, the outliner is merely OK for CSS and not really all that good for javascript. (For a real programming language, it's useful to have the standard syntax checking, bracket counting, line numbering etc.) As web-pages are increasingly made of CSS and javascript over and above the HTML, GW is decreasingly useful. To do GW properly, the editor needs to be both a good code-editor AND a good outliner.
So is GeekWeaver a failure? Am I abandoning it?
Well, it's not yet a success, I'll agree. :-)
I still *believe* that there's a niche for a GeekWeaver-like language : something with the quick and dirty characteristics of early Perl or PHP; that let's you get a lot done quickly; and who's philosophy is "templating" at a granularity above the individual page or file. There's no reason that, if I had time and another burst of interest, I might not make further progress taking GeekWeaver in that direction.
But I now have a (more than) full-time day-job writing social software in Python[2] which leaves little time (or inclination) for a lot more experiments in python for web-site making. So GW is definitely on hiatus while I pursue other projects.
Nevertheless, I'm always coming back and thinking what I should do with it. You never know when inspiration might strike again.
[1] This raises another sceptical doubt. Allowing you to define abstractions is meant to make things easier. If it doesn't make "web-design" easier, am I barking up the wrong tree?
[2] In fact, I'm working with Django. Which brings a lot of other concerns and ideas. It was easy to see how GW could compile down to PHP. But would it make sense to try to compile it down to Django?
Marcadores:
geekweaver,
outliner,
outlines,
unfinished project,
web
Thursday, June 17, 2010
Monday, April 19, 2010
I think TidyLines is the best browser-based outliner I've seen. At least in terms of how it feels at the keyboard.
Tuesday, March 09, 2010
I certainly like the look of CoffeeScript.
Not quite sure what it's for yet. Is it just a nicer looking syntactic sugar on top of javascript? Or are there some powerful abstractions that simplify doing larger scale js work? (a la jQuery?)
Not quite sure what it's for yet. Is it just a nicer looking syntactic sugar on top of javascript? Or are there some powerful abstractions that simplify doing larger scale js work? (a la jQuery?)
Marcadores:
abstraction,
coffeescript,
javascript,
jquery
Tuesday, February 23, 2010
XHP actually looks pretty cool. On the surface, it's just a cleaned up PHP. But the cleaning up (putting XML into the language) actually gives it some of the character I was hoping for in GeekWeaver.
Friday, January 22, 2010
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:
Comments (Atom)