MurphyA/hacker-news huggingface dataset:
by linguae | 2025-04-05 17:55:10+00:00
In defense of such compilers professors, part of the purpose of a good undergraduate computer science program is to expose students to different programming language paradigms. Computing professionals are expected to grasp new languages, APIs, and tools quickly. Additionally, certain problems are easier to express in certain paradigms. For example, I would use a language like C or perhaps Rust in an operating systems class since we need to operate at a level that is much closer to the hardware. If I were teaching a course on machine learning, I’d use Python for its excellent ecosystem of libraries, though R and Julia are good alternatives. A course on relational databases should teach basic SQL.

Back in the 2000s there were some CS undergraduate programs that attempted to use Java in the entire curriculum, from introductory courses all the way to senior-level courses such as compilers. There was even an operating systems textbook that had Java examples throughout the text (https://www.amazon.com/Operating-System-Concepts-Abraham-Sil...).

I think using only one language for the entire undergraduate CS curriculum is a mistake. Sure, students don’t have to spend time learning additional languages. However, everything has to fit into that one language, depriving students the opportunity to see how languages that are better suited to specific types of problems could actually enhance their understanding of the concepts they are learning. In the case of Java, it’s a good general-purpose programming language, but there are classes such as computer organization and operating systems where it’s important to discuss low-level memory management, which conflicts with Java’s automatic memory management.

When it comes to writing compilers, it turns out that functional programming languages with algebraic data types and pattern matching make working with abstract syntax trees much easier. I learned this the hard way when I took compilers in 2009 at Cal Poly. At the beginning of the course, we were given two weeks to write an AST interpreter of a subset of Scheme. My lab partner and I didn’t like Dr. Scheme (now known as Racket), which we “endured” the previous quarter in a class on implementing programming language interpreters, and so we set about writing our interpreter in C++. It turned out to be a big mistake. We got it done, but it took us 40 hours to implement, and we had a complex class hierarchy to implement the AST. We realized that Dr. Scheme’s features were well-suited for manipulating and traversing ADTs. We never complained about Dr. Scheme or functional programming again, and we gladly did our other compiler assignments in that language.

16 years later, I teach Haskell to my sophomore-level students in my discrete mathematics class at a Bay Area community college that uses C++ for the introductory programming course.
by chrisoverzero | 2025-04-05 17:55:52+00:00
Is the answer (ROT13 for spoilers):

V vzntvar gung vg pbhyq abg or orpnhfr Frg erdhverf gur rkgen fngvfsnpgvba bs Rd, evtug?

After looking it up: Nu, lrf, ohg Beq. Vagrerfgvat ubj gung vzcyrzragngvba qrgnvy yrnxf.

Even later: Unat ba, gurer'f ab jnl vg pbhyq or rira vs gung fngvfsnpgvba pbhyq or birepbzr! Vzntvar n frg pbagnvavat sbhe naq artngvir sbhe naq lbh znc `fdhner` bire vg… Gur fvmr bs gur pbyyrpgvba jbhyq punatr!
by nyarlathotep_ | 2025-04-05 17:55:54+00:00
> I'm of a similar mindset, just look how many software adjacent roles are basically UBI already.

Many actual software jobs are, too.

How many people are working/have worked (especially during the covid-boom years) on projects with no path to profitability, minimal practical utility etc.

How many "promo" projects were launched during those years?

My perspective is there's a lot of (unintentional, perhaps) "patronage" that's gone on for some time now, and what we're seeing throughout the industry is a reaction to that.
by throw0101d | 2025-04-05 17:56:44+00:00
> Wouldn't tariffs being based off of the trade deficit explain exactly this? Also maybe this is not the best example since doesn't the US already impose sanctions on Iran?

Yes, which is why the tariff rates are retarded.

As someone observed: it's like being taxed not on your income, but on the number of vowels in your name.
by em-bee | 2025-04-05 17:56:59+00:00
when you do the same thing year after year, eventually you will realize that you are not learning anything new anymore, and the only way to change that is to change what you are doing, or how you are doing things. a five year old doesn't dislike spinach because they had enough of it, but because they are unfamiliar with it. clearly this is not the case here. i changed the way i travel every few years. in my teens i was doing bike rides. in my late teens i discovered that i could afford trains in eastern europe. in my late 20s i found that i could get work in remote places. and in my 30s i got married. i never stopped moving to new places. i just changed the way i got there, and the reason to be there, and the main motivator for change was that with the old way i didn't learn anything new anymore.
by simpaticoder | 2025-04-05 17:57:02+00:00
When the iRobot servers go down, it will be a brick, so now is the time to reverse the protocols and figure out how to control it over the local subnet. Besides, there is no justification for connecting it to the public internet, which is an unnecessary DOS risk and moderate privacy risk. I buy no hardware that requires a persistent service to function. I made an exception for this, and now must pay the hackers price.
by icegreentea2 | 2025-04-05 17:57:12+00:00
I -think- the $100 billion is a typo. I -think- it's suppose to be ~$100 million.

Anyhow, I don't think its wrong to say (as the article does) that iRobot failed to focus on its core market, but it's also really unfair to iRobot to say should not have attempted to compete in the new product categories (...you just need to look at the product websites for the competitors cited in the article to see that iRobot isn't alone in trying).

Fundamentally, iRobot is competing in a commodity market. That's what home automation/electronics will be. I think you hit it right on the head - this is just another form of appliance.
by tim333 | 2025-04-05 17:57:12+00:00
>In the US, a person used to be able to graduate high school and get a job that could support owning a house with a yard, a non-working spouse, a car, and multiple children

A lot of the change there is not down to China but limiting the ability to build a cheap house through nimbyism and regulation and then competition from other dual income / high earners bidding everything up. You could fix it by allocating everyone a bit of land and letting them build whatever on it even if it was just a shack. It's not really trade that's the main problem.
by YZF | 2025-04-05 17:57:14+00:00
It's also about resource constraints. If your parallel request workload (let's take S3 as an example) is already using all the available resources then parallelizing this single task in the hope that it would make things more efficient/run faster is just going to result in things running slower (because of the overhead e.g. of moving data around, synchronization, etc.) At least in the higher end of request concurrency. Ofcourse if a machine just happens to be be processing a single request that can be a win but that means you're not utilizing your hardware. The way to make those heavy parallel request workload systems go faster is simply to do less, i.e. optimize them, not parallelize them. The exception is if you want to have some "quality of service" controls within this setup. That is fairly unusual in the types of systems I'm thinking about.

I've seen this happen in practice and it's a common anti-pattern. An engineer tries to get requests to go faster, parallelizes some of the pieces of a single request, only to find the system can now handle less requests/s. The reason why is easy, he's now doing more work on the same amount of resources.

This is very different than a single task running on a multi-core machine with 31 cores sitting idle and one doing all the work.

I think your statement mostly applies in the second case you want to chop things up in more or less equal size piece. Otherwise you'll bottleneck on the piece that took longer.
by namaria | 2025-04-05 17:58:17+00:00
Yup this is full on addiction mechanics. You use these generative tools, it feels great, the team and the organization feel great. But it's not warranted, the underlying thing is inherently flawed.

When the good feeling fades and you need to up the dosage, you will find that your ability to function is declining and your dependency on the generative tools is increasing. Besides no one is thinking about the end game. If (and its a big if) this goes to plan and these generative tools can do everything. Well at that point the only software needed is the generative tool itself isn't it? There would be no need for anything else so anyone building stuff on top of it, or using it to build stuff, would be SOL.

So best case scenario we all get addicted to fundamentally flawed technology because our ability to function independently has eroded too far, worst case there will be only foundational model companies operating in software.
by refulgentis | 2025-04-05 18:00:01+00:00
For context, I was saying that same thing in 2017*, because it seemed obvious, especialy given the elite consensus was it was obvious SwiftUI was being introduced to allow full cross platform development, including web.

In retrospect, I was starstruck by the people I learned programming from, and Apple Neue funds software engineering, especially developer tooling, to the point it is not actively harmful, as opposed to not painful, and very opposed to not-harmful-and-not-painful-on-not-our-platforms.

* Of course, not for Swift 6 Language Mode™, the thing is, there's always been a Huge Project that's launching, but not landing...
by refulgentis | 2025-04-05 18:00:51+00:00
Amazing!

Why are they framing it as a proposal if it's done? (if this comes across as Socratic, it is unintentional, I genuinely don't understand why the author would be posting a proposal when it is done)

EDIT: My naive reading of https://github.com/swiftwasm/swift/issues is there's a lot, lot, to go. TL;DR: open from 2021, stdio FILE not available in WASILibc. Long version, filed in 2020 and open: "Pointers needed on WASILibc", "Make the toolchain work without Xcode installed", "Enable libdispatch or provide stubs for it", 2022 "canImport(Dispatch) is wrongly truthy on WASI target", "wasm lacks signal support" (broke/regression in Sept. 2024, still open)
by angry_moose | 2025-04-05 18:01:22+00:00
"Ladel" isn't actually in the dictionary:

https://www.merriam-webster.com/dictionary/ladel

https://www.dictionary.com/browse/ladel

https://www.collinsdictionary.com/us/spellcheck/english?q=la...

OED has it as an incorrect/unusual variant:

https://www.oed.com/search/dictionary/?scope=Entries&q=ladel

It's misspelled constantly on the internet, but "ladle" is the correct spelling.
by infoSecer | 2025-04-05 18:01:46+00:00
Have you considered that Mandiant is wrong? I cannot find any evidence that it would be vulnerable. Hitachi doesn't even appear to be a technology partner of Palo Alto (https://technologypartners.paloaltonetworks.com/English/dire...).

As far as I can tell, the only connection between those is, that CISA released this alert which mentions multiple unrelated advisories in one post. Which happens to be the Siemens Palo Alto and another unrelated Hitachi advisory in RTU500: https://www.cisa.gov/news-events/alerts/2024/04/25/cisa-rele...
by YZF | 2025-04-05 18:01:55+00:00
I can see how that would happen. When I first read the book I was definitely not a blank slate. But it's still a good recommendation for those with a little bit of knowledge who want a deeper understanding. At least it was for me. You'll only get so far without knowing the things in the book which are also introductory in nature.

If you don't know Ohm's law. You don't know what a resistor is. You've never built a simple circuit. Then this book may not be for you. Or it may if you're willing to put in the effort.
by QuantumGood | 2025-04-05 18:01:57+00:00
When you limit to one framing "changing one's mind", it helps if you point it out, acknowledging that other framings can be possible, otherwise it risks seeming (not necessarily being) manipulative, and you are at least overlooking a large part of the domain. Harvard Decision group called these two of the most insidious drivers of poor decisions "frame blindness" and poor "frame choice". Give more than one frame a chance.
by steveBK123 | 2025-04-05 18:02:36+00:00
Not only are competitors products better and cheaper but iRobots products actually got worse over time.

My first roomba was 2017 and I subsequently got 2 more with more supposed sensors and recognition abilities 2020-2023 and they are just awful.

Just the basics of starting, cleaning, and returning to base to charge are handled worse than my 2017 model.
by amelius | 2025-04-05 18:02:47+00:00
Interesting. I recently tested a 6ft USB3 cable and an attached drive. The transfer of a 1TB file failed a few times (not sure of the details). This is strange, since the cable couldn't have been that bad (?) and the 16-bit CRC should have caught those errors (assuming an error will trigger a resend of data). Any ideas what the issue could have been? Does Linux provide a way to view the error rate?
by wvenable | 2025-04-05 18:03:12+00:00
> What I always heard was that Netscape was the better browser

Netscape was SO bad that they literally threw away all the code to make Firefox. Before IE3, Internet Explorer was not really competitive but with IE3 you could fully use it place of Netscape and it was smaller, faster, and more stable (it was also mostly Spyglass Mosaic). IE4 began the integration with Windows, all of which sucked and nobody used but the browser itself remained solid.

As a developer, IE was also way easier to develop for than Netscape and many things we now take for granted on the web were pioneered by Microsoft in IE. When the browser wars were on, IE was a really good browser and Netscape was stuck with a difficult code base. However, once Netscape was gone Microsoft simply stopped significantly updating IE. It remained almost completely stagnant until Chrome came along and it's from that period onwards that IE gets its bad reputation. I switched to Firefox at version 1.0 and still use it today.

The thing is that Microsoft did, in fact, bundle IE with Windows to try and kill Netscape but that doesn't imply IE was bad at the time. That's the flaw in the logic and where a lot of negative revisionist history comes from. Ironically, today, it would be considered crazy to sell an OS or device without a browser being bundled. And Netscape may have collapsed under it's own weight eventually anyway.

> By who? Over your 56K dial-up connection?

By some automated script over cable internet.
by pessimizer | 2025-04-05 18:03:50+00:00
You never had a reason to trust TAL's reporting before the Daisey incident. You maybe trusted it because it is on the radio, and you trust people who can afford a radio station; or because it was on an NPR station, and you trust NPR.

This is pragmatic as long as you have no evidence either way and you're not basing any serious decisions on this "trust." But the fact that they didn't bother to fact check Daisey, and in fact had never fact-checked before that: this is actually the first information you have about TAL's internal processes. It should vastly outweigh it being on the radio.

This comes off like fandom. You seem to have an interest in this incident not affecting people's perception of the quality of TAL, but I have no idea what that interest would be. It shouldn't bother you that people see the show as a place whose facts should be checked if one is considering spreading them.
by fragmede | 2025-04-05 18:05:12+00:00
> Heavier-than-air flying machines are impossible.

-Lord Kelvin. 1895

> I think there is a world market for maybe five computers. Thomas Watson, IBM. 1943

> On talking films: “They’ll never last.” -Charlie Chaplin.

> This ‘telephone’ has too many shortcomings… -William Orton, Western Union. 1876

> Television won’t be able to hold any market -Darryl Zanuck, 20th Century Fox. 1946

> Louis Pasteur’s theory of germs is ridiculous fiction. -Pierre Pachet, French physiologist.

> Airplanes are interesting toys but of no military value. — Marshal Ferdinand Foch 1911

> There’s no chance the iPhone is going to get any significant market share. — Steve Ballmer, CEO Microsoft CEO. 2007

> Stocks have reached a permanently high plateau. — Irving Fisher, Economist. 1929

> Who the hell wants to hear actors talk? —Harry Warner, Warner Bros. 1927

> By 2005, it will become clear that the Internet’s impact on the economy has been no greater than the fax machine. -Paul Krugman, Economist. 1998
by ttyprintk | 2025-04-05 18:05:52+00:00
> DOGE’s approach is much more of a “private equity play,” said Samuel Hammond, chief economist for the right-leaning tech policy think tank Foundation for American Innovation. “It’s sort of liquidation nation,” he said, referring to the way private equity firms strip companies down for parts. While he said DOGE isn’t “universally praised or condemned” among the conservative technologists he knows, he said more people in those circles are starting to “talk about the DOGE that could have been.”
by don-code | 2025-04-05 18:05:57+00:00
I can't be sure about the latest models, but my two iRobot products - a Roomba 650 and a Braava 380t - don't have Wi-Fi connectivity to begin with.

The Roomba has physical buttons on it, which allow you to set a cleaning schedule if you so choose. There's also a small LED display, and a speaker that "says" what's wrong.

The Braava, by contrast, is a dumb-as-bricks device with two buttons - "mop" (which uses mop-like motions) and "sweep" (which uses broom-like motions).

Do they bump into stuff? Yep. Do I call them "dumbass" as I watch them clean? Sure do. But they're otherwise perfectly capable little single-function devices that don't try to do anything more than they really need to do.
by exyi | 2025-04-05 18:07:42+00:00
I don't know how large are those boxes, but normal CPU L1 cache has 32 or 48KB which should be plenty for this. Python opcodes for this program are going to be tiny, and the interpreter itself uses the instruction-L1 cache (which is another 32-48KB). I hope the sequential scan of the big array won't flush the L1 cache (there should be 12-way associativity with LRU, so I don't see how it could).

Anyway, there is no need to have 256 integers, just 2 is enough. When I try that, the results are similar: 17.5 ms (unsorted) / 12.5 ms (sorted)
by darth_avocado | 2025-04-05 18:07:42+00:00
Yes the remaining ecosystem we have left today. Earth core will colder in millions of years. The rate at which we’re making life in general except for a few strains that are useful for human consumption, will not last that long. And yes a comet could hit the earth any time and wipe out all life, but that also means it could happen before you moved to other planets by using unknown technologies.

A comet could wipe out all humans as well, but we don’t use that as an excuse to start wiping out other humans do we? Then why don’t those rules apply to the rest of the life we share this planet with?
by SiempreViernes | 2025-04-05 18:07:48+00:00
> Every UTM grid is perfectly square and exactly the same size. All UTM coordinate grids are perfectly square and exactly the same size — 1,000 meters by 1,000 meters — across the entire grid system.

Since the Earth does in fact not have a circumference that's a integer multiple of 1 km, does this mean this projection just leaves out some sliver of the Earth's surface?

East to west its not too bad, just 17 metres off, but north to south that's over 800 meter of extra surface to hide!
by tmoertel | 2025-04-05 18:08:27+00:00
You're inferring a lot that I didn't write or even imply. I'll be clear about my beliefs:

1. I just learned from the article about the fabricated Daisey episode and that TAL started using professional fact checkers only afterward. I was surprised on both counts.

2. I saw your comment that it would be in poor character to discredit TAL's prior reporting on the basis of this one failure.

3. I responded that it would be telling to actually estimate the reliability of earlier episodes because, right now, we're just going off our personal beliefs (and these probably vary widely from person to person).

4. You and I had a back and forth, mainly talking past one another.

5. I think that if we did actually measure the reliability of prior episodes, it would be less than a lot of TAL defenders expect and greater than a lot of TAL doubters expect.

6. As for what's reasonable vs. over correction to take away from the article, that depends largely on your prior beliefs about TAL and how the world functions in general.

Note that point 5, being a product of my prior beliefs about TAL and how the world functions in general, is actually an example of point 6 in action.
by Hansenq | 2025-04-05 18:08:47+00:00
This is one of the clearest example of overzealous regulation leading to the West losing one of its strongest household robot brands to Chinese upstarts.

Robot was not in a particularly financial good shape beforehand, but at least had models that could compete against the Chinese competitors. Because it was running out of cash, it tried to get acquired by Amazon for $1.4B. This was, by no means, an ideal deal, but it would have put the company on stable financial footing, and let it continue as a brand (similar to Alexa or Ring).

However, European and FTC regulators prevented the deal, saying that this was an invasion of home privacy by the big-bad Amazon. Fast forwards three years and today, all of the robot vacuums you buy today are Chinese-made and iRobot is about to declare bankruptcy. We traded off home privacy from Amazon to an upstart Chinese company and lost a leading $1.4B company. Great. I don't know about you, but I trust Amazon more with my data than a Chinese company.

https://www.reuters.com/markets/deals/amazon-irobot-abandon-... https://www.theverge.com/2022/9/29/23379036/amazon-irobot-ro...
by didgetmaster | 2025-04-05 18:08:57+00:00
I feel like there are two kinds of side projects. One type is a small project that can be coded up in a short time (a weekend or a few evenings). It reaches a functional stage rather quickly and only takes a few hours to fix bugs or improve the user experience.

The other type is much bigger and can take months or even years. New features are added from time to time, but must also fit into a well defined architecture.

Both types can be satisfying but require different approaches. The first gives you a bunch of different projects that get shuffled around and easily abandoned. The second requires more discipline as you continually build upon previous layers.

Since they are both side projects, you can go weeks without looking at them or spend all your spare time on them for extended periods.

I have a side project that I have dabbled with for a decade. There are months where I get many features working and others where I barely look at it. It just depends on what else is happening in my life at the moment.
by convivialdingo | 2025-04-05 18:08:59+00:00
I’ve been modifying the the MIR c2mir JIT compiler to extend the c11 compiler to support simple classes, boxed strings(immutable, nun-nullable) with AOT support.

Imagine if Java and C had a love child, basically.

MIR is a fantastic piece of engineering.

Honestly the hardest part is representing types. Having played around with other compilers it seems to be a typical problem.

I’m stuck in the minutiae of representing highly structured complexity and defining behavior in c. I can understand why many languages have an intermediate compiler - it’s too much work and it will probably change over time.