skysight-inc/HackerNews huggingface dataset:
Personally, I do find back-end easier to reason about than FE, although it will almost certainly depend on your choice of language/framework to a greater or lesser extent.

In C# MVC (Or PHP MVC like Yii which is very similar), you have a very clear separation of what is what. A single action is where most functionality will sit or be called from. A view is where most front-end code sits (and if writing APIs, this is largely not relevant). Models are for the most part just data properties, perhaps with atributes for validation. Debugging it for the complicated cases is still very easy.

My experience in front-end is that debugging is very difficult. It is not easy to follow the path of execution, partly because of the large complexity of libraries/web-packing type stuff and partly probably depends on the tools you use. You have to consider a LOT of state in anything other than easy applications. I guess these might get better over time as people learn what works and what really doesn't but most of the larger FE frameworks have all had large changes to their patterns/opinions in a relatively short space of time.

I also don't why but I find C# much easier to read and understand than JS even though JS is based on the same syntax style. Again, might be the tooling, coding style or just the complexity of things like Vue classes but I can't easily review JS (or TS) code whereas I can spot mistakes in C# from miles away.

Like other have said though ymmv and whatever you do, you always need to keep up, keep learning and believe in yourself.
The DBS - worlds best digital bank - is an absolute joke. Their local app is terrible in Singapore and you can't even download transaction history more than 6 months!
I already said this above but

The source of experimentation have been Phil Lord and Christopher Miller, who have been pushing for experimentation ever since they directed the extremely successful Lego Movie.
They also did Cloudy with Meatballs.

They were producers in both Into the Spider Verse and Mitchell’s vs the Machines. They are the reason why this “willingness to do experiment” has happened - they succeeded beyond everyone’s dreams with Lego Movie and have taken a producer role in films that want to push the artistic envelope in 3D animation.
Ask HN: How do I know my Covid-19 vaccine is working?
To find out an individual's immunity against hepatitis B, we use standard serologic testing [1]. With COVID-19, the FDA[2] and CDC[3] state that you "should not interpret the results of your SARS-CoV-2 antibody test as an indication of a specific level of immunity or protection from SARS-CoV-2 infection".

Which methods can be used to evaluate a person’s level of immunity or protection from COVID-19? How do I know if my 2nd (or 3rd) dose worked? Are there any ongoing trials (for immunity tests)?

[1] https://www.cdc.gov/hepatitis/hbv/pdfs/serologicchartv8.pdf

[2] https://www.fda.gov/medical-devices/safety-communications/antibody-testing-not-currently-recommended-assess-immunity-after-covid-19-vaccination-fda-safety

[3] https://www.cdc.gov/vaccines/covid-19/clinical-considerations/covid-19-vaccines-us.html?CDC_AA_refVal=https%3A%2F%2Fwww.cdc.gov%2Fvaccines%2Fcovid-19%2Finfo-by-product%2Fclinical-considerations.html
Also, last time I checked, in Azure, a single public IPv6 address costs the same as a single public IPv4 address...
In my opinion the major difference is dealing with Databases. I'm a 'backend' only engineer, although I play with svelte/vue in my free time. I feel confident in my ability to solve almost any issue, except a database one. To the point where I don't accept jobs where I have to manage a db.
It's simultaneously fascinating and frustrating when you run into a problem that suits those criteria.

In this case of course the hint is well disguised: if you had an unmarked board you might not think to checker it, but a checkered board is a common thing, so you might not think anything of it when someone presents it as part of the problem.

Reminds me of how you find the area under exp(-x^2). Stare at it for a bit and it looks like it can't be done. But if you add another dimension to it, you find the solution.

And this is what is both fascinating and frustrating. You could add a lot of things to a problem without making any progress, but there are certain things you can do that make it simple.
I wouldn't call it stupid unless you're participating in the VC ecosystem. If your aim is to build a sustainable business and get rich slowly by all means go for it. But if you want to get enormously rich the American way is clearly superior. Go big, fast, or go home. If the VC loses all their money who cares? Play at capitalism and lose, you lose your stakes. If you as a founder fail, well either try again or play a different game, one that doesn't involve questions like "Is the total addressable market here over a billion dollars a year?"
> Tech salaries in continental Europe are significantly lower than in the US or UK.

With the exception of Switzerland.
I have so much empathy for people in this kind of situation. There's a brutal inhumanity about the tech hype cycle and how it deprecates and discards skills that humans poured their soul into learning in good faith. What should be rich and rewarding careers building on experience and knowledge, continuously gaining over time, become more like a mouse wheel ... constantly running just to keep up... until you eventually fall off and are cast aside.

The only advice that I have is learn the crap out of the fundamentals - they are the only things that won't change. Then use that deep strength to make surfing the hype cycle less exhausting. Use that to "lean in" and embrace change.
C and C++ memory managements are alike, C# doesn't need reference counted library types.

If you mean RAII, they can be easily done with IDisposable, using and Rosylin analysers that throw errors when usings are forgotten.

And yes, manually memory management should be last resource, proven by profiler data.
Language server is a Microsoft offering
I'm quite OK with Visual Studio Code and its vim Emulation. I have used it in one form or another for a few years now.
My submission did violate the conditions. I was just recollecting what happened; it is not a complaint.

I am at variance with those conditions, though. I refer to the benchmarks suite itself, broadly. When programs dip into GMP, PCRE, etc., we are no longer comparing the speeds of the different language implementations per se. Now, they are mixed with FFI speeds of those implementations, the choices of the foreign language libraries/algorithms, etc..

In the same vein, as you remark in your second footnote, for a fair comparison, the same algorithm should be used in all programs. That will shed light on the strengths and weaknesses of the different language implementations better. I don't intend to say that the current system is useless; I am saying that using the same set of algorithms is likely to be more illustrative.
For what it's worth, I agree with you. But I don't know if that is because I was just trained to google everything.
Great comment. I've worked on modeling a specific kind of data as graph and it was too limited. I thus used hypergraph and realized after a while it was in fact relational data, with hyperedge being like table like you explained. I still sticked to the graph model as it was convenient to not have the relationships hardcoded in a database.
I didn't say Span/Memory are a last resort, I said C style memory management (AllocHGlobal/Free), despite being somewhat improved by Span/Memory, remains an absolute last resort. Span/Memory aren't primarily aimed at handling unmanaged memory, though they're useful for it.
Write automated tests for your code as you're writing it. Hitting the entire system is fine. If your code is properly factored then it should be easy to do. If not, then you get to learn how to factor your code.

Test your backend with real data, not playsets. So use millions of records instead of 3-4.

If you're touching database, then learn SQL, and learn the tooling for your database. Learn how to read a query plan, use the optimiser and design indexes.
Lora to the Moon and back: Messages bounced off lunar surface
Backend is generally easier to reason about when you're proficient, but harder to actually be proficient with. Frontend is a jungle of frameworks, ideologues, soapboxing and bloat - it really isn't all that complicated to understand, it's just been over-engineered beyond recognition.
The same issues that make frontend harder to do to certain degrees of “right” also make it fuzzier – with backend, if its not done right it (perhaps intermittently) definitely, undeniably doesn’t work.

Frontend not done right is often fuzzier and debatable, so it is simultaneously harder to do frontend optimally and easier to do frontend well-enough to get away with.

This is, perhaps, why pure front-end work tends to pay less well. Quite a lot of the time, good enough to get away with is, well, good enough to get away with.
Agreed.

Less is more. Tools should do one thing and do it well. I don't want to install a huge package and dependencies just to get one feature. Generally feel pessimistic about the "future" of IDEs. The phrase brings bloat to mind.

If I need the feature, let me add it to emacs. In most cases someone else has already provided a config.
MAS requirements are incredibly specific. However, I wonder if that opinionatedness could sometimes make things worse. We had to do a lot of work to convince MAS that AWS was safe enough for our tiny operation out there, for example. Whereas, if we'd gone for a local colo, it would have been much easier - despite having worse resilience and likely worse security.
Data / API / DB design will take 10%-20% of your time at most (unless you’re a DBA), maybe as low as 1% on a large company where almost everything you touch was made by someone else.

In my experience (10+ years) backend is almost always faster when it comes to building apps. Not running your code on 300 different devices and OSs, or having to deal with 20 years of backwards compatibility is a big advantage. Plus the library churn as mentioned, I don’t know any ecosystem that comes close to JS (cue the Remix announcement from yesterday…)

At $currentJob, backend features (go + pgsql) are usually done in hours while the FE/app development (React) goes on for days / weeks. It’s a bit unnerving.

So, is backend easier? It depends, but it can certainly be a lot less stressful.
» This is just one of those situations where something goes so strongly against my intuition that I can't imagine how it could possibly be correct.

I think there are a few things at play here

1. Principal agent problem https://en.wikipedia.org/wiki/Principal%E2%80%93agent_proble...

2. Illusory truth effect https://en.wikipedia.org/wiki/Illusory_truth_effect

So like you said in the beginning, it makes sense that people selling something will highlight "evidence" that it works (principal agent problem).

Marketing is counterintuitive though. Please take a look at illusory truth effect and tell me what you think.
Define relevant
What? The mathematics shows correctly on the page for me, and that PDF is missing some chessboard images...
I recently had a massive American devops company's sales team on my case trying to sell me their product. It was obnoxious and put me off dealing with them entirely. When I insisted I was the wrong person they wanted me to hook them up with my CTO and tried to bribe me with Amazon vouchers.

I'll take the British way over that any day of the week.
curl localhost:8080/{foo,bar,baz}
It is a such tiny thing, but I really like that the metadata service is at fd00:ec2::254

On v4 it is 169.254.169.254 hence the final 254 (and other services like DNS at 253), but using the ULA range of ec2 is a simple, effective touch.
I feel like the title of your post asks one thing and your description asks something else.

If you're concerned about employability, isn't it easier for you to get up to date on front-end which you do already rather than learn something completely new?
Initiative and accountability are two broadly rewarded qualities.
It's just that by relying so much on centralized corporations we give them powers of a country/dictatorship:

- issue an ID

- create a policy

- ban if you break the ambiguous rules or trip some fraud algorithm

- not ban some people or orgs even if they break the rules, because they bring too much value to platform (= almost a bribe in some sense)

- and you can't really emigrate and take your belongings with you. Can you export your social graph from FB? Not sure if that's possible, at least not in a straightforward way, you need to recreate it on another platform again.

- Google and Apple become a little better with this last few years, there is data export (in a .zip, lol)

I agree with your second point. For non-technical users, taking care of their private key will be a huge issue. There are some models like multisig, or social recovery (you add a guardian or a set of trusted persons that can vouch for you).

AFAIK even FB has been trying out social recovery features.

This is a good post about social recovery wallets:

https://vitalik.ca/general/2021/01/11/recovery.html
I have had some luck with working across Linux and MacOS. I prefer MacOS shortcuts and use https://github.com/rbreaves/kinto to use MacOS shortcuts on an Ubuntu machine.

I also use JetBrains’s products extensively. I used to have on intellij settings repository for all products (PHPStorm, PyCharm, Webstorm), but I found the same issue that the settings wouldn’t sync in the way I wanted. I now have separate settings repositories for each product. This seems to be working better, although, it does require copying new shortcuts to each product.

I haven’t tried solely using IntelliJ Ultimate, so maybe I will see if I can configure that to work for different programming languages. I have been reluctant to do so, because the appeal of IntelliJ for me is that it makes it easy to work with a programming language. I don’t want to have to configure IntelliJ Ultimate when I want to use Kotlin or want to use Python. Maybe it has a nice way of handling that?
Lots of people who originally used Winamp way back when are using Spotify, Deezer, etc. The target audience isn't an age group but people who want that style of music app.
NASA Dart asteroid spacecraft: Mission to smack Dimorphos space rock launches
I used Yjs for a project earlier this year and so will try to explain the main difference.

They way I see it there are two (or maybe more of a spectrum of) types of CRDT, from generic and to domain specific. Yjs actually has multiple different types, very generic types (Array and Map), slightly more specific types (XMLFragment and XMLElement), and then there is the Text type that covers both a generic plain text type but also has provision for rich formatting if needed. Peritext is basically a different method of implementing the Text type which aims to maintain a little more editor intent than Yjs currently does (although Yjs already dose a pretty brilliant job!).

For a full document, you need to represent both text elements with rich text formatting marks, but also block elements. With Yjs you would do this with the XMLElement type which as you would expect has attributes and can nest further XMLElements or Text within it. Peritext does not yet have support for block types.

So, although the most common use of Yjs is for collaborative rich text editing, it can be used for many other things such as 2D/3D drawing or even gaming.

Domain specific CRDTs aim to implement an algorithm that ensures when you merge two branches of a document the resulting document maintains intent and is a "valid" document, as in it would still match the "schema" of the final document type, for example valid html. I think this is what Peritext is trying to do for inline formatting.

Whereas with generic CRDTs you may find that when you merge two branches the resulting document is no longer "valid" and doesn't match your schema for the document. In this situation you you need to manually resolve any conflicts. With Yjs and Prosemirror, Prosemirror defines the schema of the document and will throw away any part of the document that does not match. In reality this if fairly rare occurrence but still needs some consideration when designing the document and how a user can interact with this (such as toiling different block types - and that sub elements those blocks support).

The reality is if you have lots of changes in close proximity it becomes much harder to maintain editor intent as the intents can conflict with each other. However this is mostly edge cases and the vast majority of documents won't have multiple people working in such proximity to each other. If they do they will find themselves with bigger problems like the actually grammar/language not being legible at all and loosing it meaning.
The rise of decentralized money on Polkadot: New algorithmic stablecoin launches
> Facebook recruiting in London feel about as desperate to fill their pipeline as Google did ten years ago these days.

I'd say it's more size than desperation. Yeah, recruiting in London probably gives you lower bang for the buck than tapping other labor markets. But once you reach a certain size, you're going to be recruiting in basically every market, since good people are a small proportion of the population and you have a huge need for good people.

For example, Google has had great success in hiring Serbian developers. They also hire developers in Brazil, Poland, Taiwan, Japan, Germany, France, etc - 40 different countries. To exclude England would be kinda weird. Facebook being a few years behind Google makes sense, and they'll end up in a similar position, basically hiring everywhere.
Hanlon's Razor is only applicable to individuals IMO.
IDEs were a mistake, and you can see why and how if you have ever worked on a project where everyone except you is using VScode.
RANKhttps: //Www.facebook.com/Ryan-Kavanaugh-CBD-Gummies-111408788034644
How do you define Ryan Kavanaugh CBD Gummies?

DESCRIPATION :- Ryan Kavanaugh CBD Gummies>> Ryan Kavanaugh CBD Gummies>> Reviews This CBD oil is 100% normal and won't cause the dangers of specific infirmities like persistent illnesses, lack of sleep, hypertension, limited capacity to burn calories, muscle or joint agony, emotional well-being issues and significantly more. It will work on the metabolic pace of the individual.

ORDER>>https://www.facebook.com/Ryan-Kavanaugh-CBD-Gummies-111408788034644
SITES GOOGLE>>https://sites.google.com/view/ryankavanaughcbdgummiesinfo/home
CRUNCHBASE>>https://www.crunchbase.com/organization/ryan-kavanaugh-cbd-gummies-98dc
JIMDO>>https://ryan-kavanaugh-cbd-gummies-view.jimdosite.com/
YOLA>>https://ryan-kavanaugh-cbd-gummies-info.yolasite.com/
SPREAKER>>https://www.spreaker.com/show/ryan-kavanaugh-cbd-gummies-price
HOMIFY>>https://www.homify.in/projects/1093635/ryan-kavanaugh-cbd-gummies-reviews-benefits-joint-pain-anxiety-relief-price
PROMOSIMPLE>>https://promosimple.com/giveaways/ryan-kavanaugh-cbd-gummies-reviews-scam-or-safe-relief-anxiety-stress-where-to-buy/
GROUPGOOGLE>>https://groups.google.com/g/exipuremalaysia/c/SFTFklLQ-0Q
https://www.jpost.com/promocontent/best-shark-tank-cbd-gummies-reviews-fact-check-scam-686829
https://www.facebook.com/Shark-Tank-CBD-Gummies-101320325725282
https://sites.google.com/view/shark-tank-cbd-gummies-order/home
https://www.homify.in/projects/1093793/shark-tank-cbd-gummies-it-is-worth-money-or-scam
https://sharktankcbdgummies-review.jimdosite.com/
https://sharktankcbdgummiesbuy.blogspot.com/2021/11/Shark.Tank.CBD.Gummies.html
https://sharktankcbdgummiesreview.yolasite.com/
presumably they are running a script blocker that took out the JS that renders the maths.
Microsoft_craziness.h (2018)
Show HN: Build Video Calling in any No-code Platform within 5 Mins
I don't know why we blame the poor for this but a bad diet is quite literally bad macro economics and good micro economics for the companies making the profits.

It's especially bad with all the fake/bullshit nutritional science that has to be debunked which created a whole weight loss industry.

Shitty refined carbs and sugar/corn syrup might save you money over the short term but over the long term you're going to pay the price with massive health issues. Considering most poor people's greatest asset is their own body that's false economics.
Is it still a good read in 2021?
Does that mean dominos tastes good somewhere?
Advanced search/replace technique using regex and capture groups
Apart from NEAT/HyperNEAT there are also other approaches to neuroevolution (I think in this context it is referred to as "Evolutionary Neural Architecture Search" [0]). Evolution in general can be applied in different ways (e.g. optimizing the architecture, replacing training gradient descent etc.).

A while ago I co-authored a paper in this space [1] and released some code for interested folks [2].

[0]: https://arxiv.org/pdf/2008.10937.pdf

[1]: https://arxiv.org/abs/1801.00119

[2]: https://gitlab.com/pkoperek/pytorch-dnn-evolution/-/tree/mas...
..the point of the grandparent post is that if we emphasise _liability_, it's less likely we'll get any information.

This is a common understanding in industries dealing with safety. If you want to _punish_, focus on blame. If you want to focus on _helping ensure the problem doesn't happen again_, remove the threat of blame.

Also, mentioning reparations brings up ideas of ...current US political discussion... and is likely to polarise this discussion. Please try and keep this productive.
PipelineWise Illustrates the Power of Singer
Custom Software Solutions
I've given Emacs a handful of good tries, but it always lets me down. I've tried out "vanilla", Spacemacs and Doom (the last one being my favorite so far), but it's not working for me. I keep going back to good old Vim.

For example, when I was learning Clojure I used Doom Emacs for a few months, but gave up because:

- Emacs is slow. There's no way around that. It's even slower than VSCode or other IDE-ish editors. If you're used to Vim speeds, that's pretty annoying.

- The Vim keybindings are not available everywhere, for example in some plugins you would fall back to pinky-breaker, wrist punishing Emacs standard keybindings.

- There's some uncanny valley where keybindings are mostly like Vim but you have constantly paper cuts from small differences here and there, among the occasional Emacs-mode fallback.

Don't take me wrong, I can see how Emacs is a great editor, but for me, it's way too late it seems. Seems like I'm going to keep on vimming until the end.
>and enjoying the taste of it is a pretty big factor for if they want to eat it every day or not!

Yeah and people only enjoy the loudest music because they have to turn the volume down which makes everything else sound worse...

Sugar is like that, as you get used to the sugar rush, everything else tastes worse but only relatively worse, not absolutely worse.
Back-end things get complicated and with a lot of edge cases really fast. I mean, running something locally is easy enough; now make it work in a Kubernetes cluster. You have one service with one database; now you need to run that database worldwide over a thousand services. You have a REST API, now build a GraphQL interface, now replace them with a Protocol Buffers interface. You inherit a 10 year old PHP 5.x codebase and are told to update it to 2021 standards. You inherit a codebase built for x86/x64, but we want to add support for ARM CPU's.

Just a bunch of examples I can think of offhand as to why back-end development isn't necessarily easier than front-end.
Customize permissions to your APIs like a PRO
Thanks a lot for the advice, really appreciate it!