Tuesday, October 25, 2011
Friday, October 21, 2011
Linux Commands For The Web
Can't remember if I saw this before, or if I posted it, but it's beautiful.
One of my favorite business model suggestions for entrepreneurs is, find an old UNIX command that hasn't yet been implemented on the web, and fix that. talk and finger became ICQ, LISTSERV became Yahoo! Groups, ls became (the original) Yahoo!, find and grep became Google, rn became Bloglines, pine became Gmail, mount is becoming S3, and bash is becoming Yahoo! Pipes. I didn't get until tonight that Twitter is wall for the web. I love that.Marc Hedlund via Coding Horror
Friday, October 14, 2011
The Future of Arduino and Android
Very interesting talk by the creator of Arduino about their plans for integrating with Android.
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
Subscribe to:
Posts (Atom)