skysight-inc/HackerNews huggingface dataset:
Indeed, "advice" is a mass noun, so it has no plural form. It's just like "rice".

One grain of rice -> one piece of advice

Lots of rice -> Lots of advice

https://www.britannica.com/dictionary/eb/qa/When-to-Use-Advi...
Maybe this is less obvious if you’re deep in the React ecosystem and nothing else but I’d argue that React is already in early stages of a death spiral for a few reasons.

These mostly come down to

1. It’s no longer the fastest, in fact it’s barely competitive speed wise with many things that have come after it.

2. It’s architectured in such a way that it is fundamentally misaligned with the rest of many web standards (I.e the DOM) which made a lot of sense when it was released but is now a major liability.

3. It now has to ship around a lot of code that now lives natively inside the browser and is now rather bloated as a result compared to newer iterations such as Lit as mentioned in the article.

Personally, I think it’s fatal in the sense that they have painted themselves into a very specific corner with no obvious engineering solution to get them back on the standards path. Its problems as a result aren’t really fixable without major architectural changes that would fundamentally change the project. On top of that they are only going to get actively worse over time as more things get moved into the browser and they are still stuck shipping a bunch of JS code to do the same thing. In short they are on a bad long term path with no clear off ramp.

I wouldn’t start a major project in React in 2022 for something I wanted to be around in 5 years from now as a result.
I've been doing some work in C for the first time in a long time.

I'm constantly going back to Java to try things out, just because of the absence of convenient data structures. It's a pain to keep recreating them unless it's necessary.
Yeah I know, it's a bit of a mess.
Agreed, I don't know how writing anything in C today would be considered a productive use of time besides low level / embedded work.
Didn’t think I would live to see a search engine be a causality of war.
Thanks. I've looked at Digital Ocean apps, they are missing review apps and looks like they have similar issue as Railway.app where builder is doing some strange things. Nevertheless, pricing is good, and I can always push Docker image via container registry.

Fly.io will be next on review :), thanks for suggestion.
I think that there is a problem here with regards to what you are trying to do.

You are conflating the _implementation_ of a hash table with the _existence_ of a hash table.

You list a few problems:

Computing the hash for arbitrary structure & check equality of the hash is something that you can do by adding a func in the creation of the map.

That will likely add overhead (since you can't inline it, and most of them are trivial), but at least you'll have something.

I'm not sure how memory allocations for a hash table is any different than the usual. Memory ownership semantics are likely relevant, so you'll likely need to add a way provide a free() routine here, as well.

A common example may be a `map<string, file>` - where you need to deallocate the string and `close()` the file.

This gets interesting when you do a set over an already existing value, by the way. And certainly a challenge you'll need to deal with.

My issue isn't so much with the complexity of the solution. Design choices such as not having generics will have impact on performance. But having _a_ solution is still a baseline requirement in my eyes.
The original post said that you can just roll your own, except that you really can't. Certainly not over & over again.

With regards to the hash table I criticized, that is exactly the point. You were able to "get away" with implementing a pretty bare bone thing, but you called it out as something that should be viable in general.

Hashtables are in _common_ use. They aren't something that you'll use once in a blue moon. Go's decision to provide dedicated syntax for map wasn't an accident.

And for certain scenarios, you may need to use a different implementation to get the best results. But for the vast majority of scenarios, you just want _something_. And whatever you have in the box should suffice.

That is because a generic data structure has a lot of work done on it to optimize it for a wide range of scenarios. Conversely, a one off implementation is likely to be far worse.

There are also security considerations to take into account. You are not likely to properly implement things like protections against has poisonings attacks, etc.

And "easy to fix" is sure, but you have to remember to _do_ that, each and every time you write this code. Because your approach is to give that ownership to the user.

And your language design means that you _cannot_ actually solve that properly.
That is not a good place to be.

C was designed in the 60s, and it is very much a legacy of that timeframe. Today, there is literally no system beyond hello world you can build that won't require hash tables galore.

The web is full of those (response and request headers, query string parameters), data formats (JSON is basically a hashtable plus some fancy pieces) , caches (that are just hash tables), etc.
hmmm i'll check to see if there's time before dinner
I’ve been a keycloak advocate since my jboss days (really the only good thing that came out of jboss). I have never heard of authentik and I’m so glad you mentioned it, it looks amazing! I had been contemplating doing a similar project but this would satisfy that need. Thank you.
Of course wild animals would be happier when released from their prison cells.
Imagine something like bittorrent or ipfs (?) would be part of web browsers: ad-hoc publishing without the headache for "servers".
Unrelated to your post - but, Billund is not remote. It's part of the socalled triangle area, one of the main geographical clusters of industry and transportation in Denmark.

https://en.wikipedia.org/wiki/Triangle_Region_(Denmark)
Trust in transactions isn't an issue at all. When was the last time you threw down your Visa card and worried about ... anything? They offer redress via chargebacks. You trust Visa, Visa trusts the merchants. Something goes wrong, call your bank. Ezpz.

Now you may argue that you can't pay for your, uh, illegal or immoral material with a Visa card. That's a different matter. In my opinion, the government should recognize modern payments rails as critical infrastructure and require them to process all legal transactions without discrimination. A sort of payments net neutrality.

[edit] You may also argue that merchant fees are "too high" - yeah they're high in America. They're 0.3% in Europe, because again, that's a job for regulation. They don't get card transaction rewards (because that's where the overwhelming majority of interchange goes) but that's the trade-off they've chosen to make.

Replacing modern payment rails with magic beans that live in your computer solves literally nothing for the overwhelming majority of people, which indeed, is why the overwhelming majority of people never transact on-chain. They speculate on the sidelines from centralized, trusted exchanges. It's gambling on unregistered securities to most people.
We are currently using Shibboleth, and would love to get away from using java/Tomcat. It looks like Keycloak also uses java. Is there an alternative to this that doesn't require it?
> There are three key problems: finding a good way of hashing arbitrary data structures (or arbitrarily limiting the kinds of keys the map can store), finding a good way of determining equality of arbitrary data structures, and dealing with memory allocation semantics.

It's not unheard of or unreasonable to have collections that have take an allocator as an argument. And a comparator and a hash function as arguments.

I think adding generic types and/or a notion of an interface might increase the complexity of the language, but it will also become far more expressive. And yes, these are tools that are sharp and require caution, especially when designing a standard library - you want to think hard about the constraints you'd impose on the consumers of your standard library when picking which interfaces require what methods etc, but I still think that there's not much to gain from a language without these features when compared to C.
Be careful with time.After, if you select on time.After and another channel c, and c breaks the select, then the timer will not be deallocated until it expires. So if the select is on a loop you can easily leak memory. Another of the Go hidden gotchas.
Periodic Table of Network Centrality (2016)
How was that calculated; populations and areas of cities are often calculated in very different ways. You have to show these things on a map and describe why you choose what area and how the population number was calculated. Just "what is a park" differs between cities, even what is a parking space is different. E.g. cars needs a lot of room around them on motorways, that areas is not always counted as "motorway" but can be counted as "green space" in some papers.

I have not seen ANY good examples of comparisions between cities, but I know these problems comes up alot when we discuss cities here on HN.
Ive created a Gradle plugin that encrypts source code and decrypts it in Runtime
I don’t directly care if a supplier is efficient or inefficient. I do care if they’re competitive (in price, quality, and other measures that matter).

It turns out the inefficient places tend to get out-competed and are forced to change or wither and die.
it can't be understated how insanely hard it is to get maps right and that not getting them right (e.g. not having them or problematic implementations) is prone to produce subtle security vulnerabilities in large projects. Most times DoS attack vector not cought by normal (D)DoS protection (especially with micro services they can be nasty).
The Return of the Junkers Ju-52?
Get a RockPi 4. They've got good upstream Linux support, and are relatively feature packed + performant + cheap.
Linked list has a O(N) search time, which is atrocious.

A really common optimization is to replace a linear scan on a list with a hash table. In most languages, that is a trivial step to do, which means that it gets done.

There isn't any overhead.

With hare, you just blew your complexity budget on this thing.
Does it support webAuthn?
possibly https://www.ory.sh/
Was there a good reason not to use Judy arrays?
I think that even the mere fact that there are a billion implementations of a hashmap kind of implies that a hash table _is_ a simple data structure, that you may complicate in a bazillion ways in order to cater for some specific usecase / requeriment. But at it's core, a simple data structure.
The West recognized South Ossetia as being part of Georgia, iirc. So then for the West the Russian attack on Georgia was an invasion. Whatever Russia’s “de facto” claim was.

Because today too, Russia claims that there is a “de facto” independent country in western Ukraine they are “helping”. Pretext for war, just as the South Ossetia pretext.

Import bit is: the West never reacted to Russian aggressions in any meaningful way.
anecdotally, I was approached for a lead role with Lego pre-pandemic.

Very high expectations for role/responsibilities and technical prowess. Very low remuneration on offer. And that was before rates and salaries shot through the roof post-pandemic.

Unless that's changed, and given the seeming lack of remote roles, I will be shocked if they meet this goal without most all new hires being junior outsourced/offshore resource.
It seems a little optimistic, if not misleading, to say about Bitcoin "Bitcoin, Ethereum, and many disruptive applications [...] that have positive impact in numerous sectors, including [...] environment [...] to name a few".

You can think of many advantages of Bitcoin (I surely think so), but please do not include "positive for the environment" as one of them, especially in the abstract of the paper.
They're gonna raise taxes regardless.
Snare: A Minimalistic GitHub Webhooks Runner
They are supported! Safari does not (and will not, as explained in your link) support one specific API for web components, the `is` attribute:

<button is="my-button">

But when people talk about web components, they are almost certainly talking about this kind of component:

<my-button></my-button>

Which is fully supported in safari. The former can be polyfilled, but i doubt (m)any components are being developed like that.

Aside from this, safari has great support for WCs and is just as capable as any other evergreen browser.
Location: Springdale, Akansas

Remote: Yes

Willing to relocate: No

Technologies: VBA, C#, JavaScript, Perl, SQL, Excel, Access, Angular

Résumé/CV: on request

Email: kirktheprogrammer at gmail.com

Full stack developer looking for solo work or work on a very small team of 3 people max. No agile teams please. I enjoy converting applications and debugging most of all. Updating or maintaining VBA and VB6 applications, Perl scripts, or working with Excel and Access are right up my alley. Give me the stuff no one else wants to do!
Just be careful with Athentik, it is an extremely young, rapidly developing project. So expect the odd pitfall
I’ll say from my own experience getting out in nature calms me and makes me feel better. Maybe it’s just the exercise of walking, maybe it’s seeing the trees and feeling the wind. It’s a good idea for folks to try it out and see how it makes them feel.
This fascinated me - where and how does this fit into other identity providers (and thence into SSO).

I kind of yearn for client certificates everywhere simply because I can grok how that remains secure as we pass through layer after layer. the rest I just worry about
Facemasks may reduce severity of Covid-19 and pressure on health systems
What does this meat have in mind? – “They’re Made Out of Meat”, T. Bison (1991)
I wouldn't want to change the usage of env vars, they're ergonomic and only the current user or root can see the env vars of a running process which makes it easy for us to architect secure usage patterns.

But... it'd be cool if we had better support for avoiding accidental leaks. E.g. a way to identify another process as my user that ends up reading /proc/<pid>/environ unexpectedly. You could model that with SELinux but it could be a bear to own and not worth it for outside of large/important/high-value target companies. I suppose that's an apt description of SELinux generally...

Maybe we could have a "light" version at the code level, maybe use the type system to throw an exception if you ever try to .toString() a secret. I'm trying to think how i would do that in Java without binding someone to an awkward type hierarchy (yuk!). This is not (currently) valid Java:

interface Secret {
default sealed String toString() {
throw new IllegalAccessException()
}
}

By this i mean a type that if i compose with, then it overrides (not currently supported) my toString() and blocks me changing the impl of that (sealed), then i can't accidentally log it for example.

I think the way to do this in Java today would need to be via a dedicated class, i don't think i could use a composable interface. I mean that's fine-ish but i feel allergic to constraining other developers to my

abstract class Secret { ... }

EDIT: just blocking /proc/<pid>/environ wouldn't be enough, the other process could ptrace(2) for example.
Why does every company need to try to take over the world?

They make toy bricks, they actually make the freaking best toy bricks ever… Just stick to that!

I know I might be exceedingly idealistic, and as soon as MBAs and consultants take over a company things need to change, but have strong feelings towards LEGO and I am fine being idealistic here!
Gray blurry text on gray background is a pinnacle of modern design it seems.
>Blockchain enables a digital society where people can contribute, collaborate, and transact without having to second-guess trust and transparency.

in the blockchain the code is the law, so in order to trust the blockchain you have to trust its code. have you audited the bitcoin code? why do you trust it over anything else then? just admit that you trust the global community more than you trust international regulatory bodies.

>It is the technology behind the success of Bitcoin, Ethereum, and many disruptive applications and platforms that have positive impact in numerous sectors, including finance, education, health care, environment, transportation, and philanthropy, to name a few.

have they "disrupted" anything? is this a comprehensive explanation or plain propaganda? who would someone use such an elevator-speech terminology for a supposedly serious explanation?
I wonder if that plan is actually backed up with evidence from history. Because there seems to be a ridiculous number of counter examples. And close connection seems to increase the possible range of casus beli compared to more distant countries.
In Keycloak nothing made sense to me until I got myself familiar with OAuth 2.0 and OpenID Connect.

Keycloaks documentation seems vast, but isn't. There is also no way to search inside their documentation. It's a pity.

A better documentation is contained in the administration web ui itself. There are so many "hints" and tooltips for almost every option there is. It really helped me a lot.

Keycloak is good software. It never failed for me. Even upgrading from 7.x.x to 16.x.x somehow just worked.

Yes, their docker image is fat, but it's also very flexible. Now that they are basing Keycloak on Quarkus instead on Wildfly, the docker image should shrink in size.

quay.io/keycloak/keycloak 18.0.0 a6bd0f949af0 15 hours ago 562MB
quay.io/keycloak/keycloak 18.0.0-legacy 421e95f49589 46 hours ago 753MB

ok, still big :).

Beware: they aren't using Docker Hub anymore. Newer versions are on Quay only (https://quay.io/repository/keycloak/keycloak).

I'm happy with Keycloak. Also nice folks around Keycloak.
Yep, code review.
Space efficient, that is.

Fixed width formats are pretty efficient for quick random access.

Btw, you can have a mostly fixed width format, but with an escape that puts larger value somewhere else. That's more or less what some relational databases are doing, I think.
Check out Beaker Browser! It’s pretty much exactly what you’ve described: https://beakerbrowser.com/
Yes, our knowledge evolved.
That may be, but now you’ve changed your argument from an obviously ridiculous claim such as “we practically lost our right to vote” to the vastly less fatalistic (and much more accurate) “the system advantages the incumbent”.

That’s fine, and I agree it’s an issue, but maybe tone it down a bit for next time. I’m used to this tone from Hungarians both online and in real life, but I’d rather not allow such false impressions to seep into the wider discourse.

There’s enough “Poles and Hungarians bad” narratives going around without us having to add fuel to the fire.
There's plenty of production grade applications running Web Components.

A good list of companies using them in production can be found here: https://arewebcomponentsathingyet.com/

A large example on a huge application using web components is Photoshop's browser version: https://web.dev/ps-on-the-web/#web-components-and-lit
The Emma Mærsk is powered by a Wärtsilä-Sulzer 14RTFLEX96-C engine, the world's largest single diesel unit, weighing 2,300 tonnes and capable of 81 MW (109,000 hp) when burning 14,000 litres (3,600 US gal) of heavy fuel oil per hour.

So bitcoin is equivalent to 425 Emma Mærsks going full bore continually.

That'd be 6.3 million TEU - which interesting means that for those big ships, a liter of fuel moves one TEU for one hour.
npm init @open-wc is a really nice starting point for Lit also mentioned here https://lit.dev/docs/tools/starter-kits/
It's own speed so that society can manage it.
The best potential for Twitter may be improving discovery of user feeling to display better ads.

So, if I tweet complaining about an AWS service, show me a GCP ad like "Learn how easier it is to do [...] on [GCP product]".

Or sell a complement when I'm happy about something.

Something on this line. I bet it's already being explored, but since their ads effectiveness are bad, it may not be a well oiled machine.
I think that the next big thing that technology needs to solve is how to make it easier for people to get together.
I don't understand, why would there be a risk that Germany be allied with Russia in 10-15 years time? To get cheap energy? That doesn't make any sense.
Hasura is a rock solid piece of software that does pretty much exactly the right thing for me. Performance exceeds expectations and it's never once crashed or been the source of a bug in years of use. "lighter" is not convincing. Directus looks cool in the CMS/no-code space, but as a backend API hub I don't see anything there that would tempt me over hasura.
I totally get you. There's a free version but yes.
I'm not sure.

Someone who just had five accidents in the last three weeks might drive differently today, don't you think?
I mean it seems all the reasons are laid out in your response.

Just reordering them:

> I can shout from the rooftops that, no, we're never going to mandate a full return to office

> the executive team has been ambiguous

> it appears to be impossible to convince them otherwise

You can claim all you want but if the CEO and all the chief officers are not the one making it all clear and not just taking about it at a standup but in black and white on paper. Then it means nothing and what you claim means nothing too to your employees. Like someone said next step after that is to put it in the contract.

Also it’s up to you and the other managers and officers, and not the people bellow you, to create a trusting environment and trust with your team. It’s frustrating you to hear comments like that but it should be instead a red flag for you about the health of your team. Because it’s even more stressful and frustrating to be in the very seat of an employee where there is no trust at their work and the leaders are vague about critical part of their work life and don’t care and (not pointing finger at you but just saying) are just frustrated when they voice their concerns instead of listening and acting as leaders.
> Expense and reimbursement policy is another source of variation, a wild amount. Just nuts and bolts about how you book, are all different. Do you use a corporate credit card or get reimbursed?

>Nevermind entertainment policy.

You’re describing incredibly superficial differences because you’re used to a world where businesses all operate very similarly.

Those “broad generalizations” like GAAP you hand-waved over did not use to be standard. One of the early appeals of a company listed by the NYSE was an attempt to standardize some of that so you could even try to guess what you were buying into. That still had to be tweaked after Enron with SOX.

The fact that you can generally count on there being an HR or accounting department/role at companies is a form of this standardization.
Learning on the job: it's cheaper to outsource that to (publicly funded) schooling/academia. Also, which co is actually keeping people for that long nowadays anymore?