Learn Physics by Programming in Haskell
We describe a method for deepening a student's understanding of basic physics by asking the student to express physical ideas in a functional programming language.
Haskell  Physics 
10 days ago
JVM Internals -- James D. Bloom
This article explains the internal architecture of the Java Virtual Machine.
JVM  In-Depth 
10 days ago
Good Java Idioms
There are aspects of programming in Java that are not obvious just by learning from the language specification or standard API documentation. This document attempts to collect and explain the most frequently used idioms.
10 days ago
State the Problem Before Describing the Solution -- Leslie Lamport
The title says it all. This one-page note is as relevant today as when I wrote it. Replace “describing the solution” by “writing the program” and it becomes a practical recipe for improving software.
Paper  To-Read 
10 days ago
Programming in the 21st Century -- James Hague
It's not about technology for its own sake. It's about being able to implement your ideas.
Blog  Programming  Te 
10 days ago
The Real Power of Linux Executables
What happens when a file gets executed in Linux?
Operating-Systems  Linux 
6 weeks ago
C is Not a Low-level Language
There is a common myth in software development that parallel programming is hard. This would come as a surprise to Alan Kay, who was able to teach an actor-model language to young children, with which they wrote working programs with more than 200 threads. It comes as a surprise to Erlang programmers, who commonly write programs with thousands of parallel components. It's more accurate to say that parallel programming in a language with a C-like abstract machine is difficult, and given the prevalence of parallel hardware, from multicore CPUs to many-core GPUs, that's just another way of saying that C doesn't map to modern hardware very well.
Computer-Science  C  Hardware  Article 
11 weeks ago
Behaviours and Streams, Why Both?
Both behaviours and streams represent things that happen or changes over time. But still, they are very different.
Functional-Programming  Article 
11 weeks ago
A Plea for Lean Software –– Niklaus Wirth
Recommended as one of top two CS papers to read by Joe Armstrong.
Computer-Science  Paper 
march 2018
Deconstructing Functional Programming –– Gilad Bracha
How to distinguish FP hype from reality and to apply key ideas of FP in non-FP languages, separating the good parts of FP from its unnecessary cultural baggage.

Gilad Bracha is the creator of the Newspeak programming language and a software engineer at Google where he works on Dart.
Functional-Programming  Video 
march 2018
Compiler Construction –– The Art of Niklaus Wirth
Reflection about Wirht's way of designing compilers, and some general principles behind his work.
Computer-Science  Paper 
march 2018
JOpt Simple is a Java library for parsing command line options, honoring the command line option syntaxes of POSIX getopt() and GNU getopt_long().
Java  Library 
march 2018
Harrison Barnes
One of the top career blogs in the world.
march 2018
Farnam Street
Farnam Street is devoted to helping you develop an understanding of how the world really works, make better decisions, and live a better life. We address such topics as mental models, decision making, learning, reading, and the art of living.
march 2018
Remote Debugging with GDB
(gdb) target remote | ssh -T xyz.example.com gdbserver - --attach 5312
GDB  Debugging  Article 
november 2017
Prallel Processing with UNIX Tools
pipes, split -n, xargs -P, parallel, make -j
Unix  Tools  Article 
november 2017
C++17 (PVS-Studio)
Nice writeup of new C++17 features.
C++  Article 
october 2017
Git Source Code Review -- Fabien Sanglard
Excelent resource of Git implementation details.
Git  Article  Resources 
october 2017
Common Bugs in Writing
Some good tips what to avoid when writing technical papers.
july 2017
How types can turn a SQL interpreter into a SQL compiler -- Tiark Rompf
Leveragning Scala's type system to transform interpreted queries into Scala source code. The same approach was used to implement fully optimized queries in Spark.
SQL  Scala  Video 
july 2017
Monads for functional Programming -- Philip Wadler
Pure functional languages have this advantage: all flow of data is made explicit. And this disadvantage: sometimes it is painfully explicit. -- Philip Wadler

That’s the problem monads solve: they let you leave implicit some of the repetitive code otherwise required by functional programming. -- John D. Cook
Paper  Functional-Programming  To-Read 
july 2017
The Emperor’s Old Clothes –– Sir Tony Hoare (1981)
"If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather than part of its solution."

"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult."
Computer-Science  Paper 
june 2017
Generic Programming with Adjunctions -- Ralf Hinze
Recommended by Runar Bjarnason in his talk: Adjunctions in Everyday Life.
Functional-Programming  Paper  To-Read 
june 2017
« earlier      
2016 action adruino ai algorithms analytics angularjs anime api app apps article audio autotools awk aws blog book books c c++ category-theory cheatsheet clang cli clojure clojurescript cloud cmake cms coding computer-science contest contravariance courses crazy-ideas crowdfunding css cuda debugging decomposition deployment design development dijkstra distributedcomputing docker docs drama economics education emscripten essay examples font fortran free functional-programming funny futures gadgets gallery garmin gdb geneticprogramming gis git github gnu gpu graham guide hardware haskell history home hpc in-depth innovation inovation inspiration interactive internet interview ios java javascript john-hughes json jvm latex learning lectures legal library links linux liskov lisp llvm local mac machine-learning mail make management mapreduce markdown mathematics maven mit monad mount movie movies mpi music network neural-networks norwig om openmp opensource operating-systems osx paper paragliding parsing performance photo physics plugin politics postgresql practice privacy productivity programming psychology python reference repl repository resources reviews rich-hickey robotics saas safari scala scheme sci-fi science seo service slides social software software-development software-engineering space sql startup style talk te technology thriller tips to-blog to-print to-read to-watch tool tools training tutorial twilio ui unix venues video vim visualization weather web webgl writing x86

Copy this bookmark: