flashingpumpkin | 13 years ago | on: Django Best Practices
flashingpumpkin's comments
flashingpumpkin | 13 years ago | on: Ask HN: How can I outsource DevOps?
flashingpumpkin | 13 years ago | on: Summly: intelligent news summarisation
[1] http://www.bloomberg.com/video/slacker-16-year-old-whiz-laun...
flashingpumpkin | 13 years ago | on: Sol — a sunny little homemade virtual machine
flashingpumpkin | 13 years ago | on: Pyjaco - Python to JavaScript translator.
flashingpumpkin | 14 years ago | on: Pallet, Clojure Dev Ops like Chef and Puppet
We do all of our deployments with Chef Solo and push our Cookbooks via Fabric over SSH to our servers. Pallet is definitely something to have a deeper look at as I don't like installing more than the bare essentials of what our apps need on our servers for various reasons.
flashingpumpkin | 14 years ago | on: Review: Clojure Programming
flashingpumpkin | 14 years ago | on: Simple - An Obtvse clone written in Python
flashingpumpkin | 14 years ago | on: HTTP Caching Tutorial
flashingpumpkin | 14 years ago | on: Tell HN: Gray text on white background sucks the blood out of my eyes
User script, install to have black font in comment threads: https://gist.github.com/raw/1600378/95ad884caa17d8a02f1f425a...
And the gist: https://gist.github.com/1600378
flashingpumpkin | 14 years ago | on: The Facebook Platform Is A Trainwreck
edit Typos, writing on the phone and it's late.
flashingpumpkin | 14 years ago | on: Show HN - Random business from the INC5000 list in json (for business ideas)
curl -s http://random-inc5000.herokuapp.com/ | python -m simplejson.tool
I've got the last bit aliased as `json` though.flashingpumpkin | 14 years ago | on: Ask HN: Where is the Django community?
It's clumsy, inflexible and restrictive.
Pretty much anything can be swapped out with custom code. Need a custom auth backend? Just write a class. Need custom session backends? Just write a class. Need to customise a certain view of an application? Just override the url. Don't like the ORM? Just use something else. Have special caching needs? Write a backend.
A look at the release notes are full of good things and following them is definitely worth it. Since 1.3 you've got class based views that make it dead easy to create RESTful views for example. There's new logging support, you can have multiple databases with different backends.
The community is pretty much dead.
It's true that there was a lot more blogging happening in the earlier days. I suspect that the community is simply busy building new things - but a look at the CheeseShop shows on any day a healthy amount of new and updated Django components. Right now there are 7 Django projects on the main page.
All my Django projects ended up being a big mess, and I had to undjango my way out of the various restrictions it placed on me.
I'm a big fan of how Django creates structure through its applications. It makes it very easy to build parts of functionality on a plug and play basis and use them across projects.
Django offers a lot of functionality and it can be difficult to pick the right ones being a newcomer. But once you get the hang around applications and repositories and start working with "advanced" Django and Python features and apps like the built in signals, Celery, Fabric, GUnicorn, etc building and deploying apps becomes a breeze.
flashingpumpkin | 14 years ago | on: Andrea Rossi energy catalyzer production ready
Here's a little more information, including criticism.
http://en.wikipedia.org/wiki/Energy_Catalyzer ( Follow the references )
I also cannot see why the site would host a forum and the flamewars about its credibility.
flashingpumpkin | 15 years ago | on: Ask HN: Looking for a version control based backup tool
It's using git as a backend to sync.
flashingpumpkin | 15 years ago | on: I love async, but I can't code like this
mainWindow.menu "File", (err, file)->
openMenu err, (err, menu)->
getItem err, "Open", (err, item)->
click err, item, (err)->
getChild err, getChildType("Window"), (err, dialog)->
if err? and err instanceof NoFileError
# do stuff
if err? and err instanceof InvalidClickError
# do other stuff
if err?
throw err
# do stuff with dialog if no err
Each function takes as first argument an error and as last a callback. If there's
an error, the function just passes the error up the callback stack until it gets
dealed with. fun = (err, args..., callback)
You can't pull that off if your code is heavily object oriented though: mainWindow.menu "File", (err, file)->
# If mainWindow.menu errors, file is undefined
# and the call to openMenu throws an error
file.openMenu err, (err, menu)->
# ...
Breaking your code/api up with modules instead into classes fixes that.flashingpumpkin | 15 years ago | on: JustSpotted (YC S08): Celebrity Geo-Stalking In Real-Time
flashingpumpkin | 16 years ago | on: HN London Meetup
flashingpumpkin | 16 years ago | on: HN London Meetup
flashingpumpkin | 16 years ago | on: Ask PG: Please stop the opaque voting policies