Awesome List Updates on Feb 02 - Feb 08, 2015
12 awesome lists updated this week.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor
1. Awesome Talks
Functional Programming
- Domain modelling with the F# type system by Scott Wlaschin [1:03:40]
Software Design
- Microservices by Martin Fowler [26.25]
2. Awesome Projects Boilerplates
Websites
- Meteor boilerplate (⭐883) Boilerplate for meteor framework.
3. Awesome Clojure
Structural Migrations
HTML Manipulation
4. Awesome Hadoop
Hadoop
- Crunch (⭐207) - Go-based toolkit for ETL and feature extraction on Hadoop
SQL on Hadoop
- Apache Tajo - Data warehouse system for Apache Hadoop
Libraries and Tools
Packaging, Provisioning and Monitoring
- inviso (⭐200) - Inviso is a lightweight tool that provides the ability to search for Hadoop jobs, visualize the performance, and view cluster utilization.
Search
- Banana (⭐667) - Kibana port for Apache Solr
Security
- Apache Ranger - Ranger is a framework to enable, monitor and manage comprehensive data security across the Hadoop platform.
- Apache Sentry - An authorization module for Hadoop
- Apache Knox Gateway - A REST API Gateway for interacting with Hadoop clusters.
Websites
5. Awesome Elixir
Algorithms and Data structures
- datastructures (⭐215) - A collection of protocols, implementations and wrappers to work with data structures.
- the_fuzz (⭐77) - Fuzzy string-matching algorithm implementations.
Applications
- poxa (⭐1k) - Open Pusher implementation, compatible with Pusher libraries.
Authentication
- oauth2cli (⭐4) - Simple OAuth2 client written for Elixir.
Bittorrent
- wire (⭐18) - Encode and decode bittorrent peer wire protocol messages with Elixir.
Build Tools
- remix (⭐149) - Automatic recompilation of Mix code on file change.
- sass_elixir (⭐1) - A sass plugin for Elixir projects.
Code Analysis
- exprof (⭐178) - A simple code profiler for Elixir, using eprof.
Command Line Applications
- anubis (⭐130) - Command-Line application framework for Elixir.
Date and Time
- chronos (⭐91) - An Elixir date/time library.
Debugging
- booter (⭐23) - Boot an Elixir application, step by step.
- exrun (⭐120) - Distributed tracing for Elixir with rate limiting and simple macro-based interface.
- mailibex (⭐62) - Library containing Email-related implementations in Elixir: dkim, spf, dmark, mimemail, smtp.
Files and Directories
- cassius - Monitor Linux file system events.
- Radpath (⭐22) - Path library for Elixir, inspired by Python's Enhpath.
Framework Components
- cors_plug (⭐402) - An Elixir plug that adds CORS headers to requests and responds to preflight requests (OPTIONS).
- plug_accesslog (⭐31) - Plug for writing access logs.
- trailing_format_plug (⭐25) - An Elixir plug to support legacy APIs that use a rails-like trailing format.
HTTP
- exvcr (⭐718) - HTTP request/response recording library for Elixir, inspired by VCR.
Images
- exexif (⭐43) - Pure Elixir library to extract TIFF and EFIX metadata from jpeg files.
JSON
- jsx (⭐695) - An Erlang application for consuming, producing, and manipulating json.
Miscellaneous
- Countries (⭐146) - Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard.
- dynamic_compile (⭐1) - Compile and load Erlang modules from string input.
- exsync (⭐155) - Yet another Elixir reloader.
- url_unroller (⭐5) - Simple URL unroller (un-shortener) in Elixir.
ORM and Datamapping
- ssdb_elixir (⭐5) - ssdb client for Elixir, with focus on performance.
Protocols
- exprotobuf (⭐486) - Protocol Buffers in Elixir, made easy.
- msgpax (⭐287) - MessagePack (de)serializer implementation for Elixir.
Release Management
- changex (⭐47) - Automated changelog generation from GIT logs.
- exrm_rpm (⭐39) - Create a RPM for your Elixir release with ease.
Templating
- eml (⭐116) - Library for writing and manipulating (HTML) markup in Elixir.
Testing
- faker (⭐1.1k) - Faker is a pure Elixir library for generating fake data.
- mix_eunit (⭐17) - A Mix task to execute eunit tests.
- mixunit (⭐2) - An EUnit task for Mix based projects.
- mock (⭐641) - Mocking library for the Elixir language.
Text and Numbers
- bencoder (⭐4) - bencode in Elixir.
- exmoji (⭐95) - Emoji encoding Swiss Army knife for Elixir/Erlang.
- pinyin (⭐21) - Chinese Pinyin lib for Elixir.
- tomlex (⭐32) - A TOML parser for Elixir.
Third Party APIs
- balanced (⭐4) - Balanced API Client for Elixir.
- commerce_billing (⭐180) - A payment-processing library for Elixir that supports multiple gateways (e.g. Bogus & Stripe).
- exgravatar (⭐22) - An Elixir module for generating Gravatar URLs.
- extwitter (⭐411) - Twitter client library for Elixir.
Other Awesome Lists
- Erlang Bookmarks (⭐1.1k) - A collection of links for Erlang developers.
Reading
- Elixir Cheat-Sheet - A Elixir cheat sheet, by Andy Hunt & Dave Thomas.
Websites
- How I start - Elixir - Explanation and intro to Elixir by José Valim.
6. Services Engineering
Services Engineering Reading List / Books
- High Performance Browser Networking (Grigorik)
7. Awesome Artificial Intelligence
Courses
- Intro to Artificial Intelligence - Learn the Fundamentals of AI. Course run by Peter Norvig
- EdX Artificial Intelligence - The course will introduce the basic ideas and techniques underlying the design of intelligent computer systems
- Machine Learning - Basic machine learning algorithms for supervised and unsupervised learning
- Stanford Statistical Learning - Introductory course on machine learning focusing on linear and polynomial regression, logistic regression and linear discriminant analysis; cross-validation and the bootstrap, model selection and regularization methods (ridge and lasso); nonlinear models, splines and generalized additive models; tree-based methods, random forests and boosting; support-vector machines.
- The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind - In this mind-expanding book, scientific pioneer Marvin Minsky continues his groundbreaking research, offering a fascinating new model for how our minds work
- Artificial Intelligence: A New Synthesis - Beginning with elementary reactive agents, Nilsson gradually increases their cognitive horsepower to illustrate the most important and lasting ideas in AI
Learning
- Machine Learning: A Probabilistic Perspective - This textbook offers a comprehensive and self-contained introduction to the field of machine learning, based on a unified, probabilistic approach
8. Htaccess
Rewrite and Redirection
What we are doing here is mostly collecting useful snippets from all over the interwebs (for example, a good chunk is from Apache Server Configs (⭐3k)) into one place. While we’ve been trying to credit where due, things might be missing. If you believe anything here is your work and credits should be given, let us know, or just send a PR.
Note: It is assumed that you have mod_rewrite
installed and enabled.
Rewrite and Redirection / Force www
Force www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
Rewrite and Redirection / Force www in a Generic Way
Force www in a Generic Way
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
This works for any domain. Source
Rewrite and Redirection / Force non-www
Force non-www
It’s still open for debate whether www or non-www is the way to go, so if you happen to be a fan of bare domains, here you go:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Rewrite and Redirection / Force HTTPS
Force HTTPS
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Note: It’s also recommended to enable HTTP Strict Transport Security (HSTS)
# on your HTTPS website to help prevent man-in-the-middle attacks.
# See https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
<IfModule mod_headers.c>
# Remove "includeSubDomains" if you don't want to enforce HSTS on all subdomains
Header always set Strict-Transport-Security "max-age=31536000;includeSubDomains"
</IfModule>
Rewrite and Redirection / Force Trailing Slash
Force Trailing Slash
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
Security / Deny All Access
Deny All Access
## Apache 2.2
Deny from all
## Apache 2.4
# Require all denied
But wait, this will lock you out from your content as well! Thus introducing...
Security / Deny All Access Except Yours
Deny All Access Except Yours
## Apache 2.2
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx
## Apache 2.4
# Require all denied
# Require ip xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
is your IP. If you replace the last three digits with 0/12
for example, this will specify a range of IPs within the same network, thus saving you the trouble to list all allowed IPs separately. Source
Now of course there's a reversed version:
Security / Allow All Access Except Spammers'
Allow All Access Except Spammers'
## Apache 2.2
Order deny,allow
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxy
## Apache 2.4
# Require all granted
# Require not ip xxx.xxx.xxx.xxx
# Require not ip xxx.xxx.xxx.xxy
Security / Disable Directory Browsing
Disable Directory Browsing
Options All -Indexes
Security / Disable Image Hotlinking
Disable Image Hotlinking
RewriteEngine on
# Remove the following line if you want to block blank referrer too
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?example.com [NC]
RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
# If you want to display a “blocked” banner in place of the hotlinked image,
# replace the above rule with:
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
Security / Disable Image Hotlinking for Specific Domains
Disable Image Hotlinking for Specific Domains
Sometimes you want to disable image hotlinking from some bad guys only.
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://(.+\.)?badsite2\.com [NC,OR]
RewriteRule \.(jpe?g|png|gif|bmp)$ - [NC,F,L]
# If you want to display a “blocked” banner in place of the hotlinked image,
# replace the above rule with:
# RewriteRule \.(jpe?g|png|gif|bmp) http://example.com/blocked.png [R,L]
Security / Password Protect a Directory
Password Protect a Directory
First you need to create a .htpasswd
file somewhere in the system:
htpasswd -c /home/fellowship/.htpasswd boromir
Then you can use it for authentication:
AuthType Basic
AuthName "One does not simply"
AuthUserFile /home/fellowship/.htpasswd
Require valid-user
Security / Password Protect a File or Several Files
Password Protect a File or Several Files
AuthName "One still does not simply"
AuthType Basic
AuthUserFile /home/fellowship/.htpasswd
<Files "one-ring.o">
Require valid-user
</Files>
<FilesMatch ^((one|two|three)-rings?\.o)$>
Require valid-user
</FilesMatch>
Miscellaneous / Turn eTags Off
Turn eTags Off
By removing the ETag
header, you disable caches and browsers from being able to validate files, so they are forced to rely on your Cache-Control
and Expires
header. Source
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
Miscellaneous / Set PHP Variables
Set PHP Variables
php_value <key> <val>
# For example:
php_value upload_max_filesize 50M
php_value max_execution_time 240
Miscellaneous / Custom Error Pages
Custom Error Pages
ErrorDocument 500 "Houston, we have a problem."
ErrorDocument 401 http://error.example.com/mordor.html
ErrorDocument 404 /errors/halflife3.html
9. Awesome Perl
File Manipulation / NoSQL Databases
- Path::Tiny - Simple object-oriented file manipulation.
List Manipulation / NoSQL Databases
- Array::Unique - Tie-able array that allows only unique values
- List::Compare - Compare elements of two or more lists
- List::Gen - Provides functions for generating lists
- List::Util - A selection of general-utility list subroutines
10. Awesome Courses
Table of Contents / Legend
- - Lecture Videos
- - Lecture Notes
- - Assignments / Labs
- - Readings
Courses / Systems
- CSCI 493.66 UNIX System Programming (formerly UNIX Tools) CUNY Hunter College
- A course that is mostly about writing programs against the UNIX API, covering all of the basic parts of the kernel interface and libraries, including files, processes, terminal control, signals, and threading.
Courses / Machine Learning
- CS 109 Data Science Harvard University
- Learning from data in order to gain useful predictions and insights. This course introduces methods for five key facets of an investigation: data wrangling, cleaning, and sampling to get a suitable data set; data management to be able to access big data quickly and reliably; exploratory data analysis to generate hypotheses and intuition; prediction based on statistical methods such as regression and classification; and communication of results through visualization, stories, and interpretable summaries.
- Lectures
- Slides
- Labs and Assignments
- 2014 Lectures
- 2013 Lectures (slightly better)
11. Awesome Ruby
Code Analysis and Metrics
- Pronto (⭐2.6k) - Quick automated code review of your changes.
Database Drivers
- SQL Server (⭐970) - The SQL Server adapter for ActiveRecord.
Database Tools
- Large Hadron Migrator (⭐1.8k) - Online MySQL schema migrations without locking the table.
Git Tools
- ginatra (⭐524) - A web frontend for Git repositories.
Profiler and Optimization
- Rbkit (⭐356) - profiler for Ruby. With a GUI.
12. Awesome Gametalks
Other Talks / TED Talks
- [2013, PAX East] Mastering Game Mechanics: Brandon DeCoster, Scott Rubin (GeekNights)
- Prev: Feb 09 - Feb 15, 2015
- Next: Jan 26 - Feb 01, 2015