Letterpress — A minimal, Markdown based blogging system written in Python
wangling.me
wangling.me
The problem really is that somebody has to pay the piper.
I'm going to create a new rule.
Chester's First Law:
Essential complexity in the problem domain
is a conserved quantity.
Either your system absorbs and obscures it; or you push it back on the user somehow. Even within a system you can push it around to different places, but it never goes away.Consider: the problem domain for a blogging system is take stuff from an author and produce HTML for readers.
Movable Type used to "build" a whole site at a time. Wordpress does it per-view unless you use caching. Wordpress won inter alia because the cost of the complexity was pushed from the authors to the readers -- and it's authors who pick the blogging engine.
Static site generators are like Movable Type, in that they take the essential complexity that used to be on the readers and push it back to the author.
A more complex system would strike a balance by proactively generating new cached output based on POSTs, not GETs. That would push both halves of the essential complexity into the system itself, away from both authors and readers.
At all times, the sum of essential complexity has been conserved.
And as of late, the static generation fervor has been getting stronger.
However wordpress is a pain to customize and extend, i always found drupal was easier to customize for non developpers ( you have to mess with php pretty fast with wordpress ). Drupal is on the contrary a little more complicated to setup , but the basic set up is more powerfull than wordpress ( and the plugin system is better ).
That's why i dont think non php scripts can be popular to non programmers. you can just drop some python or some ruby on a webserver and expect it to work just like php does,
And few shared hosting providers support mod_python or stuff like that ( which is the shame because i see no reason why mod_python is worse than mod_php and we would have a whole generation of better programmers if people used python over php).
> Wordpress won inter alia because ...
"inter alia" is a short hand that roughly means "amongst other things, which I won't list here because it would obscure the point I am trying to make".
"Amongst other things" is the literal translation.
It would have taken only one or two characters as opposed to 10, and you would be using a living language with more speakers than latin (including people that only know latin quotations and a few generic phrases).
But while ceteris paribus it might be the case that I could use Chinese characters, English has a far greater de facto affinity to, and stock of, Latin due to the historical connection commencing in the 1066 Norman Conquest and the imposition of the lingua Franca.
Well, you should also work on the "syntax" thing, for I find the first phrase above ("while if...") incomplete.
That said, you studied law? That makes two of us. Only in my case, "studied" mostly means I've watched every "Boston Legal" and "Law and Order" episode.
>Most of the phrases I picked up en route are mostly obiter dicta, et cetera, with only limited utility. Others are enormously useful; "inter alia" has escaped into other parts of academia.
Has it escaped because it is enormously useful, though, or because it makes for "pretty" and "refined-sounding" phrasing? Because academia is full of such, well, to put it succinctly, bullshit. (I admit that in law it can be well known and have an additional well defined role that augments the standard latin meaning).
>But while ceteris paribus it might be the case that I could use Chinese characters, English has a far greater de facto affinity to, and stock of, Latin due to the historical connection commencing in the 1066 Norman Conquest and the imposition of the lingua Franca.
Sure, but with the Chinese conquest of the economy and commerce space, commencing circa 1995 and the slow financial, diplomatic and cultural decline of the US, one could say that the era of the previous lingua Franca is over.
Res ipsa loquitur.
Err, I mean 用事实说话.
(Come to think of it: does this succinctness mean that the Chinese can write their whole life story in Twitter with room to spare?)
[1] http://www.orwell.ru/library/essays/politics/english/e_polit...
Can you give an equivalent word which conveys the full meaning of inter alia with the same degree of pithiness and directness?
"Wordpress won because..., for one."
A word is none of direct, forceful, or brief if your audience must look it up to understand.
Good point.
I think you overestimate the degree of both "pithiness and directness" in this particular use of the phrase.
>Installation >Install pyinotify. bash pip install pyinotify
I mean, considering the ordinary user we're talking about doesn't code and on top of that, probably runs Windows, well...
Of course, nowadays I hear devs have to pay Microsoft to have the privilege of not having Windows call their products viruses...
Computer tech and even programming is a great example of complexity being reduced, in some cases, as an abstraction is added.
http://chester.id.au/standard-disclaimer/
Chester's Zeroth Law: He's never had an original idea, only good ideas that sometimes he doesn't know are unoriginal.
But of course, in this case you should not aim for the sexy "minimal" label (or better, write a GUI leveraging an existing system).
Personally, that's what I'd like to see. A cms or email based blog that generates the static files and pushes them to whatever service/host you want (Dropbox, s3, github, FTP, SFTP, etc).
Some of us might even remember that before Blogspot came to, you had to have access to a server via FTP to publish.
This is what I've been doing, after Posterous announced its retirement: http://code.dealmeida.net/nefelibata. You generate a static website from markdown files, publish it to configurable services (S3 initially, but it's plugin based), announce it to social networks (FB and Twitter). The idea is also that it will collect comments from FB and Twitter and add them to the static pages, so that discussion can happen on the social network du jour, but content will remain forever.
In what way does wordpress push complexity to readers?
At no time did the problem that somehow the page had to be rendered go away.
I do think the concept of "conservation of complexity" has some analytical value in the design of software systems.
I've felt this way for a long time about lots of particular design/architecture debates, but this is the first time I've been able to consolidate them to a single statement.
Instead we get a mass duplication of effort into implementing essentially the same thing, a common problem with open source projects.
What is really required is a dead-simple static generator, the equivalent to what Wordpress and Movable Type did for the old style of blogging. A simple app that ordinary computer users can plug their FTP or S3 details into and then publish.
https://github.com/nikcub/floyd
I had a bunch of friends and family members who needed simple static sites so I generated it for them (this was before Jekyll).
I could use it myself, but I could never get them to do the updates themselves from their own machines.
Once Jekyll and the rest came out, I switched my own use over and switched everybody else over to Weebly, and then didn't bother continuing work on Floyd and just let it idle (I pushed it up to GitHub).
Each time one of these projects is released I scan through them and try them out to see if there is any new idea to pick up on.
It then occurred to me that a real innovation in this space is a lot of work and trial+error.
For technical people, you have Jekyll, Hyde, etc. For non-technical people you don't really have anything at the moment. I think a project with a web interface that generates files would be interesting, or having a folder of text files (or Word, Pages etc. documents) that are then generated and uploaded by double-clicking on an icon.
I know there are a bunch of apps in the Mac AppStore in this space, but I haven't tried any of them - so it is possible that this solution already exists. I am not so in love with the idea that I would drop everything else right now to work on it.
Edit: I realize my original comment might offend OP but I didn't intend it to be that way, there are only so many ways you can say "work on expanding the potential uses rather than reimplementing etc." without it sounding dickish
https://github.com/skx/static-site-generators
Still found I had to write my own..
I got sick of trying out different static site generators that were all just a little bit too complicated to setup and install, so I went about building just what you describe - a simple, plug-in-your-ftp-and-click-publish static site generator[1]. I'm still working out the finer details, but I'm happy with where it's at at the moment.
There no comments, and if you want comments, they're not owned by you.
I read there's some local comment servers being written (ie you cleanly separate the blog static content and the dynamic comments), but i've yet to see a "mainstream one that just works" (tm).
That means there is a lag and a rebuild needed to publish them, but it works for me & my blog:
I never used it though, as I decided against comments (and am using other tools now).
I love Jekyll. I'm designer and I didn't had too much trouble to switch from wordpress to something local on my machine and deploy it to my own server.
Today is the first day I will be completely off from Wordpress.
Static generation blogs may seem simple to us but to most people who want to blog they seem ridiculously complicated.
Growing user base, very simple, markdown-based (includes video markdown), includes RSS & Comments
<end self promotion>
I hate when I can't comment on a blog, like right now I can't remark that comments are useful. And I can't comment that RSS is useful, and that I used it a lot in Firefox (not anymore in Chrome now, Google Reader sucks).
Both use dropbox, markdown. The difference is that scriptogram doesn't run from your localhost and its not a static site. Still, there are a lot of similarities