Software Engineering

Software Engineering

1635 bookmarks
Newest
ngrok - secure introspectable tunnels to localhost
ngrok - secure introspectable tunnels to localhost

"Secure On-Demand Tunnels

You'll be assigned a random subdomain on ngrok.com. You can access it with HTTP, or securely with HTTPS.

Request Inspection

Use the web inspection interface when ngrok is running to inspect the HTTP requests over your tunnel. You can even replay them to make debugging easier!"

ngrok - secure introspectable tunnels to localhost
Stashboard: The open source status dashboard
Stashboard: The open source status dashboard

"Stashboard is a status dashboard for APIs and software services. It's similar to the Amazon AWS Status Page or the Google Apps Status Page. Stashboard was originally written by Twilio to provide status information on its Voice and SMS APIs. Stashboard is designed to provide a generic status dashboard for any hosted service or API. The code can be downloaded, customized, and run on any Google App Engine account.

Track multiple different API or SaaS services Set custom status messages and icons such as Up/Down Show historical status for each service Runs on Google App Engine so it's independent of your infrastructure (unless your app is on GAE) Full REST API for both getting and setting status information CNAME to http://status.yourapp.com Stashboard is written in Python and hosted on Google App Engine."

Stashboard: The open source status dashboard
PHP: The Right Way
PHP: The Right Way

"There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web and what the contributors consider to be best practices at the present time.

There is no canonical way to use PHP. This website aims to introduce new PHP developers to some topics which they may not discover until it is too late, and aims to give seasoned pros some fresh ideas on those topics they’ve been doing for years without ever reconsidering. This website will also not tell you which tools to use, but instead offer suggestions for multiple options, when possible explaining the differences in approach and use-case.

This is a living document and will continue to be updated with more helpful information and examples as they become available."

PHP: The Right Way
Rerun by rerun
Rerun by rerun
"Rerun is a simple command runner that turns loose shell scripts into modular automation. Rerun will help you organize your implementation into well defined command interfaces. Collections of management modules can be archived and delivered as a single executable to facilitate team hand offs. Using the "stubbs" module, rerun will even facilitate developing modules using a test-driven development practice."
Rerun by rerun
bpkg/bpkg
bpkg/bpkg

"JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg!

bpkg is a lightweight bash package manager. It takes care of fetching the shell scripts, installing them appropriately, setting the execution permission and more.

You can install shell scripts globally (on /usr/local/bin) or use them on a per-project basis (on ./deps/), as a lazy-man "copy and paste"."

bpkg/bpkg
Writing Robust Bash Shell Scripts - David Pashley.com
Writing Robust Bash Shell Scripts - David Pashley.com
"Many people hack together shell scripts quickly to do simple tasks, but these soon take on a life of their own. Unfortunately shell scripts are full of subtle effects which result in scripts failing in unusual ways. It’s possible to write scripts which minimise these problems. In this article, I explain several techniques for writing robust bash scripts."
Writing Robust Bash Shell Scripts - David Pashley.com
Apache Aurora
Apache Aurora
"Aurora runs applications and services across a shared pool of machines, and is responsible for keeping them running, forever. When machines experience failure, Aurora intelligently reschedules those jobs onto healthy machines."
Apache Aurora
Open Data Platform
Open Data Platform
"The Open Data Platform Initiative (ODP) is a shared industry effort focused on promoting and advancing the state of Apache Hadoop® and Big Data technologies for the enterprise."
Open Data Platform
Ecrire du code propre – Les piliers | OCTO talks !
Ecrire du code propre – Les piliers | OCTO talks !

"Le « Clean Code » regroupe plusieurs règles et principes pour vous aider à construire mais surtout refactorer votre code. En effet, comme le disait Michel dans son article sur les artisans du code, le respect de ces différentes règles énoncées par Bob Martin a pour but d’offrir à votre code, entres autres, simplicité, lisibilité et structuration pour qu’il soit le plus évolutif et maintenable possible sur le long terme.

Ce premier article traite des piliers qui vous soutiendront dans votre pratique de l’amélioration de la qualité de votre code."

Ecrire du code propre – Les piliers | OCTO talks !
Le design des programmes | Thèse Anthony Masure #SoftPhd
Le design des programmes | Thèse Anthony Masure #SoftPhd
"Cette thèse interroge le design depuis les pratiques de programmation en montrant qu’elles ne se réduisent pas à une industrie des programmes, qui empêche les inventions de naître tout à fait. Pour cela, elle confronte au sein d’une lecture non linéaire cinq moments de l’histoire du numérique (depuis Vannevar Bush en 1945, dont une traduction inédite est proposée en appendice, jusqu’aux usages contemporains du site web GitHub) à quatre formulations conceptuelles issues d’un corpus philosophique. Le choix d’auteurs qui n’ont pas directement voué leurs réflexions au design (comme Jacques Derrida, Hannah Arendt ou Walter Benjamin) permet de déconstruire un certain nombre de discours entourant la réception des technologies dites nouvelles. Critiquant nombre d’usages faits des notions de conception et de projet et s’appuyant finalement sur Gilbert Simondon, cette thèse s’intéresse à ce qui n’est pas prévisible dans les programmes. Elle soutient cinq axes ou directions pour une recherche dans le champ concerné : décentrer, authentifier, appareiller, traduire et désarticuler. La plausibilité de ces façons de faire du numérique, encore à l’état d’ébauche dans les productions contemporaines, peut intéresser les designers au-delà des spécialistes. Elle est avérée en fin d’ouvrage dans la description d’une fiction curatoriale."
Le design des programmes | Thèse Anthony Masure #SoftPhd
websocketd
websocketd

"websocketd is the WebSocket daemon

It takes care of handling the WebSocket connections, launching your programs to handle the WebSockets, and passing messages between programs and web-browser.

"

websocketd
clickalicious/phpMemAdmin
clickalicious/phpMemAdmin

"Detailed statistics, charts & graphs Data management for Memcached (full CRUD support) Memcached cluster health dashboard Memcached host dashboard Update check Nice & comfortable UI Clean & well documented code Responsive and mobile ready"

clickalicious/phpMemAdmin
MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data
MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data
"MetricsGraphics.js is a library built on top of D3 that is optimized for visualizing and laying out time-series data. It provides a simple way to produce common types of graphics in a principled, consistent and responsive way. The library currently supports line charts, scatterplots and histograms as well as features like rug plots and basic linear regression."
MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data
binux/pyspider
binux/pyspider

"A Powerful Spider(Web Crawler) System in Python.

Write script in python with powerful API Python 2&3 Powerful WebUI with script editor, task monitor, project manager and result viewer Javascript pages supported! MySQL, MongoDB, SQLite, PostgreSQL as database backend Task priority, retry, periodical, recrawl by age and more Distributed architecture"

binux/pyspider
io.js - JavaScript I/O
io.js - JavaScript I/O

io.js is a JavaScript platform built on Chrome's V8 runtime. This project began as a fork of Joyent's Node.js™ and is compatible with the npm ecosystem.

Why? io.js aims to provide faster and predictable release cycles. It currently merges in the latest language, API and performance improvements to V8 while also updating libuv and other base libraries.

This project aims to continue development of io.js under an "open governance model" as opposed to corporate stewardship.

io.js - JavaScript I/O
Alerting Philosophy · Netflix/atlas Wiki
Alerting Philosophy · Netflix/atlas Wiki

"It is recommended for all alerts to adhere to the follow guidelines:

Keep conditions simple. Alerts should be actionable. Check for measured failure on critical paths rather than a lack of success. Alerts should not have special cases for routine maintenance. Consider how the alert check can fail."

Alerting Philosophy · Netflix/atlas Wiki
How To Get a Happier Workforce
How To Get a Happier Workforce

"How can you measure happiness? One way to do it is to ask people how happy they feel. Löffler and Miarka referred to the Happiness Metric that Jeff Sutherland described in Scrum: The Art of Doing Twice the Work in Half the Time.

Löffler and Miarka provided suggestions for what you can do when you want to improve happiness in teams:"

How To Get a Happier Workforce