+++ title = "Atemporal Blog Posts" date = 2018-02-03 updated = 2021-02-19 [taxonomies] category = ["algos"] tags = ["algorithms", "culture", "debate", "foodforthought", "graphics", "optimization"] +++ These are some interesting posts and links I've found around the web. I believe they are quite interesting and nice reads, so if you have the time, I encourage you to check some out. Algorithms ---------- * [Image Dithering: Eleven Algorithms and Source Code](http://www.tannerhelland.com/4660/dithering-eleven-algorithms-source-code/). What does it mean and how to achieve it? * [Idempotence layer on bloom filters](https://cristian.io/post/bloom-filters/). What are they and how can they help? * [Huffman coding](https://en.wikipedia.org/wiki/Huffman_coding). This encoding is a simple yet interesting way of compressing information. * [Wave Function Collapse](https://github.com/mxgmn/WaveFunctionCollapse). Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics. * [Regular Expression Search with Suffix Arrays](https://blog.nelhage.com/2015/02/regular-expression-search-with-suffix-arrays/). A way to efficiently search large amounts of text. Culture ------- * [Why Westerners Fear Robots and the Japanese Do Not](https://www.wired.com/story/ideas-joi-ito-robot-overlords/). Explains some possible reasons for this case. * [How To Ask Questions The Smart Way](http://catb.org/~esr/faqs/smart-questions.html). Some bits of hacker culture and amazing tips on how to ask a question. * [XML, blockchains, and the strange shapes of progress](http://apenwarr.ca/log/?m=201809#14). Some of history about XML and blockchain. * [Legion of lobotomized unices](https://czep.net/17/legion-of-lobotomized-unices.html). A time where computers are treated a lot more nicely. * [The Expression Problem and its solutions](https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions/). What is it and what can we do to solve it? * [The Inspection Paradox is Everywhere](http://allendowney.blogspot.com/2015/08/the-inspection-paradox-is-everywhere.html). Interesting and very common phenomena. * [An experimental code editor for writing algorithms](https://github.com/ChrisKnott/Algojammer). Contains several links to different tools for reverse debugging. * [What Are Capabilities?](http://habitatchronicles.com/2017/05/what-are-capabilities/) Good ideas with great security implications. * [Contempt Culture](https://blog.aurynn.com/2015/12/16-contempt-culture). Or why you should not speak crap about your non-favourite programming languages. * [Well-Kept Gardens Die By Pacifism](https://www.lesswrong.com/posts/tscc3e5eujrsEeFN4/well-kept-gardens-die-by-pacifism). Risks any online community can run into. * [It's Nicky Case!](https://ncase.me/) They make some cool things worth checking out, I really like "we become what we behold". Debate ------ * [Open Source is awful](https://steemit.com/opensource/@crell/open-source-is-awful). Has some points about why is it bad and how it could improve. * [Pink Lexical Goop: The Dark Side of Autocorrect](http://www.mondo2000.com/2018/01/17/pink-lexical-goop-dark-side-autocorrect/). It can shape how you think. * [Idiomatic or idiosyncratic?](http://blog.ploeh.dk/2015/08/03/idiomatic-or-idiosyncratic/) Can porting code constructs from other languages have a positive effect? * [In-depth: Functional programming in C++](https://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php). Is it useful to bother with functional concepts in a language like C++? * [Notes on structured concurrency, or: Go statement considered harmful](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/). * [C Is Not a Low-level Language](https://queue.acm.org/detail.cfm?id=3212479). Could there be alternative programming models designed for more specialized CPUs? Food for Thought ---------------- * [1/0 = 0](https://www.hillelwayne.com/post/divide-by-zero/). Explores why it makes sense to redefine mathemathics under some circumstances, and why it is possible to do so. * [For mathematicians, = does not mean equality](https://jeremykun.com/2018/04/13/for-mathematicians-does-not-mean-equality/). What other definitions does the equal sign have? * [Cached Thoughts](https://www.lesswrong.com/posts/2MD3NMLBPCqPfnfre/cached-thoughts). How is it possible that our brains work at all? * [Software disenchantment](http://tonsky.me/blog/disenchantment/). Faster hardware and slower software is a trend. * [Software Engineering Is Bad, But That's Not Why](https://blackhole12.com/blog/software-engineering-is-bad-but-it-s-not-that-bad/). This post has some good counterpoints to Software disenchantment. * [What Color is Your Function?](http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/). Spoiler: can we approach asynchronous IO better? * [I'm harvesting credit card numbers and passwords from your site](https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5). A word of warning when mindlessly adding dependencies. * [Everything Is Broken](https://medium.com/message/everything-is-broken-81e5f33a24e1). Some of the (probable) truths about our world. * [Reality has a surprising amount of detail](http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail). Funny ----- * [We Use BobX](http://thedailywtf.com/articles/We-Use-BobX). BobX. * [The Inner JSON Effect](http://thedailywtf.com/articles/the-inner-json-effect). For some reason, custom languages are in. * [Exponential Backup](https://thedailywtf.com/articles/exponential-backup). Far better than git. * [ITAPPMONROBOT](https://thedailywtf.com/articles/ITAPPMONROBOT). Solving software problems with hardware. * [A Tapestry of Threads](https://thedailywtf.com/articles/a-tapestry-of-threads). More threads must mean faster code, right? * [A Brief Totally Accurate History Of Programming Languages](https://medium.com/commitlog/a-brief-totally-accurate-history-of-programming-languages-cd93ec806124). Don't take offense for it! Graphics -------- * [Visualizing Projections](http://shaunlebron.github.io/visualizing-projections/). Small post about different projection methods. * [Inigo Quilez :: fractals, computer graphics, mathematics, shaders, demoscene and more](http://www.iquilezles.org/www/index.htm) A *lot* of useful and quality articles regarding computer graphics. History ------- * [What Did Ada Lovelace's Program Actually Do?](https://twobithistory.org/2018/08/18/ada-lovelace-note-g.html). And other characters that took part in the beginning's of programming. * [In defence of swap: common misconceptions](https://chrisdown.name/2018/01/02/in-defence-of-swap.html). Swap is still an useful concept. * [The Graphing Calculator Story](https://www.pacifict.com/Story/). A great classic Apple tale. * [How Lisp Became God's Own Programming Language](https://twobithistory.org/2018/10/14/lisp.html). Lisp as a foundational programming language. Motivational ------------ * [Fire And Motion](https://www.joelonsoftware.com/2002/01/06/fire-and-motion/). What does actually take to get things done? * [The Parable of the Two Programmers](https://realmensch.org/2017/08/25/the-parable-of-the-two-programmers/). This tale is about two different types of programmer and their respective endings in a company, illustrating how the one you wouldn't expect to actually ends in a better situation. * [Conversations with a six-year-old on functional programming](https://byorgey.wordpress.com/2018/05/06/conversations-with-a-six-year-old-on-functional-programming/). Little kids today can be really interested in technological topics. * [How Many Hours a Day Should You Practice?](https://bulletproofmusician.com/how-many-hours-a-day-should-you-practice/). While the article is about music, it applies to any other areas. * [Suffering-oriented programming](http://nathanmarz.com/blog/suffering-oriented-programming.html). A possibly new approach on how you could tackle your new projects. * [Things You Should Never Do, Part I](https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/). There is no need to rewrite your code. Optimization ------------ * [What Every C Programmer Should Know About Undefined Behavior #1/3](http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html). Explains what undefined behaviour is and why it makes sense. * [Labor of Division (Episode I)](http://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html). Some tricks to divide without division. * [A Great Old-Timey Game-Programming Hack](http://blog.moertel.com/posts/2013-12-14-great-old-timey-game-programming-hack.html). Abusing instructions to make games playable even on the slowest hardware. * [Scalable Event Multiplexing: epoll vs kqueue](https://web.archive.org/web/20191213224640/https://people.eecs.berkeley.edu/~sangjin/2012/12/21/epoll-vs-kqueue.html). How good OS primitives can really help performance and scability. * [Command-line Tools can be 235x Faster than your Hadoop Cluster](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html). Or how to use the right tool for the right job. * [When FFI Function Calls Beat Native C](https://nullprogram.com/blog/2018/05/27/). How lua beat C at it and the explanation behind it. * [Gallery of Processor Cache Effects](http://igoro.com/archive/gallery-of-processor-cache-effects/). Knowing a few things about the cache can make a big difference.