Top all-time · #11049
Nathan M. Long
Personal blog · nathanmlong.comprogramming
Nathan M. Long writes NathanMLong.com, a personal blog at nathanmlong.com about programming. Since 2011, 7 different Hacker News readers have linked it 22 times, most often “Concurrency vs. Parallelism and the Erlang Advantage”. No feed was found, so read it on the site itself.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
Linked for posts on Vim editing techniques, such as using cursor-jump commands as motions, and on Erlang iolists for efficient string building. Comments cite them as references without judging the writing.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Concurrency vs. Parallelism and the Erlang Advantage2 people · 2 mentions · first linked 2017-10-18
What Hacker News says?
One "quality of life" thing - you can wrap changes to the schema in a transaction, so that a given set of changes is atomic. (Elixir's Ecto and Ruby's ActiveRecord both have migrations that do this by default.) As far as I know, that doesn't work in MySQL. There's also neat stuff like exclusion constraints: http://nathanmlong.com/2016/01/protect-your-data-with-postgr... And there's the ability to do all kinds of nea…
Comment linking /2016/01/protect-your-data-with-postgresql-constraints/
on “PostgreSQL 11 Released”Submitted Fast Full-Text Search with Ecto and PostgreSQL as a story · 9 points
HN discussionTook me years to learn that one, too. It may be favorite Vim trick now. Basically everything that can make your cursor jump can be used as a motion with a command - moving to a mark, undoing/redoing jumps with Ctrl+o and Ctrl+i, and hopping to a matching brace with % are more examples. Wrote a short intro myself about such revelations: http://nathanmlong.com/vanquish/
Comment linking /vanquish/
on “Learn Vim Progressively”Submitted Concurrency vs. Parallelism and the Erlang Advantage as a story · 8 points
HN discussionNice! Very succinct and clear. I wrote an intro myself, as someone who'd recently learned the concept. Wordier, but might be helpful if you think like I do. http://nathanmlong.com/2015/03/understanding-big-o-notation/
Comment linking /2015/03/understanding-big-o-notation/
on “A beginner's guide to Big O notation (2009)”Submitted Protect Your Data with PostgreSQL Constraints as a story · 7 points
HN discussion> The problem I had with the bullet gem however is that some times you actually want N+1 queries. Especially with Russian-Doll caching. I know it sounds like I keep beating the same drum, but to me this problem seems like "we have slow views, therefore we need to sprinkle conditional caching logic everywhere, therefore we need to allow lazy loading, therefore we need to watch for N+1 queries." As I wrote elsewhere (…
Comment linking /2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/
on “Why I believe Rails is still relevant in 2019”Submitted Concurrency vs. Parallelism and the Erlang Advantage as a story · 4 points
HN discussionIf you just want to see hash tables work as a data structure, here's a talk-as-blog-post I made on the subject. http://nathanmlong.com/2015/10/reimplementing-rubys-hash/
Comment linking /2015/10/reimplementing-rubys-hash/
on “Write a hash table in C”Submitted A Shuffled Order That Works with Pagination as a story · 2 points
HN discussionElixir Phoenix has a game-changing approach here because of how it compiles templates. Effectively, the static part is always cached (until the template changes), but the dynamic part is never cached. Nothing to manage. See http://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io... for explanation.
Comment linking /2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/
on “The Performance Cost of Server Side Rendered React on Node.js”Submitted Protect Your Data with PostgreSQL Constraints as a story · 2 points
HN discussionTrue. But making all server-side renders really efficient and fast is an option, too. http://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io...
Comment linking /2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/
on “The Performance Cost of Server Side Rendered React on Node.js”Submitted Parallel Map in Elixir as a story · 2 points
HN discussionI have not used Emacs, but Vim feels incredibly powerful to me. I feel that I can tell it what to do in a very natural way: "change inside parentheses", or "delete from here to the word 'foo'," or "replace 'bar' with 'baz' inside the current set of curly braces." Most of my time in code is spent moving around, editing and refactoring. Vim fits that: "Normal" mode puts an entire keyboard of commands at my disposal fo…
Comment linking /vanquish/
on “Finding your way in vim: tags, cscope, grep and more”Submitted “Hard to Use” Misses the Point as a story · 1 points
HN discussioniolist are great: https://nathanmlong.com/2021/05/what-is-an-iolist/ This is how an high level language such as erlang can be very efficient at printing out strings: native language support for strings embedded in lists. That way a template engine doesn't have to allocate memory and copy every time it needs to prepend or append to strings together. Just wrap them in another list. IO.puts([[ "this", [ "is", [ "an" ]]…
Comment linking /2021/05/what-is-an-iolist/
on “How EEx Turns Your Template into HTML”Submitted Understanding Big O Notation as a story · 1 points
HN discussion> Off load view rendering to the client to lower server costs. Another way to lower server costs is to change tools. Eg, Phoenix renders HTML much more efficiently than Rails due to its use of IO lists. http://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io... > User experience tends to be snappier since you aren't always waiting for the server to render your view. The "Turbolinks" approach of only re-renderin…
Comment linking /2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/
on “Ask HN: Benefits of front-end JavaScript frameworks?”Submitted Better Single-Table Inheritance as a story · 1 points
HN discussionSubmitted Making Vim, Unix and Ruby sing harmony as a story · 1 points
HN discussionSubmitted Control Your Randomness With `srand` in Ruby as a story · 1 points
HN discussion