skysight-inc/HackerNews huggingface dataset:
>engineering as defined as "doing the best you can with tools you have"

This is not a definition of engineering anyone sane holds. It's so broad it can be used to define a floor cleaner as an engineer (or, if you want higher tech involved, a floor cleaner with a roomba).

This is not logic, this is travesty.
Could you share how long you maintained this website?
No problem with the db (schema updates, backups, replication, etc...)?
No problem with your app updates (downtime, dependencies updates, code updates)?
Did you work alone, or with a team?
Did you setup a CI/CD?
...

I wrote down some questions, but in fact I just think it would be interesting to understand what was your setup in a bit more detailed fashion. You probably made some concessions and it seems they worked well for you. Would be interesting to know which ones!

Thanks
I've never been on a jury and live in a country that doesn't have juries at all, as far as I'm aware, but if I lived in the US and served on a jury there, I would never convict solely on police testimony. The police are often not a neutral party. And especially with all the stories of police quotas, extremist groups infiltrating the police, rampant racism in some police departments, and even law enforcement experts telling people to never talk to the police without a lawyer, the US police doesn't come across to me as particularly trustworthy.
> They also use linear probing because it's generally much faster than double-hashing

Optimal is probably to use linear probing for a few indices at a time (depending on size of hash table entries, say, 4 or 8), and double hashing to move to a new region if no empty elements can be found in that run.
There seems to be quite a number of HVDC lines in the grid, for example in Europe [0].

[0]- https://en.m.wikipedia.org/wiki/File:HVDC_Europe_annotated-2...
Use them:

- for their original purpose with either an AOSP-derived distribution (LineageOS et al) or a debloated/pared-down factory distribution

- as a portable media player

- as a remote-controlled media player using MPD for Android

- as a trailer camera with its own Wifi network, no cables needed between trailer and car, better camera than commercial trailer cameras

- as IP camera

- as a mobile sensor platform for whatever you may come up with

- as a satellite navigator platform

- as a GPS tracker

. ... and much more
Just to be clear, I agree with everything else you've said, and you've produced some awesome Rust libraries.
I have searched for a way to use my Xiaomi Mi A1 phone. I want to use it as a personal cloud storage, but I haven't found out how to do it. Using it as a dedicated ebook reader maybe the best idea I can do with it.
Prompt "engineering" will last a couple of years, until the UI improves to the point any dummy can do it, just like with instagram filters.
If you read what the OP wrote;

"I was in a relationship for 2 years and have written a poem every day for 400 days straight to her."

2 years is a lot more than 400 days. Maybe the relationship failed because they stopped.
> you aren't likely to end up with a 10k dependency project.

> Hard to say that's really a plus.

I'll definitely call that a plus. All dependencies introduce risk. Sure, we can't avoid all dependencies, but carefully evaluating them and keeping the list small is a big win for maintainability and security.

If a random library has a 0.1% chance of having malicious code (I'd say it's more like 1%, but let's be generous), a 10K-dependency program is guaranteed to be pulling in at least something malicious.
The opposite can also happen: people who can afford it not changing their habits because they are paying for the offset. If something is carbon neutral, many will pay to do it and not feel guilty about it.

This also increases inequality: those with less money need to degrade their lifestyle, but those with more can choose to keep it.
I hate making a not entirely on-topic posts, but most game submissions take you to a link that starts the game. I guess that helps get players by minimizing steps needed to be taken to start.

I'm curious what the game's like, but I'm reading while eating or doing waiting for something at work and I'm not in a good position to play the game. As it is I'll probably skip it and forget to come back later.

Having a website with some screenshots and explanation would be awesome.
They choose who to accept based on their shared accounts (linkedin, instagram, etc).
I mean, I don't think they were claiming the rust way is the only possible form, but rather that any solution as expressive and safe as the rust method will be about as complicated, which doesn't seem to disagree all that much with what you are saying to be honest.

The interesting question is whether there exists some system fundamentally/significantly simpler than the rust approach which still gives you comparable freedom and safety (without excessive runtime overhead).

As far as I know that is unsolved and a matter for research, not some obvious solution that the rust team totally missed when designing their language.

If your goal is lower than total memory safety, then obviously you'll have more options, but when it comes to memory models, you have to be quite careful in where you allow violations, since they tend to infect everything quickly if you don't find exactly the right way to encapsulate them, so having a "half-safe" language often just means you have an unsafe language. Part of the reason unsafe rust is so painful is they're adding exactly that sort of hole in the memory model, and suddenly anyone exposed to it can't deal with the "simple" memory model of rust, they have to deal with all the gory details _creating_ that simple model. Any language adding larger holes than unsafe will need more people to be aware of the full complexity of modern compilation more of the time, which doesn't seem like a win. Rust's unsafe works because it's almost never used. If unsafe was half the codebase, rust would be a failed language.

Another solution is to absolutely refuse to take advantage of your safer memory model in the compiler - so minimal optimizations, just compile literally and throw barriers all over the code, then anyone using a downgraded model doesn't need to know the additional rules they would otherwise need to follow to interact with the full model. That sounds pretty awful though, probably more expensive than just using a garbage collector.

Is there a better solution? Sure, probably, but I don't think humanity has discovered it yet.

The real problem is pretty much any model that doesn't shoot for complete memory safety (or a unsafety that is strongly discouraged and well encapsulated) is going to end up containing all the complexity that comes from unsafety, rust justifies its complexity by all the complexity it also removed (undefined behaviour is basically not a thing in Rust), if you half the complexity compared to rust but retain half the undefined behaviour complexity of C++, I think you'll have just grafted the worst of both together. I'm unconvinced there's a sweet spot in the middle, more like a mountain of extreme complexity (ala rust unsafe) between 2 valleys of relative simplicity (C-like, rust-like).
I didn't downvote, but its possible the "get a foot in the door" is coming across more coercive than you intended. It brings to mind pushy salesmen.

I think your statement is fine, if the reader interprets your statement charitably, but it could be misread.

Just a guess!
Many apparently don't; there are lots of examples of defendants of colour getting convicted in cases where white defendants get acquitted or receive a very light sentence.
Rust does runtime bounds checks on array access, which the compiler can't elide in non-trivial cases (e.g. binary search), so if you want to write such algorithms as fast as in C, you need to use a lot of unsafe array indexing.
I've been avoiding her books but being a Polish I tried to appreciate her writings when she got the Nobel. I found her style technically very good, but nothing special (compared to other Polish literary giants like Miłosz, Szulz or Lem). The bigger issue for me was the contents - it was over-intellectualized and lacking in meaning; a classical triumph of form over content.

The best Polish female writer I've read is Maria Dąbrowska and her amazing book "Nights and Days". Something like Polish "The Forsyte Saga".
Really? Wikipedia says it is historically uncommon

EDIT: What language uses base-60??
> One choice from OP's design which I find odd is the choice of power-of-2 for the table size. I was under the impression that choosing a table size of a prime number has significant advantages such as being able to more easily expand the table.

One advantage of power-of-two sizes is that you do not need an expensive integer modulus.
Standard libraries are often a lot less impressive than you might expect. I think it’s important that people retain the ability to write their own data structures so that when it is helpful and relevant that skill is in the toolkit.
Yeah, we've found some of their (5T) competitors (who bill by connector) make far more sense for certain services. Love fivetran, though.
It's hard to read your comment as anything but a middlebrow dismissal.

> Wealth comes from passing through the difficult stages of development oneself

Is having people go blind from preventable causes or children growing up stunted supposed to build character?

> you personally should do the good things you want to do in the world rather than just donating money for someone else to do it on your behalf

The point is to do good, not feel good. Specialization is the very basis of human civilization. Software engineers donating their surplus to fund salaries for trained full time teachers is going to be a lot more effective than the alternative you're suggesting.
> There is no excuse of ignorance for receiving and selling stolen property or property used in service of a crime

Let's say your public address is public, all your net worth is there. A tainted account can send a small amount to you, nothing you can do about it. Is your account now tainted as well? If yes then bad actors now have a powerful tool of wealth destruction.
Wow this is a blast from the past! First time I’ve read this was in a (paper) magazine some 25 years ago, one of the journalists was kind enough to translate it. The story was like a magnet to me as a high-school freshman, I must have reread it 20-30 times in the following weeks.
If you can choose to have a quality hash function, it's probably better to do that.
Indie Filmmaking Embraces Film3 Crowdfunding at Cannes
I’ve been considering an M2 air with maxed out ram for development and I’ve been wondering what kind of memory pressure people with Airs are facing.

On Intel I needed 32mb for all the containers at work, with a fairly modest CPU, but I expect my own projects to be a bit lighter.

None of the reviews are useful. All useless junk about exporting 8k videos.
Aways nice to see good reasoning. Though I'd veer away from it if the task is too large and the program needs to be updated frequently by multiple people.

Also, you got any recommendations for a c library for server apps?
> Does it matter?

You are commenting on a thread discussing just that, so yeah it kinda matters.
It's useless to discuss the "boring" aspect as it's completely subjective, but right-left is very easy to explain. When you look at modern art (the last 50 years or more), it is extremely difficult to find right-wing artists. They definitely exist, but they are outnumbered by those who don't show any political affiliation or those who are openly left.

It's quite natural: the left in general is more about the freedom of expression, "progress" as in finding new ways, whereas the right is by nature conservative, so it's harder to make new breakthroughs in art.
I tried to combine both of these approaches. The link takes you to a page that explains the game with screenshots and a trailer - no need to play it right away.
This was assigned reading in one of my university CS courses, and although it was great fun then, as we were mostly all novice programmers learning Java of all things, the madness of the story didn't hit me until a few years later when I had done much more work with C and pointer math.

This part in particular, taken from Wikipedia, still reads to me like Necronomicon level black magic:

> But when x was already the highest possible address, not only did the address wrap around to 0, but a 1 was carried into the bits from which the opcode would be read
You definitely can with emulators for other platforms, such as AetherSX2 for PS2 and Dolphin for Wii/GC.
Book on the subject - https://www.goodreads.com/book/show/827.The_Diamond_Age
Wikipedia says "The adoption of CinemaDNG among camera manufacturers appears to be hindered by Red Digital Camera’s patent US9245314"[0]. Also there'd be no reason to remove CinemaDNG from their cameras otherwise? Plus I'm fairly sure Grant Petty alluded to patent issues when he announced they were removing CinemaDNG and adding BRAW.

I'm not intimate with the patent but from what I understand you're right, CinemaDNG is just a sequence of stills in a tarball. In which case it seems nuts that the patent office granted and upheld a patent covering that.

[0] https://en.wikipedia.org/wiki/CinemaDNG
Almost 40 years old technology and we are still unable to "print" these dies at home.

Can you imagine how much fun that would bring if you could design your own IC and just hit print, then load the die into the carrier and solder the pins?

There isn't even a service like JLCPCB where you could get your custom ICs made and shipped to you.
A similar idea is to think of the linear probe segments as large buckets that can store multiple items. The difference is that the hash identifies the bucket rather than an individual slot, so you always scan the whole bucket rather than maybe landing in the middle of a segment.
While it may be difficult for someone in their 50s, I found indoor rock climbing, particularly bouldering and top-rope climbing, helped a great deal with a mild personal fear of heights, because it breaks old negative associations with heights.

I found top-rope climbing quickly acclimates people to heights, because it repeatedly puts you in situations where you are constantly in high places 5-30 feet off the ground, suspended by ropes, in a situation you're having fun. Having tied all your own knots so that you know they're good, having the ability to ascend gradually and have someone lower you if you get too nervous, having someone below encouraging you and ready to catch you with friction tools ensuring even if you let go of the wall, you just stay suspended at your current height, and getting a better physical sense for one's body as a physical, gravitational object, quickly get you used to being in the air in a context where you're actually having fun, which strongly helps break the fear.

Bouldering, rock climbing on walls without ropes about 5-12 feet in height over thickly-padded floors, accomplishes many of the same goals, and also accustoms and trains you to fall safely and trust in your balance and strength when up high. It's also easier to get started as a beginner, as all you need are rock climbing shoes and a gym.
Technically, it means that any system holding binaries is capable of holding data identifying a user, which has crazy gdpr implications.

Practically I don't expect this to have any impact beyond state surveillance, where obtaining a binary for a virus (or, you know, drm-defeat code) can identify its creator against any public code they would have posted elsewhere.
You can't play the latest and greatest (graphics-intensive games at least), but there are many titles that work just fine, and the performance of the x86 translation is surprisingly good. There are even a handful of games with native builds, like World of Warcraft and Disco Elysium.
Geopolitics of Subsea Cables in the Arctic – The Arctic Institute
Compilers are generally not permitted to change the layout of your data, and standard library data structures and algorithms are generally not that great. Sometimes this is because of unreasonable constraints imposed by standards or APIs. For example, c++ std::unordered_map basically must use separate chaining, even though this is really bad, and many standard library sort functions are unnecessarily slow because they expose an API that takes a comparator (so they cannot use radix sort).

Even very popular and reputedly performant data structure implementations like absl::flat_hash_map are pretty easy to beat for specific use cases. In this specific case, it's easy to beat because it incurs a cost of at least 2 cache misses per lookup, rather than 1.

Edit: As an aside, I have sort of lost faith in "sufficiently smart compilers" as a result of recent adventures in SIMD programming. Compilers seem to do an ok job of constraint propagation on integer values stored individually, but will not do the same sort of thing for values in SIMD registers. For example, if you'd like to compute the vector of u32's resulting from multiplying some vector of u32's `a` by some constant `b` and taking the high 32 bits of the result, there's no instruction for that (in AVX2). There is an instruction to compute the *full* 64-bit multiply result of the lower 32 bits of 64-bit words though. So you can get the high bits of the multiply results for the 1st, 3rd, 5th, and 7th u32's within each lane using that instruction. To get the other u32's into the right places you can use a 64-bit immediate shift by a constant, a shuffle of 8-bit values by a constant, a permute of 32-bit values by a constant, or probably some other operation, and the compiler won't replace the one you pick with the best one of these options even though it's trivial to show these are all equivalent. Then you can multiply that value by the constant. Now your results are in the 2nd, 4th, 6th, and 8th u32's within each lane of 2 vectors. You again must move some of them over using one of the aforementioned 3 or more equivalent methods, and then you must blend the two vectors together. If you literally write a blend here, you may find that it's slower than using a shuffle and a bitwise or, and the compiler will not perform this substitution either.

Much of your comment is about much more difficult program transformations than these. I would like compilers to do these things, but I'm not holding my breath.
Their deck is hilarious, talks about their single digit thousands strong Slack community as if that’s something to brag about.
Contrast the HN story running alongside.

Over 100K Cars Cut from North American Production This Week Due to Chip Shortage

https://news.ycombinator.com/item?id=32394085
I can see one right now, on my wrist :-)
Doesn't matter, judges have no obligatons to be just or fair. They just have to interpret the written law and precedent law as well as legislate themselves by way of precedent. Justice means to correct wrong and make it right. The law is written such that judges can apply their interpretation of it with no obligation towards reason or implied rights and wrongs by the legislature.

Take asset forfeiture for example, there is no law that permits it explicitly but there are laws about property rights,due process and privacy. By precedent and in ignorance of what common sense tells a reasonable person "this is unfair" they steal property from people without due process.

The legislature can't even stop companies from being treated as persons which any sane person will tell you is unreasonable or illogical.

It is all merely theatrics to veil implementations of hidden agendas and ulterior motives.
Ceph SQLite VFS (Libcephsqlite)
But not always. Some algorithms cannot be written in a way that would remove run time bound checking from rust e.g. KMP.
> Please take a few days to review John Regehr’s excellent blog. I’m certain that you’ll find dispelling your ignorance rewarding.

I regularly read his blog and I found nothing to back you up. He mostly work on a generic compiler toolchain (LLVM) other than C-specific tools and his work easily translates to many other languages using LLVM. And even a rare C-specific tool like C-Reduce is not that hard to adapt for other languages; C-Reduce is actually language-agnostic and works well for many other curly-brace languages as well.
I concur with you - everything I want to do in Rust or Golang, I can do with C+Lua just as easily and with far less tooling hassle. I'm yet to find a good reason to switch from just using C+Lua for everything - but the Rust guys sure are trying. Maybe Rust+Lua makes the most sense, though ..
Hinges on how loosely a data protection authority is willing to read "filing system" because screw you, I'd think.
My sympathy with the injured workers and their families.

The technical aspects of the accident are fascinating, of course, but the main point here is how this people will learn to adapt to their new life. And they will. They still have a loving family and friends and I'm sure that Google will do their best to support them also. They probably will need skin grafts and surgery but, as they were found breathing and conscious, I'm confident in that they will survive this horrible experience. Life deserves to be lived even if personal circumstances are hard.
To be fair, it's not like the semiconductor industry has been standing still.

Lithography requires a lot of space and clean rooms.
Well, anything is possible, but the original WHATWG fetch issue mentions:

> We discussed this at the HTTP workshop:

> 1. It's okay to expose trailer headers sans semantics in the API and browsers are okay with that.

So it was discussed, and presumably at least well thought out enough that browsers were on board with it. Then, Chrome changed their mind, it was removed from the spec, and yeah, then other browsers didn't implement it either. But I wouldn't call it "likely" that they would have taken issue with it, as there was evidence to the opposite.
So essentially they found a meta-protocol like ICMP?
I don't think they suggested this.
databases and some funky stuff that would be called "ML" now.
Found this down a rabbit-hole on cloud native storage and ransomware[0] and how to add scripts to Ceph using Lua.

As a Ceph user (usually via Rook[1]), I had no idea that this existed. I'm excited to try it out. I'd love for this to be added to Rook proper.

[EDIT] Found the Ceph Blog announcement[2]

[0]: https://www.youtube.com/watch?v=57-gHFuVb7M

[1]: https://rook.io/docs

[2]: https://ceph.com/en/news/blog/2021/new-in-pacific-sql-on-cep...
There is also a more general "case against the self-indulgent narcissism in creating a new language". There are an insane number of languages with the longevity of a mushroom mentioned on HN.
A PVD sensor is a very clever use case! Thanks for highlighting.
I guess we could argue back and forth about "will you uphold the law as the judge describes it". Are jurors usually sworn in in courts?

But you're in a very difficult position morally when asked that question (assuming it's for the purpose of removing anyone who will engage in jury nullification). If you actually believe in jury nullification then morally you have to lie right? Otherwise you're allowing someone to override what you consider to be an important civil right. It's no different to someone standing outside a polling booth and refusing entry unless you promised to vote for his candidate: if you actually believe in democracy you need to lie...

To be clear, I am not absolutely convinced by the whole Jury Nullification thing. Obviously it's practically possible but I am not convinced it is a good thing, let alone a civil right or a check on power etc. I am a limey brit and over here we don't "pick" or "disqualify" jurors for better or worse. So aside from knowing people involved in the case, you don't get asked questions like this...
I was researching during the last weeks about how Instagram SEO affects the discoverability of your account. And it massively increases your reach over time. Does anyone have some other tips & tricks different from the ones mentioned in the article? I would love to hear them!
Thats what iPhones are for.