skysight-inc/HackerNews huggingface dataset:
I actually tried wasm a couple of months ago with Golang in the browser, and was very disappointed.

It is indeed way slower that JS (and yes, I tried to care about performance and understand what was going on, removed any data exchange with the browser and even ran the tests without any dev tools opened - just in case).

Not even mentioning the fact that to use it, you need to include and hardcode a dubious JS file that does not even integrate properly with npm or any build system. And that the standard wasm way to exchange variables and events is not supported (instead you are forced to use some automagic and slow DOM bindings).

The performance with alternative compilers (tinygo) was a bit better on the performance side, but the integration was still disappointing and unsatisfying.
And then the question is whether it will grow fast enough, or get overshadowed by a language that’s a bit more like a weed, growing fast in whatever direction it can, and whether it will then die because of lack of sunlight.

It’s tricky to balance features, backward compatibility and ‘cleanliness’ in a (language, standard library)
I think requiring a starter comment for submissions would be helpful and up the quality of submissions. Not sure if HN has ever tried that?
Yes, people mistake OS ABI with C, not understanding that is only a reality on pure C OSes.

You forgot mainframes or even Android (C ABI without JNI is of not much help), or ChromeOS (WASM yeah).

Linux has such an option, D-BUS, now adopting it at scale is another matter.
For me, C is perfect and just works and C++ doesnt. That being said, both their std libs are a big mess. It's absolutely horrible. The problem is the macro preprocessor. It's a horrible feature that should not have existed.
I’m currently sleeping from 8pm to 4am to help out with a newborn baby.

I’ve found that the best thing I can do to consistently be ‘on’ right at 4 is to set my bedtime, not my awake time. I’m always in bed at 8 whether I think I’ll need 8 hours of sleep or not - this has allowed me to more consistently get something done right away outside of whenever the baby’s got me busy.
May be, but...

https://en.wikipedia.org/wiki/C17_(C_standard_revision)

"C17 addressed defects in C11 without introducing new language features" means a lot.

https://en.wikipedia.org/wiki/C2x

Has a few additions compared to C++20 (https://en.wikipedia.org/wiki/C%2B%2B20)
Show HN: DeployWithFlags – Single Player Feature Flag Service
Our property management mailing list contains contacts from all the top Property Management Companies throughout the US. If you're looking for a list of property managers to market to, InfoGlobalData's Property Management Email List can help. Verified Email, Phone, Address and other contact details are available with our property management email list. Property managers who work with a network of subcontractors for any renovation, improvement, or replacement needs are listed in our extensive B2B marketing database. For your next marketing effort, get our verified property management email list and get a better ROI.
Hey folks,

I recently[0] asked if people here used feature flags with their team (particularly on the frontend). Lots of people had opinions, so I wanted to share what I built this weekend.

It's called DeployWithFlags. There are rough edges, it was built rapidly to gather feedback. At the moment, it's a free single-player feature flag service that I use (by myself) to simply toggle features in my other side project. I want to eventually add analytics, teams, and gradual rollouts, but the free tier will stay.

The web app is built on Next.js (React frontend, GraphQL backend), and the feature flag service is hosted independently on Cloudflare Workers and Cloudflare Workers KV. I'm told this means response latency could be as fast as 10ms, but the fastest I've seen here in France is around 35ms.

[0]: https://news.ycombinator.com/item?id=30114856
Heh, the website I work on went online in 1996, there was a design update in 2006 (when I joined, still as a student), and we are planning to make it mobile-friendly this year. How’s that for longevity? ;)
Depends, in companies which have good reputation its usually 1 month but in the IT outsourcing companies it can be upto 3 months.
C++'s problem, which was its killer feature for adoption, but now has grown into a problem was having been born in UNIX world with copy-paste compatibility with C.

So in many cases, although a better solution exists, many devs will code C+ unless forced to do otherwise.

Objective-C suffers from the same problem.
There aren't 200 countries with the resources that the USA has to spend on it.

Other powers with large economies also spent a lot - notably, Germany funded the development of Pfizer's COVID vaccine, and the UK funded the Oxford-AZ vaccine.

So, it would not be accurate to say that "operation warp-speed" was unique.
Same. Screens and wheels are still 100% described in inches in sales.
Cars are specified with HP and optionally kW. Never kW alone.

Outside of these weird exceptions, it's SI all the way. And this doesn't really vary with age. The web site whrere you buy wheels and TVs doesn't know your age so it will say the rims or screens are 20" regardless of who you are.
The title of the webpage is LIDAR 3d scanner.
I don't have an IPhone to try the app, so based on the videos and the information I could gather online.

It seems they have multiple operating modes. One mode use rgb image only and standard photogrammetry like meshroom. In the other mode they use the information from the LIDAR sensor to help with depth and camera registration, with some sort of RGB-D SLAM algorithms.

Looking for point-cloud fusion algorithms and the pcl library should get you started.

There is probably some deep-learning involved but it's not yet end-to-end deep learning, in particular this is not NERFies.

If you look at the recent publications of their Senior computer vision engineer, https://scholar.google.com/citations?view_op=list_works&hl=e... you will find the following "A Learned Stereo Depth System for Robotic Manipulation in Homes" https://arxiv.org/pdf/2109.11644.pdf it should get you some approximate idea of how it work.
Fail fast culture.
You have to look at it relatively. Fine the ref is getting paid $200k, but the owners in the box seats are worth billions, the gamblers in the front row seats are worth hundreds of millions, and the players are worth tens of millions. Any of those guys can slip the ref a life-changing amount of money if they really wanted to.
Do you have a reference to a hotplate you like for QFN? I have been considering one because I just don't get good results with hot air, and a reflow oven seems like a bit too much for my use case.
You can do it if you want, should be a matter of minutes with this starting-point:

https://github.com/yggdrasil-network/yggdrasil-package-freeb...
> The reason websites aren't designed to last is not due to ever-changing design trends; it's because the web is inherently ephemeral. For a website to continue to be available requires continuous effort and expense to run a web server. This automatically shortens the time horizon when you're developing for it.

Interesting thought, but I don't think that's quite it. Everything is ephemeral to some degree. Everything will require a combination of resources to keep something available continuously.

For example keeping books around is not exactly free. Yeah, we usually "just have it in a bookshelf at home", but if you think about what that actually entails you'll probably start wondering if that book actually appreciates all you've done for it.

When running a home server becomes as simple as building an IKEA shelf, and when making a website is a native as writing on pen and paper, we will have a lot less bookshelves and more websites just being around and with that the expectation of them being around and zero understanding of how or why. No consideration being paid to routing, backup, space, bandwidth, because there is nothing to consider. Something that is magically and reliably available for money, like electricity. If you move you just bring the box and it works again as soon as you plug it in, like any desk lamp would.

Technology is still way too hard and inaccessible for that to be a thing.
> 1. WINE et al run in a sandboxed environment. You cannot execute other Linux software without then also finding an RCE in WINE. So that’s multiple RCEs needed in multiple points of the stack and the attacker needs to be aware that you’re running the uncommon set up of that Windows software running in WINE.

Are you sure about this? I was the impression that there's nothing preventing an .exe running under Wine from just issuing Linux syscalls, eg. execve.

EDIT: I just tested this, and indeed there doesn't seem to be any sandboxing:

cursed.c: https://gist.github.com/q3k/e5952111283ea59ee78a7699919a055b

cursed.exe (built in msys2): https://object.ceph-eu.hswaw.net/q3k-personal/b8159d43e0698d...

$ wine cursed.exe
hello from win32
hello from linux
hello from execve
Doesn't seem likely with BEM, but Tailwind could likely make this possible.
While I agree that bugs can be infuriating, the big question is when a feature is "good enough" to be marked as done. You just have to set a goal post somewhere, otherwise we'd still be in the software stone age.
Butchers are also free not to wear metal glovers, if they lose part of the hand because they don't know what they are doing, tought luck.

Any competent butcher will never cut themselves.
"How do you know".

But anyway, I don't think it matters that much.
If you only install supposedly non-conflicting packages, and there are conflicting file locations, isn't that a packaging bug?
No one in the comments mentions complexity.

The complexity of the interactions you described is orders of magnitude anything software in, say, the 80s had to deal with. Just imagine how many technologies you are using to display photos from "somewhere in the cloud" into your TV.

Now we can discuss how much is essential and accidental complexity, what alternatives are there, and whether the tradeoffs are worth it.
> It is an app written by one of the largest and most ancient software companies in history, so they should know something about making apps.

I think tradition and collective experience matter very little with the issues you're describing. It is hard to form and keep a team that is both technically excellent and will make sensible UI choices.

Additionally, I don't know if this is true, but I get the feeling that pulling "product" and "UX" into totally separate professions has meant that ownership of the overall quality is now theoretically in the hands of people who can't ensure it. A similar idea to the principal-agent problem, although in reverse.
This is perfect for a Desktop Wallpaper. Thanks for sharing!
Petrova Lines?
C did it already in 1979, yet people keep ignoring it.

> Although the first edition of K&R described most of the rules that brought C's type structure to its present form, many programs written in the older, more relaxed style persisted, and so did compilers that tolerated it. To encourage people to pay more attention to the official language rules, to detect legal but suspicious constructions, and to help find interface mismatches undetectable with simple mechanisms for separate compilation, Steve Johnson adapted his pcc compiler to produce lint [Johnson 79b], which scanned a set of files and remarked on dubious constructions.

https://www.bell-labs.com/usr/dmr/www/chist.html
Phsh, I know a guy that celebrated turning a billion seconds old. Brought pie and everything
A cup of coffee and a book.
>performance is poor they were designed for batch.

That's once again an oversimplification, performance is excellent for the intended workload.
> That said, C is not a great glue language: - Zero terminated strings are only used in C so every other language needs to do a copy to pass a string to C, even C++ (for string_view at least).

I don't think that's what he's talking about. No matter what glue you had, you need to pass NUL terminated strings to C code that uses NUL terminated strings.

The glue interface does not require any such thing though.

> A lack of fat pointers means that buffers need to pass their pointer and length separately, which is awkward, or use a custom struct which other languages will know nothing about.

Again passing things between two languages will always necessitate that. One language might have a different fat pointer implementation than another.

And the nice thing about glue code is that it can be easily automatically generated calling wrappers so "awkward" does not come into it - you change one language's data types into another's.

> - It has no standardized error handling mechanism to help with writing automatic wrappers on the other language endpoints. - It has no modules or namespacing.

I don't see how this matters for the interface glue. You can define the error handling with it how you like. You put it in your language's namespaces and modules.
It's the Webway! https://warhammer40k.fandom.com/wiki/Webway
If you're consistently suffering from brain fog in the morning, you may want to consider getting a sleep study. Sleep apnea can be a real pain like that.

Since the start of the pandemic, my morning have become all about easing in to things. I wake up, read a bit, maybe dick around on duolingo, followed by some light exercise. Then breakfast and work. Before the pandemic, I would wake up, hit the shower, have breakfast on the way to work. The slower morning routine is definitely better for me.
Redux has developed a bad name for being complex and verbose. Hence why it scared me off when I needed to choose something for JumpShip.

The current recommendation (I think) is to use Redux Toolkit, not plain ol' Redux. I've found it pretty great.

Easy to set up, fairly straightforward to use. Wouldn't hesitate to use it in my next project. In fact, I'd be inclined to jump to it much sooner.
> For scale, that's a 330-mL energy drink", do they mean that it has a diameter of around 13 cm or what?

It just means it's a standard european small-but-tall style can. There are 2shapes of 330ml cans, the shorter/stubbier one and the taller narrower one which was initially most common in energy drinks but is now used for soda cans too. Beer still uses the shorter/stubbier 330ml.

I believe they are around 14.5 cm high. Diameter around 6cm.
> back in 2000, Microsoft Office was unreliable, bloated crap that would occasionally refuse to open, reinstall or be repaired

I hope you are not describing Office 97 which is widely regarded as the best version of the Office suite. As for being bloated - today's "apps" would like to have a word with you ;)
How many Microcenter shops are outside the USA?
Have fun reading these ones instead of relying on Wikipedia,

https://news.ycombinator.com/item?id=30160590

Also you forgot the endless amount of compiler specific language extensions.
> As a long-time C aficionado, part-time wanna-be language-lawyer, and just general supporter and fan, the fact that there is no C conference was interesting.

There doesn't need to be a conference for everything under the sun. I don't see a screwdriver conference popping up around me anytime soon.
> users don’t generally pay for the marginal value of a less buggy app

Do they get the choice to?

It's not like I can get a less buggy version of MS Windows by paying an extra $20.

And while many open source projects accept donations, and many enterprise products offer support contracts, it's not like $20 gets you a guaranteed bug fix.

I agree with your point that companies don't always have a good business case to produce quality software - but we can hardly blame customers for not buying things we aren't selling :)
"There was originally thought" meaning "Chomsky thought". But it was all obvious bollocks, contrary to elementary natural selection.

Grammars necessarily have to be compatible with brain organization inherited from our primate ancestors, who obviously could have had no "language organ" carried about waiting to find some sort of use by their future descendants. Brain structures all need to be immediately useful for surviving or reproducing.

One theory has been that language runs on a bit of brain hypertrophied as a sort of peacock's tail, not necessarily of any survival value, originally, but needed to impress a potential mate. It could have been used to carry a tune.

Others have suggested language originated between mothers and children, growing out of lullabies. The two are not incompatible.
I don't think requiring but at least allow the option to explain why you posted the link. I sometimes do that with a first comment just in case it's not obvious, and maybe that's enough.
It's easy to forget how bad software was back in the '90s. Third-party software on Windows 95 was horrible--crashes due to drivers and such were a constant source of headaches that we just don't deal with to anywhere near the same frequency anymore. You could WinNuke anyone connected to an IRC server. A Web page could blue screen you by embedding c:\con\con in an image. "Microsoft Word crashed" was just a constant thing people had to live with; there was no good way for Microsoft to know about the crashes before telemetry. "Starting Java..." would regularly kill your browser. Over on the Linux side, forgetting to run LILO after recompiling a kernel would render your system unbootable. XFree86 was a nightmare to configure. Etc.

Modern software is in fact more reliable than older software.
Typically 3 months these days in India. Used to be 1 month in past, but over the years, all the IT outsourcing firms have started using 3 months notice.
“Wait, so you’re telling me we could sell a chip that only we could use to tap into for specialised performance?”

Is how I imagine that conversation going, but maybe I’m just cynical.
React does have an immediate mode style of API, however it's not directly involved in graphics drawing - the actual graphics calls are performed by the browser which is doing retained mode graphics.
> the opportunity to approach the challenge of supporting multiple platforms without the constraints of legacy engineering decisions

While I am keen on this article, I must pause reading it to come here and plead that people say "prior" instead of "legacy".

Legacy - due to its provenance in Microsoft sales techniques to mean "not Microsoft" - implies "bad". When actually the decisions may have been good, at least at the time.
If C++ had just treated C from the start, it would have been much cleaner, and nobody would have used it.

Humans are stupid, short-sighted creatures, and programmers are no exception. The only way to get C programmers to use C++ was to make C-with-classes a drop-in replacement for C. Replace "cc" by "CC" in your build system, and you magically get new features, without breaking old code (at least not too much). Sure it crippled C++ from the start.

If C++ had stopped at binary compatibility (either with an FFI like Rust or Zig, or by deciding on a subset that can talk to C interfaces), it would have forced users to use two compilers, as well as learn an entire new language. Few people would have been willing to put in the work, Stroustrup knew this, and he wanted his language to be useful now.

And now we have this mess.
This is ridiculous. Cloudflare forwards copyright complaints to hosts. If their complaints are legitimate, they should have no problem discussing the issue with the companies who field the servers it is hosted on.
Kai's Power Tools was a magical oasis of creativity-inspiring interface.

Sonic Foundry Acid, around the same time, inspired the same love for interaction. It always felt like software was worth the effort to learn, if the interface was somehow not what you would expect. The engagement was encouraged, because the boundaries for what was standard behaviour for a button were extended.

Somewhere along the line, we lost that magic. Was it when skeumorphism became mainstream, and thus un-cool, and then it became un-cool and flat designers took the helm, returning us to boring looking software that didn't encourage use?

Either way, I personally apply the lessons I learned during the KPT era every day, working on audio plugins I am reminded to make the tools fun to use and non-primary functionality fun to discover through exploration .. its so important to make a creative tool fun to use and explore.

If its just flat, boring UI elements, no matter the power of the software functions made available, the user just won't bother. Or, at least, non-power users will be left behind ..
The screenshots are not mirrored. :(
good to know, thanks :)

I see it says that now, it just didn't register to me
Sounds like it, yeah.
> Just imagine how many technologies you are using

Indeed. I weep every time I see how many layers of layers today's software is build upon.
Steven's app in that tweet is completely different [0], the reason he reached out to Josh wasn't because it was the same app, it was because he was unintentionally getting the traffic that should've been going to Josh just due to a name clash and didn't want to profit off of accidentally "deceiving" users.

[0] - https://apps.apple.com/gb/app/wordle/id1095569891
Bolt CEO Ryan Breslow resigns two weeks after securing $11B valuation
Kaffe & snus
If by "like" you mean "1/6th as much", then yes. Homicides per year per 100.000 inhabitants (https://en.wikipedia.org/wiki/List_of_countries_by_intention...):

Mexico: 29.1
United States: 5.0
Czech Republic: 0.6
Curious how Heroku compares to the new JS environments — like Netlify and Vercel. The experience and price there seems extremely nice. Wonder how Heroku has kept up in that regard.
IMO youtube is the primary platform where those looking for videos will search first up. Thing is that if you have a large number of videos, you never know when one of them will get you a large number of views and subscribers. Or maybe in future google will have different goalposts for monetization. Overall, it is always good to have videos on youtube even if you are not monetizing them.
Now with electric cars we have battery capacity specified in kWh, vehicle power in kW and charging capability in kW.

This is all as it should, however a large number of people have a really hard time groking the difference between kW and kWh.

So much so that I wonder if we should start specifying battery capacity in MJ to help people clarify things in their heads.