skysight-inc/HackerNews huggingface dataset:
IMO the real problem with microservices comes from dealing with distributed state - going from one data store with usually strong consistency guarantees - to many distributed stores that have no way of ensuring they are in sync is the hard part.

RPC vs local calls is trivial in comparison and you can get that level of transparency out of the box with functional programming - it's just data in data out.
The most extraordinary logistical feat in military history
Fine print: Said regimes may or may not have been the result of us sending military and weapons to kill any and all possible human rights movements and keep slave labor going.
> However one of the unexpected consequences

How the hell... like... who decided to do Microservices in the first place if they didn't know this? This is such a rookie mistake. It's like somebody right out of high school just read on a blog the new way is "microservices" and then went ahead with it.
Not a fan of their ads too, but once Linus said that he prefer to take this wildly disconnected ads than to do something related to tech, because it's less risky. They can easily recommend a impermeable pair of shoes but not a specific gpu brand or something like this.
Note that .net supports exception filters (and the stdlib uses them), so replacing exceptions with error codes would observably change behavior in a big way.
Not for long I guess. Maintaining advanced hardware is hard because it sits on top of a technological pyramid, and the next layer is also advanced hardware, which sits on top of a… you get the idea.

I think that it could be possible for them to focus on few important/key paths, in theory. But, unless they research and prepare for exactly that scenario and chances that it works would be strictly in their favor and they all would work hard, learn hard and motivate themselves through their entire life, I don’t see how it could work. Not to mention political, social, religious risks with the next generation.

I’m not 100% sure ofc, that would be no doubt an interesting “experiment”.
Thanks for the explanation. This makes sense!

The described issue gets actually neglected until now. It's like people are waiting that something happens (like just opening a project in an IDE installs malware. VSCode will at least ask whether is should trust build tasks. But nothing is in place for full blown code-gen through macro systems triggered by a mere compile).

As someone in the Scala community also pointed out once the code generated by macros or multi-stage compilation could do "anything", and some sandboxing mechanism would be required. But the discussion went nowhere. People just said you need to trust the code anyway…

In case the Rust community tackles this problem it would make also a nice reference for Scala. I think I should look how this is handled in Rust and maybe point to that in some discussion on the Scala forums.

Thanks for the pointer. I would agree that something like that is indeed dangerous!
Project Censored, Part 1: Billionaire Press Domination
Materialize | Full Time | NYC/Remote | https://materialize.com/careers/

Engineering Manager - https://boards.greenhouse.io/materialize/jobs/4732163004

Cloud Security Engineer - https://boards.greenhouse.io/materialize/jobs/4679388004

Sr SWE, Cloud Infra - https://boards.greenhouse.io/materialize/jobs/4071195004

Sr SWE, Surfaces - https://boards.greenhouse.io/materialize/jobs/4135708004

Materialize (Rust) is the streaming SQL database company that makes it easy for any developer or analyst to understand streaming data, answer complex questions and build intelligent applications using standard technology. Whether it’s delivering personalized experiences, accurately identifying fraud, building predictive AI, or discovering new business opportunities, the ability to run complex queries on multiple streams of data and keep their answers up to date is critical to making better decisions about the changing world around us.

We are focused on bottom-up developer adoption, our core software is free to use and source available, our business model is a cloud product that handles management of Materialize and lets businesses focus on building value. We have a vibrant developer community on Slack and as much as possible we work in public on GitHub.

The Materialize team includes engineers who were early employees of Cockroach Labs, Ververica, and Stripe. Our work builds on top of Timely Dataflow and Differential Dataflow, both created by our co-founder Frank McSherry, a world-leading computer scientist with decades of award-winning research in all aspects of data.

Generous Base + Equity + Benefits
> A server should deliver posts only to people logged into the instance, or to other instances it is federated with.

This feels like maybe not an unreasonable _default_, but I certainly don't think it should be mandatory. If a user wants to publish something on the internet, it's reasonable for them to be able to do that.
No — the expectation was never that people would creepily record every corner of the public sphere.

That’s anti-social behavior and it’s okay to call it such.
I actually thought the same thing, and then I found a really cheap printer ($75 all included) at my local big box store. I am way passed the 10 projects mark (not counting benchies and 3D printer parts) and bought a more capable printer.

Most of what I print are publicly available models, but some of them I did myself.

What I have done: shower head support, various boxes, curtain hooks, phone stand, drain filter, novelty dices, etc... Most of these I would never have thought of before I got my printer, and yet, these are actually useful stuff. For example, for the curtain hooks, before I had the 3D printer, I had to buy some that didn't quite fit because the original one that broke are not available anymore, and sometimes, they fell. The new ones I printed to measurements fit perfectly. That's the idea, you need something, you print it. Of course, there are many things you can't print or it makes no sense to, but it really is useful.

Also I originally underestimated PLA, it is actually quite strong. There are even ways of making it heat resistant (regular PLA starts to deform at around 60C, which can happen in a hot car).

That being said, it is still a hobby. 3D printers, especially the cheap ones are far from consumer friendly and you need to be familiar with its workings and how to setup your slicer. And there is the big one: CAD. You can limit yourself to printing others people models, but you would be missing on a lot of potential.
I am always grateful that people spent their time to create resources like this. This looks good and I would recommend it to someone who isn't a total newbie.

I also find it very interesting to look at the pedagogy of these sites. In the case of this site, it starts with a lot of history and computing. This is common for books, but asking a new user to wade through so much preamble before any 'meat' is asking a lot. In the first part where code is shown/explained:

https://www.learncpp.com/cpp-tutorial/statements-and-the-str...

is a lot of upfront jargon for a newbie to process. ('pre-processor directive')

It does do a good job of showing how to set up visual studio. However these days, a htttp://repl.it is surely a MUCH easier way to get up and running.

I wrote a very small ultra-beginner guide for a young relative to learn C. It gets right into what C code looks like, makes connections to the math they have seen in school, and tries to hold back terms until they are really needed (omitting details where needed)

It isn't polished designed for widespread use, but I think for the truest beginners its better than other guides I found on the web.

https://avsteele.com/C_Programming/
A line is a unit of change that git can report on.

If it's a separate file that is scoped to some specific concern, sure. But its tgat grouping by concern that is key. Not separation into another file. Extracting ra dom bits of code into separate files would be _worse_.
Nicaraguan Sign Language is a full language, though.
Glasswork – The Making of Born and Raised Album Cover
> What I want is the ability to decide later whether a particular call should be local, or RPC

Using hindsight, most of the systems that pretend that the network part of invoking RPCs is "easy" and "simple" and "local" end up being very complex, slow and error prone themselves.

See DCOM, DCE, CORBA and EJBs RMI.

You need instead a efficient RPC protocol that doesn't hide the fact it is a RPC protocol - like Cap'n Proto (it's "time-traveling RPC" feature is very interesting).
Remote work 100% in VR. During working hours your employer gets to track everything down to a single eye movement.
Their programs interact with different APIs and constraints on many different sets of hardware. 5 different major hardware targets, 8 operating systems, and hundreds of versions of driver software. It’s hard to do all that well and keep things validated to continue running with minimal ability to update and support it. Web programs barely work on two browsers. Server targets are generally reduced to a single target (Docker or a specific distribution of Linux).

Their tiny data is rendering millions of polygons with real-time lighting, asset loading in the background, low latency input handling, etc. at 60fps+. If my API responds to the user in 100ms, they’re ecstatic. If their game responds to the user in 100ms (5-10 dropped frames) even a few times, they’re likely to ask for a refund or write a bad review, hurting sales.

The constraints are different, but game programmers do the same kinds of optimization social networks do, just for different problems. They avoid doing the N^2 version of lighting, path finding, physics simulations, etc. Social networks avoid it when searching through their graphs.

I think the web and other big tech companies should try thinking about problems the way game programmers do.
Not sure about Australia but in many countries (at least UK, SEPA countries, Singapore), Wise is a registered bank now and the card is just a Visa debit identical to those issued by any other bank. When you "top it up" you are just transferring money into another bank account of yours. Not to say Wise isn't great (it is), just dispelling the idea that it's somehow different from a bank account + debit card.
One big reason is source control. Having many smaller files with well defined purpose reduces the number of edit collisions (merges) when working in teams.

Also, filenames and directories tree act as metadata to help create a mental map of the application. The filesystem is generally well represented in exploratory tools like file browser and IDE. While the same information can be encoded within the structure of a single file, one needs an editor that can parse and index the format, which may not be installed on every system.
We humans have really lucked out in the evolutionary casino on this planet. We could have been living in a horror show, with giant flying predators with equivalent intelligence.
I don't really have any idea, but maybe building such terminals is way easier than building other things like nuclear reactors or whatever?
The fascination and complexity of the hardest math problems
The fundamental generalisation that does hold is that you never want another team on your route to production.
I guess Jordan Peterson, which I consider a master of nonsense, has to go through the dictionary again. The Oxford Languages definition of disagreeable is:

- upleasant or unenjoyable

- unfriendly and bad tempered

At least the first definition fits well with Jordan I believe. Maybe this is his guilty conscience trying to give meaning to the fact that he is fundamentally disagreeable?
It's very early stage, so I expect I'll finish v1.0 in about half a year. I have to work on my Msc project as well. I'll post it on linkedin, so you can follow me there. https://www.linkedin.com/in/petr-kube%C5%A1-a9a48212a/
and it also does not magically guess what is in modules you haven't fetched yet. (I use LSP when I can)
Similarly, sorry, but C++ is doomed to be forever solely used for (a) maintaining codebases that noone wants to maintain but doesn't have a choice, and (b) organising cpp conferences to maintain self-confidence of a crowd of programmers whose skill set is becoming more and more outdated.

/s
/s
> So, our aspiration should always be to give those children the best shot

Yes, but you do that by actually helping them, not by hitting those who do well or already have the environment to support them.

You actually help them by changing schools' culture, and investing so as to cut class sizes and to extend school hours.
... in the US.

"Classical liberalism, contrary to liberal branches like social liberalism, looks more negatively on social policies, taxation and the state involvement in the lives of individuals, and it advocates deregulation.[10] Until the Great Depression and the rise of social liberalism, it was used under the name of economic liberalism. As a term, classical liberalism was applied in retronym to distinguish earlier 19th-century liberalism from social liberalism.[11] By modern standards, in the United States, simple liberalism often means social liberalism, but in Europe and Australia, simple liberalism often means classical liberalism.[12][13]

...

In the United States, classical liberalism may be described as "fiscally conservative" and "socially liberal". Despite this context, classical liberalism rejects conservatism's higher tolerance for protectionism and social liberalism's inclination for collective group rights, due to classical liberalism's central principle of individualism.[14] Classical liberalism is also considered closely tied with right-libertarianism in the United States.[15] In Europe, liberalism, whether social (especially radical) or conservative, is classical liberalism in itself, so the term classical liberalism mainly refers to centre-right economic liberalism.[16]

"

"Liberal" in the US -> some social freedoms, but restricted in certain ways + economic restrictions.

"Liberal" outside the US -> social freedoms + economic freedoms.

I learned this as an American abroad when someone called me, who would generally be seen as conservative / libertarian in the US, "very liberal" when discussing gay rights (pro), gun rights / armed self-defense (pro), and abortion rights (pro-choice).

Again, it's just a fine point when discussing in an international context (like on HN). When speaking only with Americans, you'll never need this distinction, it's just good to be aware of it when discussing with non-Americans or when reading about foreign politics (e.g. FDP in Germany is a "liberal party" in the European sense of the word, but their policies are socially liberal and fiscally conservative. If an American reads "liberal party", they would be surprised to learn that they campaign on cutting taxes, pro free market, privatization, etc., yet are also pro gay marriage and are for legalizing marijuana: https://en.wikipedia.org/wiki/Free_Democratic_Party_(Germany...)

https://en.wikipedia.org/wiki/Classical_liberalism
GPT-4 could pass bar exam, AI researchers say
Given dependency chains the business case for these “quick” switches was often poor as well. Yes, Dropbox had $$ and guido - but that wasn’t everyone and most code was 2 at the time.

Many folks would have been ok updating to 3 compatible approaches if it didn’t blow up their 2 story. That’s what ultimately happened in lots of cases when it became more doable. The rip and replace everything at once was a weird goal
There is another downside, much more problematic in my experience - the failure modes of a distributed system (even over multiple processes in the same machine) are very different. The other process might be killed by OOM manager, user initiated kill signal, or a bug. All of a sudden, asking an object for its string identifier xyz.Name() becomes a possibly failing operation even though it succeeded a microsecond ago.
The FBI kind of does that: https://www.theguardian.com/world/2011/nov/16/fbi-entrapment...

As such, a terrorist organization doing so wouldn’t surprise me either.

As for what I see happening in a dystopian sense, I think that the hacking of smart homes will become more common. I think the hacking of smart cars will become more common. I think that at some point, the central banks will introduce CBDCs and governments will gain the ability to completely destroy political opponents via monetary control.
I don’t mean to be snarky but how is that an “unexpected consequence”? Were the pros and cons just never considered when deciding to use micro services? Additional networks calls are one of the most obvious things to go on the cons list!
Python2 had the 'unicode' class for characters, and the 'str' class for bytes.

The whole 2 to 3 debacle was only because somebody thought that naming your string class 'unicode' doesn't sound nice enough or something.
I think a lot of microservices are defined as separate apps and code repositories. This sounds good for initial build and deployment but the long term maintenance is the issue. Developers like the idea of independence of other teams writing parts of the overall solution but that trade-off can mean a lot of overhead in maintaining different code repositories of the same stack.

When a critical vulnerability comes out for whatever language you are using, you now have to patch, test and deploy X apps/repos vs much fewer if they are consolidated repositories written modularly. Same can be said for library/framework upgrades, breaking changes in versions, deprecated features, taking advantage of new features, etc.

Keeping the definition of runtimes as modular as the code can be instrumental in keeping a bunch of related modules/features in one application/repository. One way is with k8s deployments and init params where the app starts specific modules which then lends itself to be scaled differently. I'm sure there are home-grown ways to do this too without k8s.
I'd be pretty surprised if the C++ move semantics were considered more intuitive by someone not familiar with either and then learning both for the same time. Rust's semantics do depend on the type in that anything that implements Copy will be implicitly copied rather than moved, but I'm sure I understand why that's unintuitive. I'm also not sure what you mean by Rust having it's own move operator; the only thing I can think of is the `move` keyword used for indicating that closures should capture by move rather than by reference, but it's not used outside of closures as far as I'm aware, so I suspect that the confusion here is more due to expecting things to behave like C++ rather than the Rust semantics being "unintuitive" in a vacuum.

At a high level, I think the most unintuitive part of moving in C++ compared to Rust is that it can silently degrade into a copy without anything indicating it. In Rust, trying to use a value after it's been moved will give you a compiler error, at which point you can reconsider whether you do in fact want to explicitly copy or if you made a mistake or need to refactor. In C++, the only way I'm aware of to verify whether a value is actually moved or not is to use a debugger. The benefit for requiring explicit copies is similar to having bindings be immutable by default and requiring an explicit `mut` annotation; if you start out enforcing the constraint that things should be moved or immutable, fixing it later if you find out it won't work that way only requires adding `.clone()` or `mut` in one place. On the other hand, if you start out with implicit copies or mutability by default and then want to change it later, it can be a lot more work to refactor the places where the variable is used to not violate this, and it may not even be possible in some cases.
Show HN: Triangle Habits
I built a free app to build consistent habits over time, by starting with a single repetition and building up from there.
I sync Obsidian with Git and use pandoc for book / ebook generation (or Foam with Visual Code might work too).

Scrivener can synchronise with Git too - albeit indirectly (it sync's with a folder & I use a simple script to keep it up to date)

If you need to organise research you can sync Wiki.js with Git.

However, Gitbook or mdBook might be easier to use for a single book project.

https://www.gitbook.com/

https://rust-lang.github.io/mdBook/

https://foambubble.github.io/foam/

https://js.wiki/

https://obsidian.md/
The transition would be faster if we suddenly didn't have any more gas, but it would also be very chaotic. This looks like a decent middle ground with the gas being more expensive, increasing the incentive to stop using it while still being available to the people/business who haven't been able to do so yet.
I’m curious why installing Python 3 causes Python 2 programs to break.

The only reason I can come up with is that the installation process is wrongly changing the `Python` symlink. Anyone have other known causes? Does it screw with dependencies?
> Honest question: do you think the same exact 10+K lines of code are easier to read spread across 1,000 files?

This is a fair point but assumes 1 particular use case. It is easier if you are just concerned with a bit of it. If you need to deal with all of it, yeah, good fucking luck. 10k LOC file or 1k 100 LOC files.
Nothing wrong with that, besides I think the people that only stick with one language are rare these days. It was more humor than anything, and I agree with you. I spent the last year or year and a half or so using Rust quite a bit more than I'd originally anticipated, and it's been cool in a sudoku way that tests my chin scratching abilities from time to time..
Do you know what the rationale is for such long unlock codes in the URL?
Hadn’t thought of this. Fascinating thought. How would we know for sure that the deepfake didn’t bypass auth somehow… I guess one would need a secondary auth system, like a message over signal or something.
The future of software creation: podcast interview with Amjad Masad
Really interesting point but I know I've gotten older when he said 'my audience is middle-aged' but the way I read the chart from google is that most of his audience is between 21-34 with a tail of older than that and a steep drop off after the age of 40. That is older millennials for sure, but is that 'middle aged'?

Middle aged traditionally is 40-60.
I've said this from the start: cloud functions should be a compilation target, not directly developer-facing. Cut out the monorepo middleman.
Once set up it is fine. The setup felt a little more hands-on and idiosyncratic compared to Heroku or Scalingo. Moving a free tier app from Heroku to fly.io, I also noticed a few small details that Heroku had conveniently taken care of, e.g. installing only production dependencies by default.
Forget isolated people; we've been attacking social cliques via artificial influence for over 100 years now. The recent change is that identification and automation has improved.
>Every decision is a trade-off.

Sure, the problem is that people are making the trade-off without justifying the decision.
Organize files, archive emails, save Web pages and notes, search everything