HNHacker News
TopNewBestAskShowJobs

jdmichal

6,062 karma · joined February 9, 2012

I live in Tampa Bay, Florida, US. I find problems and drive them to solutions. I'm a software engineering manager, architect, and project manager.

Hobbies: sailing, gardening, linguistics, food and cooking, archery.

Feel free to contact me; I'm on gmail.

submissionscomments
jdmichal··on U.S. opens UnitedHealth antitrust probe
I mostly agree, but wanted to nit on this point:

> hell even big operations like a heart transplant or C-section are rarely done "in the moment."

Agree on the plannability, but not on the predictability. Once you are on that table, and especially if you are under anesthesia, there are an untold number of ways that procedure can quickly turn into a secondary emergency procedure. It's a miracle of modern medicine that such invasive procedures are perceived as being trivial.

jdmichal··on An Air Force officer who spent $11M searching Earhart's plane may have found it
I remember for the first few days no one was saying anything certain. But once the official reports started flowing after those first few days, they were very certain about the fact that the sub had imploded.
jdmichal··on Idea for a new hand tool: Automatic Wire Twisting Pliers
Looks very similar to knots used to join fishing line, like the blood knot.
jdmichal··on A Canadian payroll dependency chart
I used to do the same with just Excel. First sheet called 1040, one row per line. Schedules and worksheets got additional sheets, so I could easily pull in the values from and to other sheets.
jdmichal··on Telecom Industry Is Mad Because the FCC Might Examine High Broadband Prices
I called Spectrum before I canceled to specifically ask if they could get me faster internet without changing my TV package. They said no -- I was on a grandfathered plan from a prior company they had bought, and they would have to recreate the account to do anything. So I got Fios + YouTube TV instead. And when I called to cancel Spectrum, the guys says he wishes I had called before getting Fios.

It's very clear that the only time they care is when your actual money is on the line. Before that, everyone is shackled by whatever chains management puts on them.

This was also shortly after they sent me a new modem and told me to install it or risk losing connectivity within like a week. And then on my next bill is a charge for updating the modem...

jdmichal··on Researchers have identified new elements of whale vocalizations
They identified a thing that changes, but in a consistent way across the sample population. That's a very important distinction, because synchronizing vocalizations is not easy. Humans spend a long time learning it. And failure to do it "correctly" can be everything from an accent to a speech pathology, depending on how "wrong" it is. (Scare quotes purely because the definition of right and wrong changes over space and time.)
jdmichal··on Goodbye, clean code (2020)
It's funny that you phrase this as such, because this exact kind of simple geometry is my go-to example for why this stuff is not as simple. Let's look at a square. Everyone knows a square is a rectangle, right? So of course a square should extend from a rectangle.

But math doesn't deal with mutability all that much. It's interested in the visible properties and constraints. A square is a rectangle because it meets all the constraints and has all the properties of a rectangle. But that is no longer true if the shapes are mutable. A rectangle might appropriately have `setWidth` and `setHeight` operations. A square cannot implement these operations and still obey Liskov substitution, without the ability to downgrade its type to a rectangle. In OOP you might correct this by making the square immutable and the `setWidth` and `setHeight` operations would return a rectangle instead of a square.

To bring this specifically to this use case: Yes, it's a defined mathematical operation to scale a shape such as a square on the x-axis. But, if you do, that square is now a rectangle. This may be important to the implementation, it may not. But it's certainly a relevant technical concern.

jdmichal··on Quad9 wins appeal against Sony
I think people are surprised by the wording of it, but the Supreme Court of the US (SCOTUS) is de-facto the same. The facts are taken as ruled in the lower courts. So unless there is a question regarding how the facts and the law interact, the SCOTUS don't really have jurisdiction in the case.

https://en.wikipedia.org/wiki/Supreme_Court_of_the_United_St...

> The Supreme Court relies on the record assembled by lower courts for the facts of a case and deals solely with the question of how the law applies to the facts presented.

And later:

> The court grants a petition for cert only for "compelling reasons", spelled out in the court's Rule 10. Such reasons include:

> * Resolving a conflict in the interpretation of a federal law or a provision of the federal Constitution

> * Correcting an egregious departure from the accepted and usual course of judicial proceedings

> * Resolving an important question of federal law, or to expressly review a decision of a lower court that conflicts directly with a previous decision of the court.

jdmichal··on What it takes to save the axolotl
The professor's story is potentially this one detailed in the very Wikipedia article you linked:

> Six adult axolotls (including a leucistic specimen) were shipped from Mexico City to the Jardin des Plantes in Paris in 1863. Unaware of their neoteny, Auguste Duméril was surprised when, instead of the axolotl, he found in the vivarium a new species, similar to the salamander. [verification needed] This discovery was the starting point of research about neoteny. It is not certain that Ambystoma velasci specimens were not included in the original shipment. [citation needed] Vilem Laufberger in Prague used thyroid hormone injections to induce an axolotl to grow into a terrestrial adult salamander. The experiment was repeated by Englishman Julian Huxley, who was unaware the experiment had already been done, using ground thyroids. [39] Since then, experiments have been done often with injections of iodine or various thyroid hormones used to induce metamorphosis. [16]

jdmichal··on HTML hacks that shaped the Internet
The web is essentially UI development. And UI frameworks and libraries have always had lots of churn. Even ultra-conservative Java has had AWT, Swing, and a couple varieties of JavaFX. And then a few more developed by other groups like SWT. The expectations of both developers and users increase as computers advance, and older frameworks can't always keep up.
jdmichal··on Iowa teen grew 7k pounds of veggies, then gave them all away
I mean, yes, you can... But summer squashes (zucchini, yellow squash, etc) and winter squashes (pumpkin, butternut, acorn, spaghetti, etc) are not the same. And it's usually the former that home gardeners are trying to foist off on others.
jdmichal··on Iowa teen grew 7k pounds of veggies, then gave them all away
Different cultivars that grow and yield at different rates can help some too.
jdmichal··on Very high number of workplace accidents at Tesla factory in Germany
Audi lists a volume of 332,981 vehicles for Ingolstadt in 2022.

https://www.audi-mediacenter.com/en/audi-in-ingolstadt-5543

Tesla posted a tweet regarding 5000 vehicles in one week in Gruenheide on March 25, 2023. That pace would be 260,000 vehicles over 52 weeks.

https://insideevs.com/news/659190/tesla-giga-berlin-producti...

I will say that the Audi Ingolstadt campus does have more than just line manufacturing.

jdmichal··on Consumers defrauded on Zelle are left high and dry by the banks that created it [pdf]
Ideally you know that because banks have KYC (Know Your Customer). And Zelle accounts must be populated by a bank. Individuals cannot just create a Zelle account. They must open an account with a bank -- and thereby undergo KYC -- who then creates their Zelle account.
jdmichal··on How would you say “She said goodbye too many times before.” in Latin?
> You could measure the efficiency of a language by computing how many bits are required to store the semantics of a word/phrase/sentence losslessly. Assuming ideal encoding to bits of course. Think of things like perplexity and the like.

This has been done! The answer is about 39 bits a second.

https://www.science.org/content/article/human-speech-may-hav...

jdmichal··on How would you say “She said goodbye too many times before.” in Latin?
I'm just a hobby linguist, but I believe research has generally shown that speech information density is relatively fixed. Languages with more complex syllabic structures end up speaking slower, but they can also code more information.

https://www.science.org/content/article/human-speech-may-hav...

jdmichal··on That Old NetBSD Server, Running Since 2010
I still run all my PROD JVM applications with `-Xms=a -Xmx=a` to just remove all questions about heap memory. I already allocated that slice of the machine's memory for the application; I don't need the JVM trying to handle shrinking and growing it. This also removes pressure from the GC if the amount allocated is some multiple of typical operations. A lot more operations complete without ever leaving generation 0.
jdmichal··on That Old NetBSD Server, Running Since 2010
Java the language has a lambda / function-literal syntax, not first-class functions. (You know this, obviously.)

The `struct` bit can refer to a few things: value typing, stack allocation, and explicit memory layout. I think records give you value typing, but not stack allocation or explicit memory layout. They are just syntactic sugar for immutable POJOs.

jdmichal··on Running WASI binaries from your HTML using Web Components
Let's be clear what Flash was though. It was a native binary that would paint to a region owned by the browser. So yes, it was performant because basically the only thing it was doing differently than any other native application was how it was hosted by the browser.

That's also why it was such a security nightmare. It was a complete escape from the browser sandbox.

jdmichal··on Cash payments above €3000 to be outlawed in Netherlands
> Does the farmer now need to waste time to make 2 separate trips to make each deposit < 3000?

In the US, that's called structuring and will result in some very uncomfortable conversations.

jdmichal··on Modern CSV version 2
Let me see if I can repro with a sanitized file.

In the meantime, I popped open Process Explorer. Here's a slightly abbreviated stack of the only running thread -- the rest are in waiting states. I don't know much about Qt, so this doesn't really mean anything to me. But it looks like it's maybe some sort of locking issue.

    ntoskrnl.exe!KeSynchronizeExecution+0x7db6
    ntoskrnl.exe!ExAcquireResourceExclusiveLite+0x1eb5
    ntoskrnl.exe!ExAcquireResourceExclusiveLite+0x1e4
    ntoskrnl.exe!KeWaitForSingleObject+0x256
    ntoskrnl.exe!ExWaitForRundownProtectionRelease+0x8de
    ntoskrnl.exe!KiCheckForKernelApcDelivery+0x366
    ntoskrnl.exe!KeSynchronizeExecution+0x469c
    Qt6Core.dll!QAbstractItemModel::endResetModel+0x665
    Qt6Core.dll!QAbstractItemModel::endResetModel+0x6fe
    Qt6Core.dll!QAbstractItemModel::qt_static_metacall+0x1f75
    Qt6Core.dll!QAbstractItemModel::qt_static_metacall+0x1690
    Qt6Core.dll!QAbstractItemModelPrivate::columnsRemoved+0x85d
    Qt6Core.dll!QPersistentModelIndex::QPersistentModelIndex+0x2a
    Qt6Widgets.dll!QAccessibleWidget::window+0xa91d
    Qt6Widgets.dll!QTreeViewPrivate::below+0x7be
    qwindows.dll!qt_plugin_query_metadata_v2+0x6eb3b
    UIAutomationCore.dll!UiaRaiseAutomationEvent+0x6ad2
    ...
    USER32.dll!DispatchMessageW+0x741
    USER32.dll!DispatchMessageW+0x201
    Qt6Core.dll!QEventDispatcherWin32::processEvents+0x509
    Qt6Gui.dll!QWindowsGuiEventDispatcher::processEvents+0x19
    Qt6Core.dll!QEventLoop::exec+0x19f
    Qt6Core.dll!QCoreApplication::exec+0x15d
    Modern CSV.exe+0xb841
    Modern CSV.exe+0x235267
    Modern CSV.exe+0x234812
    KERNEL32.DLL!BaseThreadInitThunk+0x1d
    ntdll.dll!RtlUserThreadStart+0x28
jdmichal··on Modern CSV version 2
I'm using this on Windows 11 and it's locking up trying to copy a single cell. As in, here's the entire repro:

1. Open Modern CSV.

2. Open any file.

3. Select any cell.

4. Hit ctrl-c.

Expected: The cell contents would be copied.

Actual: The program becomes completely unresponsive with high CPU usage and must be force-quit.

Happy to help however I can, because so far I really like this product and I want to be using it.

jdmichal··on Modern CSV version 2
CSVi is cute and clever in exactly the way you don't want to be. It loses the entire audience of people who are Excel jockeys working with CSV files and maybe frustrated with the experience. Software engineers and system admins know what vi is. The rest of the world doesn't.
jdmichal··on Modern CSV version 2
I would use that feature. We do data processing, and for testing I developed a version that runs locally on CSV files. It can take a few minutes to work through a large file, but it's stream processing so it starts writing almost immediately. Being able to load that output sooner than once it's done like Excel provides would be a nice improvement.
jdmichal··on Water Cooled Rooftop Solar Panels
The fans in air conditioners also need a 3-inch x 2-inch capacitor to start.
jdmichal··on Water Cooled Rooftop Solar Panels
Solar pool heating is very much an established thing, and it does eat up a good chunk of a roof. So yea, if the quantity of hot water is an issue, that would certainly be a good place to dump it.

On the other hand, pool water has chemistry which may make it unsuitable for using in combined panels. Especially if it's a salt water pool, you don't want that water anywhere near electronics. The typical pool solar heating panels are basically just thin black plastic that the water flows through.

jdmichal··on Another Joke Fine Shows US Authorities Do Not Take Illegal Telemarketing Serious
Even the 1 out of 5 that was selected, the press release was very clear that it's a partially-suspended fine. I understand that the language is a bit weaselly -- 99% suspended feels like a stretch for the word "partial". But it's also just suspended, which means that the company and owner have a $13.6m axe hanging over them to behave properly into the future.

Also, this settlement did not include Vision Solar, the actual beneficiary of the marketing. My guess would be that most of the profits went to Vision Solar, and so the result will be proportionately larger.

jdmichal··on GNU Units
I wish our number system was duodecimal. Then we probably would have ended up with base-12 metric, which would have been freaking awesome.
jdmichal··on BlazingMQ: High-performance open source message queuing system
Exactly. Handling message queuing and distribution is likely a core capability for Bloomberg, so it makes a lot of sense for them to develop something tailored for their needs. LinkedIn did the same with the original Kafka development, where distributed eventual state consistency was a core capability.

If anything, we should be thankful that they've decided to share it with the world.

jdmichal··on PRQL: Pipelined Relational Query Language
This is supposed to read:

I'm quite aware of your advice regarding using `*` against tables. However, I'm talking about using `*` against subqueries and CTEs where the pieces of the table have already been extracted.

I was unable to edit this earlier due to HN being unavailable after I realized the formatter mangled it.

← PreviousPage 2 of 34Next →