HNHacker News
TopNewBestAskShowJobs

RickHull

2,407 karma · joined September 10, 2010

Ruby hacker, cyclist

https://github.com/rickhull

submissionscomments
RickHull··on Jellyfin: The Free Software Media System
My media center is a laptop with a broken screen, running Arch Linux and Kodi. Kodi has a web interface that you can stream to. Why might I want to add Jellyfin?
RickHull··on Why aren't we all serverless yet?
The problem with astronaut architecture is that nobody tells you about (or has a handle on) all the space junk.
RickHull··on AnandTech Farewell
They should start a Substack
RickHull··on Cybersecurity is (seemingly) pointless (Devils Advocate rant)
Cybersecurity has two sides: business and tech. It is invaluable to the business side, particularly in terms of making risks and threats legible, demanding mitigation and insurance strategies, compliance and certification.

Cybersecurity on the tech side, for most firms, is laughable. It indeed follows the herd model, where no one ever got fired for following "best practices", like forced password rotation every two weeks with no password reuse and absurd character requirements.

It takes a firm like Google to innovate with BeyondCorp / ZeroTrust initiatives and innovations. The rest of us are waiting for npm update to finish while CrowdStrike is consuming half the CPU of our MacBook Airs.

RickHull··on Aim, fire, scan: the 80/20 of executing on big projects
I predicted your #1 was Jordan Peterson. Tony Robbins just made an appearance on Theo Von's podcast, This Past Weekend. I haven't watched it yet, but Theo is fantastic at getting his guests to open up. I am deeply skeptical of Tony Robbins overall, but I'll probably queue up the podcast soon.
RickHull··on Pipe Dreams: The life and times of Yahoo Pipes
Totally unusable on iPhone 14 Pro.
RickHull··on Understanding Keyboard Events Better
Glad to hear it! Don't hesitate to contact me with any questions. You can make issues on the repo for anything that is confusing.
RickHull··on Understanding Keyboard Events Better
You might find this interesting. I skip the X layer and just access linux device events directly, in Ruby here:

https://github.com/rickhull/device_input

RickHull··on Understanding Keyboard Events Better
Here's a simpler approach; not sure it does what you want; mostly just read / decode / display:

https://github.com/rickhull/device_input

RickHull··on Confessions of a Tableside Flambéur
In Louisiana, might it be flambeaux?
RickHull··on Should you be scared of Unix signals? (2016)
This pattern of the signal handler merely setting a global var seems robust. Of course, now the programmer must decide when and where to check the global value.
RickHull··on Toyota Will Adopt Tesla-Style Cast Bodies That Might Be Impossible to Fix
The original owner of the car has some ability to refuse the repair job. It may be impossible to (economically) bring the car back to its previous state. The insurance company prefers not to take the risk. They write a clean check and recover some cost by selling the salvage, which will likely be repaired and sold.
RickHull··on Maybe Rust isn’t a good tool for massively concurrent, userspace software
I learned concurrency and parallelism by confronting blocking behavior: waiting on a networking or filesystem request stops the world, so we need a new execution context to keep things moving.

What I realized, eventually, is that blocking is a beautiful thing. Embrace the thread of execution going to sleep, as another thread may now execute on the (single core at the time) CPU.

Now you have an organization problem, how to distribute threads across different tasks, some sequential, some parallel, some blocking, some nonblocking. Thread-per-request? Thread-per-connection?

And now a management problem. Spawning threads. Killing threads. Thread pools. Multithreaded logging. Exceptions and error handling.

Totally manageable in mild cases, and big wins in throughput, but scaling limits will present themselves.

I confront many of these tradeoffs in a fun little exercise I call "Miner Mover", implemented in Ruby using many different concurrency primitives here: https://github.com/rickhull/miner_mover

RickHull··on How to write a great README
The culture of README

So you download a folder or a zip file (anyone remember PKZIP?) and try to determine what its purpose or "application" is. I mean, there is almost certainly an app in here, right?

So, why have I downloaded this .zip file? Not sure, had an interesting title, and yeah, let's see what the author has to say. First stop: README.txt

RickHull··on Listen to Steve Huffman tell the story of how Reddit got started
When r/drama was given the boot, they made a simple reddit clone and open sourced it. I participate in a forum that uses it instead of phpbb or whatever. Works fantastic, but you may have to change the default styling, which was very um, dramatic, from what I've heard.
RickHull··on “Inside-out Wankel” rotary engine delivers 5X the power of a diesel
The strokes have nothing to do with up and down (e.g. flat motors, like a boxer), but to do with compression and expansion. The direction of compression doesn't really matter aside from packaging concerns.

As you said, 4 stroke has intake, compression, combustion, and exhaust. That's expansion, compression, expansion, compression. It fires between compression and combustion.

A 2 stroke motor has compression and expansion. It fires between compression and expansion. Intake, exhaust, and combustion happen during the expansion phase.

A rotary motor is traditionally 4 stroke, and I'm not sure a 2 stroke version is feasible. The LiquidPiston rotary appears to be a 4 stroke to me, despite the article text.

RickHull··on Ask HN: Are you still doing intermittent fasting?
I used to be more strict about a 16 hour fasting window. Now I follow the spirit if not the letter of the law, mostly without trying. If I feel like I need to make serious diet changes, I can easily take it more seriously.
RickHull··on Brazilian researchers find plastic rocks on remote island
Terrifying, really? Terraforming, maybe, but it seems a little hysterical to react with terror to this phenomenon.
RickHull··on Microsoft lays off one of its responsible AI teams
Wordcels vs shape rotators
RickHull··on An experiment in elastically scaling a thread pool using a PID controller
If you’re more into Ruby than Haskell and find PID control interesting, you may enjoy https://github.com/rickhull/device_control
RickHull··on A Lost Hiker’s SOS Signal Sparked a Wildfire. Now He Must Pay $300k
Now you’re in Newark

Concrete jungle where dreams are smothered

There’s nothing you can do

Because you’re in Newark

RickHull··on Is parallel programming hard, and, if so, what can you do about it? [pdf]
I have a small project in Ruby to explore different concurrency and parallelism strategies: https://github.com/rickhull/miner_mover
RickHull··on Babel is used by millions, so why are we running out of money? (2021)
It is totally acceptable and normal (to me) for people to make decisions (and even agonize) over how to spend their own money.
RickHull··on A GPT in 60 Lines of NumPy
Here is an introduction to gradient descent with back propagation, for Ruby, based on Andrej Karpathy's micrograd: https://github.com/rickhull/backprop
RickHull··on tcpdump is amazing (2016)
I used tcpflow extensively about 17 jobs ago. I had a Linux box on a hub segment with Windows servers running a .NET application, used for realtime capture and monitoring application traffic in a test environment. I had an independent implementation of the framing protocol and message format written in Ruby, and if my decoder choked, then it was either my problem or their problem. Early on, it was always my problem, but after about 6 weeks, it was their problem 70% of the time. Great way to uncover subtle bugs, at the upfront cost of a 2nd independent implementation.
RickHull··on Internal Tech Emails: Mark Zuckerberg: “VR / AR Strategy”
5-10 years from now, maybe.
RickHull··on Tonight's rabbit hole: time math and 32 bit longs
Somewhat related, a small ruby project of mine to read input events from the linux kernel. https://github.com/rickhull/device_input

The README goes in some depth about kernel events and timestamps and time implementations on 32-bit vs 64-bit systems.

RickHull··on Ask HN: Who’s using Ruby for web development, without Ruby on Rails?
https://socketry.github.io/falcon/ looks pretty nice but I haven't used it anger yet. Async fibers FTW.

I have a small project to explore the various multitasking paradigms in Ruby, here: https://github.com/rickhull/miner_mover

RickHull··on The quest for a family-friendly password manager
> Again, if companies didn't treat password data carelessly

This is not a real solution. The real world is full of unreliable actors and byzantine generals. Any solution that depends on a perfect environment isn’t one.

RickHull··on Jeffrey Epstein documents to be unsealed, potentially revealing acquaintances
When someone dies, that person may have a beneficiary, like a son inheriting his father's wealth. If you inherit his business as well, that is like inheriting the effect he had on the world.

"Pulling the strings" is a puppet metaphor. The puppet represents a figurehead who does not make the real decisions. The puppeteer pulls the strings, and it looks like the puppet has agency. Using a puppet and "pulling the strings" is a way to camouflage one's actions and identity.

← PreviousPage 2 of 20Next →