Elementi taggati con: dev

Designing robust and predictable APIs with idempotency by #Stripe engineering #api #dev #web

Designing robust and predictable APIs with idempotency

Networks are unreliable. We’ve all experienced trouble connecting to Wi-Fi, or had a phone call drop on us abruptly.

The networks connecting our servers are, on average, more reliable than consumer-level last miles like cellular or home ISPs, but given enough information moving across the wire, they’re still going to fail in exotic ways. Outages, routing problems, and other intermittent failures may be statistically unusual on the whole, but still bound to be happening all the time at some ambient background rate.

To overcome this sort of inherently unreliable environment, it’s important to design APIs and clients that will be robust in the event of failure, and will predictably bring a complex integration to a consistent state despite them. Let’s take a look at a few ways to do that.
#Django #Web #Framework ( #Python ) tutorial #dev #programming

Django Web Framework (Python)

Django is an extremely popular and fully featured server-side web framework, written in Python. The module shows you why Django is one of the most popular web server frameworks, how to set up a development environment, and how to get started with using it to create your own web applications.

What is Category Theory Anyway? — Math3ma

#category-theory #haskell #math #dev

What is Category Theory Anyway?

A quick browse through my Twitter or Instagram accounts, and you might
guess that I've had category theory on my mind. You'd be right, too! So I
have a few category-theory themed posts lined up for this semester, and to
start off, I'd like to (attempt to) answer the question, What is category
theory, anyway? for anyone who may not be familiar with the subject.

Now rather than give you a list of definitions--which are easy enough to
find and may feel a bit unmotivated at first--I thought it would be nice to
tell you what category theory is in the grand scheme of (mathematical)
things. You see, it's very different than other branches of math....
#Go is Not Good #golang #dev #programming


go-is-not-good - A curated list of articles complaining that go (golang) isn't good enough
Stop Filing Bugs, File a Container! #dev #programming

Stop Filing Bugs, File a Container!

RunKit notebooks are a great way to file bugs on GitHub. Since RunKit automatically packages your code with its entire environment in a Docker container, anyone can clone your bug and start investi...
#Pycycle: Find and fix circular imports in #python projects #dev #programming


pycycle - Tool for pinpointing circular imports in Python. Find circle imports in any project
git-recall - Simple and handy tool to easily recall what you've done with #Git #dcvs #dev #programming


git-recall - Simple and handy tool to easily recall what you've done
Top ten pull request review mistakes #dev #programming

Top ten pull request review mistakes

I’ve worked on a whole lot of GitHub-hosted projects, whether personal, open-source, or on contract. Sometimes using the public GitHub, and other times GitHub Enterprise. But one thing is the same: it’s pretty easy to submit a pull request, but it’s really hard to review a pull request well.
Without further ado, the top ten pull request review mistakes and some ideas on how to do better!
Making the move from #Scala to #Go, and why we’re not going back #dev #programming

Making the move from Scala to Go, and why we're not going back

Here’s the story of why we chose to migrate from Scala to Go, and gradually rewrote part of our Scala codebase to Go.
#Racket v6.8 released #dev #programming

Racket v6.8

_posted by Vincent St-Amour_ Racket version 6.8 is now available from Racket sports a new logo, courtesy of Matthew Butterick. MacBook Pro laptops with touch bars are supported. Support for FreeBSD on PowerPC. ...
Announcing #pipenv #python #dev #programming

Announcing Pipenv!

I wrote a new tool this weekend, called pipenv. Check it out on GitHub!

Pipenv in action.

Pipenv is an experimental project that aims to bring the best of all
packaging worlds to the Python world. It harnesses Pipfile, pip, and
virtualenv into one single toolchain. It features very pretty terminal

It automatically creates and manages a virtualenv for your projects, as
well as adds/removes packages from your Pipfile as you install/uninstall
packages. The lock command generates a lockfile (Pipfile.lock).

☤ Features
* Automatically finds your project home, recursively, by looking for a
* Automatically generates a Pipfile, if one doesn't exist.
* Automatically generates a Pipfile.lock, if one doesn't exist.
* Automatically creates a virtualenv in a standard location
* Automatically adds packages to a Pipfile when they are installed.
* Automatically removes packages from a Pipfile when they are
* Also automatically updates pip.

The main commands are install, uninstall, and lock, which generates a
Pipfile.lock. These are intended to replace $ pip install usage, as well as
manual virtualenv management.

☤ Basic Concepts
* A virtualenv will automatically be created, when one doesn't exist.
* When no parameters are passed to install, all packages specified will
be installed.
* When no parameters are passed to uninstall, all packages will be
* To initialize a Python 3 virtual environment, run $ pipenv --three
* To initialize a Python 2 virtual environment, run $ pipenv --two
* Otherwise, whatever $ which python will be the default.
☤ Other Commands
* shell will spawn a shell with the virtualenv activated.
* run will run a given command from the virtualenv, with any arguments
forwarded (e.g. $ pipenv run python).
* check asserts that PEP 508 requirements are being met by the current
☤ Usage

$ pipenv
Usage: pipenv [OPTIONS]COMMAND [ARGS]...

--where Output project home information.
--bare Minimal output.
--three / --two Use Python 3/2 when creating virtualenv.
--version Show the version and exit.
--help Show this message and exit.

check Checks PEP 508 markers provided in Pipfile.
install Installs a provided package and adds it to...
lock Generates Pipfile.lock.
run Spans a command installed into the...
shell Spans a shell within the virtualenv.
uninstall Un-installs a provided package and removes it...
update Updates pip to latest version, uninstalls all...

$ pipenv --where
Pipfile found at /Users/kennethreitz/repos/kr/pip2/test/Pipfile. Considering this to be the project home.

$ pipenv install
Creating a virtualenv for this project...
No package provided, installing all dependencies.
Virtualenv location: /Users/kennethreitz/repos/kr/pip2/test/.venv
Installing dependencies from Pipfile.lock...

To activate this project's virtualenv, run the following:
$ pipenv shell

$ pipenv install pytest --dev
Installing pytest...
Adding pytest to Pipfile's [dev-packages]...

$ pipenv lock
Assuring all dependencies from Pipfile are installed...
Locking [dev-packages] dependencies...
Locking [packages]dependencies...
Note: your project now has only default [packages]installed.
To install [dev-packages], run: $ pipenv init --dev

$ pipenv install --dev
Pipfile found at /Users/kennethreitz/repos/kr/pip2/test/Pipfile. Considering this to be the project home.
Pipfile.lock out of date, updating...
Assuring all dependencies from Pipfile are installed...
Locking [dev-packages] dependencies...
Locking [packages]dependencies...
Note: your project now has only default [packages]installed.
To install [dev-packages], run: $ pipenv install --dev
Installing dependencies from Pipfile.lock...

$ pipenv uninstall
No package provided, un-installing all dependencies.
Found 25 installed package(s), purging...
Environment now purged and fresh!

$ pipenv shell
Spawning virtualenv shell (/bin/zsh).

 ☤ Installation

$ pip install pipenv

Scaling #Python is on its way #dev #programming #book

Scaling Python is on its way

My day-to-day activities are still evolving around the Python programming language, as I continue working on the OpenStack project as part of my job at Red Hat. OpenStack is still the biggest Python …

Bartosz Milewski's answer to How does the following Haskell code work? isPalindrome = (==) <*> reverse - Quora*-reverse

#haskell #dev

Error 404 - Quora


openAI Universe : how to game humans

In case you would like to have a glipse of the technology that will replace your computer job in the next years, or permit you to completely rethink it (that's the whole point : is there liberty for humans with AI? - hint : I'm working now with a painter to unfold it's works thanks to AI and my video work... this permit to understand, and control the effects of such tech, instead of just being passive and submissive) look at these unfolding in the open : the openAI Universe initiative is giving the tools to make a computer system the hooks and the software to play video games without any modification. They just "take the place" of the player with the help of a "virtual machine" and some simple scripts... the AI "analyse" or "treat" the video inputs and output classical controls (buttons and arrows input f.ex.) they use it f.ex. to train autonomous cars in GTA V...

what will be your use ?

#ai #floss #unemployment #videogame #dev #training #neuralnetworks #opensource #gameover


We're releasing Universe, a software platform for measuring and training an AI's general intelligence across the world's supply of games, websites and other applications.
Using #Git Hunks #dev #programming

Using Git Hunks

As a developer, I always try to follow the “Boy Scout Principle” when it comes to the code I’m working with. Simply put:
Bug de la seconde supplémentaire chez Cloudflare

How and why the leap second affected Cloudflare #DNS

#go #dev

How and why the leap second affected Cloudflare DNS

At midnight UTC on New Year’s Day, deep inside Cloudflare’s custom RRDNS software, a number went negative when it should always have been, at worst, zero. A little later this negative value caused RRDNS to panic. This panic was caught using the recover feature of the Go language.
#dns #go #dev
#Voluptuous ,#Python data validation library #dev #programming


voluptuous - Voluptuous, despite the name, is a Python data validation library.
#Python 3.6 is packed with goodness #dev #programming

Python 3.6 is packed with goodness

More async support, more type-hinting power, more speed, and more efficient memory usage top a long list of useful additions to Python
Une présentation du service SAAS que je suis en train de développer en auto-entrepreneur :

#saas #opensource #dev #hosting #autoentrepreneur #nodejs


Welcome to Medium, a place to read, write, and interact with the stories that matter most to you. Every day thousands of new voices share…

The Golden Age of Spaghetti #Code - DZone Agile

#java #dev

The Golden Age of Spaghetti Code - DZone Agile

According to Edmund Kirwan, the greatest trick spaghetti code ever pulled was convincing the world that it didn't exist.
J’ai fait un nouveau dépôt sur github pour le code que j’ai utilisé pour « détourner » le bouton dash d’Amazon. Je l’utilise pour passer au morceau suivant sur mon serveur mopidy.

Depuis quelques mois, il est possible de commander en France les boutons dash, cela fait un bouton connecté wifi pas trop cher.

#mopidy #amazon #dash #github #nodejs #dev

404 - Document introuvable


The deceptively complex world of RRULEs

#icalendar #rrule #dev

The deceptively complex world of RRULEs

How to work with repeating calendar events, from RFC-5545 and beyond

Native Apps are Doomed – JavaScript Scene – Medium

#phone #dev #webapp

Native Apps are Doomed – JavaScript Scene

From now on, I won’t be building any more native apps.
Programmers really hate open floor plans — Quartz


Quartz: Programmers really hate open floor plans (Keith Collins)

"I feel like I'm slowly going crazy."

WTF is operations? #serverless | on

operational excellence is not a role, it’s an emergent property. It is how you get shit done.

#operation #software #dev WTF is operations? #serverless (mipsytipsy)

I just got back from the very first ever @serverlessconf in NYC.  I have a soft spot for well-curated single-track conferences, and the organizers did an incredible job.  Major kudos to @iamstan an…
Un jeu qui va mettre à l'épreuve vos notions de programmation fonctionnelle.

cube composer

#dev #programmation #functionalprogramming #jeux #game

cube composer

A puzzle game inspired by functional programming.

Thank you, #diaspora #dev #community, for a shiny new *D version! Thank you, #joindiaspora maintainer(s), for a swift update! Very proud to be part of a #healthy #wonderful #network! :)