HNHacker News
TopNewBestAskShowJobs

ctur

1,354 karma · joined August 13, 2011

Opinionated Troublemaker. I work on AI.
submissionscomments
ctur··on Faster Python with Guido van Rossum
Things like Cython are great until they aren't, so yes, I think of them as a stop gap (albeit a practical and useful one). Any time you change interpreters or the execution model, you risk compatibility challenges with third party libraries and native modules. You also risk getting painted into a corner by their limitations. They definitely can help with hot code paths when their trade-offs don't prevent it but it still ends up being a kluge working around fundamental language issues.

But when Cython fits, it's great, and a good tool to have in your toolbox if you're working with Python.

ctur··on Faster Python with Guido van Rossum
Everything has performance issues but Python is at least one, if not two, orders of magnitude off of compiled languages like C++, Rust, and Go (despite Go having a garbage collector). They have various usability tradeoffs but once you get things working, at least you're not spending 10x as many cycles to do the same work as another language would need.

(Java probably is also fine; I've less personal experience there so I can't say).

ctur··on Faster Python with Guido van Rossum
I have become increasingly convinced Python as a language is a "trap" for any use of notable scale, be the scale about number of developers, codebase size, or performance requirements. It's a great 0->1 language and great at simple glue, but eventually you hit a wall and have to keep investing larger and larger amounts of people or computing resources to get continued returns... all due to fundamental design decisions in the language from two decades ago that are quite difficult to fix.

Unless you go all-in on typing -- which is difficult today with any meaningfully sized existing codebase -- maintenance is largely a "hope manual testing and unit tests catch anything resembling type errors" which is a major challenge for, say, structural change to a code base like refactoring. Plus typing is still young, the tooling somewhat immature, and can lead to false senses of security if you aren't very careful and opt into the strictest modes. This makes large number of developers and codebase size a major stumbling block.

The interpreter performance and GIL are fundamental issues as well. Multiprocessing and hacks around the GIL are quite painful if you even glance at any native threading code (say in a C++ library) and even when you stick to pure Python, you have a debugging mess when anything goes wrong.

But if someone can improve performance, that'd be great, and has massive impact potential. It is incremental though and doesn't solve fundamental issues with the language. I'm also skeptical of the "5x" plan referenced in the blog, and very skeptical we can ever see meaningful removal of the GIL due to library and baked in design decisions in existing code. This means performance will fall further and further behind compiled languages.

(I write all of this having been a part of supporting Python at massive scale for over two decades, including at two FAANG companies who invest heavily in it. I've seen the curve and the pain it's caused, and would never use it for any code that needs to be performant or actively developed on the multi-month or year timescale).

ctur··on Facebook-owned sites were down
It's back as of approx 14:47 PST.
ctur··on Facebook-owned sites were down
It isn't just DNS. If you happen to have cached entries, the site is returning errors as well.
ctur··on Facebook whistleblower says she wants to fix company, not harm it
https://archive.is/tQwE9
ctur··on Paracetamol use during pregnancy – a call for precautionary action
aka acetaminophen (popularly aka Tylenol in the United States).
ctur··on SystemE – A lightweight systemd replacement written in Emacs Lisp
Well, compared to systemd…
ctur··on How I re–over-engineered my home network for privacy and security
This is a great write-up, not just for the ostensible goal (more privacy and security with maintainable infrastructure) but also because it lays out some reusable primitive for other “home lab” type projects.

The next stop down this fun slippery slope is kubernetes :)

That said, it also is worth mentioning NextDNS as an option. It basically is “pihole as a service” and is reasonably affordable. I ended up going that route to achieve similar goals as to the author and have been happy with it.

ctur··on ImageNet contains naturally occurring Apple NeuralHash collisions
The more interesting point about hash collisions is probably less about accidental clashes and more about intentional clashes. If the hashes in the CSAM database were known publicly, and people began generating intentional clashes with innocuous images, and those images were on many phones, it could basically DOS whatever manual process Apple creates.

Basically it could become an arms race where, say, free speech advocates convince people to just keep and share some images and overwhelm the process. Then Apple adapts to new hashes, blocklists known false positives, and the cycle repeats.

ctur··on Progress Quest
This is a recent and interesting video about "idle games". That is the classification of this kind of game. They were initially satirical in nature but eventually turned into sad self-satire as it "blossomed" into a real genre.

https://www.youtube.com/watch?v=7khbIR-WQIw

ctur··on The Perl Foundation is fragmenting over Code of Conduct enforcement
Correct link: https://arstechnica.com/gadgets/2021/08/the-perl-foundation-...
ctur··on GNU nano is my editor of choice
The thesis of this post is roughly that nano, when configured, is enough of an editor for the author. Which is totally fine! People should be happy with their tools and not feel pressured by popularity to use what others use (vim, emacs being prime competitors in this case).

Alas, nano (and pico before it) have a certain stigma among more "experienced" Unix users that more or less boils down to gatekeeping and snobbery. Which is a shame.

That said... it is worth considering that learning tools like editors is an investment in one's self and pushing through preference to genuinely try to use what others find value in can, if nothing else, help you better understand what you value and adjust your tooling to fit (much like the author adjusted Nano to be more like vim).

That's a pretty nuanced distinction though and I am glad that the author feels comfortable owning their preference and not feeling pressured by peers to conform to more "acceptable" choices while still having tried and learned from them.

ctur··on Tether minted most USDT to just 2 firms – Alameda and Cumberland
I often find the headlines, and even stories about, crypto to be inscrutable to those looking in from the outside. The stories also seem to come from an ecosystem of sites I don't recognize so it's hard to even judge if it's reputable site (or at least guess at the biases it might have).

None of this is inherently bad, but there seems to be a growing divide between "mainstream" tech and the crypto world that is harder and harder to understand if you aren't already steeping in the ecosystem.

Another challenging aspect is how much of crypto (particularly non-mainstream) has somewhat shady origins. Maybe the shadiness is just subverting expected norms, but there seems also to be sufficient evidence the shadiness also often is around illicit activity.

I'm curious if others have found ways to build and keep an understanding of the crypto ecosystem without fully going down the rabbit hole?

ctur··on Show HN: Get paid to have engaging conversations with old people
Yikes, the sign up page asks for the phone number of the recipient. Basically amassing a database of emails, phones, names, and a loved one's name for people who never used the site. That is really valuable information for a social engineering attack, particularly against someone who may have a caring, affluent relative in a tech field.

This almost seems like some kind of parody or phishing attempt or something. This does not seem reputable.

ctur··on Casa Client Case Study: The Tinder Trap
Overweight people are worthy of, and capable of, finding love. I know your comment is in jest but it also propagates negativity in a way that is corrosive to others’ self-worth.

For those who read your comment and feel bad that the humorous angle is reality to them… it isn’t. Don’t let the world make you feel bad about yourself.

For those who read it and get a chuckle about fat people… your world view may benefit from some compassionate adjustment.

ctur··on Casu Martzu
Nope nope nope. Not for me.

This cheese is illegal for a reason!

ctur··on Short Tutorial on Python's ChainMap
This is not a well written article. The Python documentation (https://docs.python.org/3/library/collections.html#collectio...) is clearer.

TLDR from the docs: ChainMap groups multiple dicts or other mappings together to create a single, updateable view.

ctur··on Missing line in a smart contract leads to $10M hack
Someday some engineer working on these kinds of contracts will realize they can make a lot more money illegally by “accidentally” adding such bugs to the ecosystem then colluding with whoever exploits them.

Actually it’s probably already happening.

ctur··on Response from Greg Kroah-Hartman to University of Minnesota Researchers
It's curious the specific actions haven't been made public given how public the denouncements and reactions have been.
ctur··on 0.1 ETH to $30M in 46 days
This is inscrutable to anyone not familiar with whatever that site is and the underlying systems and terminology.

Someone should write a blog post or something to explain it, then link that here so we can all be in awe, or outrage, together.

ctur··on Django 3.2 – News on compressed fixtures and fixtures compression
Not including Zstandard is a lost opportunity -- it is far more appropriate than XZ or LZMA for real-time applications like serving web pages. Should be easy to add, though, and likely would be a very nice compromise between space, memory, and speed (including tuning various levels of Zstandard compression).

gzip is basically never worth using anymore except for backwards compatibility; zstd is both faster and more space efficient.

lz4 similarly is worth adding for utmost speed but I tend to think zstd is better in practice (particularly when the control plane is Python where perf is somewhat limited anyway).

ctur··on The Hijacking of Perl.com
That is an incredibly long winded way of saying very little.

Which is ironic as that is literally the opposite of the Perl programming language itself.

ctur··on Use Touch ID for Sudo on Mac
Every update requires you to redo this. It's so repetitive that I keep a copy of what I want `/etc/sudo` to look like in my homedir and, whenever I get the prompt for a sudo attempt, I instead sudo to cp the file. Then I go on my way with what I was originally intending.has recently sudo'd.

Rote but effective.

ctur··on The Enduring Myth of Stranger Danger
There is an excellent podcast, You're Wrong About, which goes into the disparity between things we fear and what actually happens. Similar and relevant topics they cover:

- Satanic Panic - Human Trafficking - Murder - Stanford Prison Experiment

etc.

A very common theme is "do-gooders" trying to do what they very naively think is a good thing but without data or rationality to back it up. Or, worse, people who manipulate those do-gooders into accomplishing other, more selfish/nefarious/evil goals.

Really interesting stuff overall.

https://www.buzzsprout.com/1112270

ctur··on Researchers propose that humidity from masks may lessen severity of Covid-19
Do you feel the same way about seatbelts? If people choose to be safer by wearing masks, judging them is pretty extreme. This kind of attitude is what made the early days of the pandemic a mess.
ctur··on [dead]
This seems like GPT-3 generated content or something. Or maybe just some notes written in a vaguely prose-like manner. No real content either way.
ctur··on Zstandard v1.4.7
We documented some of this in our Engineering blog posts on Zstandard. Check this one out and search for "Managed Compression" for the system we built.

https://engineering.fb.com/2018/12/19/core-data/zstandard/

ctur··on On the Beauty of Python's ExitStack (2015)
That's a little snarkier than I intended. It is good to share this method of handling what is otherwise very awkward code. It just is unfortunate the language itself doesn't have constructs that lend to proper syntactically scalable resource handling other than nested "with" blocks.
ctur··on On the Beauty of Python's ExitStack (2015)
It's beauty in the sense that it is addressing a language deficiency ("destructor" behavior, awkwardness of the "with" construct) with a library, sure, but this is ultimately working around a gap in Python itself.
← PreviousPage 3 of 5Next →