HNHacker News
TopNewBestAskShowJobs

chrstphrhrt

289 karma · joined December 1, 2011

submissionscomments
chrstphrhrt··on Ask HN: How do you brand yourself as a freelancer?
Do you track down their email or just send a message on LinkedIn? How customized are the initial communications (e.g. common elements per type of work or type of company)?
chrstphrhrt··on China to Allow State-Security Agents to Police Hong Kong
Yeah, we've graduated to using militarized police to do that for a while now.
chrstphrhrt··on On GraphQL-to-SQL
I'm working on a project that depends on Graphene and Django (not my choice). Any ideas off hand about doing the same thing there? IIRC Django can also use SQLAlchemy but it didn't used to be very nice back in the day.
chrstphrhrt··on Sid Meier’s Civilization VI free until May 28th
Too bad it got hobbled on the last Mac update. With Metal I find it completely unplayable and it doesn't do fullscreen.
chrstphrhrt··on Pretending OOP Never Happened
Agree 110%, and I want to take your notion as a cue to expound a little more from personal trauma :)

I find OOP useful for configuration and library-level APIs (e.g. for injecting dependencies and wrapping things), when there is really zero expectation that a user should have to understand the class definition entirely. But that's about it.

Where it seems to break down for me is when classes are actively used at the application implementation level for general encapsulation. E.g. data access layers. This can be done perfectly fine with modules/packages. Adding inheritance is just asking for trouble in a team setting IMHO.

Trouble comes when there is no clear peer review and style policy to avoid classes for anything other than config or distributing libraries (as separate projects). What ends up happening is a proliferation of subclasses or method overrides when developers are in a rush to ship features without understanding the whole codebase. This is a technical loan with very high interest.

It makes sense rationally in the moment, as classes have an inviting feel to the user as a kind of grab bag of related functionalities that are easily introspected (at first). Compare it to searching through docs for all the different namespaces in a package and learning what types their various functions support, it requires more thought and grasping the concepts of the library. Alternatively, a class with a broadly defined purpose starts to look like a common utility to throw things at. It's a grab bag of stuff that is more amenable to hacking with blinders on, in a way.

Next thing you know the chains of inheritance and method overrides have grown into a very hard to disentangle hydra. The accumulated overhead of maintaining it is compounded by the debugging challenge of knowing where exactly a given instance is coming from and which layers it has been through on its way to a given breakpoint.

chrstphrhrt··on Elon Musk to Workers: Violate California's Stay-at-Home Order or Don't Get Paid
Can't wait to see what a judge thinks about this.
chrstphrhrt··on 92 of top 500 subreddits controlled by same 5 people
Same thing happens on HN. Comments that go against the kooolaid-driven white saviour ethos of certain VC-backed ideas are often downvoted. Still not as bad as popular Reddit subs though.

There is so much dystopian doublespeak in startup marketing, and people continue to believe it, because not doing so threatens their careers. Of course there are also many startups out there that actually do improve lives, but I wouldn't say it's the majority.

chrstphrhrt··on Subinterpreters for Python
Aaand I finally read the article and PEP and there's no escape from the GIL :( Damn wishful thinking.
chrstphrhrt··on Subinterpreters for Python
True true, my comment was not clear. With asyncio it's still a single threaded event loop (that can be clustered like Node or any Python processes as has always been done).

With sub-interpreters, I wonder how different it is from normal multithreading like in JVM. Need to read up on this idea. I can't see how it wouldn't require the same locking and mutexes or message passing if multiple interpreters are to work on logically related data.

So my immediate thoughts were about leveraging it as a replacement for multithreading and event loop clustering by treating the interpreters as lightweight processes and having them communicate over some kind of protocol. Like how the BEAM does built-in process supervision.

The "supervisor" process itself is async in the way it coordinates the tree.

chrstphrhrt··on Subinterpreters for Python
This makes sense. Combine it with asyncio and you have a full Node-like runtime without relying on Uvicorn and the like (even though clustering is still good for scaling).
chrstphrhrt··on Redfin: Vacation real-estate ‘toast’ as Airbnb owners rush to offload homes
If it's your primary residence that you live in for e.g. 80% of the year and you swap with other primary residences or actually stay in normal hotels when travelling, I can't see any distortion there.

Not trying to apologize for hosts or hotels in particular, I just feel like primary residence swapping is pretty harmless. Also, if hotel licenses are required, how is adding more hotels distorting the hotel market other than adding a tiny amount of fair and regulated competition?

chrstphrhrt··on Redfin: Vacation real-estate ‘toast’ as Airbnb owners rush to offload homes
Nice downvotes, found the sycophant Airbnb managers who just fired everyone :)
chrstphrhrt··on Redfin: Vacation real-estate ‘toast’ as Airbnb owners rush to offload homes
Hoarding shelter should be outlawed anyway. Or hotel licenses should be required with massive fines for evasion. Get a real job "hosts" (a disturbing doublespeak term for parasite).

The original evolution of couch surfing that Airbnb started with was still cool and I like to be able to let my apartment when out of town. It's the rent seeking behaviour that distorts the housing market.

chrstphrhrt··on Encouraging a culture of written communication
Yep. I’ve been on a few remote teams where I write a lot (in plain language too), and have found that if my audience is non-technical management that they simply don’t read it. Decisions continue to be made on their gut whims despite access to the critical information.

I guess that what the article is on about. Writing on its own isn’t enough, the culture must be set top-down to include reading and value added communications as well.

I think a lot of workers who do not have a craft per se just want to coast and pretend to work, and get offended or embarrassed when they encounter serious contributors that make them look useless.

There is an attitude toward the writer of “if you know the topic so well, then just handle ‘it’ and get ‘it’ done”. Unfortunately their idea of “it” has nothing in common with what is described or advocated in the writings.

chrstphrhrt··on School districts are sending WiFi-equipped buses to poor and rural neighborhoods
Internet access is a human right that flows from the right to education.
chrstphrhrt··on How should LA urbanize? Look to Seoul
Replace car parks with social housing.
chrstphrhrt··on Ask HN: Name one idea that changed your life
This can sometimes lead to burnout for me. When I blindly try to please no matter what, it also raises the bar of expectations. Sometimes people just want to feel superior and will take advantage, which can be hard to see in the moment.
chrstphrhrt··on Ask HN: Name one idea that changed your life
What are your thoughts on the welfare state and its compatibility with your freedom? What do you think about homelessness?
chrstphrhrt··on Universa tail fund returned 3,600% in March
Is that any way related to dollar cost averaging?

-not an investor

chrstphrhrt··on Redis 6.0 GA
Just to add a bit on that, if you dynamically generate channel names according to a validatable naming convention that any consumer can predict (ideally with a client lib for generating them), you can do pretty complex message passing that doesn't blow up code complexity. Combine that with the locking and consumer groups built in, it's pretty much distributed computing "for free" even if stuck with multiprocessing for runtime scaling (e.g. Python/JS without the builtin concurrency or multithreading of VMs/hosted languages).
chrstphrhrt··on Redis 6.0 GA
STREAMS, best pubsub solution imho. I used it as a backing store for an MQTT frontend once, and also for generally coordinating worker processes to handle background tasks.
chrstphrhrt··on Porting a React Front End to TypeScript
Self-reply: I found these two but haven't tried them.

https://github.com/pelotom/runtypes

https://github.com/ianstormtaylor/superstruct

chrstphrhrt··on Porting a React Front End to TypeScript
Same. I have tried using it and enjoyed the IDE powers a bit more, but already knowing JS quite well, it wasn't a game changer.

Lately I have started using FastAPI in Python, which uses Pydantic to enforce type hints at runtime. This saves a lot of manual checking code (e.g. "if input_data["mykey"] == "unhappy path": raise ValidationError").

This was the same annoyance in Node.js because the types are so flimsy and manually checking is really boring. Tests are great but if you can have correctness while rapidly prototyping that would seem to be a win.

Is there a great TS lib to do runtime type reflection like Pydantic?

chrstphrhrt··on 500K bet on rock paper scissors ruled invalid by Quebec court
But you can't contract to do something illegal, and contracts must have consideration ("this for that"). Not sure what their test for excessiveness was.

Reminds me of predatory lending rules like charging more than X% interest is excessive.

chrstphrhrt··on YouTube bans coronavirus-related content that directly contradicts WHO advice
Makes total sense. The black and white thing always seemed so weird. It's a false dichotomy.

Even if censorship is good in the particular context (which seems to be the case here), but bad in general and bad in principle, it seems that the real issue is that there should be one unaccountable entity who gets to make that decision. Why is Youtube big enough to have such an impact without being accountable in any way to the public?

chrstphrhrt··on Universities forced to face addiction to foreign students’ money
It should be completely free for everyone but regulated to jettison all that non-education stuff (except for some "soft" services like healthcare, therapy/counselling etc). The soft services should be 100% controlled by student unions so as not to be pillaged by rent-seeking vultures. Then there can be a whole economy for luxury experiences for those who want it, but it should be firewalled off from everything essential.

It's analogous to money in politics or insider trading as far as conflicts of interest go. I guess it would help if education was enshrined in our constitutions as a human right, which institutions had fiduciary duties to uphold.

chrstphrhrt··on Apple CarPlay, Android Auto distract drivers more than pot, alcohol, says study
Surprised to see cannabis reaction times slower than alcohol for driving. I wonder how they controlled for it, and whether the test accounted for high people driving slower and taking fewer risky moves like lane changes, turning corners without looking for pedestrians or speeding through yellow lights. Reaction time alone can be mitigated through adaptive behaviour, but not if you're not even looking at the road.
chrstphrhrt··on What If Andrew Yang Was Right?
Yeah I'm afraid that the trickle-down grifters will always cook up some soundbites to knock any no-strings-attached benefits by pushing the freeloader fallacy and people will fall for it. Which brings us back to square one, but without anything needs based, causing a massive surge in poverty again.

Of course this has to be balanced with the utter paternalism of determining "needs" in the first place. It clearly isn't enough on its own, and is also ripe for abuse in different ways.

chrstphrhrt··on S&P 500 triggers 15-minute trading halt for the second time this week
Does this bode well for the private equity technology sector? Intuitively it would seem that people will be looking for different investment vehicles, and here we are in startup land already working remotely, ahead of the curve. Of course the risk is higher and it could be wishful thinking.
chrstphrhrt··on COVID-19 Therapeutics Accelerator
Great to see people rallying around possible solutions and spreading the info.

Personal anecdote, I was looking up whether to stop occasional cannabis usage as a precaution for a while because it has been labelled an immunosuppressant and an immunomodulator. I don't understand enough of the science to decide, so I'm stopping, but what I saw in those papers suggested that it is good at preventing autoimmune diseases from getting out of hand. Any expert knowledge/opinion very welcome, as many people have access to this drug already.

Page 1 of 6Next →