M
Martijn Faassen
blog.startifact.com · Personal blog · on HN since 2013
Martijn Faassen, a Python and Rust developer, writes about Python style, web frameworks, succinct data structures, and the Xee XPath and XSLT engine.
What HN saysHN links it for his posts on Xee as a libxslt alternative, succinct data structures, and his take on what is Pythonic.
37HN people shared it
9linked it in comments
37stories submitted
1.7Kstory points
7 months agolast shared
2013people per year2026
Most-shared posts
- 1What is Pythonic? (2005)5 people · 42 points · first shared 2014 · 20 comments on HN
- 2Succinct data structures3 people · 588 points · first shared 2025 · 105 comments on HN
- 3Xee: A Modern XPath and XSLT Engine in Rust3 people · 384 points · first shared 2025 · 232 comments on HN
- 4Repeat Yourself, a Bit3 people · 5 points · first shared 2025 · discussion on HN
- 5Framework Patterns (2019)2 people · 273 points · first shared 2019 · 43 comments on HN
- 6The Curious Case of Quentell2 people · 82 points · first shared 2024 · 7 comments on HN
- 7The Emerging GraphQL Python Stack2 people · 6 points · first shared 2015 · discussion on HN
- 8The Humble for Loop in JavaScript2 people · 3 points · first shared 2024 · discussion on HN
- 9Random Rust Impressions2 people · 3 points · first shared 2022 · discussion on HN
- 10The Gravity of Python 22 people · 3 points · first shared 2014 · 2 comments on HN
- 11Don’t look down on print debugging1 people · 112 points · first shared 2024 · 157 comments on HN
- 12Roll Your Own Frameworks1 people · 111 points · first shared 2020 · 69 comments on HN
- 13The humble for loop in Rust1 people · 94 points · first shared 2024 · 56 comments on HN
- 14I Was a 1980s Teenage Programmer1 people · 6 points · first shared 2024 · discussion on HN
- 15The Call of Python 2.81 people · 6 points · first shared 2014 · discussion on HN
What HN people wrote when they linked it
noduerme · 2023-07-29
I think that's a great reason then! AI has really given Python a whole new life. I personally find pythonic style[0] easy to follow but really odd and uncomfortable to code in. It's certainly different enough to give you new challenges.
[0] https://blog.startifact.com/posts/older/what-is-pythonic.html
kristianp · 2026-04-16
A better intro to them is at https://blog.startifact.com/posts/succinct/
xvilka · 2025-08-19
There is a better alternative to libxslt - xee[1][2]. It was discussed[3] on HN before.
[1] https://blog.startifact.com/posts/xee/
[2] https://github.com/Paligo/xee
[3] https://news.ycombinator.com/item?id=43502291
faassen · 2025-03-28
Anything could be supported with sufficient effort, but streaming hasn't been my priority so far and I haven't explored it in detail. I want to get XSLT 3.0 working properly first.
There's a potential alternative to streaming, though - succinct storage of XML in memory:
https://blog.startifact.com/posts/succinct/
I've built a succinct XML library named Xoz (not integrated into Xee yet):
https://github.com/Paligo/xoz
The parsed in memory overhead goes down to 20% of the original XML text in my small experiments.
There's a lot of questions on how this functions in the real world, but this library also has very interesting properties like "jump to the descendant with this tag without going through intermediaries".
pjmlp · 2017-01-11
So I get you don't use Python as well.
https://blog.startifact.com/posts/older/what-is-pythonic.html
https://www.python.org/dev/peps/pep-0008/
https://www.python.org/dev/peps/pep-0020/
s3nnyy · 2015-10-08
There are some backend implementations: http://blog.startifact.com/posts/the-emerging-graphql-python-stack.htm…
pak · 2014-01-27
Yes, it is. Coming to this mess from the joy of bundler/gems, npm, or hell, even CPAN will ruin your afternoon.
It is just an unfortunate circumstance of the community not efficiently converging on well designed standards quickly enough, and so, the rocky soil has sprouted strange twisty crops. There are articles on how the setuptools/distutils frankenhack pretty much set off the whole trainwreck that you see today, e.g.: http://blog.startifact.com/posts/older/a-history-of-python-packaging.h…
Armin (the OP) has also written about this sad history previously: http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
shadowmint · 2014-01-09
Which statistics? I'm honestly curious.
I presume you've read http://blog.startifact.com/posts/python-2-gravity.html?
All the new python3/python2 libraries I've noticed adhoc recently have been doing the horrible 'polyglot' one-code-base-support-python2-and-python3 thing, or been in python2.
veddox · 2015-10-06
We are a product of our history - and the same goes with the community around any given technology, not to mention the technology itself. Understanding that history helps you to understand the mindset of the people who created the technology and why and how they designed it. Understanding that will in turn enable you to appreciate and utilize the strengths and weaknesses of said technology better.
One good example: the Unix philosophy. Unix originated back in the 70s, with slow, expensive time-sharing computers, many of which still used printing teletypes. Any text output was expensive in that it used ink and paper and took a long time. Therefore the principle of silence was born: if a program doesn't need to say anything, it shouldn't. See also the principles of smallness and modularity - each program should do one (and only one) thing well, but it should be easy to combine different programs to suit one's needs. You simply couldn't run any very large programs back then, and later on it turned out that chaining several together was actually a pretty good design principle anyway. (For more details, see ESR's "The Art of Unix Programming".) Knowing this history will help one appreciate the philosophy, understanding the philosophy will help one write good programs for that context.
Second example: take the Python language. Its community places a prime on "pythonicness" (http://blog.startifact.com/posts/older/what-is-pythonic.html), a set of guidelines/rules/principles that…