See also: 2014 / 2015 / 2016 / 2017 / 2018 / 2019 / 2020 / 2021 / 2022 / 2023

January

  1. The epic story of bringing the awesome book “ARM Assembly Language Programming” back to life

  2. The Easiest Way to Lose 125 Pounds Is to Gain 175 Pounds. I’ve enjoyed Bill Barnwell’s writings on Football. This line --- “My compulsive eating had little to do with hunger and was almost never enjoyable. Instead, it was like trying to chase a vague, indefinable comfort, some satisfaction that never arrived --- or even could arrive. ” is also a good way to explain information addition/crackberry/twitter mania/facebookitis etc.,

  3. Anti-Education by Friedrich Nietzsche review — why mainstream culture, not the universities, is doing our best thinking

  4. Example of Cap’n Proto defn file.

February

  1. cheerp is the C+\+ compiler for the web write a web application, or port your existing one, all in C+\+. cheerp will generate JavaScript code that can run on any browser. Performance benchmark

  2. Visual Information Theory

  3. So You Still Don’t Understand Hindley-Milner? Part 1

  4. So you want to write a package manager in depth analysis of issues around package management.

  5. Robert Caro Wonders What New York Is Going To Become

  6. Microsoft Research - Exploding Software-Engineering Myths (article summarizing findings of MS research on code coverage, TDD, assertions, etc.)

  7. The Seven Habits of Highly Depolarizing People

April

  1. Rococo or “Late Baroque”, is an 18th-century artistic movement and style, affecting many aspects of the arts including painting, sculpture, architecture, interior design, decoration, literature, music, and theatre. It developed in the early 18th century in Paris, France as a reaction against the grandeur, symmetry, and strict regulations of the Baroque, especially of the Palace of Versailles.[1] Rococo artists and architects used a more jocular, florid, and graceful approach to the Baroque.

  2. http://www.filmlinc.org/films/the-ballad-of-cable-hogue/; Movie. Following the film society on twitter and it’s been a good way to discover interesting movies.

  3. V Vinay’s tweets about unveiling of Aryabhata’s bust and speech by Field medal winner Manjul Bhargava.

  4. Functional Kafka; Bachelor thesis by Marc Juchli and Lorenz Wolf; Spring 2015. From first looks, dives into how Kafka works with an implementation in Haskell, hence the “Functional” part. Authors appear to be not proficient in English. Still I am intersted to re-read it carefully.

  5. Reading for busy people --- essentially using “Trello” for managing what to read. Using trell to organize material for research (I’m reading Umberto Eco’s “How to write a thesis” currently…​) may be an Excellent idea.

May

  1. The Quiet Crisis unfolding in Software Development

  2. A pair od pie chart papers

  3. Letters between Backus and Djikstra (1979) discussion on HN, including a comment from Alan Kay. Actual blogpost

  4. static typing for python --- pyCon 2016 talk slides.

  5. Measuring GC latencies in Haskell, OCaml, Racket

  6. Detecting Malicious URLs using vowpal wabbit

  7. Deploy an interactive data science environment with JupyterHub on Docker Swarm

  8. How to read a mathematics textbook

August

Porkaround:

“porkaround” is a subtle neologism I use for describing deployment of a rather sloppy and clumsy solution as a workaround (portmanteau of pork + workaround, alluding to the rather socially awkward properties otherwise lovable swine may have at times) ---  /u/irrequietus

August 07, 2016

August 18, 2016

Today, if you want to get a sensible, up-to-date python development environment, without administrative privileges, all you have to do is:

$ python -m ensurepip --user
$ python -m pip install --user --upgrade pip
$ python -m pip install --user --upgrade virtualenv

Then, for each project you want to do, make a new virtualenv:

$ python -m virtualenv lets-go
$ . ./lets-go/bin/activate
(lets-go) $ _

Need a C compiler? OS vendors have been working with the open source community to make this easier across the board:

$ apt install build-essential python-dev # ubuntu
$ xcode-select --install # macOS
$ dnf install @development-tools python-devel # fedora
C:\> REM windows
C:\> start https://www.microsoft.com/en-us/download/details.aspx?id=44266

Want to upload some stuff to PyPI? This should do it for almost any project:

$ pip install twine
$ python setup.py sdist bdist_wheel
$ twine upload dist/*

Want to build wheels for the wild and wooly world of Linux? There’s an app for that.

  • Books | FlowingData. One of the books “Visualise this” written by Nathan Yau looked very interesting in print.

August 19, 2016

August 22, 2016

August 23, 2016

August 30, 2016

August 31, 2016

September

September 1, 2016

September 2, 2016

September 3, 2016

September 5, 2016

September 6, 2016

  • Reflections on trusting trust by Ken Thompson of C fame. In this Turing lecture he talks about the trojan he introduced in the C compiler that went undetected for many years.

BB To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.

September 7, 2016

  • Python Packaging at PayPal. Paypal has found success in using Anaconda Packaging for their deployments. This is something to keep in mind for the next python deployment.

September 8, 2016

September 9, 2016

September 11, 2016

September 12, 2016

September 13, 2016

  • Swift Playgrounds on the App Store. Siri has been waiting for this! She has asked me multiple times when this is going to be available. Time to ditch the 6 year old iPad and get a new 12 inch iPad, I guess.

September 15, 2016

September 16, 2016

September 18, 2016

September 19, 2016

September 20, 2016

September 21, 2016

There are three concepts that capture the essence of functional programming.

  1. Data in, data out

  2. Code as data

  3. (Function) Composition all the way down

Other functional programming concepts and techniques can be built upon this little idea.

September 22, 2016

sa-shi-su-se-soಸ-ಶಿ-ಸು-ಸೆ-ಸೊ
sa=satosugar
shi=shiosalt
su=surice vinegar
se=shoyusoy sauce
so=misomiso

September 23, 2016

  • Flow vs TypeScript — This presentation is a good comparison of Typescript vs Flow. However, slide #34 makes good points about dynamically-typed languages vs statically-typed languages. Statically typed language zealots would like you to believe that Strong, Statically typed language is the only way to do anything, (especially if they are only exposed to Java).

The author says, you should consider typescript or flow:

  • if your project does not live for long: no

  • if your project is really simple: no

  • if there is a chance you will need to refactor the thing: yes

  • if your system is very important or even crucial for the success of your company: yes

  • if people enter or leave your team frequently: yes

This reminds me of Ousterhout’s dichotomy.

If you have short-lived, simple, narrowly-scoped codebase that is produced and maintained by a small team, dynamically typed languages are probably OK. But, if one is dealing with churn in development team, your best bet is to settle for a popular, not-too-sophisticated language (ie., Java, Typescript) and hope for the best.

September 24, 2016

September 25, 2016

September 26, 2016

In my experience, it is more acceptable for a humanities person to say “I’m not a science person” or “I don’t like math” than for a scientist to say something similar about literature, art, or music. The latter person is thought, silently, to be a Philistine; the former, an educated person with a specialty.

In general, Dr Wallingford’s (@wallingf](https://twitter.com/wallingf)) blog is excellent.

September 27, 2016

    #? replace("--", "#")

    # this is naturally a comment

    -- This is a comment too now

    echo "this is not a comment"

September 28, 2016

September 29, 2016

tools that take advantage of various facilities provided by the OS which allow one to isolate/restrict various resources like CPU, memory, network, visibility of other processes, filesystem access, fs layering and namespacing, provide traffic shaping, etc.

These isolation features go back a really long time in various OS’s, but only in the last few years have they seen mass adoption, which, alas is running a bit ahead of any effort to make it a formal standard or anything even close to that.

And so the way you would create a “container” on Linux is very different from the way you’d do that on FreeBSD or Solaris or Windows. Docker was one of the first pieces of software to facilitate that on Linux (where it was and still is far from trivial), along with the whole docker image dockerhub ecosystem, etc. But ultimately what Docker does amounts to the right commands (or system calls) done, and you can have the same effect without Docker (there’s even a nice Docker talk on youtube somewhere that shows how to do what Docker does without it from the command line).

IMHO in the developer community at large few people care to understand the operating system intimately, and even fewer people know stuff like cgroups or the tc command on Linux, and that’s primarily why Docker is so popular - you don’t need to know any of it.

I think it’d be nice if people stopped using “Docker” and “container” interchangeably, and if a set of tools emerged which would be more part of the OS distribution and less a separate concept/brand/company/whatever and was more or less uniform across, at least the Un*x-like OSs.

October

October 1, 2016

October 2, 2016

October 3, 2016

October 4, 2016

October 5, 2016

October 6, 2016

October 7, 2016

October 8, 2016

October 10, 2016

October 11, 2016

October 12, 2016

October 18, 2016

October 19, 2016

October 20, 2016

October 21, 2016

October 23, 2016

October 25, 2016

October 26, 2016

October 27, 2016

October 28, 2016

October 29, 2016

October 31, 2016

November

November 1, 2016

November 3, 2016

November 4, 2016

November 6, 2016

November 7, 2016

November 8, 2016

November 9, 2016

November 10, 2016

November 12, 2016

November 14, 2016

November 16, 2016

November 18, 2016

November 28, 2016

November 29, 2016

November 30, 2016

December

December 1, 2016

December 3, 2016

December 6, 2016

December 8, 2016

December 9, 2016

December 12, 2016

December 13, 2016

December 17, 2016

December 22, 2016

December 23, 2016

December 25, 2016

Last updated 2017-11-10 12:52:57 EST