JVM Minimal Survival Guide – Hadi Hariri
When you come to a new platform, from a similar one, you often spend time trying to get up to speed with concepts/frameworks you know, but you don’t know, because they go by a different name, a different approach. It’s time-consuming and sometimes even frustrating. This guide is an attempt to help others avoid some of those newbie questions.
java  jvm  tutorial 
19 days ago
IntelliJ IDEA Minimal Survival Guide – Hadi Hariri
Much like its counterpart, the JVM Guide the purpose of this guide is to make it easier for newbies to get up to speed faster with IntelliJ IDEA.
java  tutorial 
19 days ago
Abstractivate: Hyperproductive development
TL;DR: the most productive development happens when one person knows the system intimately because they wrote it; this is in conflict with growing a system beyond what one person maintains.
7 weeks ago
How to Dockerize a Node.js application | Buddy Guide
Node.js and Docker. If you haven't spent the last 7 years in an underwater cave playing solitaire on a coral bed, you must have at least heard of these two ever-trending techs in the web development industry. In this article we'll show you how to create a Docker image for an application written in Node.js.
programming  javascript  docker 
7 weeks ago
A set of best practices for Javascript projects
javascript  programming 
7 weeks ago
Bacon.js - Functional Reactive Programming library for JavaScript
A small functional reactive programming lib for JavaScript. Turns your event spaghetti into clean and declarative feng shui bacon, by switching from imperative to functional. It's like replacing nested for-loops with functional programming concepts like map and filter. Stop working on individual events and work with event-streams instead. Transform your data with map and filter. Combine your data with merge and combine. Then switch to the heavier weapons and wield flatMap and combineTemplate like a boss. It's the _ of Events. Too bad the symbol ~ is not allowed in Javascript.
javascript  programming  reactive  framework 
8 weeks ago
JVM Anatomy Park
"JVM Anatomy Park" is the on-going mini-post series, where every post is slated to take 5-10 minutes to read. As such, it goes deep for only a single topic, a single test, a single benchmark, a single observation. So, the evidence and discussion here are anecdotal, not actually reviewed for errors, consistency, writing style, syntactic and semantic errors, duplicates, or consistency. Use and/or trust this at your own risk.
programming  jvm  java 
9 weeks ago
StrongLoop - Building Robust Node Applications: Error Handling
I’ve crashed more Node processes in production than I’d like to admit. Thankfully, I’ve then learned how to build robustness into my Node applications. So, what can you build into your applications to keep yourself informed of errors and ultimately keep your applications running?
9 weeks ago
Error Handling | Joyent
Error handling is a pain, and it's easy to get by for a long time in Node.js without dealing with errors correctly. However, building robust Node.js applications requires dealing with errors properly, and it's not hard to learn how.
development  node  javascript 
9 weeks ago
Node.js Security Checklist | @RisingStack
Security - the elephant in the room. Everyone agrees that it is very important but few takes it seriously. We at RisingStack want you to do it right - this is why we have put together this checklist to help you guide through the must have security checks before your application is enabled to thousands of users/customers.

Most of these items are general and applies to all languages and frameworks not just Node.js - however some of the tools presented are Node.js specific. You should also check our introductory Node.js security blogpost, or if you are just getting started with Node.js, our first chapter of Node Hero.
development  javascript  security  node 
9 weeks ago
Getting Started with PostgreSQL on Mac OSX
This tutorial will teach you how to set up, configure, and use PostgreSQL on MacOSX 10.7 (Lion) and above. You will need at least a basic level of comfort using the command line using either the MacOSX built-in terminal, iTerm2, Zsh, or something similar. By the time we are finished, you will:
osx  postgres 
10 weeks ago
Building a scalable Node.js Express app – Gerard Rovira – Medium
Most Node.js tutorials, which none of them are to blame for, focus on the content: getting certain libraries / frameworks working. To make it easier for the readers who are new to them they are often presented the most simple solutions.

Whilst these solutions suit most of the times for small to medium projects, large applications tend to require far more abstraction, which is what we’ll be analyzing next.
node  express 
10 weeks ago
Example of how to organize a medium-size express.js web application
node  express 
10 weeks ago
digitalie/one-loader: Single-file components for React
A webpack loader to enable single-file React components. Inspired by vue-loader.
vuejs  react  webpack 
october 2017
All Current Armor Sets : DestinyTheGame
All armor sets, with base perk, per class.
september 2017
What Is the Bible? | ROB BELL
This is a book about a library of books dealing with loss and anger and transcendence and worry and empire and money and fear and stress and joy and doubt and grace and healing, and who doesn’t want to talk about those?
book  bible 
august 2017
Writing An Interpreter In Go | Thorsten Ball
In this book we will create a programming language together.

We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.

Step by step. From tokens to output. All code shown and included. Fully tested.
book  go  programming 
august 2017
Advanced Node.js Project Structure Tutorial | @RisingStack
In this Node.js project structure tutorial I’ll answer some of the most common questions we receive at RisingStack about structuring advanced Node applications, and help you with structuring a complex project.
javascript  node 
august 2017
Node.js Best Practices - How to Become a Better Developer in 2017 | @RisingStack
In this article, we will go through the most important Node.js best practices for 2017, topics that you should care about and educate yourself in. Let’s start!
javascript  node 
august 2017
Realm JavaScript 1.10.0
Realm JavaScript enables you to efficiently write your app’s model layer in a safe, persisted and fast way. It’s designed to work with React Native and Node.js.
javascript  library 
august 2017
Mercury Web Parser by Postlight
With just one API request, Mercury takes any web article and returns only the relevant content — headline, author, body text, relevant images and more — free from any clutter. It’s reliable, easy-to-use and free.
parser  tools  api 
august 2017
choojs/choo: - sturdy 4kb frontend framework
A 4kb framework for creating sturdy frontend applications
javascript  framework  frontend 
august 2017
Skeleton: Responsive CSS Boilerplate
You should use Skeleton if you're embarking on a smaller project or just don't feel like you need all the utility of larger frameworks. Skeleton only styles a handful of standard HTML elements and includes a grid, but that's often more than enough to get started. In fact, this site is built on Skeleton and has ~200 lines of custom CSS (half of which is the docking navigation).
framework  css 
august 2017
Shoelace.css: a back to the basics CSS starter kit
Shoelace.css is a starter kit, not a framework. Think of it as a CSS reset sprinkled with helpful components. Bootstrap users will find it familiar, yet refreshing.

Shoelace is highly customizable through CSS variables. It doesn’t require Less, Sass, or any preprocessing at all. The minified version is only 32KB and much smaller when gzipped.
framework  CSS 
august 2017
cassandra - How does the Leveled Compaction Strategy ensure 90% of reads are from one sstable - Stack Overflow
LeveledCompactionStrategy (LCS) in Cassandra implements the internals of LevelDB. You can check the exact implementation details in LevelDB implementation doc.

In order to give you a simple explanation take into account the following points:
cassandra  leveldb  leveledcompactionstrategy 
july 2017
LevelDB Implementation Notes
The implementation of leveldb is similar in spirit to the representation of a single Bigtable tablet (section 5.3). However the organization of the files that make up the representation is somewhat different and is explained below.

Each database is represented by a set of files stored in a directory. There are several different types of files as documented below:
july 2017
ksoichiro/awesome-gradle: A curated list of awesome Gradle plugins and resources for a better development workflow automation.
A curated list of awesome Gradle plugins and resources for a better development workflow automation.
jvm  gradle 
july 2017
Science Fiction Star Chart - Original Open Edition – Dorothy
The Science Fiction Star Chart is based on the night sky above Théâtre Robert-Houdin in Paris on September 1st, 1902 following the first screening of Georges Méliès Le Voyage dans la Lune (A Trip to the Moon). Méliès, a French filmmaker and magician, is regarded by many as a pivotal figure in the history of sci-fi and narrative filmmaking.
posters  wishlist 
june 2017
The Colour of Books - Original Open Edition – Dorothy
A stylised fan depicting the spines of 300 books that mention a colour in their title.
posters  wishlist 
june 2017
Inside Information: Apple Macintosh – Dorothy
Dorothy’s cutaway print imagines the internal goings-on inside the original Apple Macintosh. Look closely at our miniature world to discover the hidden references to Apple (and popular culture) woven into the illustration, and discover what its tiny inhabitants get up to when they think no one is watching.
posters  wishlist 
june 2017
Devoxx Hands on Ratpack
The Devoxx 2017 Hands on Lab for Ratpack.
training  java  library  framework 
june 2017
A comparison of Microservices Frameworks
Building a distributed system as microservices architecture is not that easy, but fortunately there are many frameworks to help you. This article will present some of them.
framework  java  microservices 
may 2017
Unirest for Java - Simplified, lightweight HTTP Request Library
Unirest is a set of lightweight HTTP libraries available in multiple languages, built and maintained by Mashape, who also maintain the open-source API Gateway Kong.
java  library 
may 2017
(How to Write a (Lisp) Interpreter (in Python))
This page has two purposes: to describe how to implement computer language interpreters in general, and in particular to show how to implement a subset of the Scheme dialect of Lisp using Python. I call my language and interpreter Lispy (lis.py). Years ago, I showed how to write a Scheme interpreter in Java as well as one in Common Lisp. This time around the goal is to demonstrate, as concisely and accessibly as possible, what Alan Kay called "Maxwell's Equations of Software."
Why does this matter? As Steve Yegge said, "If you don't know how compilers work, then you don't know how computers work." Yegge describes 8 problems that can be solved with compilers (or equally with interpreters, or with Yegge's typical heavy dosage of cynicism).
lisp  programming 
may 2017
Little Lisp interpreter
Little Lisp is an interpreter that supports function invocation, lambdas, lets, ifs, numbers, strings, a few library functions, and lists. I wrote it for a lightning talk at Hacker School to show how easy it is to write an interpreter. The code is 116 lines of JavaScript. I will explain how it works.
lisp  javascript  computation 
may 2017
Lazybones was born out of frustration that Ratpack does not and will not have a command line tool that will bootstrap a project. It's a good decision for Ratpack, but I'm lazy and want tools to do the boring stuff for me.

The tool is very simple: it allows you to create a new project structure for any framework or library for which the tool has a template. You can even contribute templates by sending pull requests to this GitHub project or publishing the packages to the relevant Bintray repository (more info available below).
java  library  template 
may 2017
Is performance your main concern with your webpack setup? Are you worried that your bundle is too big?

Then this post is for you!
webpack  javascript 
may 2017
A modern JSON library for Android and Java.
java  json  library 
may 2017
jEnv - Manage your Java environment
jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable
may 2017
Falsehoods programmers believe about time
I have repeatedly been confounded to discover just how many mistakes in both test and application code stem from
misunderstandings or misconceptions about time. By this I mean both the interesting way in which computers handle time, and the fundamental gotchas inherent in how we humans have constructed our calendar – daylight savings being just the tip of the iceberg.

In fact I have seen so many of these misconceptions crop up in other people’s (and my own) programs that I thought it would be worthwhile to collect a list of the more common problems here.
may 2017
Chess Tactics Explained in English: Ward Farnsworth's Predator at the Chessboard
Welcome to Predator at the Chessboard. This site has two parts: a book that teaches chess, and a trainer that lets you practice on problems with the solutions hidden until you want them. To briefly elaborate:
april 2017
oakmac/chessboardjs: JavaScript chessboard
chessboard.js is a standalone JavaScript Chess Board. It is designed to be "just a board" and expose a powerful API so that it can be used in different ways.
javascript  chess  library 
march 2017
jhlywa/chess.js: A Javascript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
A Javascript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
chess  javascript  library 
march 2017
Install PostgreSQL on Mac OS X via Brew - Exponential.io
PostgreSQL is an open source object-relational database. It is a popular database choice when using a relational database.

Installing PostgreSQL on Mac OS X is simple.
postgres  database 
march 2017
How To Install Ruby on Rails with rbenv on Ubuntu 14.04 | DigitalOcean
This tutorial will show you how to install Ruby on Rails on Ubuntu 14.04, using rbenv. This will provide you with a solid environment for developing your Ruby on Rails applications. rbenv provides an easy way to install and manage various versions of Ruby, and it is simpler and less intrusive than RVM. This will help you ensure that the Ruby version you are developing against matches your production environment.
rails  ruby 
march 2017
How To Use MySQL with Your Ruby on Rails Application on Ubuntu 14.04 | DigitalOcean
This tutorial will show you how to set up a development Ruby on Rails environment that will allow your applications to use a MySQL database, on an Ubuntu 14.04 server. First, we will cover how to install MySQL and the MySQL adapter gem. Then we'll show you how to create a rails application that uses MySQL as its database server.
ruby  rails 
march 2017
Why is your Rails application still coupled to ActiveRecord?
A way to isolate your project from ORM framework using the repository pattern.
rails  design  ruby 
march 2017
Teach Yourself Computer Science
If you’re a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. Thankfully, you can give yourself a world-class CS education without investing years and a small fortune in a degree program 💸.

There are plenty of resources out there, but some are better than others. You don’t need yet another “200+ Free Online Courses” listicle. You need answers to these questions:

Which subjects should you learn, and why?
What is the best book or video lecture series for each subject?
This guide is our attempt to definitively answer these questions.
compsci  programming 
march 2017
Ready-made CSS animations.
css  tools  javascript 
march 2017
Writing a Domain-Specific Language in Ruby
A Domain-Specific Language, or DSL, is “a programming language of limited expressiveness focused on a particular domain”. It makes tasks in its domain easier by removing extraneous code for a particular task and allowing you to focus on the specific task at hand. It also helps other people read the code, because the purpose of the code is so clear.

Here’s a little Internal DSL in Ruby:
ruby  programming 
march 2017
Acing the technical interview
If you want to get a job as a software witch, you’re going to have to pass a whiteboard interview. We all do them, as engineers–often as a part of our morning ritual, along with arranging a beautiful grid of xterms across the astral plane, and compulsively running ls in every nearby directory–just in case things have shifted during the night: the incorporeal equivalent of rummaging through that drawer in the back of the kitchen where we stash odd flanges, screwdrivers, and the strangely specific plastic bits, the accessories, those long-estranged black sheep of the families of our household appliances, their original purpose now forgotten, perhaps never known, but which we are bound to care for nonetheless. I’d like to walk you through a common interview question: reversing a linked list.
programming  funny  interviews 
march 2017
five-essential-phone-screen-questions - steveyegge2
I've been on a lot of SDE interview loops lately where the candidate failed miserably: not-inclined votes all around, even from the phone screeners who brought the person in initially.

It's usually pretty obvious when the candidate should have been eliminated during the phone screens. Well, it's obvious in retrospect, anyway: during the interviews, we find some horrible flaw in the candidate which, had anyone thought to ask about it during the phone screen, would surely have disqualified the person.

But we didn't ask. So the candidate came in for interviews and wound up wasting everyone's time.
programming  jobs 
march 2017
ten-great-books - steveyegge2
I've tried to read more lately -- where "lately" is maybe the past 2 years -- in an attempt to learn things that I didn't know much about before.

O'Reilly books seem to be the best way to learn about any new technology, because Tim understands that people prefer books that are accessible. I.e., books you can read and understand the first time around, and they don't presuppose a lot of esoteric knowledge. So when I need to learn the latest Algol-family programming language, or Adams-family distributed-computing protocol, or Lisp-family XML technology (Oh no! Now I've gone and let the cat out...), O'Reilly is definitely the way to go.

But for all their great titles, O'Reilly shies away from math, computer science, engineering, general science, and other such impractical nonsense, perhaps because it doesn't sell well. So when I want to learn about something useful but difficult, I need to brave the scary territory of "other publishers".
programming  book 
march 2017
Butterick’s Practical Typography
But ty­pog­ra­phy can op­ti­mize your writ­ing. Ty­pog­ra­phy can cre­ate a bet­ter first im­pres­sion. Ty­pog­ra­phy can re­in­force your key points. Ty­pog­ra­phy can ex­tend reader at­ten­tion. When you ig­nore ty­pog­ra­phy, you’re ig­nor­ing an op­por­tu­nity to im­prove the ef­fec­tive­ness of your writing.

And isn’t that why you write? To have an ef­fect on read­ers? To move them, to per­suade them, to spur them to action?

If so, then you should want what ty­pog­ra­phy has to of­fer. Best of all, it’s fast and it’s easy. Un­like, say, learn­ing to be a bet­ter writer.
typography  book 
march 2017
Beautiful Racket by Matthew Butterick
how to make your own
pro­gram­ming lan­guages with racket
by matthew but­t­er­ick · ver­sion 1.0
programming  book 
march 2017
mustache Template Reference
Mustache can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object.

We call it "logic-less" because there are no if statements, else clauses, or for loops. Instead there are only tags. Some tags are replaced with a value, some nothing, and others a series of values. This document explains the different types of Mustache tags.
ruby  gem 
march 2017
mustache/mustache: Logic-less Ruby templates.
Inspired by ctemplate and et, Mustache is a framework-agnostic way to render logic-free views.

As ctemplates says, "It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language."

For a list of implementations (other than Ruby) and tips, see http://mustache.github.io/.
ruby  gem 
march 2017
Make your own gem - RubyGems Guides
From start to finish, learn how to package your Ruby code in a gem.
gem  ruby  programming 
march 2017
What's new in Ruby 2.3?
Ruby 2.3.0 will be released this Christmas, and the first preview release was made available a few weeks ago. I’ve been playing around with it and looking at what new features have been introduced.
ruby  programming 
march 2017
What's new in Ruby 2.4?
It’s Christmas day, and following the tradition of the last few years, the Ruby core team have released a new Ruby version today. I’ll summarize some of the interesting new features in Ruby 2.4 here.
ruby  programming 
march 2017
Try Elixir | Code School
Begin learning the basics of Elixir and take your first steps into the world of functional programming.
elixir  programming  training 
march 2017
Ruby: Rendering erb template
I never used ERB outside Rails or without tilt. So while I was working with a bare rack app, I though I should try our ERB directly and checkout its api.

So I taken a look into ERB Class just enough to render a template, nothing much in detail. Here is the syntax for ERB constructor,

ERB.new(template_string, safe_eval=nil, trim_mode=nil, outvar='_erbout')
let see how we can render some template with this.
ruby  erb 
march 2017
Cross-browser storage for all use cases • Used across the web • See below for v2.0 news!
javascript  programming  framework  library 
february 2017
Roda: Routing Tree Web Toolkit
Roda aims to take the ease of development and understanding that Sinatra brings, and enable it to scale to support the development of large web applications. Both Roda and Sinatra share the following basic concepts:

Routes are directly expressed, using a block based DSL.
The return value of the block is used as the response.
There is no separation between the view context and the route handling context.
Some differences are listed below.
framework  ruby  web  pro 
february 2017
HTML Reference
A free guide to HTML

Learn by example: htmlreference.io is a free guide to HTML. It features all elements and attributes.
html  programming 
february 2017
« earlier      
api apple apps art async authentication azure backbone backpack bible book bootstrap bourbon business c# cassandra chess church clojurescript clothes coding colors columbia compsci computation conference css dashboard database deadlock deck dependency-injection design destiny development devops docker dogs dotnet dropwizard electron elixir entityframework erb es6 express flat flexbox flux font framework frontend functional-programming funny games gem git github glass go gradle grid holman html icons inspiration interviews ioc ios jacket java javascript jobs jquery json jvm kotlin learning leveldb leveledcompactionstrategy library linux lisp magic management microservices microsoft movies mvc networking node nuget oauth open-source orm osx parser photography photoshop plugin posters postgres presentation pro programming ptl python rails react reactive redux reflection resharper rest retina review rpg ruby sass scifi security setup sketch software spaces sql static stickers stock styleguide sublimetext template testing theme tools training trek tron tutorial typography ui ux vagrant vallhund video vim visualstudio vuejs web webapi webpack windows windows8 wireframes wishlist wow

Copy this bookmark: