skysight-inc/HackerNews huggingface dataset:
Ask HN: What good have you done writing software?
I'm a junior developer working for a tiny < 10 people company. We provide something good, but it's not really changing the world for a lot of people.

I frequently revisit it a personal question of how (if it is even really possible) to do some real-world good by writing software.

As programmers, we have the power to organize and shape information and make it publicly available; to streamline inefficient processes; to build platforms for communication and collaboration; to create tools for others to build things with, or with which to run their businesses.

It seems like we have, relatively speaking, a lot of power at our fingertips, which could be harnessed for good.

Yet I don't know exactly what I can do that would be really useful in the re world for people's actual needs.

I would like to ask the more experienced developers and entrepreneurs out there:
What have you done with writing software that, in your estimation, has truly impacted the world in a positive way?

What advice would you give for someone seeking to do the same, and looking for a clear direction to advance that goal?

What do you think is a worthy and useful use of your time, such that you could sit on your deathbed and think "I did something good with my time"?
Once the blade started cutting through the skin and got to blood vessels, the resistance would go way down, so it would probably still work - just with a larger/deeper cut than more conductive hands.
For those interested, AllAboutSteveJobs.com keeps a pretty good repository of Jobs moments. My personal favorite is his 1997 WWDC talk [1]. In one talk he demonstrates what it is to be a great leader organizationally, publicly, and as a product visionary.

He also opens himself up to harsh criticism from people who were, in a lot of ways, rightfully pissed at him. He takes both tough questions and ad hominem attacks gracefully and reframes the narrative in a positive way without disparaging the questioner [2]. To me, this is in stark contrast to the staged events with canned/screened questions that most tech leaders run today.

He also lays out much of the vision for products that are still being rolled out 10-20 years later. Crazy.

Really recommend watching the full thing if you have time, but also linking to a little excerpt from one of the best moments.

[1] (full video): https://archive.org/details/wwdc-1997-fireside-chat-steve-jo...

[2] (insult excerpt): https://www.youtube.com/watch?v=oeqPrUmVz-o
You are right, this is what happens. However, with Librem 5, you can switch your modem off at any moment if you need privacy. Obviously, calling won't work when it's off, but you at least can balance your privacy with the availability for calls.

At the same time, the phrase "tracking is fundamental to mobile devices" does not tell the full story. Yes, it is fundamental for calling [0], but the parent comment said:

"most people don’t have any idea of how pervasive the tracking is and very few people would be ok with it if they did".

This is not (just) about the modem tracking, but also about the tracking built into the OS itself. There is no such thing in Librem 5: https://www.youtube.com/watch?v=yHcHi0TBFv4.

[0] and tracking is not fundamental for IP-native communications, which is what Librem 5 is trying to make the default option.

Upd: "the phone provider keeps a log of device location information. It needs that information to cause your phone to ring"

This is also not true. The log is not necessary for the phone to work, only its current location.
The average Staff SW Engineer salary at Google is ~750k. The race is worth the reward.
Because they couldn't figure out how to credibly add "Machine learning" or "AI" and lasers was the next buzzword on the "What's hot" list?
Nearly every accountancy firm or management consultant firm you can achieve senior associate within 4 years.
People are forgetting that the original Zenimax Studios is not exactly the most pro-gaming group of shareholders. Their original motivations were to increase shareholder value (I imagine that Fallout 76 decision was a factor among this).

I think Microsoft’s gaming vision aligns well with Bethesda’s and they probably have a better vision compared to Zenimax board of directors.
You'd have to start with what needs to be done. Let it flesh out and develop in the back of your mind throughout the days. Learn how to delegate once you have less than 4 contiguous hours in a day.

I need at least 3 days of continuous uninterrupted immersion to make any progress.

You could try working elsewhere 1 day/week. Shift all meetings.

Executives back in the day had secret offices elsewhere that they'd go to each morning for a few hours before showing up at work. Same hours. Some in silence. Then the rest of the day was wasted.

Some wake up earlier, as though they are still in high school. 6 am. After going to bed at 10 pm. Work from home. Before day begins. Unless they have kids. Then they are just up at 6 am. Heh.

Some plan or prepare for their next day each night. Then they sleep on it, wake up earlier, get it moving a bit (after meditating, repeating their affirmations and what they are grateful for, exercising or yoga posing, and taking their supplements/cocktail/smoothie), and then sit back in the swamp/blackhole.
I dunno. In my experience, Google was easily the most ethical company I've worked for on a "per capita" basis. The big thing Google has going against it is the size of its user base. Every little bit of evil multiplied out by billions of users ends up having a large impact.

But for two companies of an equal size, I don't think a company with an ad-driven revenue model is necessarily going to be less ethical. The sales and marketing people I've worked with at other companies were far, far worse than people at Google, and their evil was only limited by the scaling limits of their sales tactics.
I am not sure how extradition requests should be allowed based on profession? It depends on which laws the break, and international treaties?
Maybe sometimes it's that, but I find most of the time, once you are comfortable with it, the formal language is just more useful. I'm beginning to think that attitudes like "they only do X this way to feel superior" are common because it lets you feel superior, but maybe that's me falling into the same trap.

Personally, I do ML and stats for a living, and the notation really does make things easier, while your comment is often thrown at math notation too.
Yes, I had a rough-handed dentist as a child, and in one year, had to have a bunch of cavities filled. It felt like a horror show to me.

I don't care about the facilities themselves... but when looking for a dentist now I've put it out directly that I have a past fear of dentistry, and I've been assigned a hygienist who has a more careful bedside manner than others. It says right on my chart that I'm anxious about dentistry. The newest doc I've had to switch to was diligent about noting it and talking me through, acknowledging where I was coming from. Metal on teeth is also a thing for me.

I'm pretty much over the hump now, but it was an effort to work through it. A few good offices who where explicit in their response to my feelings did wonders, too.
> So maybe it should have been something like "->".

The problem is that "->" has an even more special meaning than "." in Haskell, since "->" separates the arguments of an unnamed function from its definition.

So, for example

addOne = \x -> x + 1

and

addOne x = x + 1

are equivalent.

This means that "->" is about as special as "=". Which leads me to think it would require some very substantial changes to the parser, and perhaps even defeat the purpose of increased readability. For example, how readable is the following?

getY = \x -> x -> y

(which reads as "getY = \x -> x.y" in the current proposal)
Question for you about Adderall. How did you manage the tolerance build up?
Plus there's a massive amount of pollution, growing by the day. Everything is built on an increasingly shakey foundation and starts rusting right away. More time is spent on trying to figure out why X isn't working, less time on actually building.

A couple recommended talks about this subject.

Preventing the Collapse of Civilization: https://www.youtube.com/watch?v=pW-SOdj4Kkk

The Thirty Million Line Problem: https://www.youtube.com/watch?v=kZRE7HIO3vk
Cool and if Im not mistaken Zenimax Online's headquarters is down the street from me in Hunt Valley, MD. Nice area with nice housing that isn't crazy expensive, especially right on the border of MD/PA.

Any other Hacker Newers live close to there too?
I recently went back to a desktop computer. It solved most of my issues with modern laptops/tablets/phones. While it is not mobile, I find that using a desktop computer for my heavier computing tasks and a tablet for my casual browsing to be the best fit for me.
On my desktop I program using a 34" ultrawide which I find very efficient. It's great for photo management, multitasking, movies and games as well. My desktop has plenty of USB ports, speed and best of all IMO I can have the perfect keyboard of my choosing. I know this setup isn't optimal for many but it suits me very well. With many switching to remote work it may become more viable now. YMMV.
There's also something to be said about separation of computing tasks and time spent doing them. Use the right tool for the job.
Justice Dept. brands NYC an ‘anarchist jurisdiction,’ targets federal funds
What is a "Haiku machine"?
I am not so old, but I also remember a time when software development was much more enjoyable. The difference is that at the time software engineers had more autonomy to decide what to do. Nowadays everything seems to revolve around fads. If you're not into the latest fad or have some ideas that differ you'll suffer resistance all the way around: in the job, online, when doing hobby projects, etc. Even open source nowadays has to conform to some well-supported online fad, otherwise people will complain of what you do.
Yeah. I started out in 1969 as an intern doing electrocardiogram analysis on a CDC 8090. It had four banks of sixteen KiB of twelve-bit core memory (yeah, little magnetic washers threaded onto a square screen of wires). Obvs 8090 assembler is now useless as a skill. But the thinking and troubleshooting skills needed to make that stuff work? Still use them every day.
> A clumsy movement can dent a piece of wood you spent an hour sanding

Dents can be somewhat fixed by getting them wet and ironing them.
Seconded! Can you give a ballpark for how much you'd charge for a piece like this? Seems like an insane amount of work at incredible quality. I want to own it.
Only if it's poorly designed (leaks local oscillator frequency back into antenna) and not shielded.

Modern receivers use quadrature sampling detectors rather than traditional superheterodyne. In that setup any leakage would be on the same frequency and harder to detect.
What’s so weird is that DirectX has an entirely terrestrial naming system and .NET refuses to follow its example.
Spotify CEO should issue an apology to Joe Rogan.
Anyone remember spending hours at AAA getting TripTiks and a highlighted route on a vague map for a (now) simple road trip? And the ensuing argument about the passenger's navigation obligations when you inevitably miss an exit halfway into the trip? And spending significant time preparing the (unreliable 80s domestic) car for a road trip?

I recently did a ~1000 mile trip that I used to do as a kid in the 90s. Back then it was literally a weeks worth of preparation. In 2020, I did the same trip on 1 hour notice with no concerns about my transportation, navigation, food, or lodging.

Sure, we made do with what we had in the 90s, but stuff is just incredibly more convenient and accessible now.
People aren't always great at picking a "random" port number. Here's a distribution of the various ports that people run SSH on:

https://beta.shodan.io/search/facet?query=product%3Aopenssh&...
I stopped changing my ssh port once I learned low ports can only be taken be processes started as root. And then I realized I won't expose ssh port or any other management port except my vpn port...
A little rant about talent
It’s fairly obviously already computer generated.
Looking outside of the gaming space their recent acquisitions seem to have gone fine, no? For example Github seems to go well, Linkedin was always pretty shit and unethical, so I'm not sure it's any better or worse. Citus seems to still be going well and still offers on-prem or enterprise versions on other clouds than Azure. Xamarin is more open-sourced since Microsoft took over.

IMO, (and if you told me I'd say this 10 years ago I'd say you're crazy) of the big tech companies right now I think MS might be the best steward.
Study suggests dengue may provide some immunity against Covid-19
Just wanted to point out a small discrepancy here: As his bio on Twitter says, he's currently an independent AI researcher. But also sometimes consults for Oculus VR, although not actively employed there anymore. [0]

It'd be very interesting to see if his return to Id might spark some changes :)

[0]: https://twitter.com/ID_AA_Carmack
I think us younger people give ourselves too much credit for not buying crap. Most of us rent instead of own our living places, live in smaller places, and move more often so our possessions have shrunk because of our environment, not at all because of our ability to transcend the need to peacock our possessions to our neighbors. This article just helps to show we've replace low-minded material peacocking with low-minded social categorization and we're no better or worse at transcending our infighting hairless monkey brains than our parents.
> Eventually you will not feel like "I have no agency over my own life".

The fact that you have to resort to an excel spreadsheet implies that you have no agency over your life. People with actual agency over their lives don't have to squeeze a few minutes for themselves no more than a wealthy person has to search between the cushions for pocket change.
An SSH Tarpit is a good way:

https://nullprogram.com/blog/2019/03/22/
On NPR they ran an interview with a manufacturer who just started the process of tooling up to build N95 masks. The problem is that by the time production starts, they are not sure if there will be enough demand for long enough at prices that will let them pay off the setup costs. Classic Econ 101 problem.

The federal government could have made things a lot easier if they just announced a plan to buy up all excess masks at market price for the next two years. We could certainly use the stockpile anyway.
What grudge is he even talking about? The lawsuits?

https://en.wikipedia.org/wiki/ZeniMax_v._Oculus

https://techcrunch.com/2017/03/09/oculus-cto-john-carmack-is...
Trading with the Fibonacci Sequence: Everything about the Fibonacci Retracement
I know it's just a bit of fun but they fail to mention whether it's 3.14 Earth days or 3.14 of its own days.

If it's the former then it's a bit of a contrived Pi planet because it's only in relation to earth and not itself.
Oh, extremely unlikely for a number of reasons. And neat if it happened as well.

But it would just be so, so disappointing compared to a second origin of life within the solar system or even compared to proof of some form of panspermia or natural seeding of life from planet to planet that it would be a lovely delayed "fuck you" from 2020 if we spend the next 20 years confirming the existence of microbes on Venus, retrieving samples, and finally sciencing enough to realize, goddammit, this is just recent Earth bacteria adapted to a novel environment.
> Nothings been as good as Fallout 3

The irony is beyond my mortal understanding, but NV certainly flagships the IP today, behind maybe 2.

Both different developers.
If we hold people accountable for their offspring then the poorest have orders of magnitude more heirs and thus should multiply their emissions.

The choice to have (greater than replacement) children should be seen as an "emissions" or "income" choice for this kind of reporting, else it fails to capture the systemic externalities of their actual lifestyle.

This, as i understand it, is a sort of form of The Repugnant conclusion: https://plato.stanford.edu/entries/repugnant-conclusion/ , whereby the choice to increase population is a choice to divide the resources amongst greater and greater people, resulting in a smaller share per person.
I don't think the developed world, or the "1%" should be held accountable for these sorts of outcomes.
The problem with local variables is that you can then not call a function that uses them unless you define such variables. One shouldn't be forced to know of such variables before calling such a function, since then they'd hardly be different from regular arguments.

The difference with statically-scoped global variables is that you can't set them to different things in different threads, and you have to be careful to set it back to it's original value after you called the code you wanted.

In other words, it's the same difference as using environment variables vs configuration files for executables.
Have you considered that their primary revenue stream is selling your data and not the fee you pay?

Many of the VPN providers are suspiciously cheap.
The question isn't whether you'd hire a new grad or a guy in his 50's as many here seems to think. The young option is a guy in his 30's with 15 years of experience, they are much easier to find than older programmers (due to the number of programmers increasing exponentially over that time) so most senior hiring will be targeted at them.
You'd be surprised by how many "C++" projects are in fact mostly C with a few C++ features in the videogames industry.
"It's a beautiful plane. Nobody else can build beautiful planes. It flies. In the sky. It can carry more people than any other plane. Lot of people don't realize that. But I know that. Not like those planes from China."
This is borne out in my experience with a company that had moderate layoffs + completely replaced the executive team. Despite the gut renovation, the company didn't change much in practice because our core business model was the only thing that couldn't change. We just became more effective.

I worked at Google from 2010-2015. When I looked for another job, I wanted to avoid the thing that bothered me about working at a FAANG. I didn't have a clear understanding of how my contributions affected the bottom line. In fact, when I left, I asked a bunch of current employees the same question: "Did Google make money on my employment?" I got every answer you can imagine.

"Of course they did, you helped grow an ecosystem with network effects, so the value you added was intangible but incalculably large."

"Of course they didn't. You grew the output of a product that people can use for free, so your work was mostly a loss leader."

Anyways, when I looked for a new job, I had a simple requirement. I wanted to work for a business model that I wanted to improve. Etsy fit the bill. A marketplace for small businesses to sell unique goods. I could feel good about improving this business model: improving our top line meant that more small businesses got sales. I can live with that.

Flash forward a year, and Etsy was in serious trouble. Growth was decelerating. Our core product was neglected in favor of newer offerings that had a long way to go to get traction. So we had some major gut renovation: new CEO. New CTO. New CFO. Two rounds of layoffs. A bunch of people left because the culture was gone. You think to yourself, "OK, that's it, the foxes are in the henhouse. What's going to change?" And it turns out that you can't change that much! Our core business was to connect small businesses making special items to a global audience. So that's what the foxes had to work with: A two-sided marketplace where they needed to please both the existing sellers (so that they didn't just shut down their shop in favor of all of the other marketplaces they were using) and improve the site for our buyers. So they brushed the dust off of the core marketplace, assigned a bunch of people to focus on improving sales, and the results speak for themselves. Even ignoring Covid-related effects, our marketplace was healthier, growth was accelerating, and morale was up. And some of the people that left because it wasn't the same anymore? They came back. We have a lot of "boomerangs" from that era.

I like point of incentives that OP brought up, you can also see that in some things that Etsy sellers hate. For example, the people who made Etsy set the fees way too low. It's hard to walk that back. So you can see the executives try to find ways to bring the fees more in line with what Ebay or Amazon might get. The best they've come up with is improving an offering and restructuring the fees at the same time. "New: off-site ads are new and improved, and if you get a sale, we charge %12" type stuff. If you're a seller that's mad at Etsy, that's the kind of thing that you're going to complain about - us following our own incentives.
For the curious, here's my hot take on the details:

Protocol buffers, being older, are far and away the more widely supported format. If you're looking for something like a wire format for RPC, or usability from basically any common language is important to you, protobuf will be the path of least resistance. However, there are some design warts to work around. The most notable one (IMO) is that varints make dealing with numbers a rather delicate subject.

Flatbuffers are similar, but made some design decisions allow for a zero-copy implementation. This can be good for performance. Overall, flatbuffers have always struck me as being promising, but language and tooling support isn't nearly as comprehensive, which has always kept me from giving them a serious try at work.
They're acquiring Zenimax, and Zenimax owns id software. So id is part of the deal.
Unity is definitely a big player on all platforms, but it's probably strongest on smartphones / AR / simulation for AI / and indie developers. Epic's niche with Unreal is more high end AAA games / big studio console releases, and now apparently Hollywood & VFX. Disney and ILM are using Unreal for real-time on-set backdrops in shows like The Mandalorian: https://venturebeat.com/2020/02/20/ilm-reveals-how-it-used-u...

https://en.wikipedia.org/wiki/List_of_Unreal_Engine_games#Un...

The underlying C++ source code is available for both commercial engines, but Unity charges high fees for source access, and only on a direct per-studio basis, whereas Unreal 4's source is available on GitHub if you pay $20/mo. The vast majority of Unity developers work within its IDE and C# API. There are definitely strong network effects from the sheer number of developers using Unity, such as the amount of documentation, tutorials, and C# code available online.

But again, Godot is fully open source and getting consistently better as it evolves. It's C++ based, closing in on competitive rendering, ported to every relevant architecture, and has a full IDE and scripting system. It reminds me a lot of the Blender project. At some point, some significant video game IP will be built using it and shake things up. It's just a matter of time.
I've been able to, most of the time, work on (somewhat) novel problems, at least within the organizations I've been working, and certainly interesting ones to me.

But I've always enjoyed tinkering on non-productive personal projects more. Exponentially so. I'm with you on most of the things sucking in software development.

I spend so much time on shit. Politics, presentations to justify spending 0.000001% of our budget on things I need, convincing others that maybe we should leverage well established best practices, not even controversial or cutting edge kind, but the actual ones people everywhere use, rather than re-inventing the wheel every time.

Right now I'm expected to inventory our software catalog, again, because someone doesn't want to get that information from the place we are using to already document it.

And it's only Monday. This week will be long, so very long.