HNHacker News
TopNewBestAskShowJobs

benmmurphy

2,322 karma · joined June 26, 2011

submissionscomments
benmmurphy··on Yes, Jimmy Kimmel's suspension was government censorship
Fire has a good statement on the FCC threat: https://www.thefire.org/news/fire-statement-fcc-threat-revok...

It is good to see there are principled organisations defending free speech.

benmmurphy··on Exploiting Male Rage
was this a typo: `irrationally gender-coding a job, either as female or male, would cause it to be underpaid, because that halves the qualified applicant pool` a reduction in supply in economics usually causes an increase in price not a decrease.
benmmurphy··on ABC yanks Jimmy Kimmel’s show ‘indefinitely’ after threat from FCC chair
I guess that leaves the question as to why Kimmel did not say: 'We hit some new lows over the weekend when people of all political stripes were trying to characterize this kid who killed Charlie Kirk as anything other than one of them'. Because that seems like it gives more information to the viewer because that is what actually happened and acknowledging people from both sides were doing the 'bad thing' should help to bring people together instead of driving people apart.
benmmurphy··on Several people fired after clampdown on speech over Charlie Kirk shooting
presumably she implicitly believes in tradeoffs because she hasn't campaigned to remove all motor vehicles from the road. surely, anyone arguing that cars should be allowed on the road when they are one of the leading causes of deaths is irredeemably evil and deserves to be mocked if they have the misfortune of dying in a car accident. Also, if Minnesota executed people for traffic violations then Hortman would not have been killed by Boetler. Surely, this means she is a hypocrite because she would not support such a policy.
benmmurphy··on Charlie Kirk killed at event in Utah
There is a difference between 'lets try something out' and we will use the force of law to compel you to do something. A lot of people seem worried about over use of law enforcement but really its not a general problem with law enforcement but rather a problem with what laws are being enforced. They are happy to have law enforcement cracking down on people flouting a mask mandate but less happy when law enforcement is going after shop lifters.
benmmurphy··on A critique of package managers
Not sure why this argument doesn't also apply to operating systems. Maybe everyone should be writing all their programs to run on a custom micro-kernel. Surely we can't trust other programmers to write something as complicated as an operating system.
benmmurphy··on Unexpected productivity boost of Rust
original poster was 'lucky' that he was using a work stealing engine. if the engine was not moving tasks between threads then i think the compiler would have been happy and he could have had the fun of debugging what happens when the same thread tries to lock the same mutex twice. the rust compiler won't save you from this kind of bug.

> The exact behavior on locking a mutex in the thread which already holds the lock is left unspecified. However, this function will not return on the second call (it might panic or deadlock, for example).

benmmurphy··on How well does the money laundering control system work?
My understanding was the police were able to do this in the US using civil forfeiture.
benmmurphy··on Closer to the Metal: Leaving Playwright for CDP
direct CDP has been used by the scraping community for a long time in order to have a cleaner browser environment that is harder to fingerprint. for example nodriver (https://github.com/ultrafunkamsterdam/nodriver) was started in Feb 2024 and I suspect this technique was popular before that project started.
benmmurphy··on How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
What a lucky coincidence that the tool the researcher attacked because it allowed code execution was not sandboxed.
benmmurphy··on "None of These Books Are Obscene": Judge Strikes Down Much of FL's Book Ban Bill
if the government is running a library it shouldn't be able to engage in view point discrimination. for example it shouldn't be able to remove all books by Democratic presidents while keeping books by Republican presidents or vice versa. the weird thing is the state via an accidental conspiracy between librarians has arguably been engaging in view point discrimination. even though this has not been legislated, or commanded by the executive and is probably in contradiction with what the current executive wants it should not be allowed either.
benmmurphy··on Sloppy AI defenses take cybersecurity back to the 1990s, researchers say
the difference is in the 90s everyone was ignorant. beyond some small communities i don't think there were many people who had the knowledge to exploit a lot of the issues. but now the knowledge is very accessible and there a lot more people who are already capable of exploiting these issues and don't need to do any further research.
benmmurphy··on A deep dive into Rust and C memory interoperability
usually when interfacing with a library written in c the library will export functions for object destruction. it makes sense for that to be part of the interface instead of using the system allocator because it also gives the library freedom to do extra work during object destruction. if you have simple objects then its possible to just use the system allocator, but if you have graphs or trees of objects then its necessary to have a custom destroy function and there is always some risk in the future you might be forced to need to allocate more complex data structures that require multiple allocations.
benmmurphy··on How did Facebook intercept competitor's encrypted mobile app traffic? (2024)
I assume because there was no actual hacking. I'm guessing users consented to this. As a user I should be able to view all traffic from my device and also give other third parties permission to view all traffic on my device. If I can't do this, is it really my device? It's not too much different from what Nielsen was doing when they installed boxes in people's homes to record what TV shows they were watching.
benmmurphy··on Debian switches to 64-bit time for everything
You can have an epoch and now you can measure times before the epoch. In terms of the range of values you can represent it transposes to just having the epoch further in the past and using an unsigned type. So signed/unsigned it should not really matter except maybe for particular languages things work better if the type is either signed or unsigned. For example if you try to calculate the difference between two times maybe its better if the time type is signed to match the result type which is signed as well (not that it solves the problems with overflow).
benmmurphy··on Why Elixir? Common misconceptions
it really depends on what you are doing. if you have a complex application then the automatic recovery might not be enough for a fault free user experience. i feel like live view is sold as some kind of magic where the developer does not have to write javascript and you can just implement the server side purely in elixir as you would javascript without writing to a database, or some session storage. but if you do this then you are in a worse situation than javascript when it comes to network faults, or server processes restarting.
benmmurphy··on Why Elixir? Common misconceptions
the way live-view is sold is some kind of alternative to writing javascript. if you have a very rich client side application then you can easily end up with a bunch of state which would be in the clients memory but now is in the servers memory. but if its in the servers memory the data ends up being much more fragile because any failure of the client or the server means the live view state is lost. whereas if the data was just in client memory then it would only be lost if there is a problem in the browser. ideally people would write applications that are tolerant to both faults. but i think in practice live-view practitioners just ignore the problem and then you are left in a worse situation.

i realize there is still a dataloss problem when there is state on the client but there is a lot of simple stuff that causes problems if you are effectively reloading the page if the server disappears due to a redeploy or a crash.

for example i'm reading an email in my message client. i've scrolled half-way down the email. but now the server crashes i reconnect to live view and my scroll position when reading the email is reset.

when i look at live view i feel like its written by people that have never deployed something in production. of course this is not really true but i feel like it would be better if live-view people were more honest about the tradeoffs. its a very complicated situation and having some bad outcomes might be worth the increase in developer productivity but i feel like live-view people just ignore the bad outcomes.

also, take a cloud deployment. websockets seem to be an inherent problem in cloud deployments especially AWS. as far as i know AWS does not expose some event to a instance that is part of a load balancer that it is about to die. ideally if you have a websocket instance with a client and you realize you are scheduled to be reaped you would message the client that it needs to reconnect. then the client would reconnect to a server that would not be reaped and everything would be dandy. but AWS doesn't seem to have this functionality (or its not easy to implement!) but more importantly live view does not expose any kind of hooks so you can have 'safe' server redeployment out of the box.

benmmurphy··on Why Elixir? Common misconceptions
phoenix live view is effectively built around the assumption that the server process never dies and never restarts. its a very dubious model for a production deployment.

> what happens when the server restarts / connection is lost / server dies?

> you lose all of the current client state but you can work around this by persisting all the client state somewhere.

> oh, so why am i using live view again?

benmmurphy··on Unexpected inconsistency in records
Seems like enough of a gotcha that other people have stumbled upon the issue as well: https://blog.codingmilitia.com/2022/09/01/beware-of-records-...
benmmurphy··on Supabase MCP can leak your entire SQL database
for postgres ENUM should be just as easier to change as CHECK

* for adding, there is no problem you can just add entries to an ENUM

* for removing there is a problem because you can't easily remove entries from an ENUM. its only possible to create a new enum type and then change the column type but that is going to cause problems with big tables. however, now your ENUM solution decays to a CHECK+ENUM solution. so it is not really any worse than a CHECK solution.

also, it is possible to add new CHECK constraints to a big table by marking the constraint as 'NOT VALID'. existing rows will not be checked and only new rows will be checked.

benmmurphy··on MI5’s falsehoods in the case of neo-Nazi spy who abused women
probably the same thing that happened in the church or other organisations. bad people are able to convince others to do small things to help them, then once it surfaces what they are doing they are able to convince their enablers that their fates are tied together. from that point they are able to coerce their enablers into making bigger violations to protect them and and it becomes increasingly difficult to defect against them.
benmmurphy··on Is Anybody Using This Private Key
Very strange. I sent a test key and didn't get that response but when I sent my real key it did. How did it know the difference between the dummy key and the real key?
benmmurphy··on So you want to serialize some DER?
having two very different code paths for measuring the length of the DER buffer and writing the DER sounds very scary. i guess its fine with Rust but the idea would give me the heebee-jeebies for any other language unless they are using a safe buffer implementation. i would find it hard to trust that there is no buffer overflow based on divergent behaviour between the two functions.
benmmurphy··on How the Supreme Court paved the way for ICE's lawlessness
The problem is its often not clear that the government is violating the constitution until after a court has ruled that they have violated it. People can have reasonable beliefs that what they are doing is constitutional and then a court rules differently and suddenly they have a civil liability or potential criminal liability.
benmmurphy··on Berkshire Hathaway Now Pays 5% of All Corporate Income Taxes in America
You are also assuming the tax incidence of corporation tax will fall mostly upon shareholders. For example if the incidence was 70% on workers and 30% on shareholders then this should not be a progressive form of taxation. I think most economists believe the tax incidence is shared between parts of the corporation (workers, consumers, and shareholders) but I don't think there is much consensus on the proportions.
benmmurphy··on How the Supreme Court paved the way for ICE's lawlessness
i think its a tricky situation. there is an extreme libertarian argument that individual officers of the US government should be held personally liable for any violation of the constitution. however, this would make it potentially difficult for the government to enforce _any_ law or carry out the duties of government because of the risk that some court could find the law or their duty violates the constitution. of course this is very appealing for libertarians but maybe not for non-libertarians. for example in the case of the Biden loan forgiveness program should every US government person involved in that be prosecuted for criminal embezzlement?
benmmurphy··on Google Cloud Incident Report – 2025-06-13
but a call to unwrap is usually more explicit than a null pointer dereference when you are reviewing code. if you are deserializing something from an external source and calling unwrap() on some optional fields to convert them to non-option types then this should raise alarm bells. of course maybe everyone agrees the external source should not be sending such data and it goes into prod anyway. but also its possible everyone agrees its worth putting some extra effort into not crashing the process in such a situation because there is too much risk.
benmmurphy··on The concurrency trap: How an atomic counter stalled a pipeline
Concurrent maps are often easier to implement in GC languages because you can use the garbage collector for cleaning old values. Whereas without a GC you will need an alternative like RCU.
benmmurphy··on We are no longer a serious country
Did Krugman post the FT graph verbatim or did he post a different graph? He mentions in the article that the FT graph looked cherry picked.

> Actually, the chart was a bit too neat: When I set out to reproduce it, I found that the FT chose a time period during which the relationship looked especially clear.

benmmurphy··on Teenage Engineering lets you pick what you want to pay for an OP-1 Field
in their backend did they have to create a new product for each price point?
← PreviousPage 3 of 31Next →