HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pmarreck
elixir-snippets
Elixir2015–2024
pmarreck / elixir-snippets

elixir-snippets

Just some WIP in Elixir and related experiments

2Distinct people
10Mentions
0Explicit recommenders
43GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Just some WIP in Elixir and related experiments

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2015-07-22 14:59:42 UTC to 2024-09-29 18:47:36 UTC.

0122015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202

What Hacker News says

10 sources
hah, I was actually aware of this, ironically because I side-projected an encoding/decoding that "visibled" normally unprintable ASCII characters into printable UTF-8 https://github.com/pmarreck/elixir-snippets/blob/master/prin... Maybe we should bring field and record separators back and call it "ascii-separated values" (ASV) lol (because, you know... "as originally envisioned by the makers of ASCII") The only caveat is the lack of visible printability of those (hence that project up there). It would be neat if (by default) the field separator ASCII character looked similar to a tab (maybe with some distinguishing detail such as a dotted underline) and the record separator ASCII character looked similar to a newline (again, with some extra visible difference, but also including the visible linefeed) There's probably a font feature that l
Read the rest
ets you do this The final issue with it is how in the world would we type those characters?
In MtCellEdit – Lightweight Spreadsheet Program
I just had this discussion yesterday on Slack. I think that your core test suite should be completely, 100% deterministic. Property-based testing/random input testing/chaosmonkey/profiling/etc. are all a different type of testing to me. Still useful, but separate. Still should be run, but not every time. You do not want non-deterministic tests. (And if you use random testing, ALWAYS record the seed so you can reproduce it!) If the core functionality of your code is fundamentally random (I once tested a maze generator this way https://github.com/pmarreck/elixir-snippets/blob/master/maze...), use seeded random data.
In The argument against clearing the database between tests (2020)
I avoid FP as much as possible precisely because of these nondeterministic (at least in the practical sense) results. I use integers almost exclusively and if I need fixed point I have view code that renders things correctly (such as for currency). When Erlang didn't have a power function that didn't use floating-point (and thus resulted in rounding errors), I wrote my own: https://github.com/pmarreck/elixir-snippets/blob/master/math...
In Floating Point in the Browser, Part 1: Impossible Expectations
I read Dave Thomas' book cover-to-cover like some kind of legitimate nerd :) It was very good. For understanding genservers there's The Little Elixir and OTP Guidebook, as well. In my case I experimented with it for at least a year before I decided to jump in, my "experiments" are here: https://github.com/pmarreck/elixir-snippets (I tend to use single-file dev for exploring simple ideas; this is not a general pattern used in the community or anything, it's just something I discovered I could get by doing)
In Elixir 1.9
I think there is a case to be made that unit tests can live inside the file under test; integration tests can live outside of it. Also, mocks are arguably a test-code-smell side effect of too little isolation: https://www.destroyallsoftware.com/blog/2014/test-isolation-... In my Elixir one-page code experiments, I put the unit test in the same file after the code under test. It makes sure the test only runs when the file is loaded a certain way: https://github.com/pmarreck/elixir-snippets/
In A Case for the Pyret Programming Language
This is interesting, but come on, man. Not a single unit test? I found TDD to be invaluable when writing a simple RPN calculator (which suddenly became a Forth interpreter that could do things like compute factorial): https://github.com/pmarreck/elixir-snippets/blob/master/rpn_... Note that I was never educated in how to write compilers or transpilers (I was a Psych major and merely a CS minor), I just looked at it as a transformation problem. :)
In Show HN: Xjs – Elixir syntax, JavaScript semantics (or transpilers made easy)
I have built some small projects with it and really like it... in fact, after getting atop most of the learning curve, it's hard not to want to just work IN it. Which is a pretty good endorsement, in my book. I will say that the production deployment process and tooling is not purely Elixir at this point (yet). People tend to use the Ruby Capistrano gem to deploy... which works... but to me gives sort of a cognitively dissonant experience :) Another quirk I noticed is that IEEE floating point is not completely supported, for example there is no "Infinity" value and working with large numbers will often get you rounding errors. For example, using the Math.pow function (the ONLY native power function!) ONLY works with floating point values so using it will get you large-number roundoff errors. Some libs have been written to manage numeric d
Read the rest
ata better (in my case I literally had to look up an efficient integer power algorithm and implement it, see https://github.com/pmarreck/elixir-snippets/blob/master/math...) but the lack of native support there is weird (and Erlang's fault, really), especially coming from Ruby.
In Ask HN: Operational experiences with Elixir-lang

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.