skysight-inc/HackerNews huggingface dataset:
The relation is in the low level nature of the language; I guess in the same ballpark there are languages like D or Zig.

> C is an extremely simple language.

It could be, however considering a language complexity in isolation is misleading. C shifts the memory management correctness to the user, which adds significant operational complexity.

Every once in a while somebody writes that 6502 assembly is extremely simple. Well, yeah, but try to do a division.

> most of that complexity could have been avoided with a better language design

Can you elaborate the specifics? I do program in Rust, and most of the complexity is due to two factors - memory management (which causes a significant proliferation of types, for starters) and low-level control (which requires extra complexity; stupid example: stack vs. heap allocation). None of them can be avoided, without shifting the level of the language (which is certainly fair; if one doesn't need lower level control, there are other languages which can be more developer-efficient).
> so everybody else can feel the joys of functional programming

That is the kind of knowing-better-than-thou that undermines the evangelism.
> Yes, absolutely. Recovering lost TOTP keys in a secure way is a difficult problem, and this happens all the time when people get new phones. With SMS the code is tied to your account, not the device.

You can store your backup codes in any number of ways. The easiest being to just download them and have them automatically backed up to Google Photos/ iCloud.

> Again, I totally agree that SMS has issues, but people arguing against it should spend some time in a usability lab with non-tech people - the kind of issues they hit will blow your mind.

I don't really care about usability when the solution is strictly worse than doing nothing. Like, to be clear, users would be safer without SMS if they just used a unique password. SMS is a terrible solution that really only solves "you used the same password across two sites, one of those sites got popped, the attacker doesn't have access to the common tooling to phish your SMS, and you can't figure out how to use email apparently".

> Then fix the SIM-jacking problem.

It's a lot harder to fix "make SIM recovery safe" than it is to fix "make email recovery safe" because phone numbers transfer all the time and emails rarely do. Further, almost all account recovery ends up falling back to email natively, so there's no additional attacks added.

At the end of the day:

1. Every modern browser supports a synchronized password manager, which makes all non-FIDO2 MFA basically useless

2. SMS 2FA adds additional attack surface through SIM jacking

3. Every modern phone is a FIDO2 compatible token

SMS 2FA is simply a technology that has no place. Attacker tooling has already started to adapt to non-FIDO2 MFA so the time for that approach is just over, the best thing we can do is stop pushing for adding new vulnerabilities just to fail to solve a problem that has trivial solutions.

In short, it adds nothing over other techniques and it strictly increases attack surface.
The comments here worry me. I've been programming C++ professionally for 15+ years and I think my comp is pretty good. I didn't shop around though (maybe I should just to see what the market is like, but I hate LeetCode or whatever it is kids do nowadays :) ).

We've noticed the C++ pool getting dry when hiring though; nowadays everyone that comes to interview uses Python and JavaScript. We're switching part of our stack to TypeScript because we simply can't find qualified C++ developers (or folks in general willing / able to learn C++).
As a European living in the US I don't get that. Seems very similar to me.
NASA's recent DART project was testing this question

The sooner the threat is detected the lighter the necessary response
> Oh, you bought booze and chocolates yesterday? You're getting fat and drunk, your health insurance just went up.

In the area where this instant payment system will go up, health insurance is universal and government regulated as well :)
Are you sure you are speaking as clearly in the evening? I don’t understand how voice command recognition could fluctuate based on AI and time of day.
That's a great path for many folks. I think building on a framework is far far better than rolling your own.

However, often there comes a time when you have multiple applications that all need a shared user data store. (Note, I work for FusionAuth, so I am, to some extent, talking my book here.)

You then have some choices:

* run everything off of one app (both features and user management) and have other apps oauth/oidc into that app. This means that other apps are now dependent on one main app. Within that app, user data and feature data may get entangled

* hive off the user manangement and login data from the main app to a separate one and have other apps oauth/oidc into that second app. This lets you deploy/manage them separately and still have one user data store. Congrats, you've just invented an auth server! This can be a good option, but that refactoring may be a bit painful, and you're on the hook for maintaining the auth server (dependencies, adding workflows and functionality).

* stand up a separate auth server (or use a SaaS offering) and have apps oauth/oidc into it. In this scenario the auth server vendor is responsible for updates (adding new forms of MFA such as WebAuthn, for example) and your apps get the benefits from it. The issue here is that this is a core part of your app, so any downtime or integration issues due to an upgrade can cause major headaches. (At FusionAuth, we work around this issue with a single tenant model and by allowing you to pin your version.)

It's engineering, so there's no perfect solution. The above are some of the tradeoffs I've seen.
There's a lot of good aspects of Windows. The NT kernel is actually really good, the driver model is largely user mode, it had application-specific sound mixing, PowerShell is really good, etc.

Don't succumb to fanboyism.
Looking at it from another perspective what is the INCENTIVE to run a Mastodon server? What are those server costs and time to setup and moderate worth?

Notoriety? Control over the users?
I've discovered this and am trying to move into pretty much anything web related.
Additionally, you're not supposed to eat before a C-section.

If you have yours at 8am, then your last meal was dinner, maybe 12-13 hours ago. If you have yours at 4pm, then you might not have eaten for 20 hours.
I remember quite a few years ago when I once went into OSM and fixed some streets in Las Vegas by "unbraiding" the intersections, in other words converting intersections with ways that joined at one point to ways that joined in a tic-tac-toe pattern. I believe this was considered best practice at the time in OSM. Well, a few days later, I got a very angry private message from some guy complaining that I edited "his" nicely braided roads and demanding that I revert the edit. I was kind of a newbie at the time so I did what he said and stopped editing for a while.

I've since gotten back into editing here and there, but the initial experience likely prevented me from really getting into OSM and becoming some kind of editing master.
Ah, I somewhat misunderstood your previous comment, my apologies. This could certainly be clearer in documentation and the priceops.org presentation, I'll take the note on that and think about how to make it more clear.

When we say "change prices", we're not necessarily suggesting "change prices for each customer/transaction, based on demand/time/demographics/etc" in an aggressive yield management approach. In fact, doing this too aggressively in SaaS products (even being too blatant or careless with A/B testing prices and plans) can lead to customer backlash. See for example common reactions to online games selling virtual goods for different prices in different locales. I'm not saying it's never a viable tactic, but it is not a silver bullet, as you point out.

However, it is the case that:

1. Your product will change over time (you keep adding features, decide to focus on some or abandon others, etc.)

2. Your target market may change (features formerly thought of as "pro" become expected at the "basic" level, for example.)

3. Your competitors will change (new entrants to the space, existing players changing their offerings, thus changing customer expectations of your product.)

4. Thus, you're very unlikely to pick the "correct" price and packaging on day 1, and it's virtually impossible to predict what will be "correct" in the future.

So, being able to adjust prices without refactoring your entire application and company is really essential, as many SaaS companies learn the hard way, and as is shown in the resources I shared in my previous comment. Eventually, your prices and packaging will most likely have to change (or at least, changing them will be beneficial, even if not existentially necessary), and making that easy is very valuable.
I've had the same experience in Java. Experienced engineers that are learning "new" Java even though those features came out years ago. I really think this will be the case for any language. Most people are not the HN type that are going to live and breath programming.
This brings back memories. I was working for Cingular when WLNP was first introduced. People were constantly trying to swap and chase after the deals, because every carrier was trying to outdo the next with a better deal.

At the time, Verizon system, apparently just didn’t work. We were seeing greater than 90% failures porting from Verizon to Cingular. The Verizon system would release the number, but then never send us the request to transfer. We would call Verizon’s WLNP support and they would just shrug and say there was nothing they could do. There were so many irate people that had lost their numbers.

We found sprint to be the most reliable

It was a long couple of months while the bugs were worked out.
Nah, in completely socialized systems doctors and nurses also usually want to have weekends and evenings off, hospitals aren't staffed as well as during business hours, and people try to limit the workload on their colleagues remaining on duty.
> For those asking "how can a 500-person company generate a ~$500K+, unpaid bill on Monday .com when most of the eng team uses JIRA (it would imply $1,000/person for Monday, which seems high, even for a year): I'm wondering the same.

> Asked the company: they've not responded yet.

https://twitter.com/GergelyOrosz/status/1583401575715741696?...
> Having a Euro bank account number only allows people to transfer to, not from that account.

At least in the case of Germany, this is factually incorrect: We do have Lastschrift, which is eerily similar to "drawing money from an account". Sure, we can get that money back during a six week period IF the receiver still has it, but it is a hassle.
I'm sorry you are going through this.

You have probably been told this by the psychologists, but just in case: start with the basics: Food, Sleep, Sport, Family, Friends. Once you have those covered these the others won't be fixed, but the mountain will be a little smaller.

If you are sure you are going to get fired, use your time left to update your LinkedIn and apply to other companies.
I left embedded for web about a decade ago and doubled my salary overnight while taking on a role that was less demanding. My experience from embedded gave me an advantage over colleagues, specifically with regards to troubleshooting systems and performance problems, (edit) and the ability to read / understand the C/C++ code that so many of these languages, their standard libraries, their extensions, etc., are implemented in, that has carried forward to this day.

I'd love to go back to embedded but I can't cut my salary in half to do it.
15-minute stick figure exercise can help you find your purpose
Not 100% sure but think that link only provides the original carrier, not necessarily the current.
I worked at a place once where one of the EEs who wrote firmware told me that algorithms and data structures were pointless because in the end it's just bits in a linear address space in RAM.

The industry has basically screwed itself. It's pretty typical for companies to consider embedded/firmware as EE work that is done in the gaps of the hardware schedule. EEs generally make bad programmers which shouldn't be a surprise as their background is usually not in software development; I similarly shouldn't be hired to do EE work. Because of this the code bases tend to be abysmal in quality.

The salary for these positions tends to be tied to EE salaries which for some reason are quite low. So it's hard to attract good talent willing to deal with the extremely poor code quality and all of the other extra challenges this field has on top of normal software challenges.

Since few software developers are attracted to this niche there's not a lot in terms of libraries or frameworks either, at least not in comparison to most other software ecosystems. I've had a start-up idea for a while now to really close that gap and make embedded development far more sane in terms of feature development and such, but I worry nobody would even bother to use it.

I've been in the embedded space for years now and I've been considering bailing because the problems just aren't worth the pay.
How did this work? Did they put $10,000/mo on their website?
2fa.directory
Verizon, GitHub, Godaddy, Cisco, Google, NASA. If you don't like a debian package you can roll your own which is dead simple. I've never worked for a company that is 100% reliant on OS provided packages. Seems like it is true...
I think it was management that chose to go with a cheaper model, not the engineers. They got to think about profits.

You do realise that a neural net, given the same input, will always give the same output, if you set your random seeds of course. It doesn't depend on time of day unless you degrade the service when it is overloaded - say, you use a different model in the evening that is 10x faster but 2x worse.
> That's an American thing, apparently due to a quirk that allows anyone with a US bank account number to draw money from that account.

What? I thought the main problem was how easy it is to do identity theft in the US. You mean I can steal someone's money with just their account number ?!?
Or having to trudge around in the rain for a phone booth and having to page through a worn out phone book just to make some dinner reservations. Yuck.

Pretending like this was the only way to make a dinner reservation reminds me of the juice loosener informercial from the Simpsons. https://www.youtube.com/watch?v=viejY6UZ5Bk
More static analyzers is the way to go

Similarly, D also is pushing for more static analysis to enforce safeties

I feel like D already is the next C++, it feels like C++ catching up on D, they went with the same syntax as D for modules, it's quite telling
Copying the code verbatim would fall under copying the code pattern. You talking about changing the name of the variables or something?
I think that a significant part of Rust complexity - among the other complexities - is that, due to the memory management design, a lot of types are duplicated into borrowed and owned types. I think it's a unique form of complexity among languages (but I'm no expert).
Yup and as we know we don't get paid based on the difficulty of the problem we are solving.
Sure, they are in different language families. But a chart showing the "top dozen functional-programming languages" should include all languages that were given a separate workshop at the International Conference on Functional Programming (https://icfp22.sigplan.org/): Haskell, ML, OCaml, Scheme, Erlang, miniKanren (the last two are arguably specialised enough that they could be excluded to put more focus on general-purpose languages).
NASA's Dart mission yeeted itself into Dimorphos a few weeks ago to gather data that will hopefully help build a model of how much energy it takes to divert an asteroid.
Technically that's a fine idea, but practically - I think this will merely be a distraction and slow everything down. There's not a lot of point to brunsli if you've got jxl, and brunsli would make further non-transcoding improvements that jxl also enables harder to reach. It's also going to be yet another adoption problem (though given chromium's market share I guess they can just force brunsli into real-world usage without firefox or even webkit support). Finally, if jxl falls through permanently and brunsli succeeds - it's still probably time to look for a new codec; perhaps AVIF might succeed where jxl wont (I hear your concerns, but that might be acceptable or improvable). After all, there's a very good chance that given the presence of the AV1 decoder the extra complexity of AVIF in chromium might be very small, which seems to be one of their concerns. AVIF might render brunsli the kind of intermediate step that's not worth it.

I think voting up the issue is probably a quicker chance of getting a satisfactory resolution (simply supporting jxl). Alternately, perhaps a WASM based polyfill might be possible, and hope that if at least one other browser adopts it natively and a polyfill is available, that chrome will reconsider.

Worst case - if this turns out to be irreversible - even then I think it's more strategic to let the inevitable dust this will cause settle, and then start picking up the pieces afterwards - the discussions in the interim might reveal more of the chromium teams reason for blocking this, which might inform future steps.
I wouldn't say that makes it unusable, I use it. But it is annoying using third parry to search and then using OSM for navigation.
Ive produced over 5000 images on my local SD install. Currently, there are many dead giveaway if you produced the art with it. Specifically around hands, feet, holding things, pupil directions. Of course these things will get better with time, but currently there are many things that exposure generative art.
"I don't need X -> existence of X is a problem -> X should be removed" - this implication of yours seems a lil bit narcissistic to me.
Definitely not. It depends on who you and your circle of friends are, of course, but dating apps are definitely way higher usage than phone calls among anyone I know. I use my phone as a phone less than half a dozen times per year. If the phone functionality vanished, I don't think I would mind.
That’s fair, when I said they “can’t do those jobs”, I meant a combination of “they can’t do and / or can’t get hired for those jobs”, and I don’t see why Twitter slashing staff, requiring more work, and likely paying less is going to change that.

Why would a job at Twitter be more accessible to someone in 2023 than it was in 2021?
CentOS used to a recompile of Redhat, guaranteed binary compatible, with a 10 year EoL.

AFTER CentOS came out they changed it from 2029 to Jan 1st 2020. Now CentOS stream is not a recompile, but has less tested changes BEFORE RHEL, and is now a rolling release with a 5 year EoL.

So for those that need compatibility with RHEL, that's broken.
Howdy Frog Eyes! (not sure how else to refer to you, not sure how many underscores that even is ;)

Back when I worked at a YC company circa 2012, there were some cultish founder-only events that my founders said they'd promised to keep in strict confidence and never divulge the details of. Whatever that means.

Mystical Secrets of the YCapitalism Brotherhood, I suppose.

Queue spooky music
I find this an amusing take. I'd more fully accept "declarative should be the future of software." In that, at large, I'd rather larger chunks of the software I am responsible for to be declarations of intent, if at all possible. That said, the rubber still hits the road somewhere, such that the abstraction should be tailored to fit the domain, if you can.

As a fun challenge, look at the definition of pretty much any fractal. It is a mathematical construct that is almost certainly not equivalent to what most "functional programming" environments let you do. Indeed, most definitions are imperative by nature, that I recall, and yet they work remarkably well.

Really, anything from the book Turtle Geometry would have a challenging time in a lot of functional languages. Which is not that most functional languages are bad. Just they don't usually even try to abstract over the graphical. I hate that folks see how well the abstract over functions and assume that is all programming is.
You can legally ask someone to work 24/7 everyday or fire them without severance?
> Hashtags play a huge role on Mastodon - discover people by following hashtags

I'm probably twiddling the wrong buttons or something but whenever I've clicked on a Fediverse hashtag, it's always just been the hashtag on the originating server. Is there a way to get a wider view that I've missed?
Digital Markets Act enters into force, European Union curbs big tech
Anecdote: I've heard corporate execs bemoan the number of white faces versus brown faces on their About Us page.
I'd be interest to know what those are. Smallest I've been able to find is 8 inches.
Twitter's main value proposition is that there are VIPs and lesser Internet Famous people to follow on there. There are far better platforms for conversations, but most of those don't give you access to journalists, creators, politicians, etc right down to your local community.

A huge number of those VIPs have blue checkmarks.
"Modern" has a shifting definition, and means that the code uses current as opposed to obsolete techniques. Something that was once modern may cease to be so in the future.
The obsession with backwards compatibility killed C++.
Thoughts on Rust after six months (2019)
You can follow people from other instances - how is is not enough?
Nobody claims you have to understand category theory to write Haskell. In fact, most will tell you it's not needed.

The saying "a monad is just a monoid..." is a cliché and an in-joke, not gatekeeping. It's the community having a laugh at itself.
Sure, but a vulnerability that out of the box gives attackers potentially sensitive data is a much easier target.
> There is no intuition when it comes to programming. Everyone has to learn it.

There is no intuition in anything aside from the very few things we are born with. Everything else is learned from experiences.

And to that end, chances are someone has learned to follow procedure-like steps like a recipe at a very early age - indeed, in some schoolbooks recipes and other "procedural" works are among the first things someone does.

Children learn things like "to do X, first do Y and then Z" from a much earlier age, often before even learning how to read and write (e.g. via simple papercrafting in kindergarden) than something like "X = Y*Z". Giving and taking commands (i.e. "imperative" programming) as a concept is something people meet in their lives much sooner and are more exposed to than abstract problems.
If you're an experienced C++ developer today, is it a wise career choice to go the "C++ expert" route, or should you pivot to something else?
Well or by capturing nazi scientists
Seeking the productive life: Some details of my personal infrastructure (2019)
Wait a lot longer. Probably 10 or 20 years. After that, we'll know if Rust is the next C++ and also what the next big deals are.
Find some hobbies, do sports when you can, visit interesting/intriguing places, do activities you never had a chance to do before. Find a way to relax, e.g. sauna, deep sleep chambers etc. It's also possible you have some long-term nutritional deficiency leading to your brain literally shutting down some circuits making you apathetic. Try to take a NAD+ booster like Niagen (300mg/day) which is required for energy production and you might want to try 2000mg B1 Hcl and 1000mg B2/day, the first one required for each energetic reaction but depleted by long-term stress and the second one for producing FAD+ (energy production in the brain, similar to NAD+; don't expose yourself to strong sunlight though). You can also try to do some mechanical job requiring little to no thinking like resupplying stock at a supermarket or building homes etc.