content/blog/posts.md (view raw)
1+++
2title = "Atemporal Blog Posts"
3date = 2018-02-03
4updated = 2021-02-19
5[taxonomies]
6category = ["algos"]
7tags = ["algorithms", "culture", "debate", "foodforthought", "graphics", "optimization"]
8+++
9
10These 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.
11
12Algorithms
13----------
14
15* [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?
16* [Idempotence layer on bloom filters](https://cristian.io/post/bloom-filters/). What are they and how can they help?
17* [Huffman coding](https://en.wikipedia.org/wiki/Huffman_coding). This encoding is a simple yet interesting way of compressing information.
18* [Wave Function Collapse](https://github.com/mxgmn/WaveFunctionCollapse). Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics.
19* [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.
20
21
22Culture
23-------
24
25* [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.
26* [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.
27* [XML, blockchains, and the strange shapes of progress](http://apenwarr.ca/log/?m=201809#14). Some of history about XML and blockchain.
28* [Legion of lobotomized unices](https://czep.net/17/legion-of-lobotomized-unices.html). A time where computers are treated a lot more nicely.
29* [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?
30* [The Inspection Paradox is Everywhere](http://allendowney.blogspot.com/2015/08/the-inspection-paradox-is-everywhere.html). Interesting and very common phenomena.
31* [An experimental code editor for writing algorithms](https://github.com/ChrisKnott/Algojammer). Contains several links to different tools for reverse debugging.
32* [What Are Capabilities?](http://habitatchronicles.com/2017/05/what-are-capabilities/) Good ideas with great security implications.
33* [Contempt Culture](https://blog.aurynn.com/2015/12/16-contempt-culture). Or why you should not speak crap about your non-favourite programming languages.
34* [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.
35* [It's Nicky Case!](https://ncase.me/) They make some cool things worth checking out, I really like "we become what we behold".
36
37
38Debate
39------
40
41* [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.
42* [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.
43* [Idiomatic or idiosyncratic?](http://blog.ploeh.dk/2015/08/03/idiomatic-or-idiosyncratic/) Can porting code constructs from other languages have a positive effect?
44* [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++?
45* [Notes on structured concurrency, or: Go statement considered harmful](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/).
46* [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?
47
48
49Food for Thought
50----------------
51
52* [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.
53* [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?
54* [Cached Thoughts](https://www.lesswrong.com/posts/2MD3NMLBPCqPfnfre/cached-thoughts). How is it possible that our brains work at all?
55* [Software disenchantment](http://tonsky.me/blog/disenchantment/). Faster hardware and slower software is a trend.
56 * [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.
57* [What Color is Your Function?](http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/). Spoiler: can we approach asynchronous IO better?
58* [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.
59* [Everything Is Broken](https://medium.com/message/everything-is-broken-81e5f33a24e1). Some of the (probable) truths about our world.
60* [Reality has a surprising amount of detail](http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail).
61
62
63Funny
64-----
65
66* [We Use BobX](http://thedailywtf.com/articles/We-Use-BobX). BobX.
67* [The Inner JSON Effect](http://thedailywtf.com/articles/the-inner-json-effect). For some reason, custom languages are in.
68* [Exponential Backup](https://thedailywtf.com/articles/exponential-backup). Far better than git.
69* [ITAPPMONROBOT](https://thedailywtf.com/articles/ITAPPMONROBOT). Solving software problems with hardware.
70* [A Tapestry of Threads](https://thedailywtf.com/articles/a-tapestry-of-threads). More threads must mean faster code, right?
71* [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!
72
73
74Graphics
75--------
76
77* [Visualizing Projections](http://shaunlebron.github.io/visualizing-projections/). Small post about different projection methods.
78* [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.
79
80
81History
82-------
83
84* [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.
85* [In defence of swap: common misconceptions](https://chrisdown.name/2018/01/02/in-defence-of-swap.html). Swap is still an useful concept.
86* [The Graphing Calculator Story](https://www.pacifict.com/Story/). A great classic Apple tale.
87* [How Lisp Became God's Own Programming Language](https://twobithistory.org/2018/10/14/lisp.html). Lisp as a foundational programming language.
88
89
90Motivational
91------------
92
93* [Fire And Motion](https://www.joelonsoftware.com/2002/01/06/fire-and-motion/). What does actually take to get things done?
94* [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.
95* [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.
96* [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.
97* [Suffering-oriented programming](http://nathanmarz.com/blog/suffering-oriented-programming.html). A possibly new approach on how you could tackle your new projects.
98* [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.
99
100
101Optimization
102------------
103
104* [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.
105* [Labor of Division (Episode I)](http://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html). Some tricks to divide without division.
106* [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.
107* [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.
108* [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.
109* [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.
110* [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.