What's your stack?

mattseh

import this
Apr 6, 2009
5,504
71
0
A ~= A
I'll start:

For web dev:

  • Python 2.7
  • Flask
  • Jinja2 (Flask default)
  • Flask Classy most of the time
  • Flask-bootstrap when design doesn't need to be unique
  • WTForms (lol at writing your own form HTML)
  • Pony ORM
  • Redis when needed
  • waitress WSGI server
  • Nginx when needed
  • Postgres with SQLite in early development or for small projects.
For scraping:

  • requests
  • lxml
  • gevent
  • Whatever's needed from the web dev list
For hosting, usually digitalocean and / or heroku.
 


At work (web dev)

  • django
  • mongodb
  • elasticsearch
  • angular.js
  • d3.js
  • gunicorn (I prefer uwsgi)
  • nginx
  • celery (looking for a replacement, rq needs features in branches to be merged)

I use Django for my personal projects (nothing to speak of at the moment) but I'm feeling that the days are numbered for the traditional server side MVC framework (eg Django, RoR etc etc). So much is done on the frontend these days, almost all you need from the backend server is a rest api with persistence.
 
Good call on rq, I've been using it recently and like it a lot. What unmerged features are you talking about?
 
Clojure + Clojurescript (JS) + Datomic (DB)

- Datomic is an interesting beast that's become my default database. One perk is that you get to pass your database around as a value -- a lazy, persistent tree. `(find-user db 42)`. `(find-user db-val-from-last-week 42)`. Also, Datalog (Learn Datalog Today!) is a nice break from SQL.

- I host all of my side-projects on Linode machines. They compile into stand-alone .jars that I just toss onto my servers with Nginx dispatching traffic on hostname.

- I pathetically launch each app in its own tmux tab. It was supposed to be a temporary deployment solution a couple years ago, but I never suffered enough pain to get seek a better solution. But now that I have dozens of apps running on many Linodes, it's definitely feeling precarious. TODO...

- Twitter Bootstrap on every one of my side-projects. They all look the same which is a huge time-saver.
 
+1 for Supervisor. Dead simple to configure and has never given me grief.

My Stack:

For Desktop:
- Visual Studio 2010 (old I know) and DevExpress tools for winforms. I only use C#.

Web Dev/daemons/etc
- Sublime Text Editor 3 (Get this. Love it. Cuddle it...)
- Ubuntu (latest) for dev and production
- Ruby & Ruby on Rails
- Redis, MySQL, Sqlite and Postgres
- Sidekiq (task queue with scheduling capability)
- PHP (If needed)
- Python 2.7
- Bootstrap 3.x
- Erlang
- RabbitMQ & 0MQ for message passing
- Go
- Coffeescript
- HAML
- SASS
- node.js
- Jquery & Jquery UI
- Njinx or Apache (depending)

Scraping
- Awesomium
- Ruby with Capybara and Poltergeist
- Jquery (I prefer to use selectors instead of xpath whenever possible)
 
So much similar with mattseh

Web dev:
- Python 2.7
- Flask
- Jinja2
- WTForms
- Redis when needed
- Nginx
- uWSGI
- Supervisor

Database:
- mongoDB with full-text search

Scrape Tools:
- urllib2
- BeautifulSoup4
- gevent

Editor:
- emacs24 (both on local and server)

Others:
- github

Server & Hosting:
64bit Ubuntu on DigitalOcean (will try datashack in the near future though)
 
Yeah, tried requests several times, so far when not too complex I stick with urllib2, else I'm using requests (i.e. need to sent payload data for login process into a web)...
 
Just us requests straight up. I posted this somewhere else, but I'm going to paste it here because I can't be bothered to type the same thing again.

urllib2 is broken in the age of the new web. It's a pain in the ass to do things that should be default.
Would you use a browser that didn't support Gzip in these days? I doubt it. Why download data you don't have to. Requests automatically handles gzipped data if available. You don't want code like this littered everywhere: Does python urllib2 automatically uncompress gzip data fetched from webpage? - Stack Overflow
 
cause sometimes I'm just too lazy to pip install everytime I create a virtualenv ...
 
cause sometimes I'm just too lazy to pip install everytime I create a virtualenv ...

I thought lazy people automated everything? Having a good time with using Fabric recently. For little things that need repeating as well as attempting full server deployment. Almost there.