skysight-inc/HackerNews huggingface dataset:
>If you have two customers and you need a thousand customers to cover your fixed costs, you're out of business before this has time to be effective.

Spend your marketing budget on your fixed costs.

Also, is your product direct-to-consumer? Because if it isn't, there are established channels to sell it to distributes, and if it is, you're likely a big part of the problem (since marketing of direct-to-consumer products is not usually a tool to let people know about new quality products).
There are absolutely awesome experienced developers with no online presence whatsoever. I suspect they are the majority
TypeScript already has such type operators though. For example:

type T = keyof
{
a: null,
b: null
}

Here T is “a”|”b”, no automatic semicolon is inserted after `keyof`. While I don’t personally write code like this, I’m sure that someone does. It’s perfectly within the rules, after all.

While it’s true that TS doesn’t have to follow JS rules for semicolon insertion in type expressions, it always has done, and probably always should do.
Complexity is going to exist.

I've seen a lot of projects that try to 'make it simple', engineers go around saying "KISS". Hyper focused on simplifying everything. But they failed.

They only realize later that by simplifying, they have just shoved the complexity into some corner, and never dealt with it head on, and it just corrupts everything.

It's like cleaning house, and you just shove it all in the closet. Does it mean you are really neat? Is your life really simple?

It's like squeezing a water balloon. The complexity is going to bubble out and break somewhere. But you aren't in control of how it breaks.

So, just acknowledge that not everything can be 'simple' and deal with complexity.
It is difficult to overstate how important advertising is in every economy.
Software is an inherently chaotic space. There are 2^10^6 possible states for a ~10KB program. Computer science is not engineering, just as physics is not mechanical engineering. Both CS and physics have the privilege of working within tiny imaginary systems. Engineers do not. Humans are currently engaged in a privately funded search through an effectively infinite space for the patterns, methods, visualizations, rules-of-thumb, that can produce a binary that meets human expressible boundary conditions. It is natural that some humans quail at this seemingly impossible, slow, arduous journey, and they reject engineering. It is also natural that some humans cling so tightly to a concrete approach that they cannot absorb new models. In a very real sense, as humans select software methods, software methods select humans.
> In general, if you're embarrassed to tell someone else what you're doing you probably shouldn't do it.

Are you trolling? This comment is breathtaking in its naivety.
At the moment, you can part out a system that immediately has a greater savings on your power bill than keeping the same amount of money in a 4% high yield savings account. So we've passed a threshold where the ROI makes sense if you're doing your own installation.

The biggest hurdle is almost no one is installing their own solar systems.
I'm an experienced dev with minimal online presence, so yes, it is certainly viable. Having zero online presence isn't, though. At the very least, you need an email address.

I ditched LinkedIn entirely years ago because it was nothing but a cost center for me, making me put up with an incessant amount of bottom-feeder cold calls and spam. Ditching it had no noticeable effect on my career.
Not sure I understand this question.

Storage is pretty cheap, especially when you add in compression and 7d retention
From TFA:

> We passed 650 million before I sunset the site 2 weeks later.
Eventually, the input/output interface between the car and smartphone will also require an update to work correctly. Android Auto and Apple CarPlay are only 9 or 10 years old, not quite "new", but approaching the time where companies want to make major, incompatible changes.

I do not know if I would take a bet that a user can seamlessly connect CarPlay on their 2014 car with their brand new iPhone 25.
It's less tangly if there isn't loudly advertised crap.
Google Drops Amazon's One Medical
Nice perspective! And appreciate an actual use case of what the author is recommending being attached.

In my experience, a lot of ills in software come from the working set of facts around a particular problem becoming too large for one person to hold.

Then you get Healthcare.gov v1 -- everyone proceeds on incorrect assumptions about what their partners are doing/building, and the resulting system is broken.

As a salve to that problem, napkin-math upper/lower bounds estimation can be incredibly useful.

Especially because in system design "the exact number" is usually less important than "the largest/smallest likely number" and "rate of growth/reduction".

Simplifying things that aren't useful to know in detail (e.g. the exact numbers for author's users) leaves time/mental space for things that are (e.g. if it makes sense to outsource a particular component to SaaS).
What, did people just completely forget about the Pentium floating point bugs? https://en.wikipedia.org/wiki/Pentium_FDIV_bug
> If a future employer wants to see examples of my work, I’d really have nothing to show them for that reason.

I am not able to share most of my professional work, so what I do instead is bring in a USB stick with a portfolio of my personal projects.
Ask HN: Weirdest Computer Architecture?
My limited understanding of “the stack” is:

Physical substrate: Electronics
Computation theory: Turing machines
Smallest logical/physical parts: Transistors, Logic gates
Largest logical/physical parts: Chips
Lowest level programming: ARM/x64 instructions
First abstractions of programming: Assembly, C compiler
Software architecture: Unix kernel , Binary interfaces
User interface: Screen, Mouse, Keyboard, GNU

Does there exist a computer stack that changes all of these components?

Or at the least uses electronics but substitutes something else for Turing machines and above.
Defaults should favor safety over convenience. Fail fast and fail hard. Md-raid's defaults are simply wrong.
I use intelij personally (for work and personal development). They also have a standalone product, DataGrip (https://www.jetbrains.com/datagrip/) with affordable/free pricing.

In the past I've just used raw psql from the console, but having an IDE is a big quality of life improvement IMO.
>I like the fact that when you navigate to a method/declaration/whatever, it only contains the relevant snippet

I see why you like it, but I suspect it could be sum negative in a long run. I believe it's beneficial to just be aware of what and where is in the code. Can it be that few years went with a project, and you still don't know what all those files are about because you has been working only with small chunks?
i've been in the industry some 24 years. I have a github profile with some small home projects in various stages of abandonment. I have a linkedin profile that is up to date but has zero activity beyond that. I have no personal website and no public web presence beyond these and a defunct stack overflow profile I no longer link to. I have never struggled to get job interviews off the back of my cv.
The Incredible Machine (1993)
I have LinkedIn for being able to reach out to former colleagues and as a place to record my work history so I have a reference when I need it for job applications. I have never posted on it, I don’t “like” things, none of that. Go months without looking at it. No other social media, nobody’s ever cared and I don’t even know what I’d do with it.

I haven’t had a personal website since I was like 15-25 and had the time/inclination to mess with that kind of crap. Nobody cares that I don’t have one. Most developers don’t.

My work’s all owned by the companies I’ve worked for, and 90+% of it’s long gone (often, the whole company’s gone). That’s pretty typical, never been a problem.
The Hermit Culture Living on in China's Misty Mountains (2019)
> I think .NET is a fantastic platform, and I'm still surprised there's not more attempts at building languages on top of it, especially when you consider how IronPython was built to "prove" .NET was a terrible platform, but the Jython developer fell in love with .NET as a result of his attempt, heck, Microsoft hired the developer! At least thats how I've heard the story told on random HN comments over the years.

It is often joked that .NET doesn't feel like it needs that many languages because C# can be so very good, and the JVM has so many languages because Java is, uh, well Java.

IronPython was indeed pretty great and some of the tools it inspired are still in .NET (and in C#). The thing that mostly "killed" IronPython was the same thing that disrupted most of the Python ecosystem: Python 3. Maintaining a second interpreter for a language requires a lot of work to keep up with the primary interpreter, and Python definitely had one of those fun hurdles that caused a lot of updates. Around that point is also when F# arrived and while F# was intended to be an IronPython killer, either, it fills a similar gap sometimes. (Certainly for me F# replaced a lot of what I was using IronPython for at the time, and even today.)

Many of the other alternative languages I've used in .NET were eventually replaced simply because C# continued to improve, including it's abilities to run in a REPL and to be a miniature scripting language for quick scripting needs. The joke I started with comes from a place of some truth, too.

Also, PowerShell I use a lot, and it is weird to not think of it as a common .NET language in the wild, but it definitely is technically exactly that.
Lemonsqueezy has been acquired by Stripe
Analog computers, quantum computers, light based computers, DNA based computers, etc.
> Building the site in two days with little regard for scale was a good choice.

Probably the key takeaway that many early-career engineers need to learn. Scaling's not a problem until it's a problem. At that point, it's a good problem t have, and it's not as hard to fix as you might think anyway.
TIL you can run Lua scripts on your Redis server. That's so nice, I never knew!
The idea of using AI to practice what you might say to your girlfriend sounds terrifying. I can only see this leading to inauthentic conversations which have been rehearsed for an optimal result - and not a person's true feelings. Seems manipulative to me.

How will people act when they have lost social intelligence to communicate and understand things from the position of the person they're talking to without this tool?
Comments here have never been temporary.

Hacker News itself has for many years provided a free near-realtime API and a variety of large datasets to the world for the specific purpose of making it easy for anyone to analyze our comments here. (https://github.com/HackerNews/API)

No comments you write on the Internet have ever been temporary. They stopped even pretending to be so 20+ years ago.
Show HN: Create diagrams of complex data flows in software systems
Hello HN,

It has been a while since I contributed to the web, so I decided to get back in shape and publish "something".

This app is a POC of "what if diagrams were more dynamic".
I'm a software engineer by trade, and with conventional tools, I often times struggle to explain flows of data in complex software systems.

I got inspired by video games like The Incredible Machine and Factorio, as in some ways, software systems tend to become Rube Goldberg-esque machines ;)
As a side quest, I also wanted to craft diagrams faster than text-based tools (ex: mermaid), as I am always forgetting their syntax.

If you try the app, you will certainly struggle with its UI, especially when crafting flows, as I used all my brain juice on the core idea.
I have cool features in my head for a v1 but today I really wanted to simply show what I got.

You can access the app directly at https://gg-charts.com and there are some examples in the Github README to get you started.

Happy to answer questions and humbly receive your honest feedback on this crazy idea!
Calling 90s software development overly rigorous and academic is certainly an interesting take. It is also era where PHP and Perl ruled the world, and C was still domain of cowboy coders instead of language lawyers.

It's only in 00s when any sort of methodology (even if it's agile) starts to get wider recognition, and academic languages like Haskell spark interest. 00s was also the peak era for architecture astronauts, for example JavaEE and C++ Boost were almost completely a 00s products.

The counterreaction for that was the rise of low ceremony stuff like Ruby on Rails, or html5 toning down w3cs overwrought stuff (xhtml), and now the pendulum has been swinging back with typescript or rust as examples
> And don't even get me started on advertising for medication. The fact that's not illegal is insane.

In most of Europe, advertising for medication, tobacco, alcohol, gambling and trading is prohibited.
Waterfall in software development was different than a Gantt chart based "project that was managed" like the construction of a bridge (an example close to my house). They added new requirements to this bridge (like they wanted the surrounding grounds to be maintained nicely, so added irrigation and gardening etc). But no new requirements were added to the foundational "here's a bridge and it needs to cross this stream from this point to that point" (high level).

Waterfall in software was continuously changing those fundamental parts. You'd be fine tuning the irrigation and needed to destruct the whole bridge because some new requirements came up. That's where the anti-Gantt and "bad waterfall" comes from, the reality is the software world as a whole moves way quicker and requirements are way more malleable, subjective than building a bridge.
The phrasing I once heard (source sadly lost to my memory)

"If the physical properties of concrete changed every 6 months, then structural engineering practices would look very different."

But that's the world most software is developed and lives in.
https://archive.is/iKGjx
The big problem is "How do I connect the money to the work". In large corporations, this becomes project -> plan -> work. The project gets a budget based on the plan, then you do the work based on the plan.

The problem is the link between plan and work. As you work, you learn. That is the primary activity of software development. Learning is a menace to planning. As you learn, you have to replan, but your budget was based on the original project plan.

You can talk about engineering and culture and whatever you want, but if you're working for money, the problem remains of connecting the work to money and the money to the work.

I'm reminded of the Oxygen Catastrophe - https://en.wikipedia.org/wiki/Great_Oxidation_Event - we need oxygen to live, but it also kills.
The first part is true enough, but most bacteria thrive in high temperatures (20-45 degrees C).

Most everyone from the north who have gone on summer vacations further south can attest to this...
I’ve found this page[0] to be a great starting point for traditional search.

Many of the patterns in traditional search can (and should!) be applied to “AI” search, which is really just indexing things in vector space.

tl;dr — What you put in is what you get out, there’s no silver bullet.

[0] https://project-a.github.io/on-site-search-design-patterns-f...
No, it's easy to misunderstand what makes a functional, prosperous economy.

People need to have the capacity to find things.

Today we have the internet, and search engines.

If people want something, they can look.

In this way, all parties consent, otherwise advertisements are harassment.
Oh man, I thought it was completely obvious what marketing is.

It takes effort to bridge the gap between users and manufacturers. We are used to the company doing the work and picking up the bill but the customer has as much need to figure out what solutions are available.

Having the company search the customer only barely works. It works but very poorly and only to some extend. The potential client feels bothered by the noise of endless offers and spends very little time on them. In stead of dangling your garden set in their face until one of them bites you can put it in a store next to the other garden sets.

Because pushing barely work products are limited to that what is instantly obvious.

Customers may also gather and inform themselves. They might willingly go to a conference and sit though lengthy presentations. In stead of screaming at you that I offer an email service a presentation is more about what sets it apart [say] its scripting interface.

If stores and conferences are still considered marketing the customer will have to put in more work to stay informed. They would tend more towards objective side by side comparison making the company more about the product than about marketing.

The pun of my joke was that customers are not stupid. They can find the breakfast cereal aisle and pick something entirely by themselves.

I thought it was obvious since the screaming contest is enormously frustrating. An overpriced mediocre product will allow for the largest budget which is most likely to win - so that is what you have to make? lame
I know! I was just in my portfolio to make sure I didn’t have any and noticed it’s up. Wallstreet will catch on soon. It’d be crazy if they didn’t notice till earnings were down for the next few quarters. I just bought a bunch of AMD instead. They’re about to have a couple bangin quarters as server orders shift AMD till this all gets sorted.
or unreal by the future crew (the tunnel effect) https://www.youtube.com/watch?v=VjYQeMExIwk
Free app that suggests styles and clothes based on your preferences
I was one of the first users of this so know the founders quite well. Have been using it to buy all of my clothes lately.

It uses AI to create styles for you based on your preferences, and then gives you links to buy the items in that look.

Highly recommend.
What techniques have you used to avoid AI artifacts? Have you run it through any detection software to automate artifact elimination?
Which means that when we move to dismantle it we should do so carefully, but that doesn't mean we shouldn't move to dismantle it. We've had economies founded on unethical systems before, and we chose to dismantle them in spite of the risks because it was the right thing to do.
Crazy Machines is the modern version of this, BTW: https://store.steampowered.com/app/351920/Crazy_Machines_3/

Or Ultimate Chicken Horse for a similar PVP experience: https://store.steampowered.com/app/386940/Ultimate_Chicken_H...
We just have different definitions of what a proof is. Hence, semantics.
His argument is that janitors, food service workers, farmers, construction workers, checkout clerks, receptionists, security guards, cooks, warehouse workers, food delivery people, and other working-class people will not be automated any time soon.

I don't think that's controversial.
If I remember "The Century of Self" correctly, advertising in its all-present form was invented after WW2.
While this is framed as a developer question, I’d suggest it’s a generational or even a personal(ity?) question.

I’ve been working for 20 years in financial services and tend not to put stuff online, aside from the bare bones. Connect only with people I’ve met, etc.

It’s intentional insofar as I think (or intend that) my opportunities will come from people I know rather than people I don’t.
A world without marketing would still allow for products to be registered, reviewed, rated, and for people to talk about it. It would still allow you to have a website and a newsletter that people can opt into. The only restriction would be that you cannot pay for better visibility, reviews or references from influencers.

So the way I imagine it would work is that you would register your product into an official registry (free of charge). Then if I need something specific I can search the registry for what I need, and your product might pop up, with links to your website, your videos, as well as all reviews and ratings. There could be a subsidy system that makes unreviewed products cheaper. If your product is really awesome, the awesome reviews should, in principle, suffice to make your business thrive.

Of course, whatever the system in place is, there needs to be work done to make sure it cannot be cheated: if people can pay to prop up their product, they will. But it shouldn't be necessary to pay to make people aware of a product that could improve their lives. Surely it should be possible to set up some kind of discovery system.
Sure, but what is more important? Some random comment threads, or honoring the wishes of the people who have been contributing comments to the site?

For me I would prioritize the wishes of the contributors.
Favorite way to develop python, so far:

1. Write the program skeleton

2. Put an import pdb;
pdb.set_trace() whereever I need to fill out next

3. Once I hit the breakpoint, type 'interact'

4. Start coding in the debugger.

4a. For small functions write in a scratch pad, test against another python console, then paste into the current debugger.

4b. For network calls, save the inputs and outputs. Toss a decorator on some functions to log the inputs and outputs to files, and cool we already have some proto test data.

4c. For documentation, call help() on the variable or method or module.
They tried the same tactic for Ye Olde FDIV bug too, but the market eventually forced them to do full no-questions-asked replacements. And the FDIV issue is a number of steps down in severity from this issue; those CPUs didn't die.

https://en.wikipedia.org/wiki/Pentium_FDIV_bug , for those who may be too young to instantly know what I'm talking about. It was a big deal at the time, and as you can see by reading it, less critical than CPUs actually dying. Read the timeline of disclosure and remember what you're reading in seconds occurred over a couple of months.
Reference: https://www.youtube.com/watch?v=eJ3RzGoQC4s
If they're not in the EU, probably "forever," especially if they are in one of the many countries that are politically indifferent or hostile to the EU.

Information flows freely worldwide. Regulations do not.
OpenAI nears "reasoning"-capable AI
I wonder what that would have cost you on Hetzner, for example. I have a dedicated 20 vCPU box with 64 GB of ram and a terabyte of SSD. Bandwidth is free... and all this for 40 eur/month.

This should, especially after your Go rewrite, be enough to host everything?
> It’s not a manager problem. Developers don’t like taking responsibility for their mistakes.

I’m glad you agree on both of these points. Like I said, it’s a problem with building the right incentives, and a problem with people who are trying to avoid blame.

A developer with a good, long-term view has a light touch. On one side, you have reckless developers who ship out buggy products that cause problems for operations and customer trust. On the other side, you have fastidious developers who just keep refactoring everything and never ship features.

Sometimes, you find a team that can do both. When I’ve seen this, the team has been made of both types of developers. A mix of skill sets, and a high level of trust that they won’t be blamed for failures (outages, missed deadlines). Your developers who move fast and break things will take the time to write a few tests and break things less. Your fastidious developers will relax their standards a little bit and push out code faster, knowing that their contributions are still valued.
I can already see the day coming when someone is going to make a phpBB-like HN skin which displays everyone's real name and LinkedIn picture along their comments.

Why not add their Gmail signature as well?