http://brewhouse.io/blog/2014/11/04/big-data-with-elk-stack.html
Tuesday, 31 January 2017
Thursday, 26 January 2017
Friday, 16 December 2016
What HTTP/2 Means for Ruby Developers
https://www.speedshop.co/2016/01/07/what-http2-means-for-ruby-developers.html
curl with http2
➜ brew install curl --with-nghttp2
curl -I --http2 https://www.nimber.com/
HTTP/2 200
server: nginx
Friday, 2 December 2016
Moneta: A unified interface for key/value stores
a unified interface to key/value stores
https://github.com/minad/moneta
https://github.com/minad/moneta
Sunday, 27 November 2016
huginn
https://github.com/cantino/huginn
Create agents that monitor and act on your behalf. Your agents are standing by!
Create agents that monitor and act on your behalf. Your agents are standing by!
What is Huginn?
Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed graph. Think of it as a hackable Yahoo! Pipes plus IFTTT on your own server. You always know who has your data. You do.
Awesome Algorithms
SOURCE: https://github.com/tayllan/awesome-algorithms
Awesome Algorithms
A curated list of awesome places to learn and/or practice algorithms. Inspired by awesome-awesomeness and all the other awesome Awesome libraries.
If you want to contribute, please read the contribution guidelines.
Websites
Websites you should use to learn classic algorithms
- A Visual Guide to Graph Traversal Algorithms - Interactive visualisations for learning how graph traversal algorithms work
- Algomation - A didactic, animated, exposition of algorithms.
- Algorithm Visualizer - Dozens of animated algorithms (with code), and you can also create your own.
- Algorithms Visualization - A dense article on Algorithms Visualization.
- Big-O Cheat Sheet - Big-O complexities of common algorithms used in Computer Science.
- Data Structure Visualizations - Visualize the behavior of Data Structures and play with its operations.
- Geeks for Geeks - Lots and lots of well explained and implemented algorithms.
- Learn Algorithms - A website that explains some algorithms very well and simply, even for the most novice of programmers.
- Rosetta Code - A programming chrestomathy site which aims to present implementations of many algorithms and data structures in different programming languages.
- Sorting Algorithms - Nice and simple animations of sorting algorithms. With short codes and discussions.
- Stoimen's web log - Some algorithms nicely explained.
- VisuAlgo - Visualising data structures and algorithms through animation.
- Wikipedia - Algorithms - Of course!!
- Wikipedia - Data Structures - and why not ?!!
Online Courses
Free and High Quality Courses Online
- Algorithms: Design and Analysis, Part 1 - Course mainly based on the book "Introduction to Algorithm".
- Algorithms: Design and Analysis, Part 2 - Second part, focusing on Greedy and Dynamic paradigms, and NP-Complete problems.
- Khan Academy Algorithms - Algorithm course ministred by Tomas Cormen and Devin Balkcom.
- MIT - 6-006 - Well explained algorithms.
- MIT - 6-046j - Similar to the previous one, but with different algorithms.
- MIT - 6-00sc - An easy and well explained introduction to algorithms.
- Udacity Intro to Algorithms - Python-based Algorithms course.
- YogiBearian YouTube Channel - Lots of well explained vidoes on various computer science subjects.
Books
The most highly regarded books to learn algorithms
- Algorithm Design - Pretty straight-forward.
- Algorithms - Problems explained with Java, OO good practices, visualizations, and free online resources.
- Data Structures Using C - The basic concepts and usages of data structures.
- Elementary Algorithms - An awesome book about algorithms and data structures.
- Grokking Algorithms - An illustrated book on algorithms with practical examples.
- Introduction to Algorithms - Essential!
- Swift Algorithms & Data Structures - A practical guide to concepts, theory and code.
- The Algorithm Design Manual - Easy to read and full of real world examples.
- The Art of Computer Programming - The Book.
Github Libraries
Implementations of the most classic algorithms in a wide variety of programming languages
- C
- CoffeeScript
- C#
- C++
- Erlang
- Go
- Java
- JavaScript
- Objective-C
- Python
- Ruby
- Scala
- Swift
- Language agnostic
Online Judges
Online Judges to practice what you learned above
- ACM-ICPC Live Archive - Hundreds of problems from previous ACM-ICPC Regionals and World Finals.
- AIZU ONLINE JUDGE - Japanese Online Judge.
- CodeChef - More problems and monthly online contests.
- Codeforces - The only programming contests Web 2.0 platform
- CodeMarshal - Real world contests online!
- CodeWars - A website that houses support to solve algorithms in many languages in varying difficulty.
- CoderByte - A decent website with algorithm challenges from beginner to advanced levels. Supports most of the popular languages like C++, python, javascript, ruby.
- HackerEarth - Practice alogrithmic problems & challenges and participate in hiring challenges.
- HackerRank - Featured algorithm and functional programming online judges
- Infoarena - Romanian Online Judge. 1500+ algorithmic problems
- LavidaOnlineJudge - Korean Online Judge(Half English). 1300+ problems.
- Learneroo Algorithms Tutorials - Learn and practice algorithms by solving challenges online.
- LeetCode - Learn algorithms and prepare for interviews.
- PKU JudgeOnline - Chinese Online Judge.
- ProjectEuler - Mathematical problems that can be solved using algorithms (or just a pencil, depends on how much you already know).
- Rosalind - A platform for learning bioinformatics and programming through problem solving.
- ShareCode.io - Online Judge and contest host with a lot of algorithmic problems in the archive to practice.
- Snakify - An introductory Python course with 100+ algorithmic problems and a step-by-step debugger (from Russia).
- SPOJ - More problems.
- TopCoder - Lots of problems and real world/money worthy problems in Graphic Design, Data Science and Development.
- Toph - Sport programming platform for online contests. It also has a growing problem archive.
- URI - Brazilian Online Judge. Not so much problems, but it's growing and it has online contests.
- UVA - Hundreds of problems (from previous ACM-ICPC Regionals, World Finals and others).
Tools
Some tools that can help you in the learning of algorithms
- flow-chart.js - A tool that allows you to create flowcharts that can simulate real algorithms.
- interactive-coding-challenges - Interactive, test-driven coding challenges (algorithms and data structures).
License
And for the sake of copyleft, here's our license:
This work is licensed under a Creative Commons Attribution 4.0 International License.
Which are the 10 algorithms every computer science student must implement at least once in life?
https://www.quora.com/Which-are-the-10-algorithms-every-computer-science-student-must-implement-at-least-once-in-life
Coming from an intensive programming contest background, having read Introduction to Algorithms, etc., but then moving on to doing real-life projects, I find that some of the more interesting and powerful algorithms in a problem solving setting find little use in the industry.
I'm thus going to present algorithms that carry over to engineering, not just research and TopCoder. Another goal was for these algorithms to be useful and widely applicable hammers in their own right, not just as an idea. The benefits of most "algorithms" will be hard to explain them to someone who has not yet been introduced to them, but I tried my best of giving a hint for their role.
Coming from an intensive programming contest background, having read Introduction to Algorithms, etc., but then moving on to doing real-life projects, I find that some of the more interesting and powerful algorithms in a problem solving setting find little use in the industry.
I'm thus going to present algorithms that carry over to engineering, not just research and TopCoder. Another goal was for these algorithms to be useful and widely applicable hammers in their own right, not just as an idea. The benefits of most "algorithms" will be hard to explain them to someone who has not yet been introduced to them, but I tried my best of giving a hint for their role.
- Naive Bayes. Classification is a natural first step to machine learning and the Naive Bayes classifier combines that with the trending concept of Bayesian inference. Despite its simplicity, can address key problems like spam classification.
- Map-Reduce. A simple and visual way of leveraging multiple computers to solve a single task. More on its different uses here: MapReduce Patterns, Algorithms, and Use Cases.
- Hill Climbing. Introduces optimization over a non-exhaustible domain and leads to a whole array of powerful methods like gradient-descent, simulated annealing. Optimization allows us to do decision making, it's important.
- Binary search. Introduces logarithmic complexity and how the structure of data can change complexity characteristics of operations.
- Exponentiation (powers) by halving. Great example of a recursive attack. You would be surprised how many problems can be described as exponentiation (for an associative operation) of something: a number, a matrix and more. Again it's magical that associativity of an operation allows you to turn a linear factor into a logarithmic one.
- Floyd-Warshall. Graphs as matrices, shortest paths, negative cycles, dynamic programming in five lines of code.
- Inductive inference. Inductive inference. This idea on how to find programs that do certain things without having a human write them I believe is the key to the future of AI and simulating and understanding the human mind.
- Markov Chain Monte Carlo. Approximate integral, expected value computation based on a conditional specification of the probability distribution. This gives us a general way of doing data analysis.
- Shor's algorithm. Non-trvial example of a quantum algorithm that shows a significant complexity improvement. Reveals how quantum computing works.
- PageRank. How to iteratively solve for tightly related variables to extract metrics on graphs.
Traveling Salesman Problem, four algorithms
https://en.wikipedia.org/wiki/Travelling_salesman_problem
Saturday, 19 November 2016
Subscribe to:
Posts (Atom)
