Top all-time · #7066
m1el
Personal blog · m1el.github.ioprogrammingsecurity
m1el is a personal blog at m1el.github.io about programming and security. Since 2015, 11 different Hacker News readers have linked it 20 times, most often “The Most Expensive Anti-Pattern”. The last post was in 2021, but the archive is still widely read.
Too few sampled comments (5) to say how often HN recommends it.?
Why HN links it
HN commenters link m1el's woscope pages on oscilloscope-style vector graphics and the jsonht page on representing DOM trees as JSON. They are cited in threads on XML, JSON, DOM libraries and vector rendering.
Summarised by Claude from a sample of 5 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Byte Juggling
Most-linked posts?
- /jsonht.htm4 people · 5 mentions · first linked 2016-05-26
- The Most Expensive Anti-Pattern3 people · 3 mentions · first linked 2015-07-22
- How to draw oscilloscope lines with WebGL2 people · 2 mentions · first linked 2017-12-30
- Extracting TLS keys from an unwilling application (2020)2 people · 2 mentions · first linked 2020-04-11
What Hacker News says?
Here's the music and oscilloscope art demo, the artistic goal of the project ... https://m1el.github.io/woscope/
Comment linking /woscope/
on “XXY Oscilloscope”Submitted Extracting TLS keys from an unwilling application (2020) as a story · 145 points
HN discussionThis reminds me of an old joke about binary XML: <byte> <bit>1</bit> <bit>1</bit> <bit>0</bit> <bit>1</bit> <bit>0</bit> <bit>1</bit> <bit>1</bit> <bit>0</bit> </byte> >It's easy to make a concise representation of DOM trees as JSON: http://m1el.github.io/jsonht.htm It is not concise. Here is an example of a single div tag overhead: ["div",{"class":"some classes"}, ... ] <div class="some classes"> ... </div> Also, i…
Comment linking /jsonht.htm
on “When XML Beats JSON: UI Layouts”Submitted How to draw oscilloscope lines with WebGL as a story · 143 points
HN discussion> JSON for lists, XML for trees No. JSON is a recursive data structure that can represent trees as well. It's easy to make a concise representation of DOM trees as JSON: http://m1el.github.io/jsonht.htm I find it really sad that people don't know or consider s-expressions to represent trees. (Department {:name "Scranton Branch"} (Employee {:name "Michael Scott" :title "Regional Manager"} (Department {:name "Sales"}…
Comment linking /jsonht.htm
on “When XML Beats JSON: UI Layouts”Submitted The Most Expensive Anti-Pattern as a story · 75 points
HN discussionI had this exact idea almost a year ago: https://github.com/m1el/du-flamegraph find $1 -type f | xargs -n32 -d'\n' -- du -ab \ | awk -F'\t' '{print $2" "$1;}' | sed 's#/##;s#/#;#g' \ | flamegraph.pl --title "Disk usage" --countname "bytes" \ --nametype "file" --width 1900 --minwidth 0.05 ... and tested it using linux sources: http://m1el.github.io/du-flamegraph/linux-sources.svg http://m1el.github.io/du-flamegraph/i…
Comment linking /du-flamegraph/dota2.svg
on “Where has my disk space gone? Flame graphs for file systems”Submitted Show HN: WebGL-powered oscilloscope emulator as a story · 42 points
HN discussionI have had great success using the ideas presented here ( http://m1el.github.io/woscope-how/index.html ) for simulation of traditional vector graphic screens. It is very fast and easily modified to allow for intensity modulation as well.
Comment linking /woscope-how/index.html
on “Blend2D – 2D Vector Graphics Engine”Submitted The Most Expensive Anti-Pattern as a story · 10 points
HN discussion> I was playing with the idea of using JS objects as a template engine: http://m1el.github.io/jsonht.htm , and I'm pretty happy with it. Isn't that the same as (among several other things) React's JSX?
Comment linking /jsonht.htm
on “Faster DOM”Submitted The Most Expensive Anti-Pattern as a story · 3 points
HN discussionI was playing with the idea of using JS objects as a template engine: http://m1el.github.io/jsonht.htm , and I'm pretty happy with it. I think DOM is pretty damn fast in modern browsers. `innerHTML` can be slower than creating elements from a JS object! Here's the script I'm using for timing: https://gist.github.com/m1el/b28625b3b9261f0fab819e866133e49... My results in Chrome are: dom: 2663.580ms, innerHTML: 10999.4…
Comment linking /jsonht.htm
on “Faster DOM”Submitted Extracting TLS keys from an unwilling application as a story · 2 points
HN discussionOnce you have partial evaluation, it's really easy. I've done this (and with jsfuck too!) http://m1el.github.io/jsdeobfuscate/
Comment linking /jsdeobfuscate/
on “JSFuck – esoteric JavaScript”I had a similar attempt. http://m1el.github.io/jsonht.htm
Comment linking /jsonht.htm
on “RE:DOM – Tiny DOM library”I did a similar thing to a Mischief decompression algorithm. http://m1el.github.io/mischief/part-2.html
Comment linking /mischief/part-2.html
on “Reverse Engineering Might and Magic III Compression”There is another bug I think we must get rid of: generating HTML using printf techniques. Not only we should have verified parser, but also verified serializers. http://m1el.github.io/printf-antipattern/ (EDIT: I know it is badly written and there are errors, but, I'm looking forward to rewriting it)
Comment linking /printf-antipattern/
on “The Bugs We Have to Kill [pdf]”