HNHacker News
TopNewBestAskShowJobs

dkh

802 karma · joined September 17, 2010

Engineer with a filmmaking background (at times, the other way around). Roughly a decade working in the film/video/streaming space, mostly as an engineer on the tech side, but with some big stretches on the content side. Helped build a few streaming video platforms. Worked camera department and post-production for a few shows.
submissionscomments
dkh··on Launching RDAP; sunsetting WHOIS
I sometimes use whois multiple times in a day lol.

Should it exist? Maybe not, probably not, but that doesn't stop me from using it when I want to try to do some sleuthing. Most of the time though it doesn't work because they have privacy enabled.

I did get screwed once with certain TLDs not being able to enable privacy. I had registered a .at domain to use with a video site I had that at the time was reasonably popular and going viral fairly regularly. I hadn't realized beforehand that privacy wasn't possible, but once I learned, I didn't love it, but I wasn't sure if it would matter that much. I was wrong. I was getting calls and emails regularly from random people on the internet who found our content on reddit or whatever and decided to do some sleuthing

dkh··on Launching RDAP; sunsetting WHOIS
Web hosts competing based on who had the prettiest cPanel theme. The number of email accounts were allowed was something that mattered. If you were lucky enough to get SSH access, it was jailed and only really allowed you to move files around easier or edit something with vim/nano.

Oh, I have unintentionally become a GoDaddy customer (a company I have spent ample time hating and shitting on over the years) because I was a legacy Media Temple customer going back to like 2006 and I still just can't be bothered to clear out everything on those sites/domains and they eventually got acquired

dkh··on DiceDB
Not a month goes by where I don’t remember it at least once and realize that I still miss it.

This seems more like Redis though

dkh··on Show HN: Aiopandas – Async .apply() and .map() for Pandas, Faster API/LLMs Calls
As a very simple example, here's aiohttp making 10,000 http requests (HEAD requests to a list of different urls) in a single thread but asynchronously vs. ThreadPoolExecutor making them synchronously but across 32 workers (I had to drastically reduce the number of urls in order to make sitting through it bearable): https://asciinema.org/a/MkoOVQBSeBanRRZtsu3xe5FUk
dkh··on Show HN: Aiopandas – Async .apply() and .map() for Pandas, Faster API/LLMs Calls
The point is that the use-case here is one where there is far more IO-bound work than CPU-bound.
dkh··on Show HN: Aiopandas – Async .apply() and .map() for Pandas, Faster API/LLMs Calls
Python "threads" aren't real threads in the traditional sense because Python's Global Interpreter Lock (GIL) exists, and this means no more than one thread is ever actually running in parallel. They are great for network IO since most IO is just spent waiting for stuff rather than computing anything, but you can't actually run CPU-heavy stuff on multiple Python threads and have the speed multiplier be equal to the number of thread workers. For this, you have to use process pools. (Though this is something that is in the process of finally being alleviated/fixed!)
dkh··on Show HN: Aiopandas – Async .apply() and .map() for Pandas, Faster API/LLMs Calls
The intended use-case for this is actually very different from what you describe, and one where aiopandas would be much faster than a ThreadPoolExecutor.

Lets say that you have a pandas dataframe and you want to use `pandas.map` to run a function on every element of it where, for some reason, the new value is determined by making an API request with the current value. No matter whether you do this in the main thread or in a threadpool, it's going to run these one at a time, and very slowly. You can make X number of requests at once inside a thread pool where X is the number of workers you set, but this number is not usually very high, and running http requests asynchronously is going to absolutely wipe the floor with your thread pool. You can run hundreds to thousands of concurrent http requests per second on asyncio.

So yes, the actual work that pandas has to do in terms of inserting/modifying the dataframe, that's all CPU-bound, and it's going to block. But 95%+ of the wait time you'd experience doing this synchronously would be just waiting for those http requests to finish. The pandas work is CPU-bound, but each iteration would probably be measured in milliseconds. In this use-case, this library (assuming it works as described) would be far superior, by many multiples if not an order of magnitude.

That said, I have absolutely no idea who is making http requests on each iteration of a pandas map, or what percentage of that group of people didn't solve it some other way.

dkh··on Show HN: Aiopandas – Async .apply() and .map() for Pandas, Faster API/LLMs Calls
These are two different paradigms. aiopandas is not trying to offload pandas work somewhere else to prevent it from blocking synchronous code, it's trying to let you apply asynchronous functions to pandas operations concurrently while running on the event loop inside of other async code.

That said, this is mostly just going to be helpful if you're running pandas operations that call an external API on each iteration or something, and the actual pandas part of the work is still going to be CPU-bound and block. I am also not a huge fan of the monkey-patching approach. But it's clever and will definitely be useful to folks doing a very specific kind of work

dkh··on Show HN: I built an app to get daily wisdom from Mr. Worldwide
A lot of people are into Pitbull.
dkh··on Show HN: I built an app to get daily wisdom from Mr. Worldwide
Same problem.
dkh··on Another Conflict Between Privacy Laws and Age Authentication–Murphy v Confirm ID
“I don’t want it” and “nobody wants it” are vastly different things, and in this case the latter is definitely not true.

There probably are/will be ways to do age verification fairly accurately, but they will be scary in other ways, and will certainly violate your privacy, at least during that process.

dkh··on Blender-made movie Flow takes Oscar
Look, I don't know if you have seen the movie, and I get that both the film and this TikTok video contain 1) a black cat and 2) a lush green backdrop. But one is a feature film that marvelously captured the mannerisms of its animal characters, has made countless adults cry and just won an Oscar. The other is a vacuous, seconds-long video where 2 static animal models rock back/forth a couple times on their Z-axis and spin a couple times on their Y-axis. Do you really think the similarities are striking, enough so to raise questions? Do you actually think there's a chance they are made by the same creator?

I think to most people, the film and this video look like polar opposites.

dkh··on Blender-made movie Flow takes Oscar
You may not care, and you don't have to, but certainly it means a lot to the Blender Foundation, who for 23 years have been actively working on something free & open-source, and now finally it is in the big leagues.

Just as Flow's win looks even more impressive when you look at the films it competed against, who produced them, and what resources they had, Blender has been a project competing for parity and to be taken seriously while remaining totally free, and going up against systems that are either wildly expensive or not available outside the studio that made it at all.

Flow is not good because it was made with Blender, but Blender is proven to be very good and in that top echelon because Flow was made with it. For those who make or use Blender, this is big. Those folks have already believed for years/decades that Blender was great and serious, but now a lot more people outside that circle will know this, too.

dkh··on Blender-made movie Flow takes Oscar
Historically the Golden Globes are the biggest predictor of the Oscars, so, yes, but then you have to ask how it won the Golden Globe lol
dkh··on Cloudflare takes legal action over LaLiga's "disproportionate blocking efforts"
The simplified answer is that Spain has greater net neutrality laws than most other places, and on top of that the relevant European Union laws specifically forbid any lawful blocking/enforcement action if it causes a nontrivial amount of collateral damage to unrelated parties. So in theory the court order should've violated both Spanish and European law.

https://www.redes-sociales.com/bloqueo-cloudflare-parte-lali...

dkh··on Cloudflare takes legal action over LaLiga's "disproportionate blocking efforts"
So "only" the biggest broadband provider in the country :)

I've seen reports that Orange may have imposed the block as well, which is the #2 provider. Definitely a nontrivial slice of the population

dkh··on Cloudflare takes legal action over LaLiga's "disproportionate blocking efforts"
Most streaming platforms actually put a lot of effort into combating live soccer broadcast piracy, more than a lot of other types of content. European soccer in is massively popular globally, as is the World Cup. Thus piracy of it is massive and global as well, and it gives the big leagues and competitions a lot of leverage. Most platforms try hard to counter soccer piracy, generally without waiting for a complaint or takedown request, and often using active methods like doing automated content detection on livestreams. The platforms simply have more to lose by poor enforcement of a huge soccer event than most anything else, including anything from Hollywood.
dkh··on Cloudflare takes legal action over LaLiga's "disproportionate blocking efforts"
While massive overreach in the name of fighting piracy it's very on-brand for LaLiga, this seems pretty wild, even for them. I can't help but wonder if perhaps they didn't realize quite how many unrelated, legitimate sites/services that their citizens use would be affected by this.

I think burns/jokes about Cloudflare are missing the point. It's not about Cloudflare, it's about the millions of people in Spain who couldn't access a plethora of legitimate, unrelated websites and services because of the block. The block included things like Redsys, a major payments processor used by tons of ecommerce sites in Spain.

Piracy or not, you shouldn't be able to get away with this kind of collateral damage, blocking an entire population from accessing a far greater number legitimate websites.

And while I do understand their problems with piracy, LaLiga's view on the matter has always been so over-the-top and reminiscent of the false logic the record companies did in the early 2000s: LaLiga believe (or at least say, all the time) that every euro's worth of football that is pirated is a euro that has been stolen from them; that if piracy didn't exist, they would have that much more money. It's simply not the case. It's a hugely outdated viewpoint, and they shouldn't be able to cause damage to the public because of their adherence to it.

dkh··on Being laid off in 2023-2024 as an early-career developer
We're all in it together, this won't last forever.

And yeah! Honestly it took a while for me to propose because we were having financial difficulties at the time, too, and I wanted to do things right. But even with hindsight, if I had known I would've run out of money after the wedding, I wouldn't have done anything differently at all. It was an amazing day and worth it all. Do whatever you can to make that day exactly what you want, there is no other feeling like it. Best of luck to you

dkh··on The design philosophy of Great Tables
Your proposal is the most extreme opposite of this practice. Still got PTSD from early 2000s webdev? ;)
dkh··on The Triumph of Philanthropy (2018)
This is quite reductionist, inaccurate, and unhelpful.

Certainly there are conservatives who aren't fascists, philanthropists who aren't conservatives, philanthropists who aren't pure evil, etc.

If you want to take a complex, nuanced subject and paint it all one ugly color for yourself, have at it, but please don't attempt to do it for the rest of us

dkh··on The Tale of Daniel
My wife's grandparents on her father's side were Swedish immigrants to the USA, but her father has never known much at all about the Swedish background. A few years ago my wife got really into the ancestry.com thing, and after doing some digging, discovered that her father's first name is what his family's last name was in Sweden, up until migrating to America. While they took on a different, common last name as many did back then, they passed the old name on in their son. I thought this was fascinating, and so did he, as he never knew any of this, either!

Just another Daniel born in '86 sharing an interesting name origin story. (My own isn't as wild -- my mother loved the Elton John song.)

dkh··on Being laid off in 2023-2024 as an early-career developer
I feel you. 18 for me, with the axe falling riiight after I got married. Wedding was expensive, savings have long been dry. Only afloat because the wife has a job in TV. But of course during those months of Hollywood strikes, both of us were unemployed lol

It sucks but now but it won't be forever

dkh··on Writing Gnome Apps with Swift
TIL Sony maintains a Flutter eLinux embedder project[0]

[0] https://github.com/sony/flutter-embedded-linux

dkh··on Writing Gnome Apps with Swift
In the context of Gnome/GTK development, there's almost nothing more stable and comprehensive than Vala, as it's been around a very long time and was created specifically to occupy that space. Can't speak for OP about why to combine it with Swift handling the UI, but certainly Vala still has far better support for the Gnome data model and APIs outside of those specific to the GUI.
dkh··on Writing Gnome Apps with Swift
If I had a nickel for every time I got excited about something with experimental multiplatform support...

The Kotlin platform looks good and I've kept an eye on it, but the problem is, if I have to start working on an app now, it's still kind of scary, as you're basically just placing a bet on a horse race of which one will mature the fastest down the road.

At a previous job, I decided to adopt React Native in its early stages for a project. By some miracle (and with a lot of rolling-our-own) it managed to not hold us back and seemed to mature about as fast as we needed it to, but boy, even then it was still stressful, and I feel like we got a little lucky. (Just to be clear, I also knew this going into it and the choice was mine, I may just have a deathwish)

dkh··on Writing Gnome Apps with Swift
It doesn't have to be 100%, but nobody wants to invest a ton of time/energy into a project just to hit a wall a little ways down the road when something at the very core of it breaks or becomes unmaintained. Of course it would be nice for users of such projects to help and contribute, but this isn't always practical. Not because the users are being entitled assholes, but often times they aren't even the same skillsets, and I think this is especially true of some of this complicated, low-level UI stuff. If I'm a user of PyGObject writing GTK apps in Python, I'm not necessarily capable of contributing to the underlying C bindings, even if I wanted to be helpful.

This dynamic presents a legitimate problem for pretty much any open source project that aims to abstract away something very complex to enable more developers to use it. Any project that does this is going to have more developers relying on it than are capable of contributing to it.

You should never feel entitled to continued development of a project you don't contribute to, and you should always assess the community around tools you want to use in order to make good decisions. But this doesn't mean you can't be super frustrated if something you rely on goes dormant. I personally avoid using any library/package that doesn't appear to be very active, but nothing is foolproof. Even a seemingly healthy project die can fairly quickly in certain circumstances.

dkh··on Writing Gnome Apps with Swift
This. Over the years I've seen so many cool projects aiming to ease native desktop UI development, but most became unmaintained at some point, for what I am guessing is due to the difficulty and complexity associated with actually making this work in practice. It is less sexy, but a solid language binding to the existing libraries is likely the more practical and maintainable way to go
dkh··on Writing Gnome Apps with Swift
I remember a few years ago, a few really cool cross-platform UI libraries were starting to emerge such as libui [0] that got me excited. I've kind of lost track of them since then (libui itself went dormant for a while before this fork) so I am not sure how mature/useful they are now, but the potential for writing native desktop UIs in basically any language seemed like an absolute dream. Perhaps it's feasible for very basic things?

[0] https://github.com/libui-ng/libui-ng

dkh··on Detect when your installed Chrome extensions have changed owners
This is a good point, and transferring of trust is a very interesting concept. But while I agree that these things shouldn’t necessarily be silently transferable, I also think there should be an easy way to onboard users to the new owner/extension (if they wish to) without having them need to think about it and manually go figure it out. It shouldn’t be silent, but it also shouldn’t be a pain. Acquisitions do often make things much worse eventually for users, but negating this by complicating the process of retaining them (especially if they want to be retained) isn’t great, either.
← PreviousPage 4 of 8Next →