skysight-inc/HackerNews huggingface dataset:
Tool author here! I wrote a blog post that explains the motivation for building cargo-semver-checks here:

https://predr.ag/blog/toward-fearless-cargo-update/

TL;DR: Semver is particularly tricky in Rust and can be broken in many far-from-obvious ways. When a library breaks semver it can cause compile errors in every downstream bit of code that uses it. This sucks for everyone on all sides.
Definitely an option, and D is actually one of the languages I haven't seriously looked into yet (or rather, I saw it as a C++ alternative in its heydays ca 2005 and that image stuck in my head - and at that time I hadn't been looking for a C++ alternative)

PS: my main use of C is currently to write platform abstraction libraries with minimal size and runtime overhead, so need to talk directly to operating system APIs, plus WASM is a very important target. The libraries must be usable from other languages via automatic bindings generation (quite simple with a C API). Also for performance-oriented stuff, direct control over memory layout and lifetimes please.

Also personal opinion from 20 years of C++ experience: high level abstractions never pay off in the long run. Simple imperative code always wins when it comes to "malleability".
Mojo (Musings from a Julia Dev)
Almost certainly not. It happened over 20 years ago so my memory is fuzzy, but I’d guess I still had to tell it which formula I wanted to integrate with. So to study I just had to be able to identify the correct formula. You might argue that’s the not much harder than by hand, but I was exceedingly lazy (still am, but now married with kids so it’s buried deep haha).
If you wanted to do this 'opensource', your best bet is to try and get the GPU to do the work. You'd need hardware/HAL support for streaming raw data at ~15Gbits to GPU accessible memory, and after that you can probably do most of the rest using software without hardware/kernel involvement.

At a minimum, the GPU needs to be able to generate image scale pyramids, align them using optical flow, have a sensor noise model to detect misalignment, and take a running-mean of every non-misaligned pixel in each frame seen. This technique only needs enough ram for a handful of frames.

That should get you a good chunk of the way to a decent image.

As usual, the actual math is quite simple in python, but when you need it to run at 15 Gbits you'll be spending a really long time optimising assembly code for whatever GPU you're using...
> milking a system without hitting the breaking point is optimal.

That's how the people on the other side of the table feel.
Get the hint: they want you to use their app.
That's not all! Companies are allowed to use debt to buy back their stocks.
Jack Ma’s Clash with Beijing Costs Ant, Alibaba $850B
But the interpreter still gets to change the syntax of the language, right?
If you have your neck and back straight and your eyes angled 15 degrees down, wouldn’t the screen have to be like 3-4 feet away to point directly at your eyes?
The "two marshmallows from the food court" joke was brilliantly understated
That's a separate problem, and largely the same whether the sign up method is email or Ethereum account authentication. Spammers can always secure huge numbers of Facebook-accounts/email-addresses/etc.

What this does is make sign in easier and more secure, and obviate the need to keep track of passwords.
I'm a data engineer and have previously worked on projects in a large and long running company where some important operational metric is calculated using lots and lots of spreadsheets tied together by a combination of formulas and macros. Sooner or,ore likely, later, they would stop being possible to maintain and run and my team would get called in to rebuild the business logic in a (non excel and code instead) data pipeline.

The resulting pipelines were always very simple, but the process of working through complex spreadsheets was always a special layer of Dante's hell that he didn't even dare writing about.

These weren't created because people sucked at excel (those people made very simple spreadsheets with a few calculated columns in) - they where made by people who where very skilled but didn't spot that they should stop.

All those bad spreadsheets cost hundreds of person hours to maintain, and ended up being finacially and emotionally expensive to untangle.

Analysts of the world: please ignore this video and continue sucking at excel.
How about this, assuming there must be a stand-alone "binary":

cd /tmp
echo 'echo $0' > hello\ world
chmod +x hello\ world
PATH=. hello\ world
Show HN: Generate your YC application with GPT-4
This is far more relevant and exciting
This is way more exciting. https://twitter.com/MStrehovsky/status/1669502394827419648

> "A fully self-contained natively compiled C# Hello World, including GC and everything can be as small as ~440 kB."

.net classic framework is windows deprecated legacy, and really no new apps should be built on it.
Unlike the way some languages' package systems work, Rust crates don't cleanly separate the public interface from the private implementation.

In practice a crate's public interface is effectively scattered throughout a number of modules. There's no separate textual interface definition that you could diff to see what you changed without also seeing changes to the implementation. Clients importing your library compile against the whole source.

So in practice if you want to check whether you changed your public interface unintentionally, your best bet is to compare the old and new output of Rust's automated documentation system, which by default is describing only the public interface.

Cargo-semver-checks attempts to automate that.
I would just love a good Android based phone with a Blackberry style keyboard. I know there are a couple out there, but something from a current large manufacturer would be nice.
but suppose that service could give all sorts of different responses, depending on (say) the time of day and the country originating the request.
Science still acknowledges the placebo effect though- and it's so incredibly strong that not seeking it out is non-scientific.
As opposed to non-free Linux distributions?
Why not share that clip instead of an hour long disambiguation? I’d like to see it but it’s very hard to find based on your description
As a TOTREP, Victoria would have know that people think at the margin and so she would never have asked whats-her-face for her shoes at that moment. The writer fell into a classic trap of creating a contrived situation just to get the main to meet her love interest. Good effort overall, but reads like a first draft.

/s
This is misinformation
Mastering Python's Yield: An Advanced Guide
Nobody is questioning the fact that they’re allowed or not, it’s an unhealthy practice
But to where?
Could you expand on what you mean? I do think he is being intentionally provocative with the way he approaches the search of extraterrestrial intelligence, but I don’t think this is a bad thing per se.
"Turns out we can beat the hardware with triangles much bigger than expected, far
past micropoly. We software rasterize any clusters whos triangles are less than 32 pixels long." - https://advances.realtimerendering.com/s2021/Karis_Nanite_SI...

It's not just micro-triangles, it works for triangles that span multiple pixels. And that's not a special case, that's the standard nowadays, except for games targeting very low-end devices.

The dedicated hardware is nice for general-purpose support for arbitrary triangle-soups. But if you structure triangles a certain way and have a certain amount of density (which you want for modern games), you can specifically optimize for that and beat the general-purpose hardware rasterizer.
That can only be proprietary sw. Almost every program I know works on arm64, thanks to availability of the platform through raspberry pi.
For anyone using this or other wikis still hosted at Fandom, there’s an excellent lightweight front end called Breezewiki with multiple public instances you can use. My favorite is at antifandom.com, which is a short hop from any fandom.com link you find yourself on.

https://breezewiki.com/
$12M in fines hasn’t stopped Jersey Shore town from bulldozing its beach
They push updates to .NET if it’s installed. I can understand them not installing if it’s absent, because there’s no good story for what to do when that version goes out of support. If they leave it, then customers have insecure unsupported software on their systems; if they remove it, they’ll break apps that depend on it.
It’s funny because back in the day these were these kind of discussion points thrown around in the Lisp forums when folks would balk at “executable sizes”.

Specifically about how C leverages the “free” runtime of the OS while Lisp has to bundle is own.

This idea of container runtime sizes would be an amusing thread. A good test of something like Nix or Guix to a very fine grain. “We don’t need bash or ls so we removed it. “ “The VM only simulate a single network card, so we’ll scrap all the other driver. “
Sure, i get that. I still don't think I'd want to travel or commute with that kind of laptop.

That's the kind of machine I'd want docked at my desk, connected to multiple displays and all other peripherals. At that power efficiency and battery life are of little concern.
It's okay to define your terms. I'm pretty sure "RL" in this context means "Reinforcement Learning," but as a lay-person outside the ML world, it seems new abbreviations emerge all the time without me knowing about it.

This article looks like it's targeting a more or less broad audience, many of whom may not know that RL stands for Reinforcement Learning.
If you don't give the location data to the application, how is it going to do navigation, finding restaurants near you, and all other similar features?
Nice summary! I'd also add that part of the public interface you're on the hook for is never explicitly written down in the source code, and is instead derived automatically by the compiler based on a set of rules. There are excellent reasons why this is the case, but as you could imagine this doesn't make semver any easier.

For Rust folks, I'm talking about auto traits like Send and Sync.

More info and examples here:

https://predr.ag/blog/toward-fearless-cargo-update/
All makes sense but the AR glasses. What role do they play for your work?
Funny coincidence, I happened to see this just yesterday in SIGGRAPH technical papers trailer[1]. Seeing the videos of SIGGRAPH is one of the highlights of science year to me; even though I don't understand the stuff basically at all, I can enjoy the pretty pictures and appreciate the intricacies/complexity of trying to simulate/model some seemingly mundane things. In some ways it makes me look at the world in new light and recognize just how much detail there is around me all the time.

[1] https://youtu.be/VBZ2sDxvZQE
At China's most recent Congress they refer to Australia as a Special Administrative Zone. Musk is a mouth piece for China because they create his sustainable revenue and production numbers that allows him to fuel his government created empire of sci-fi fantasies.

http://www.npc.gov.cn/npc/index.shtml
Don't know about Amazon-specific details but since I have setup a similar mechanism with my team and our "partner teams" within a big company to solve similar scaling challenges I will make a few observations.

Per that wikipedia article, Brook's law is more about trying to use more people to make a late projects faster, than projects in general starting from scratch. Knowledge transfer (KT) mid-project, and knowledge transfer as the project inevitably evolves in design/implementation is the challenge due to the need for N people to communicate which can lead to n-squared communication paths which fails to scale.

Brook's law also doesn't really apply if you have some segmentation so the "Away" team and "Home" team have semi-clear boundaries of responsibility allowing them to work independently. The architecture of whatever you are working on has to have some internal boundaries where the "Away" team works on something that generally doesn't require change (or awareness of changes) from the "Home" team and vice-versa. It is presumed in this Home/Away scenario that the "Home" platform/system is fairly stable for the most part and the "Away" team is just plugging in features/new-capabilities and there is some degree of organization and pattern in the core system already.

Ability to scale with multiple Away teams is based on
1) the degree of that segmentation, and also
2) any reduction you can make in amount of upfront KT needed and judgement-based decisions that otherwise require interaction along the way and during the later review stages.

The KT and communications along the way and review process will still cause some Amdahl's-law like situations in overall scalability but you can avoid the "n-squared" Brooks phenomena.

In my experience, the problem with the "Home"/"Away" approach I've seen so far (from a manager/architect perspective more than IC) is that Away teams tend to be project based, so you spend a lot of time KT'ing between Home and Away, and when the project end, that KT goes to waste and is lost. If you have a steady stream of incremental work done by away teams, management should arrange to create a partner permanent team divided along some architectural boundary ideally (make the org match the architecture) or if needed, along some different mission statement. This is analogous to what happens when you have employee turnover on your team.
> If you use a non-English version of Excel you cannot use "if" but rather have to use whatever the word for if is in that language (for example "wenn" in German)

bloody hell, they seriously do that?
In Europe, English uses the UK flag, in the US it is usually the US flag. I wonder if a similar thing happens in Brazil with Portuguese, etc? Or what it would be for a Quebec company for french?
Whudup sheetheads!

Still can't believe that Chinese localisation BS.
Not at all actually. There is a constant stream of compromising material posted online in Europe. It's a huge problem actually, because it's notoriously hard to get such stuff taken down, as the authorities simply do not care.
I’ve heard it stated as “there’s no unselfish good deed”, a quote attributed to the famed ethicist [checks notes]… Joey Tribbiani.

https://youtu.be/jgr-CpLNCYo
I think it's more like this is intended for people who thought hpmor was ridiculous self-insert fan fiction.
Since Ruby took the best bits of Perl what advantage does Perl retain?
Yeah I've never experienced that either. But I have a son now who sees everything as a competition. I think it's just a personality trait, and that people who have it see others as competing even when others are not... mostly because they are so deep in the competition mindset that they can't believe it's any other way.
>Or if you should just spend the $1000+ on a vacation with your sweetie

Or you could skip buying a MacBook Pro, take some of that money to build a nice desktop, and then take the remaining $1000+ and go on a vacation.
I think most folks did this by accident.
Hey HN, just sharing a tool I made over a long weekend to help founders generate completed applications for popular funds like YC, Seedcamp, etc.

Just enter the name of your startup, along with a brief description of the service + founders, and it will use GPT-4 to create an application that takes into account the requirements of your chosen accelerator.
> A substantial rewrite might be an opportunity to use better tools and improved techniques that have been developed since the original was written. In some cases that could represent a huge improvement in things we actually care about like developer productivity and the quality and performance of the product.

Can you give an example? I have a hard time imagining what kind of techniques cannot be applied to an existing code base with some adaption, but require the code to be written from scratch.
My kids are old enough to have their eyes reach roll earth orbit after my jokes.
oh interesting, thank you!

So semver is something that Rust always uses and enforces as opposed to stuff I've seen where it's a manual number added by a human. Cool, I can definitely see how that would cause issues, and your examples+blog were helpful. Much appreciated!

Could there be a workflow in Rust compilation or packaging that uses your tool and says "oops, looks like the semver needs to be updated, can I do that for you?"
Not as outrageous when you realized many people are still using windows 7, which was released more than 13 years ago.
> That said, K8s is a very good way to build an "API" between infrastructure and application "teams". It can work very well if the people involved set things and processes up correctly. It can be a nightmare if botched up

Agreed.

Someone has to actually build it with a product mindset — including product-market fit. I’m one of those oddballs that have set up and scaled up infra, and have put together and delivered applications before.

In one gig, I had people joke about naming what I had setup after Heroku. I didn’t realize its significance until I came to a place where it was not done this way. Many on the application team have expressed dissatisfaction… but it’s like the infra team is oblivious to that.
I had a hard time installing Mint on a computer a few years ago.

I ended up blaming it on my motherboard because I couldn't get anything to boot and I probably read a thread about it. Meanwhile any other linux distro seemed to work fine.

No idea though.

But since then, I haven't bothered with Linux Mint. Trying to stay closer to Debian and further away from Conical.
Yes. For example, most CRUD apps are like this almost by definition.

It's more common for domain logic to be fairly simple and smeared across multiple systems and languages, though - e.g. some is in SQL, some is in a separate microservices, some is in module A and some is in module B.

In either case unit tests end up being mimetic tests: assert derp == derp.
Six arguments - seriously? Avoiding that is the point of generic programming, and probably more efficient there too
I guess they will soon deprecate the non-interactive option because of a grave security issue: it uses predictable file names (it creates files in *std::env::temp_dir(), and uses

static ALLOC_FILE_COUNTER: AtomicU64 = AtomicU64::new(0);

for the variable part of file names)

Also, fun is ensured if you run multiple programs in parallel using this allocator. AFAICT, if they share temp_dir, they’ll share memory.

Performance tip: run it from a RAM disk.
This sentiment generalizes pretty well as a bilingual programmer, or even just a bilingual user of a lot of tech.

- Silent localization of decimal separator in Libre Office calc.

- Localization of error messages (much harder googling). I have known hundreds of french software engineers, absolutely no one cares for GCC errors in french.

- Google search trying to be way to smart. Good luck trying to figure out how to get English results for a word that has the same spelling in french.

- The entire keyboard layout software stack being a giant us-centric leaky abstraction at every layer.

- And the absolute worst of all: automatic translation of YouTube video titles with neither possibility to opt-out or consent, for both viewer and author.
A pure eBPF demo for TupleMerge online-packet-classification algorithm
TupleMerge is not a simple online-packet-classification algorithm. It's expected to perform lower operations (lookup, add, delete) cost than other online-packet-classification algorithms.

And here is a demo for TupleMerge implemented by eBPF+Go without patching kernel.
Agreed, at best this is a beginner's guide, and a bad one at that.

I only skimmed it, but it doesn't even mention:

- user IDs, dropping root privileges and why you want to do that

- barely scratches the surface with volumes,

- commands like `docker ps` and `docker logs` which are essential for monitoring and debugging

- the common pitfall of exposing ports - the fact that Docker Engine binds on 0.0.0.0 by default. I've seen so many newcomers get their servers pwned because they accidentally exposed a database to the internet (and said database has weak/no auth by default)

Worse yet, it encourages terrible practices like storing secrets in files that are going to be committed in git. I find this surprising, because the author clearly uses `env_file` in docker-compose.yml, but then at the same time they're also hard-coding some secrets in the YAML and copying local `.env` file into the built image - it's all over the place, I don't think the author has a very firm grasp on Docker.
There are a lot of posts around that will be more than happy to tell you why you should move to the cloud; be it scaling, security, believing it will solve all your problems, it’s good for you resume or FOMO, you name it. In this post we’re not going to argue if you should opt for a monolithic or a microservice architecture, if and why you should do it or the benefits of either approach.
You probably know your business needs better than anyone anyway.
I don’t think dividends are a great incentive as they encourage short term wins over long term thinking.
It's basically just the "I'm not saying it was aliens" meme. https://knowyourmeme.com/photos/158329-ancient-aliens
Except that more efficient solutions can be implemented much more practically? Solutions that you'd need to bend over backwards for in C?
Writing unit tests can help catch early bugs, but once they're done and green, I don't think anyone expects them to catch new and exotic bugs (it happens but it's so rare).

Instead they stay as a live and enforced documentation of how the target function behaves.
America Is Wrapped in Miles of Toxic Lead Cables
That's great that whoever makes your device(assuming Apple) has stores where they can do repairs. Having a repairable device doesn't mean you have to repair it yourself, it just means you can.
Write everything as functions. Your dependencies are also functions, which are passed in as arguments to your functions.

To unit test your logic, pass a dependency that does the situation you’re looking to test, Eg () => panic. With this alone you can catch most of your logic issues.

For integration tests pass the real things in, but only test the interfaces you publicly expose. With this you can discover when a dependency has broken/changed out of band.

Last thing is write your functions as you write your tests. This way you can discover requirements while it’s still easy to change your code.

Every once in a while it makes sense to refactor. The process of writing your tests will tell you when, and the tests themselves will tell you that your new code is equivalent.

This is more or less what I’ve been doing for years now and it works. Very few bugs get past this. Code is easy to read and easy to change. Abstraction and documentation happen progressively too. Boss and team mates are also happy.

Maybe the one source of friction from this approach has been the type who scream “test against reality”. That and jira.

(The one thing I forgot to mention is to model data like records as much as possible. The data is really the key, everything else above is easy.)
The married woman enjoyed having sex with a dog so she invited others to come watch.
Except that that's a linked list and not an array.
What's relevant to you is your element under test, not the dependency.

Does the component you're testing have a different behaviour for each different response? If yes, you're out of luck (but also, maybe you should split it in multiple components). If not, then you probably don't need to test every possible response the dependency returns.
So... She was the prisoner?
MSIL is easily decompiled back to C# (or VB.NET if you prefer), it has always been a thing, yes. But binaries never included the source code.