skysight-inc/HackerNews huggingface dataset:
> The existing taxi industry has largely been crushed by Uber

I have limited experience, but my two data points:

In South Africa Uber and the existing taxi industry operate on two completely separate and non-mixing markets. Even though Uber (and similar services) is getting a lot of abuse from the taxi industry, I don't think the taxi industry has really been affected by Uber at all.

In Ireland Uber is basically non-existent. Only sanctioned taxi drivers are allowed to be drivers on Uber. So they are basically just regular taxi drivers who happen to be drivers on the Uber app. It's actually really difficult to get an Uber where I am, there's only like one or two of the taxi drivers who are actually on the app.
I have no idea why anyone would say it's not simple, it's super-simple. Learning how duck typing works with interfaces and how to use it is perhaps the only hurdle. In my experience, only certain BASIC dialects like VisualBasic are simpler.
Exactly, an alternative reading here is "metabase, sentry and airbyte are so complicated to self-host you'll need Kubernetes for it".
Some of the early Microprose games used this, and it was clever for two reasons:

First, more functionality. The minigames and intro/conclusion scenes were their own executables that made use of the original, generated game data. These got loaded into RAM on top of the original executable and then called.

Second, graphics and sound were also overlays. Rather than having useless-to-most Roland MT-32 code in the binary, this was only loaded if requested. There were overlays for Sound Blaster, PC speaker, and Adlib. If your monitor only supported four colors (CGA) there was an overlay for that.

A post would be nice, although you basically described most of it. An .OVL file with a non-zero overlay number is loaded into memory with INT 3Fh (although strangely enough any interrupt number could be chosen?, and the interrupt also would call the desired function after loading into memory). These overlays are loaded as-needed into a shared memory space.

I'd be more curious to see how one would have programmed those overlays in Microsoft C Compiler 3.0. More recent compilers seemed to have better menus and documentation for the memory models, but it seems like they were clairvoyant by squeezing every bit of functionality out of version 3.0 that was made easier by Watcom/Borland/MS 5.0. (Then again, they would have evolved their build system with every successful release and every new hire, plus it was their full time job to "figure that crap out", and maybe Microsoft improved their approach to overlays in response to Microprose and others calling all the time)

The documentation states only one EXE is generated, but Microprose had multiple EXE files. Is it possible those weren't overlays but something very similar? Or did they just change the file extensions? The docs also show the syntax "Object Modules [.OBJ]: a + (b+c) + (e+f) + g + (i)" where everything in parentheses is an overlay. But this isn't elaborated. What are the plus signs? How are these objects grouped? Would their list look like "preload + (cga + mcga + ega + vga) + (nosound + tandy + pcspkr + roland + sb) + (intro) + (newgame) + (maingame) + (minigamea) + (minigameb) + (outro)"? Or would every module be individually parenthesized, and those with plus symbols are interdependent (e.g. not alternatives)? (One website using BLINK seems to suggest the latter.)

I know there are a lot of DOS tutorials (FreeDOS YT channel, blog posts) but I haven't found one that does a start-to-finish overlay example.
Occasionally people post here about stuff aside from making money, which is nice
Thank you! That was extremely helpful (and written in a way that is easy to understand)!
Sorry, I couldn't read this beyond the AI slop image at the start.
I'm always amazed when I am reminded that there is still a pipeline through Ukraine moving Russian gas to Europe.
Spent many hours in Borland C/C++ 3.1 and Borland Pascal 7, with real-mode, unreal mode, and protected mode.
Instead it is a plethora of footguns which are attempted to be managed through convention.

This post is always a scary read:

https://www.uber.com/blog/data-race-patterns-in-go/
Again, I'm not saying you can't do this with Django, I'm saying it makes it much harder than it should be.

Using Django without its ORM really doesn't seem attractive. I'm really not sure what you'd be getting from Django at that point. Crap templates, views that aren't views. The ORM is the only good bit of Django. Well, that and the package ecosystem.

The more I think about it the more I realise it's that last point that is the real attraction.

Also please don't worry about offending me. I come from the old internet ;)
"cross country" doesn't mean east-west. china doesn't have a straight east-west high speed line that goes across the entire country because the population is overwhelmingly concentrated in the east, and there are routes that cross north-south and all through all the major population centers.

china also had many airports before they built the high speed system.
Similarly, a lot of radio astronomy funding was Cold War cover for stuff like surveilling Soviet radar reflected from the moon.
We don’t need to go that far, we can test my hypothesis with this conversation. You are becoming exhausting and absolutely proving my point. I explained at length something that is clear and obvious to anyone who does customer support for any popular product. Instead of making an effort to be empathetic to the other side, you’re being contrarian and dismissive. Fortunately you’re not my customer and we’re not in my repo, so I have no obligation to continue this conversation.

The fact that the person on GitHub has not replied and the other conversations have been locked demonstrates that they are preemptively avoiding the exhausting interaction by limiting replies. Those are the actions of someone who knows the cause and effects of burnout. It is the opposite of ignoring, it is actively defensive. If you’re unable or unwilling to understand that, there’s nothing else I can say to you.
From Character Debugging to First Product Launch
The 8086 was released in '78 (or thereabouts). 64K of RAM was very expensive at the time, and wasting 256 bytes just to align segments would have been extravagant. Also, the 8086 was meant as a stop-gap product until the Intel 432 was released (hint: it never really was as it was hideously expensive and hideously slow, but bits of it showed up in the 80286 and 80386).

The 80286 changed how the segment registers worked in protected mode, giving access to 16M of address space, but couldn't change it for real mode as it would have broken a ton of code. Both Intel and IBM never thought the IBM PC would take over the market like it did.
Only half of it is an ad. The rest is more a blog post about the process involving FLOSS publishing software.
Of course it does.

Think about how, even in software, knowing that a physical shipping of a product (CD / Blu-ray) can be updated from "day 1" has led to poor quality releases with last minute patches.

The cost of having to physically recall / resend CDs back in the day meant that what went out had to work. The cost of sloppy software has now been externalised.
OpenAI API is natively supported by several providers (Google, Mistral, to name a few).
That's fair, but my point is: Irrespective of whether you put 100% or 20% into your work, you should do some planning of your career so that whatever percentage you put into it is reasonably spent. Even when you just plan on spending 10% on your work, planning where you want to end up makes sense.
'Good looking' is a subjective term by definition.

Stop trying to tell people what they should think.
Lot of open source software is written by people who get paid for doing so.
At least it works. Meanwhile Tesla have nothing to show, even in "very specific conditions".
Go is as boring of a tool as it gets. Which is why I will happily use it
I had been looking into this recently. My beard is graying and it's annoying me excessively.

10 years ago, the research consensus behind hair graying was, "we don't know what causes it, lol." Today, it's a little bit better understood -- though far from completely understood.

There's a handy review article here: https://pmc.ncbi.nlm.nih.gov/articles/PMC10535703/

To summarize, there's no known agent that can reliably repigment gray hair. Sometimes powerful drugs repigment hair as a side-effect.

Hair graying results from the dysfunction or loss of melanogenic melanocytes and the depletion or immobility of McSCs, often due to aging or stress.

Lots of cellular signalling pathways are involved. The Wnt/β-Catenin pathway promotes melanocyte stem cell (McSC) proliferation and differentiation, while the MC1R/cAMP pathway, activated by α-MSH, drives melanin production via the MITF transcription factor. The SCF/c-KIT pathway supports melanocyte survival and function, and the Endothelin/EDNRB pathway stimulates both melanocyte proliferation and melanogenesis. In contrast, the PI3K/AKT pathway inhibits melanogenesis by suppressing MITF activity, and the TGF-β pathway maintains McSC quiescence while inhibiting melanogenesis.

Stress is actually a factor because activation of the sympathetic nervous system can deplete McSCs, and neuropeptides like CGRP, SP, and VIP, can either enhance or suppress melanogenesis in ways which are, as yet, unclear. Dermal white adipose tissue (dWAT) near hair follicles also plays a role by secreting factors such as adiponectin that affect hair growth and pigmentation.

A drug to reverse or prevent hair graying would be very welcome, so I hope that the phenomenon becomes better understood in the near future, and then we get products that work.
What "feeling" does it give you? ;) Borland Pascal and C++ support EMS overlays. Think of it like a shared library almost. Also, using DPMI is another way around it.
It might be industry-standard term, but it’s certainly not understood that way by layman, including car customers. To the public, “recall” will always carry the implication that the vehicle needs to go back to the manufacturer for a fix.
Strange that they are getting humans to do the talking yet robots to do the driving. The former seems a much more likely case for AI than the latter.
Probably, yes. Though that's an empiric finding, and doesn't follow logically from the premises.
This 100%, I was just about to type a long rant up about this. There are so many weird parts of the language that took me forever to grasp, and in many cases, I still don't have an intuitive grasp of things.

And plenty of other examples that aren't in that article:

- You have a struct with an embedded interface. Does the outer struct satisfy the embedded interface? And can I type assert the outer struct into whatever embedded struct is fulfilling the inner interface?

- When should I pass by value and when should I pass by reference? Like I generally know when to choose which, but do I really know without performing a benchmark? And what about arrays? Should I store pointers in them? But it also seems that people just don't care and just randomly roll the dice on when to return a pointer or a value?

- Shorthand variable declaration. How does it work when you shorthand declare two variables but one of them already exists?

Don't both answering the questions, that's not the problem. The problem is that it's just not intuitive enough such that I'm confident I know the correct answer.
Yes, like "Opening Brace Can't Be Placed on a Separate Line" (from your link).

Everyone can read Go code and understand what happens. There are some minor difficulties like func (*A) vs func (A).,
> People tend to forget that Golang was created on purpose for poor programmers.

Nobody is forgetting that quote. Trust me, it has been repeated a lot[1].

That said, I think this framing of the issue really needs to die. Rob Pike is saying they're "not researchers", that they're "typically fairly young", not that they're poor programmers. Notice that in the list of languages they may have learned, "C or C++" is present. The idea is not that Go is designed for people who can't possibly write C++.

This framing also implies that the language being better for n00bs means that it's also necessarily worse for everyone else. There are some tradeoffs where this is a defensible position, but I think on the whole it's just not generally true. A good example is preferring composition over inheritance: I think the former is generally more understandable and a lot of people actually contort C++ to use it this way too. (For example, in some codebases, only pure abstract base classes are ever inherited; everything else is final.)

When I see this quote repeated as if it implies that Go is just generally designed for bad programmers, I feel like it reads like flamebait. The real answer is that it was designed to be so easy that any idiot can use it. Or in other words, Go is very grug-brained[2].

To each their own, but it's been over 10 years since that quote and Go has evolved a lot. Is it perhaps time to put it to rest and stop reading into it so much?

[1]: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu... - though I'm sure it has been paraphrased and linked even more than this.

[2]: https://grugbrain.dev/
Most of the online services I use can't kill me if they have a bug.
Yeah, it only works in extremely controlled environments driving really slowly.

The design is also flawed as it has to work with cameras anyway. The last thing you want is two systems arguing over what they see.
You forgot "Show HN:".
It's a pretty simple fix.

In the old days, governments had departments which would inspect cars, verify they complied with legislation, and even examine build quality.

Quite easy, when everything was basically physical.

Now the ECU and modules are a black box, unknowable to such entities. Things can be caught (see VW scamming fuel/emissions tests), but it's by luck.

So solution? We pass laws that all code, every bit of it, all chip schematics too, all firmwares are open source.

Note I said open source, which in the old days just meant "readable". We're not talking GPL, all copyright would remain.

On top of that, all build scripts and methods to flash modules / etc would be provided to governement test environments.

Now we can test. Now, we can look for crappy code, hacky junk, fake emission cheats, bugs and more.

Don't like it? You don't sell cars. Tough.

The entire supply chain would be required to fall inline.

It's really not that hard.

In terms of security, that's what signing updates is for.

And (for example) you can already take hobby tools, such as forscan (for fords) amd flash updates to modules.

As long as it is signed.
Could be, although I could also imagine the BHA was intending that as a smoke test: if we were to find a putative alien message, we'd want to make sure the same procedure doesn't find other messages in the first N digits of \pi or related constants.

(shouldn't all messages be in \pi sooner or [much, much...] later?)

[does the def'n of "message" include finite length?]
Hey Hollywood, time to bring out the strippers for Thomas, Alito and Kavanaugh (also he likes beer, lots of beer), and I guess some preacher to explain to ACB how ISP is helping the distribution of porn, so need to be punished.

Ah, Post-11/6 America, what a lovely place to birth this boring joke. And it had to be birthed, anything else would be illegal.
> its UI is not up to my personal standard

Have you tried https://organicmaps.app/? It has the same data source, but ui is cleaner.
The article is arguing that Rust is a better choice which is laughable. Go is a small GC-ed language. Rust is an obnoxiously complex language with strong emphasis on memory management. I don’t see any projects where you could legitimately hesitate between the two.

Truth be told I quite like Go. It’s small and simple. It does the job. You can onboard people on it quickly and in practice with the toolchain you don’t run into the issue mentioned.

Would I rather use Ocaml most of time? Of course but it doesn’t have the same ecosystem. Would I rather use Rust? Heck no, I’m not going to deal with the borrow checker and life cycles if a GC is fine.
Somehow this author has come to the conclusion that price controls are the "solution" to inflation.

This is a fundamental misunderstanding of why inflation is viewed as bad.
I wrote in a sibling comment that I cannot imagine the use case for #26 and a kind soul linked me to your comment.

Would you mind satisfying my curiosity and explain how it is perfect for you?
Then how do humans do it?
Rust's error handling evolution is hilarious. In the beginning, the language designers threw out exceptions --- mostly, I think, because Go was fashionable at the time. Then, slowly, Rust evolved various forms of syntactic sugar that transformed its explicit error returns into something reminiscent of exceptions.

Once every return is a Result, every call a ?, and every error a yeet, what's the difference between your program and one with exceptions except the Result program being syntactically noisy and full of footguns?

Better for a language to be exceptional from the start. Most code can fail, so fallibility should be the default. The proper response to failure is usually propagating it up the stack, so that should be the default too.

What do you get? Exceptions.
You seem to be really derogatory and dismissive of people whos opinion you dont agre with.
> Surely the fact that it's a three ton machine that can accelerate from 0-60 in 3 seconds is relevant too. As far as I'm aware the F150 can't match that.

The F150 EV has similar weight and speed[1], not sure how it's relevant?

In fact it proves the point, no one talks about how the F150 EV or the Silverado EV etc etc having similar characteristic flaws as the cyber truck, because that doesn't generate clicks.

If anything should be generating articles, it should be the Hummer EV, that things in absurdly big, heavy and fast, even for american trucks... but that doesn't generate clicks.

Cybertruck gets undue attention, mostly negative because clickbait, and we should stop clicking such obvious baits.

[1]: https://www.caranddriver.com/news/a40120063/2022-ford-f-150-...
Is it paid and if so, how much?
am I the only one who isn't a little disappointed that this wasn't a library to model the physics of physical lenses?
Nature came up with something much better in both those cases.

Portable, energy efficient, light, doesn't need refined oil, tightly steers...

Boats and aeroplanes are terrible in comparison. They only work due to a huge network of global effort.
Do you have a pydantic equivalent in go? Also modern typing in python is starting to be OK to be honest (well, if you consider typescript typing OK), so it isn't really a knock on Go :)
DeepSpeed-Domino: Communication-Free LLM Training Engine
I think the gist is "recall" is the same saying "safety issue that needs to be fixed in the software or hardware" since we don't have a word for software issues, which carry a bit more weight on a fly-by-wire vehicle like the Cybertruck.

Interesting to note that this thread seems to be full of a lot of people choosing to be pedantic over the word "recall" rather than taking a critical look at the Cybertruck and it's issues. While I agree that language is important (and dynamic), I suspect that discussion around this vehicle is also charged by politics and sycophantic thinking.

If I remove my personal opinions about Musk, I find that I actually do not hate the Cybertruck. Sure, I think it looks absolutely stupid and it bothers me that the flat paneling does not line up perfectly, but I am also cheering on it's attempts to break some rules, try something different and possibly spark some future innovation. With that in mind, it's easy for me to expect that it will have problems since anything new that breaks the mold tends to, so with that reframing, a lot of recalls make sense and could even be looked at as good since solutions are being developed.
Both primarily use their eyes. Look it up.
Production Twitter on One Machine?
There's no tool boring enough to prevent any chance of regret. At the end of the day, it's really, really difficult to anticipate where your pain points will actually wind up in the real world. In practice, I've had lots of really good production success with Go and not too much heartache about the choice. Since adopting it personally (in around 2014) almost every company I've gone to work since has used Go in some capacity and that capacity was usually growing because it was working for them.

Will you regret choosing Go? Maybe. Or, maybe not.
Paul, this is quite amazing.
Can I email you later?
I have been "sniffing" about this idea for a little while and I am finishing up a smaller project, this is the next thing I want to tackle.
Why would you "check" for TypeError being thrown? Just let exceptions in general propagate until they reach one of the few places in the program that can log, display, crash, or otherwise handle an exception. No need to "check" anything at call sites.

90% of the criticism of exceptions I see comes from the bizarre and mistaken idea that every call needs to be wrapped in a try block and every possible error mentioned.
Macquarie Dictionary names 'enshittification' as 2024 Word of the Year
> And which Lamborghini specifically?

It's faster than a Lamboghini Spire.
People keep repeating this as if it was true. The Chinese and American battery manufacturers have received enormous subsidies. This factory is mostly financed on the private market, and some bonds from the EU investment bank, but comparably less.

That hasn't helped. Subsidized competitors are hard to compete against.

The German factory have indeed received some government subsidies. But that is not the factory with problems (at least not yet).
And 3. Off by one errors.
> They are very unlikely to consider Java.

Except they are not unlikely to consider Java.

It's a language with a very robust ecosystem, it is relatively easy to hire Java developers, and a decent job for large, complex projects.
The article mentions open-sourcing it and opening it to translations. You can see on the screenshots that the speech bubbles are left blank, so they can be filled with translated text.

(Also, holy crap this idea is amazing. I'm buying two as soon as I close this tab.)
It's weird. At a time I was looking for a "better" python. Something simpler and safer than C/C++ but faster than python and more importantly that can produce a single binary. So I looked at everything from Rust to obscure language like Hare.

Go should have been the obvious choice but for a reason I don't understand I dislike its syntax. For Rust I understand: it uses a lot of special characters that aren't easy to remember and to type with a non qwerty keyboards (plus other unrelated pain points). For the different lisp, it was the parenthesis and the reverse polish notation. But for Go, I'm unable to rationalize why I don't like it.

For the anecdote, I settled on compiling my python code with nuitka. No speed gain that I'm aware of but I can now provides a binary. I'm also looking more and more at C# because of its progressing AOT compilation and although I dislike the verbosity of its base mode and the fact it's so tied to windows.

I liked a lot nim and crystal but the small community was a barrier, although I'm really impressed by what nim is managing to do with such a small community and it may me think it's an excellent language

(I will try to motivate myself to pick up one of the language I mentionned above also)
> where it would rank then?

I would rank it as "still isn't legal to import or drive in most of the Europe".