Metamon is a Vagrantfile combined with a set of Ansible Playbooks which can be used to quickly start a new Django project.

Setting up a development environment when starting a new project always turns out to be a tiresome and time consuming task. Metamon is a collection of Ansible Playbooks that aims to correct this by providing a standarized, automated and generic* environment (both for development and production). This way projects can be started a lot faster by just being able to jump directly into development.

Although Metamon is easily extensible by adding new Ansible roles, it is a better fit for people who use Django + Gunicorn + Nginx + PostgreSQL.

* generic in the context of Django applications.
django  ansible 
7 days ago
Tech Leavers | Kapor Center
The Tech Leavers Study is a first-of-its-kind national study examining why people voluntarily left their jobs in tech. The Kapor Center for Social Impact and Harris Poll surveyed a representative sample of more than 2,000 U.S. adults who have left a job in a technology-related industry or function within the last three years.

What did we learn?

Workplace culture drives turnover, significantly affecting the retention of underrepresented groups, and costing the industry more than $16 billion each year.
diversity  hiring  women  work 
12 days ago
Help out your favorite open source projects and become a better developer while doing it.

Pick your favorite repos to receive a different open issue in your inbox every day. Fix the issue and everybody wins.
26 days ago
Deploying Python Web Applications with nginx and uWSGI Emperor | Chris Warrick
You’ve just written a great Python web application. Now, you want to share it with the world. In order to do that, you need a server, and some software to do that for you.
The following is a comprehensive guide on how to accomplish that, on multiple Linux-based operating systems, using nginx and uWSGI Emperor. It doesn’t force you to use any specific web framework — Flask, Django, Pyramid, Bottle will all work. Written for Ubuntu, Debian, Fedora, CentOS and Arch Linux (should be helpful for other systems, too). Now with an Ansible Playbook.
python  ansible  ubuntu  debian  nginx  uwsgi  webdev 
6 weeks ago
Siege Home
Siege is an http load testing and benchmarking utility. It was designed to let web developers measure their code under duress, to see how it will stand up to load on the internet. Siege supports basic authentication, cookies, HTTP, HTTPS and FTP protocols. It lets its user hit a server with a configurable number of simulated clients. Those clients place the server “under siege.”
webdev  performance  opensource 
7 weeks ago
Testing your disks for PostgreSQL
Testing your disks for PostgreSQL

Like all database software, PostgreSQL performance is largely dependant on the configuration of the disk drive(s) on the database server. Before you can usefully adjust PostgreSQL to improve throughput, it is wise (some would say necessary) to do some basic testing on your disks to determine how fast they are. It's unfortunately common to find systems where disk performance is grossly below expectations for a variety of reasons. If you don't catch that early, that can lead to wasting a lot of time adjusting database parameters that won't have the slightest impact because operations are bottlenecked by the underlying physical I/O limitations. It doesn't matter how well respected your vendor is who has told you that your system is a great performer; if you haven't tested it yourself, don't believe it.
postgres  performance 
7 weeks ago
New explain |
Visual enhancement to postgres's 'explain analyze' output
7 weeks ago
Sentry Server – Sentry Documentation
Stop hoping your users will report errors
Sentry’s real-time error tracking gives you insight into production deployments and information to reproduce and fix crashes.

You can pay for or you can also set up the server yourself for "on premises" use.
python  monitoring 
7 weeks ago
clippy - Cargo: packages for Rust
Linter + style? + fixes for common pitfalls
9 weeks ago
Notes on Distributed Systems for Young Bloods – Something Similar
# Distributed systems are different because they fail often.
# Writing robust distributed systems costs more than writing robust single-machine systems.
# Robust, open source distributed systems are much less common than robust, single-machine systems.
# Coordination is very hard.
# If you can fit your problem in memory, it’s probably trivial.
# “It’s slow” is the hardest problem you’ll ever debug.
# Implement backpressure throughout your system.
# Find ways to be partially available.
# Metrics are the only way to get your job done.
# Use percentiles, not averages.
# Learn to estimate your capacity.
# Feature flags are how infrastructure is rolled out.
# Choose id spaces wisely.
# Exploit data-locality.
# Writing cached data back to persistent storage is bad.
# Computers can do more than you think they can.
# Use the CAP theorem to critique systems.
# Extract services.
12 weeks ago
Resource Oriented Design  |  Cloud APIs  |  Google Cloud Platform
The goal for this Design Guide is to help developers design simple, consistent and easy-to-use networked APIs. At the same time, it also helps converging designs of socket-based RPC APIs with HTTP-based REST APIs.

Traditionally, people design RPC APIs in terms of API interfaces and methods, such as CORBA and Windows COM. As time goes by, more and more interfaces and methods are introduced. The end result can be an overwhelming number of interfaces and methods, each of them different from the others. Developers have to learn each one carefully in order to use it correctly, which can be both time consuming and error prone.

The architectural style of REST was first introduced in 2000, primarily designed to work well with HTTP/1.1. Its core principle is to define named resources that can be manipulated using a small number of methods. The resources and methods are known as nouns and verbs of APIs. With the HTTP protocol, the resource names naturally map to URLs, and methods naturally map to HTTP methods POST, GET, PUT, PATCH, and DELETE.

On the Internet, HTTP REST APIs have been recently hugely successful. In 2010, about 74% of public network APIs were HTTP REST APIs.

While HTTP REST APIs are very popular on the Internet, the amount of traffic they carry is smaller than traditional RPC APIs. For example, about half of Internet traffic in America at peak time is video content, and few people would consider using REST APIs to deliver such content for performance reasons. Inside data centers, many companies use socket-based RPC APIs to carry most network traffic, which can be orders of magnitude higher than public REST APIs.

In reality, both RPC APIs and HTTP REST APIs are needed for various reasons. Ideally, an API platform should provide best support for all APIs. This Design Guide helps you design and build APIs that conform to this principle. It does so by applying resource-oriented design principles to general API design, and defines many common design patterns to improve usability and reduce complexity.

NOTE: This Design Guide explains how to apply REST principles to API designs independent of programming language, operating system, or network protocol. It is NOT a guide solely to creating REST APIs.
api  design 
12 weeks ago
The Book
"Test-Driven Web Development with Python" aims to teach TDD for web programming. It uses a concrete example -- the development of a website, from scratch -- to explain the TDD metholology and how it applies to building web applications. It covers the Selenium browser-automation tool, unit testing, mocking, and interacting with Web technologies from the basics of static content, database integration, throught the inescapable JavaScript, and onto more advanced (and trendy) topics like NoSQL, websockets and Async programming.
python  django  testing 
march 2017
[no title]
The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.
testing  security  programming 
january 2017
« earlier      
academia accessibility activism advice android api arduino art asturias audio australia awesome backup beautiful blog bom books briannalaugher bugtracker business canvas cc-by cc-by-sa cffsw chinese code colour comic commons community compling conferences cool copyright corpora craftivism creativecommons crowdfunding css cycling data database debugging decentralisedwiki deployment design dictionary digitalmedia django documentation dreamhost ebooks education emacs email essays events extension feminism filetype:jpg firefox flickr floss flossmanuals freecontent freeculture freedom freesoftware funding fundraising funny games geekculture geekfeminism geeky gender geo geospatial gfe git glam google gov2 government graphics gui history house howto html iif2010 images indonesian inkscape interesting internet interview ironpython javascript job language languages library linguistics linux linuxchix livejournal lote machinetranslation management maps mashups media media:image mediawiki melbourne mobile museums music netbook nlg nlp nonprofit oer openaccess opengovernance openhardware opensource oracle organise packaging pcos pdf photography podcast politics polyamory postgres pretty printing privacy programming prolog prose psi publicdomain python queer rainbowduino recipes regexp research review rss science screencast screenscraping search security sex skins slides software softwaredev spain spanish speaking speech sql stackoverflow startups statistics svg svn swimming t10n technology techphilanthropy terminology testing text textpattern tips transgender translation travel triathlon twitter ubuntu ubuntu9.10 unimelb usability useful uyghur vegetarian versioncontrol victoria video visualisation volunteering weather weatherforecasts web web-based web2.0 webdesign webdev wiki wikimania2008 wikimania2009 wikimedia wikimediaaustralia wikimediacommons wikipedia wikireader wikis wikiversity women work yoga zines

Copy this bookmark: