HNHacker News
TopNewBestAskShowJobs

amenod

1,555 karma · joined April 17, 2013

submissionscomments
amenod··on Death by PowerPoint: the slide that killed seven people (2019)
Pretty bad title for a blog post that talks about misleading powerpoint presentations. Some readers might make conclusions from the title alone, instead of reading the whole text below.
amenod··on Uniqlo dangles $8.8M salaries to draw talent in Big Tech showdown
If I'm reading this right, it's not actually saying anything about tech hires. Given the outrageous compensation, this is probably for management roles?
amenod··on Show HN: I'm building a non-profit search engine
Off-topic [0]: I would be very interested in an economic model that would work for such a search engine. Donations are fine, but (imho) it will take much more than that to keep the lights on, let alone expand...

The "fairest" solution for both sides I can think of is ads which no not send tracking information, and are shown primarily based on search terms and country, or even other parameters that the visitor has set explicitly. Any other ideas on how to finance such an engine so that incentives are aligned?

[0]: EDIT: off-topic because the page clearly states that this project will be financed with donations only.

amenod··on HTTP/3 Is Fast
It is however very rare that absolute differences matter; and even when they do, the scale should (often) be fixed. For example the temperatures:

[A: 27.0, B: 29.0, C: 28.0]

versus:

[A: 27.0, B: 27.2, C: 26.9]

If scale is fit to the min and max values, the charts will look the same.

Still, as a rule of thumb, when Y axis doesn't start at 0, the chart is probably misleading. It is very rare that the absolute size of the measured quantity doesn't matter.

amenod··on HTTP/3 Is Fast
> The 0-RTT feature in QUIC allows a client to send application data before the handshake is complete. This is made possible by reusing negotiated parameters from a previous connection. To enable this, 0-RTT depends on the client remembering critical parameters and providing the server with a TLS session ticket that allows the server to recover the same information.

Am I missing something, or is this yet another way to track clients across visits? If so, I'm sure Chrome will be faster than Firefox (because it will keep the sessions IDs live forever). Well played, Google.

amenod··on I started a paper website business
That's a really interesting part, and probably why the OCR works good enough for such case.

Not sure about legal implications of using it though:

https://www.technologyreview.com/2020/09/23/1008729/openai-i...

EDIT: it seems I have misunderstood the article - OP probably uses MS API to access GPT-3 anyway, so the point is moot.

amenod··on Hetzner now provides IPv6 only dedicated servers
> Don't the big players penalize mail coming from hosts?

Ftfy. :)

Yes, they do, unfortunately. I am still hoping for some regulation / fine to put an end to this.

amenod··on Hetzner now provides IPv6 only dedicated servers
Not only that, but for some deployments it is actually preferable to limit the amount of money you can pay. In other words, better for the service to be down than for the company or person to be bankrupt. Last I checked, that simply wasn't possible with AWS (no, alerts are not the same thing).
amenod··on But what about the bus factor?
Many times (not departed as in departed, just - not there any more).

Could of hard-won experiences:

- under no ciscumstances should you do the rewrite until you understand the whole domain, which is not until you know the codebase inside-out. And even then it's probably a very bad idea ("Yes but the old version allowed us to do X...").

- start with business requirements: make sure you understand what people expect from the system, how they use it, what it does at high level. Sit with users and watch them use the app!

- tests: do not touch the code until you understand the existing tests or, if tests do not exist, until you have covered the code with your own, preferably integration or end-to-end tests (unit tests are great, but they don't guard you against integration failures, which is what you want to be protected against here too)

- skim the documentation if it exists, but don't put too much faith in it as it is probably out of date. Same for comments.

- slowly start fixing bugs, cleaning up some code... whatever you do, make sure it is covered with tests.

- good luck. :)

amenod··on But what about the bus factor?
My anecdata (at multiple companies) supports their opinion.

What matters is that there is a clear owner who is the voice of final decision. In most cases there is no objectively better way to do something, so having a person who is a tie-breaker is beneficial. Of course, they must be involved in actual coding, doing code reviews of other people's code and similar. And other people must review the owner's and each others code.

But, having an owner is not the same as having a bus factor 1. There should be an owner, but other people should know the project and the codebase enough to step in at any given time, even as (temporary) owners if needed. And this is only possible if they actually work on the project, even if the approach that the team (/owner) decides upon is not what they would pick.

amenod··on “The Pirate Bay can’t be stopped,” co-founder says
This! I would say that if there is no simple way to find commercial content (for the location of the potential customer!), the law should treat the case as if the copyright owner waived their right to the copyrighted material.
amenod··on Django, HTMX and Alpine.js: Modern websites, JavaScript optional
I agree that the way modern JS (need to?) download half the Internet for a semi-useful app is annoying, wasteful and dangerous.

However, I still remember the hell that was updating the state and keeping the rendering in sync with it when using jQuery. Native JS of course doesn't improve on that, and (judging by the description - no experience with it) Alpine.js doesn't either. For me, the paradigm of rendering from the internal state is what makes React (and Vue,...) useful. Too bad that npm ecosystem sucks and that everyone is inventing new shiny useless new things all the time... But React makes non-trivial single-page apps possible.

Of course, if you need server-side rendering (for example because of SEO) then the equation changes, and maybe using Alpine.js makes sense.

amenod··on Show HN: Luna is a Clojure domain specific language that translates to regex
This. Also, I try to:

- use only those regex features that are cross-platform (cross-engine?)

- avoid `\w` and similar (what is word?) and instead use explicit rules (`[a-zA-Z]+`)

- use [] instead of backslashes when escaping (`[(]` instead of `\(`) - especially useful with double/triple escaping

- never use long regexes (there is always a better way)

I never understood why people are afraid of regular expressions.

That said, there are some performance/security implications wrt. backtracking that one should be aware of [0].

[0] https://javascript.info/regexp-catastrophic-backtracking

amenod··on Spending $5k to learn how database indexes work
...and Hetzner just started offering their services in the US a few days ago. (EDIT: not affiliated)

If you do something stupid with your code at least you won't go bankrupt, only your service will be slower.

amenod··on ‘Trojan Source’ Bug Threatens the Security of All Code
The same way as you write a comment in a LTR human language in the middle of RTL code - you don't. You stick to either LTR or RTL. This is code, not prose.
amenod··on ‘Trojan Source’ Bug Threatens the Security of All Code
You misunderstood my point:

>> There is only ... that should ever be allowed...

What I am saying is someone decides to code in a non-english language (which is completely reasonable) they should define a subset of unicode characters that is acceptable. Additionally, the allowed characters should not permit tricks like these.

As for excluding entire languages... well, yes. This is already the case today. But OTOH it's not like understanding what "if" means gives you any special advantage in programming.

amenod··on ‘Trojan Source’ Bug Threatens the Security of All Code
I would argue that even if you decide that you are using some other language and not English, there is only a well-defined subset of Unicode characters that should ever be allowed in the codebase. Bidi override control characters are clearly not among them, whichever language you choose.
amenod··on Can we trust Microsoft with open source?
It might be easier than ever, but it is far easier on Linux. It shows that people developing terminal(s) on Windows are probably not Linux users - it is little things like secondary clipboard and terminals hanging that make one want to scream.
amenod··on I couldn't debug the code because of my name
True. But these actively supported, paid products build upon layers and layers of no-longer-supported, free/opensource products. Good luck fixing them.

Not saying that this is OK, just explaining why using non-ascii characters, in this day and age, is still asking for trouble.

amenod··on Canon sued for disabling scanner when printers run out of ink
I think GP was being sarcastic.
amenod··on Waydroid – Run Android containers on Ubuntu
Wait - you can run waydroid, and thus presumably Android apps, on Pinephone? This is huge! How well does it work?
amenod··on $5.9M ransomware attack on farming co-op may cause food shortage
I see an opportunity for supplying enterprizes with an easy to integrate "turn back time" solution. And I don't mean backups, but rather filesystems / SSD disks / ... It will be interesting to see how this gets solved.
amenod··on A search engine that favors text-heavy sites and punishes modern web design
> is that the algorithms prioritize newer pages over older pages.

They do? That would explain a lot - but ironically, I can't find a good source on this. Do you have one at hand?

amenod··on Intro to Deep Learning
I went through multiple resources on the net until it clicked for me. I guess each book / video / blog post gives you the bits you are ready for, and when enough of these bits accumulate you understand it. Looking back, neural networks are not that difficult to grasp, but there are many important details that one should understand.

What I learned is that it is very important to test intermediate results thoroughly. Nets will gladly learn from garbage if that is what you (unknowingly) feed them, and they might even produce some results - not at acceptable level though.

I didn't continue working in this field, but I'm happy I learned it (and used it in a project too) and would recommend that to any developer. ML really moves the frontier of what we can achieve in software much further.

amenod··on Firefox 91 introduces enhanced cookie clearing
I agree with the mobile browser (the only recent change they made, afaics, was to artificially disable most of the extensions and to make tab switching worse), however it is not just about ad networks that people are paranoid about. Tracking is pervasive and there are many players which know way too much about what users are doing on the net.

I don't even care if they track me - what I care about is that they track mostly everybody. Such power should not be underestimated.

amenod··on Ask HN: Alternatives to Google Photos?
For anyone else who doesn't know what Google Photos ForYou is:

> For a while now, the Google Photos app has included an “Assistant” tab. This is the place where all of Google’s automatically created creations are shown. Things like photo collages, animations, movies, albums, and more. The name of the tab has always felt like an implication that Google Assistant is creating these things, but it can be confusing if you’re not familiar with it. Google is changing the name of this tab to “For You.”

https://www.xda-developers.com/google-photos-renames-assista...

amenod··on Improving Firefox stability on Linux
Great work Mozilla! I can't remember the last time Firefox crashed for me (Linux). I am using the upstream version though, as I prefer security fixes in my browser to be applied as soon as possible.
amenod··on RotaJakiro: A long live secret backdoor with 0 VT detection
Or just copying a command with a hidden `<span>` in the middle, then pasting it into a terminal which allows multiline pastes (which most terminals do).
amenod··on Starting a TypeScript Project in 2021
Well, newsflash: you are always dealing with abstractions, no matter which layer you pick. You might just as well pick one that lets you develop more complex things faster and more reliably. That said, if you are set on actively fighting it (not installing react dev tools, being frustrated by not having visibility under the hood) then it's probably best to stay away from React.

I have quite a lot of history with native JS, but was happy to relinquish control to webpack/babel/react... not at first (had the same reaction as you do), but once I gave it a fair chance I discovered that things just work. Never had any problem with React not performing the way it should.

amenod··on Starting a TypeScript Project in 2021
While you don't _need_ React (or a similar powerful library / framework), it takes one's productivity to a whole different level.

I have a feeling that you have already made up your mind not to like it, but if you ever give it a fair try, you might find it useful for some projects. It is very complex under the hood, of course, so if you want to have total control you might need to dig into the internals. But to a casual user it gives a very nice abstraction, very powerful, easy to use (granted - and abuse) and performant. The thing that sold it for me is the declarative programming. You have state, state translates to rendering... and that's pretty much it. Compared to thinking about transitions in native JS (or jQuery or whatever) it is like night and day in any non-trivial project.

← PreviousPage 2 of 20Next →