Dailies
2020
December
19 Saturday
- Inciteful - build graphs of academic literature from a query publication. A responsive and polished website providing a pretty great way to explore new literature and find scientists and topics to follow.
- Interactive Creative coding examples using Observable.
November
30 Monday
- AlphaFold2 “solves” protein folding! Some relevant blog posts. Looks like interaction is the new frontier.
October
30 Friday
- Qiskit is a Pythonic quantum computing library with pretty extensive documentation.
- Quantum Country is a wonderfully written introduction to quantum computing. Our interest is very much piqued - expect more.
- The Monad Challenges are based off of the format of Cryptopals except for learning monads in Haskell.
25 Sunday
- Opinionated Guides is one of the best knowledge bases we’ve seen. Here’s an example page on generative art.
- Talon is a pretty extensive speech-to-text/action software that aims to replace your keyboard and mouse with your voice. Seems apt for lockdown times.
20 Tuesday
- blokdots lets you build hobby electronics hardware prototypes with a drag-and-drop graphical interface.
- Game-of-life computer provides a thorough explanation of a functional computer within Conway’s game of life.
- The Bioinformatics and Beyond Podcast is a new podcast which could be quite relevant.
September
26 Saturday
- A well-designed 2D game level editor from the creator of Dead Cells. Compile-time Haxe errors!
- An interactive 2D ray marching demo in WebGL.
August
28 Friday
- A collection of biology and bioinformatics blogs.
- JupyterBook - A Jupyter notebook based book building thing, with MyST markdown to add all kinds of additional functionality. We’re thinking this would be great for a bioinformatics blog.
May
30 Saturday
- An amazing blog on generative art (mostly 3D/2.5D, mostly using Houdini). Here’s one project that caught our eye.
- Penrose - mathematical notation transformed into things like set diagrams, geometry etc. Something between mermaid and Tikz.
March
03 Tuesday
- Hypothesis - A browser-based tool to annotate any and every web page! We’ve added it to the blog now too.
February
14 Friday
- Everything about gears - lots of animations and simple descriptions of how mechanical gears work
- Flow Fields - A beautiful and visual post describing flow fields for generative art and how changing parameters can completely change the outcome.
January
06 Monday
03 Friday
- Org reverse datetree
Needed this to get org-mode to store the entries on this page in reverse order - so that the latest one is on top
2018
March
16 Friday
- An Ask HN about software projects with a lot of nice links.
- A book claiming to teach seven languages in seven weeks - each language is pretty unique and paradigm shifts are quite useful, like how learning Haskell helped us write better Python code now.
- Started embracing org-mode for spacemacs, it’s now unlive-able without.
09 Friday
A very relevant programming blog with an amazing amount of content. Almost all the posts are useful for us - ray tracing, audio processing, math …
February
27 Tuesday
- We started learning Scheme and The Little Schemer is a joy to go through. Related note, switched to spacemacs for its great Lisp REPL support and Vim keybindings.
- JupyterLab is great for what we do. PyCharm’s code-completion is still better in actual scripts though.
- Pythonic Perambulations - a blog on Python to keep on our radar.
- A comprehensive set of books about game programming and all it entails - like physics engines, maths, and rendering.
02 Friday
Started looking into physics engines and inverse kinematics. Some resources:
- Inverse Kinematics for Tentacles
- ikpy, a Python inverse kinematics library with some very well-written code.
- Verlet integration basics
January
30 Tuesday
The animation library used by 3Blue1Brown to make his math videos.
24 Wednesday
- Generative art by Andy Lomas
- Algorithmic Botany is a wonderful site with loads to resources to papers/books/code etc. all about patterns and algorithms in nature.
- We have an EleksDraw plotter now so it’s nice to see what other people have done with their plotters.
09 Tuesday
- Many of the books here look absolutely fascinating.
- Philip Ball is a great resource for learning about natural patterns and algorithms, especially his trilogy “Nature’s Patterns”.
2017
December
19 Tuesday
We just started looking into harmonographs and suddenly they were popping up everywhere.
- Some nice resources.
- Images made using a pendulum with a light attached to it and a super fast camera.
- Visualizing Mathematics - VERY cool blog.
15 Friday
Chalkdust seems like a great magazine for maths and puzzle lovers, the Crossnumber was a joy to solve.
13 Wednesday
Folds2D, a tumblog with beautiful generative art in Clojure.
November
04 Saturday
- The Scipy 2017 conference had some pretty neat tutorials. They showcase some extremely cool libraries in Python. This repo has links to most of the good stuff.
- The Numba tutorial was a great watch and wow is that thing amazing.
- The Holoviews tutorial made us realize it would be great for some of our projects involving visualization - like cellular automata.
- This post on Numba makes it sound like something we should use right away. Also, another bioinformatician blogger!
03 Friday
Optical art movement - Art based on optical illusions dating all the way from the 1900s. Some of these are precise enough to be mistaken for computer-generated!
October
28 Saturday
Another blog on generative art algorithms, mathematical patterns that also happen to be aesthetically pleasing. An incredible amount of content as well.
26 Thursday
Yet another database paradigm, TileDB. Automatically handles genomics data formats - something to keep in mind.
26 Thursday
The book on ray tracing whet our appetites for similar stuff. Here’s a neat book on shaders, it’s incomplete but the unwritten chapter names give us a hook to start Googling at least.
25 Wednesday
A huuuge list of programming books. Some of them look like absolute must-haves.
22 Sunday
Ray Tracing in One Weekend delivers exactly what it says in the title. Also easy to Pythonize the C++ code. Optimization with numpy/numba/cython however, is something we’re saving for after getting through all three of the Ray Tracing mini-books.
19 Thursday
Another mathematical art blog to follow.
16 Monday
Cellular automata again but this time different versions interact with each other.
13 Friday
A programming language that looks like DNA, it’s beautiful.
12 Thursday
A truly brilliant blog, Math intersection Programming. Just itching to try out all the posts in the Art Generation section, and read through the Cryptography section too.
September
28 Thursday
Getting back to a previous project of scraping bird song data from xeno canto, here’s a nice set of articles on Notes on Music Information Retrieval.
14 Thursday
- I don’t know how we missed gloss before, but a processing-like graphics library for Haskell is a dream come true.
- A great HN comments section on one of our favorite blog posts.
06 Wednesday
06 Wednesday
- Continuing on our long-forgotten idea of building a citation network to judge the quality of newly published papers/papers on biorxiv, here are some good datasets of papers with citation information that’s linkable - AMiner and Open Academic Graph. Now we just need some hard drives to store the data, and some generator-laden Python code to parse it.
- scipy’s compressed graph module is what we have in mind for graph algorithms on the citation network.
- Academic torrents boasts 22.41TB of research data - look at later.
01 Friday
A quirky blog post on functional programming.
August
21 Monday
Setting up a blog unfortunately requires a bit of CSS work. We looked through pretty much all of the links on this Ask HN for minimal CSS frameworks and Skeleton turned out to be the most bearable one.
19 Saturday
- Some out of the way Haskell books which look interesting
- Beautiful Code - Visual stuff with Haskell bindings to Cairo and OpenGL.
- Haskell Road to Logic and Programming - This one is quite a good read, explains concepts in logic and mathematics with examples in Haskell.
- Computational Semantics With Functional Programming - Another by the same author as the previous one, definitely on our to-read list.
07 Monday
- Another idea to put a pin in - grow corals in an aquarium.
- Stunningly illustrated geometry books by Oliver Bryne. Here’s another one.
06 Sunday
- We’ve decided to embrace vim. Borrowed most of our setup from haskell-vim-now and Stephen Diehl’s post.
- We’re trying to learn Dutch by reading comic books. This adventurous endeavour led to 2 pages of reading and then a half hour of writing a script to make an English-Dutch dictionary from our comic-book-reading notes.
05 Saturday
- Our adventures with Hakyll led to some great new content to follow - Blaenk.Denum, YBlog, Roman Cheplyaka.
02 Wednesday
- Cellular automata, like Conway’s game of life, are absolutely fascinating. We’ve been trying to get into the Haskell diagrams library and this person has an amazing set of cellular automata written in it.
- Some Haskelly possibilities to try out on an Arduino - from the wiki, and Juniper.
- A neat project to make punch tapes for those little mechanical music boxes. Putting a pin in this for later.
June
13 Tuesday
JavaScript is a little too important for the web and a little too annoying to use. There are some ways to write JavaScript with Haskell, though it’s still a bit tricky (no surprises there). The options for writing JavaScript in Haskell seem to be GHCJS, Fay, and Haste
- GHCJS is clearly the most powerful in terms of having most of Hackage available, but people say it spits out way more .js code than required which could make things slow to load on slower internet connections.
- Fay looks nice and clean and converts to a reasonable amount of code too, but when they say it’s a proper subset of Haskell they’re not messing around. Not a lot of packages added yet.
- Haste looks like a compromise between the two but this guy said three years ago
I liked Haste initially, until I got to that absolutely necessary evil, JavaScript interop, and everything fell apart.
This was three years ago though, maybe they’re great now? Also Ben Lynn used Haste for his tiny browser games and they look pretty amazing.
Of course, (with great reluctance) we could shift to another language that’s still Haskell-like but plays nicely with JavaScript. Some options here are Elm and Purescript. This guy from above chose Elm but people on Reddit and people on HackerNews seem to vote PureScript.
06 Tuesday
- At last, several millions of product manuals indexed in a product manual search engine.
- The title says it all: A hands-on introduction to video technology: image, video, codec (av1, h264, h265) and more (ffmpeg encoding). Reading through this could be useful for understanding more about video data.
01 Thursday
- For a better understanding on how CPUs work, it may be interesting to watch an 8-bit computer being built on breadboards or even try to make one for fun (honestly though, personally I wouldn’t go that far. Edit: having second thoughts).
- Turns out that Dijkstra had a blog!
Well, close enough. He (hand/type)wrote these manuscripts called EWDs (his initials) and physically mailed photocopies of them to various people in academia. He has over 1300 of these, all the way from 1962 to 2002! This website has the whole collection (with transcribed versions of many) and describes them as
technical notes, trip reports, insightful observations, and pungent commentaries
It’s a real goldmine. There are numerous mathematical proofs, rants, observations, experiences, all littered with hilarious dialogue. Here’s two quotes from 1991.
How should we react to this computer addiction? … We could, for instance, head for some sort of electronic LSD. - EWD1100
Post Scriptum At the beginning of this text you may have noticed that I did not define PSST. I hope that, as you continued reading, you have noticed that the absence of that definition did not matter. You are perfectly free to use the term PSST for the rest of your life: I donate it herewith to mankind. If you insist on seeing it as an acronym, I can divulge the secret: it actually emerged as an abbreviation for Pompous Simulation of Science and Technology. (End of Post Scriptum) - EWD1108
May
31 Wednesday
- Found a really cool website with publications on various programming topics, Code Words by The Recurse Center. Most interesting for us right now are the ones about functional programming (like this comprehensive introduction) and the one about grammar of graphics (for the eventual python plotting library project we have in mind).
- Programming with Escher talks about recreating something like the Square Limit woodcut by Escher.
There’s also the original paper on Functional Geometry by Peter Henderson (and a Haskell implementation too).
30 Tuesday
- A beautifully written set of posts about elliptical curves in cryptography.
- A GitBook on functional programming.
Love the style of writing. It’s in JavaScript but the concepts obviously translate and he gives a pretty good reason for using JavaScript.
In a pure functional language, you cannot log a variable or read a DOM node without using monads. Here we can cheat a little as we learn to purify our codebase. It’s also easier to get started in this language since it’s mixed paradigm and you can fall back on your current practices while there are gaps in your knowledge.
That said, typed functional languages will, without a doubt, be the best place to code in the style presented by this book. JavaScript will be our means of learning a paradigm, where you apply it is up to you. Luckily, the interfaces are mathematical and, as such, ubiquitous. You’ll find yourself at home with swiftz, scalaz, haskell, purescript, and other mathematically inclined environments.
JavaScript also lets the author compare terrible imperative code with the cleaner functional version. Three chapters in and seems like a great read
- Not sure how interested we’d be in Hackett considering we don’t know anything about Rackett, but the journey to achieving it in The story so far, and getting to Hackett 0.1] (starts at about 3/4th way down in the page) talks about this paper, an algorithm for implementing a declarative system of bidirectional typechecking, that he’s implemented in Haskell. Now that seems like something to look into
- Some resources for developing OSes, shells and compilers, just because. A book on Linux Commands, Editors, and Shell Programming, A set of pages on self-compiling compilers, a Gitbook on making an OS in C++.
28 Sunday
- Xeno-canto, a bird song recording database built by public contributions. The project is funded by The Naturalis Museum in the Netherlands and contains more than 100k recordings of a wide range of bird species. The audio also has loads of meta-data attached, such as geo location, elevation and type of bird behaviour when the recording took place. Not sure if the data can be downloaded in bulk but we wrote a simple scrapy spider script to crawl and collect meta-data with the corresponding download links for the audio files. Could be a nice dataset for an audio processing project.
27 Saturday
- Some thoughts on recording “unheard” sounds of nature
Our humanly senses are like a curse which limits our exploration of the world around us. One of the driving forces of scientific knowledge was to gradually lift this curse, transforming unobservable matter/waves into an observable form. The need for extending sensory perception also holds true for any curious individual. I am one of those people who gets excited when looking at a bug under a microscope, a flickering squid underwater behind an underwater mask, a falcon swinging in the air with a pair binoculars or the craters of the moon with a simplistic telescope. I feel lucky that many of the instruments for observing the “unobservable” are affordable for personal use. Many of these instruments, for our satisfaction, are to enhance our eye sight and this is understandable as we are primates after all. However, aren’t you ever curious of hearing nature in unheard ways. Many insects make sounds at more than 20khz frequency. Wouldn’t you try to hear them in your garden if you could? For the people who would, there aren’t many ways to achieve this without paying tons of money for expensive professional microphones. Here is a nice blog post which discusses the availability of such specialized instruments. Another old-school website on recording sounds of nature. Here is an article which talks about finding cheap ultrasonic microphone modules. So, what’s keeping me away from converting a cheap bat detector into a simple DIY ultrasound recorder? This is my plan:
- Find a cheap microphone module which can record >20khz sound.
- Connect it to a raspberry pi
- Implement and use an algorithm to convert the high frequency sound into a form that we can hear without altering the time domain. Some methods to look at: Phase vocoder, Spectral modeling synthesis
- Enjoy some bug music.
26 Friday
- While reading two papers on RNA-Seq transcript quantification, we realized that the authors of one paper were so up-to-date that they could compare their tool to the results of the other paper which was pre-published (pre, mind you, not actually published) just a month before they pre-published their own. So here’s an idea: networks of authors and citations, clustered by labs and collaborators, to assess the potential impact of pre-published papers on arxiv and biorxiv and newly published ones in other journals with no citations yet. Citation counts should only take into account citations outside the paper’s circle of influence (no patting your own back).
25 Thursday
- Took a look at toyplot, a self-proclaimed “kid-sized” plotting library in Python. Seems like a good choice for basing a scientific plotting library on. It has all the basic functionalities of matplotlib but without the horrific function- and style- arguments floating in empty space. Toyplot has a variety of canvas, axis and plotting functions which actually make sense and uses CSS formatting for styling the details. Added bonus - interactive (i.e. you can click and see which points are where on the axes), SVG plots (i.e. resizeable, play-around-able without messing up the resolution)! Milestone 1: Recreate A Compendium of Clean Graphs in R using numpy, scipy and toyplot.
- Another bioinformatician had a similar idea and made toytree, a tree-plotting library based on toyplot. It looks great! Heartening that he used toyplot too, really brings out its potential for hassle-free scientific plotting.
- Type Hinting in Python 3 - What is it? Good for IDEs, catching bugs, and understanding code but isn’t used for speed improvements like in Cython. Still, it’s a pretty great practice for development and probably makes it easier to port code to faster languages.
24 Wednesday
- People from Purdue who evaluated the design of the R language said
As a language, R is like French; it has an elegant core, but every rule comes with a set of ad-hoc exceptions that directly contradict it.
And yet it’s still used heavily by bioinformaticians. One reason is the wonderful plotting support by ggplot2 etc. Python plotting on the other hand, seems mainly built on that ugly mammoth of a library, matplotlib. Instead of starting afresh, people try to hide the mess of matplotlib under the carpet. Others use Javascript instead to make it interactive and browser-based but somehow haven’t caught up with the simpler syntax of scientific plotting in R. ggplot (the Python port of ggplot2) seems to be coming along but it’s still weird to have R syntax in a Python library when Python syntax can be just as simple and intuitive. Something must be done. (Toyplot or Biggles may be a good start.)
- Haskell in bioinformatics( Haskell really has it together as a language, with Hoogle and Hackage and Stack. If only Python was that organized.
- Pointfree.io neat website that converts your Haskell code into point-free form which just happens to be the trend these days.
21 Sunday
- Haskell exercism great for working your way up, especially if you take reviewers’ advice.
- Stephen Diehl a nice Haskell blog.
- Haskeroids a game in Haskell! Nice step-by-step to follow along.
- List of Must-Read Bioinformatics Papers according to Zhang Lab. Good reference.
- Trivium inspired this page and format.