skysight-inc/HackerNews huggingface dataset:
> Almost nothing has carried over to what companies use or want day to day

I wonder what is your view on functions and local variables? Do you find structuring programs with them useful or just an academic exercise?

I had the "privilege" to work with assembler programs, written in 1970s and 1980s, that were mostly one big procedure, with a huge bunch of shared global variables. Back then, it was very efficient way to program (that's why it was used), and down to metal. But it was unmaintainable mess.

(And that's what we want from a compiler - to transform program from maintainable and somewhat abstract description down to unmaintainable spaghetti that can be, however, executed very efficiently.)

Pure functional programs are just taking it step further, saying that most functions shouldn't need full access to their execution environment (operating system). The result is, supposedly, even more maintainable programs.
Building houses became a profession over thousands of years, however, only beginning to have real standards when the masons banded together in guilds. These guilds only attained the power they did because people die when buildings collapse, and important people care when churches collapse. By comparison our profession is, extremely, young and a lot of the software we build doesn’t really matter and doesn’t really have anyone that cares enough about it for there to be consequences.

This is why I both agree and disagree with the article. Because anyone can frankly build a house, and a lot of people around the world, not only do so themselves, they do so poorly. At the same time there are a lot of parts of software that are inaccessible to most software developers.

Banking and medical software developers tend to care quite a lot about your qualifications and even the modern coding interview is sort of there because our profession lack the “trade skill approval” seal that builders and electricians get.

On the flip side of this I live in the city of Aarhus. Some years ago we got a new form of public transportation called Letbanen, which is a street level metro (I’m not sure what they are called in English). It was sort of a standard product that my city bought and it runs in both Norway and Switzerland during their winters that are worse than hours. Last week it was cancelled 5 days out of 7 because the electricity lines were frozen. I love the thing and I don’t mean to complain about it or pretend to know why my city can’t make it work when a city in Norway can, but the fact is that it doesn’t work and tens of thousands of commuters haven’t been able to rely on it for a couple of winters now.

It’s CEO hasn’t changed.

This is a standard product that was build by certified people that keeps people from getting to their jobs without having a car (in Denmark it’s common not to need a car in our larger cities), and yet, there hasn’t been a lot of consequences for it failing the same way for several years.
you either love meta programming or you hate it, and if you love it enough, you also sometimes hate it :D
You freedom ends where my nose begins, or something like that. The freedom to voice your opinions, even unpopular ones, is good. It stops being good once it turns to online harassment, IMHO even before that.

And by the way, just because there is no active moderation doesn't mean that every voice is equally heard. Or did any one on running.com listen what Dr. Meza had to say?
I love that the ecosystem is starting to grow again. I'm doing my part in building fantastic developer tools

I'd love if Rails' ecosystem becomes more vibrant like Laravels'
The problem, universally, is that we are pretending software is cheaper than it actually is.

We don't have the staff. We don't have the time. Companies don't have the money.
I'm also interested in new browsers. I mainly use Firefox, and have been using it since its Navigator days (although for a long period I used a derived version for OSX, Camino), and I use Chromium and Safari when I have too. A new browser is welcome for multiple reasons. But the article is very light on details, such as: what features does/doesn't Orion's engine support? It's fast, but the author doesn't even mention if Orion uses Google Safe Browsing or an alternative (which could be why Safari briefly lingers).

As it turns out, Orion is webkit based. That would explain how there can be an iOS version in the works. That seriously reduces my interest. I've signed up, because you never know, but Orion is not an undertaking comparable to Chrome, Safari or Firefox, that will add a much needed breath of fresh air/diversity to the browser landscape.
The author says that this new browser is very similar to Safari, as if it is a good thing. Maybe it's just me, but to me Safari is a horrible, terrible, very user hostile browser that is only used once to dowload Firefox. And on mobile it is even worse. So having another browser that feels like Safari is a big instant NO in my book.
Amazon referred to US Attorney General over ‘potentially criminal conduct’
i just want you to exist in this little do block right here, don't need to name you, don't want anyone else to call you, but you need to do some things
One of the best tiny programs I wrote in half hour was to help my office mate automate his manual copy & paste of sample IDs to generate barcodes, aggregate them in 10 nos boxes and send them out. He had allocated the entire day to do this manual labour for 3800 samples. I showed up, asked if I could help, and wrote a simple python script that would read the excel doc with all sample IDs and prepare printable PDFs with 10 barcodes each that he can simply stick on the box.

The whole thing was over in 45 mins, and his mind was blown. He had been doing this manually about once a month for decades ;-)

I have moved on from that job, but have given him an executable on his laptop that will read an excel file of a specific name and print out the PDF the same way. It is his treasure now :-)
It is more like big guys like US and Russia are swearing at each other, they push Ukraine around, now he is bleeding, China wants nothing to do with it, so provided some medicine. Now everyone suddenly find China to blame. Very nice. China didn't invade Iraq, and China didn't invade Ukraine, now China is the bad guy.
The biggest importer of asbestos is India. Even if they'd already banned Russian asbestos, the only country to have enough asbestos is China, guess the rest.
> I can't just put new apps on it because it's no longer supported on the App Store

Even if it hasn't support for running the up-to-date App Store app (hanging at about the point where a payment method is configured), I found out that if you have another iDevice, you can use that for purchasing and then the app appears in the purchased apps tab on the old iOS device, from where you can download it. Provided the app is supported on iOS 9 and/or the developer hasn't deliberately removed old versions.

That's how I've installed the occasional kid game or adventure game on my almost ten years old iPad mini (1!).
That genre had seen a renaissance around 2012-2015, and some review comments on the app store even claim apps from that time run better on older iPads. iPad 2 is better even, actually has had a really decent run with updates for six years or so, with the latest updates only from last year (iOS 12? with metal support), so should be good for years to come.

The battery on my old iPad mini still goes strong with at least 8 hours, too; the display is no match to current devices, though.
I’m having good time using this reference:

https://teachyourselfcs.com/
I have a script running on the raspberry pi that scrapes the Council website and emails me with what bins need to be out on Monday. Runs every Friday. I still await the email with anticipation every week.
Doesn't seem like anyone has posted the bug free implementation so here it is:

int main(void)
{
char the_terminal[] = "Hello World!\n"
return 0;
}
Bitmovin (YC S15) Is Hiring Sales Directors in USA, EU and APAC
Ask HN: Should the SEC have more power and resources?
I'm an older runner (50+), live in LA. I feel in some sense this story might be near to me, but it might as well be in a parallel universe. I never run in organized events. I specifically run by myself, so I can enjoy my time, free from social pressure. I don't understand any of the players in this whole drama. Most of the time I just feel like an alien from the whole thing, then I go running and feel better.
> A lot of the fab equipment, along with the technical secrets needed to produce such equipment, is locked down in the USA and western Europe.

It may look so from the West. Big name equipment like steppers, and deposition tools come from the West, but a lion share of everything else is a product of the local supply chain.

Without that, setting up new fabs elsewhere is not possible.

Because some globally single source consumable are too locally produced, you cannot talk of even resuming production at existing fabs.

Fellows funded by some suspicious foundations in the West arguing for "we will coax TSMC to build a fab in America, and then we can betray them" are pushing an exact line as Beijing.

First, they are not engineers, and have no idea how the industry functions. Fabs will stall within weeks after running out of consumables from Taiwan.

Second, America cannot "weather the storm." There will be absolutely no arrangement possible how the US can regain access to semi once this is over in any way.
Surrogacy is perhaps not the best example of French conservatism.

Curiously, only the USA and formerly Soviet countries permit paid surrogacy, and even altruistic surrogacy is illegal in much of the EU, including Germany, Spain, Switzerland, Austria, and Italy.
> Take Screenshot of the Entire Page is something I’ve wanted in a browser

Firefox natively supports this.

> Edit Text on Page is very useful to me as a translator.

`document.designMode = "on"` in the console in any browser.
Did you read Eloquent Ruby? Having many ways to do the same thing is intentional in Ruby's design, to try and promote a coding-as-literature style, whereby the language gives you the tools to write code that is as close to plain English as possible. This is explicitly why Ruby includes "unless" in place of "if not". The more ways that there are to express the same idea, the more tools the programmer has to write code that is easily readable and understandable by others. Human comprehensibility + a comprehensive test suite = long-term maintainability.
Same personality that is attracted to a profession with built-in prestige, say doctor or lawyer. This story would be way less believable if he were an artisan of any sort.
> It's a shame that the developer chose native over cross-platform

As I'm sure the developers will read these comments, not it isn't. Thank you for choosing to go native. There are dozens of other non-native, cross-platform browsers. Why would we need another one?
This is interesting because "Ask Slashdot" at the head of the title is clearly an antecedent to "Ask HN". I always wondered where that came from—I remember when people started posting "Ask HN" shortly after HN was born, and I remember how it struck me as a bit of an odd convention.

Are there instances of "Ask $community" from before Slashdot?
It's not a bug it's a feature!

LICENSING WON'T INCREASE QUALITY OR SUPPLY
Adding licensing to be a software engineer will not produce more or better software developers.

LICENSING OBSOLETE IN FEW YEAR
The software industry changes very fast and that's also because it doesn't have a ton of beuracracy weighting on it (yet).
Try standardising exams to be a software developers, then everyone will have to know a language or practice of 10-20 years ago!
Already this is happening with universities that are stuck teaching Java while clearly everyone should have moved to Javascript/Typescript/Python/Go/Rust by now.

LICENSING ONLY GIVES ADVANTAGE TO SENIOR DEVELOPERS
Finally, this type of licensing are also a way for the people already INSIDE to close the gate and allow less younger talent in to compete with them.
Don't close the gate, move up in your career as software engineer and become an entrepreneur or manager and help younger developers rise up too.
See their website, https://browser.kagi.com/, linked in the article.
Have you tried water.css? It’s very nice https://watercss.kognise.dev/
Spiders are venomous to insects. Actually, that venom is basically saliva, if I remember correctly, designed to digest the prey not to kill it (like us, spiders digest in part outside of their body - we cook, they inject their saliva).

> Of around 50,000 spider species known, only about 25 (1/20 of 1%) have venom capable of causing illness in humans

From: https://www.burkemuseum.org/collections-and-research/biology...
> It won't cure brain, blood cancers, or Alzheimer's.

Blood cancers are some of the most successfully-treated cancers. One of the effective--but risky--treatments of last resort is close to this futuristic fantasy you're imagining: there are leukemia/lymphoma patients who've been cured by destroying their bone marrow and then replacing it with healthy bone marrow. It's done using donor marrow, umbilical stem cells, or even the patient's own marrow that's been extracted, treated, and returned to the patient after they wipe everything out. It's pretty close to a full replacement.

Most of what you're suggesting isn't possible with any current or likely near-future technology, but curing blood cancers this way is already mainstream medicine. In some cases, patients that have undergone this treatment have also been cured of AIDS and other "incurable" diseases.
Direct download without waiting and signing up: https://browser.kagi.com/downloads/Orion.dmg
When you eat out (or even eat in), if you feel like you want dessert after you have a meal, tell yourself you can, but you have to wait 30 minutes first.

Chances are pretty good you actually aren’t hungry, and that after the wait, you’ll end up skipping the dessert after all.
Shackleton is the Anti-Scott.
Some software developers are self taught and do fine. The problem might be that you are referring to it as a "profession." It is for some, but for others it is something they might do more casually, and that should be ok.

Would you agree that a teenager should be able to build a widget for a local business's web site for money? Or should a license be required to do that? Should that same teenager have to get a license to baby sit or mow lawns? Presumably you don't think of baby sitting or lawn mowing as professions, so that's the difference.

Maybe a license should be required to call themselves a "software engineer." But beyond that, I think this article views things in way too black and white terms.
In case anyone is wondering how they missed this: The feature was added in Python 3.8, so it wasn't part of the original f-strings feature set.

https://docs.python.org/3/whatsnew/3.8.html#f-strings-suppor...
Have a tablespoon of olive oil first thing in the morning. Make sure you don't eat any other food or drink other than water within two hours of the oil (plus or minus).

It takes a little getting used to but it totally worked for me. A tablespoon of oil first thing in the morning and I wasn't hungry until the afternoon.
Yeah, licensing has always seemed to me like a sort of rent-seeking; artificially keeping the supply low to improve the pay of the insiders. It's not like we need that in software right now.

Besides, software is a business that's surprisingly low on the bullshitisation that's taking over almost every other "serious" job, where people have ever less time to do their actual job and spend more time documenting how they do their job and justifying their choices with after-the-fact narratives that don't accomplish anything other than make someone look busy while producing nothing of value and increasing consumer costs.
I'm very happy with kagi search and gave switched over too. It does rely in google (and others) but seems to retain the "good" aspects of google search without all the crap (ads) and nagging. And by virtue of it being smaller, I don't care as much about them presumably harvesting as much data as possible from me. It will be interesting to see how they scale.
Ironically, CNAME blocking is actually a (potential) privacy leak depending on your network configuration. It does a DNS look up (ignoring your system DNS settings) and checks what the CNAME record is pointing to against the block list. Assuming you have control of your DNS settings, you've (hopefully) configured your DNS to use Quad9 or something similar rather than Cloudflare (questionable) or Google (outright invasive). UBO ignores this choice.
UBO also recently added a warning about this in their extended info on the option, and it's been featured on HN a few times.
When I played with VFIO for gaming, I did use pulseaudio passthrough for audio, never had any particular issues.

https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Pa...
If they were consistent defenders of net access and free speech, I'd respect that. But I remember they pulled the plug on 8chan, right? So I guess talking on the internet is way worse than invading a country and causing hundreds of civilian deaths, so far. Or maybe Cloudflare considers uncensored speech more dangerous than multiple murder.
> Doesn't gender lose its meaning if it's not tied to sex? As in, it is just a person's psych?

What do you mean by "sex"? Would a woman who goes through menopause no longer be a woman because she's not fertile? What about someone born intersex with multiple or no recognizable genitals? What about a woman with a Y Chromosome? That's not hypothetical it's recognized by actual biologists. The reason it's under diagnosed is because it rarely shows symptoms so it's only something someone already taking a DNA test would find out.

Fun fact though, when you meet someone, you forgo the strip search, DNA test, and ultrasound required to actually verify these things. Not only is gender not based on sex, YOU don't base your evaluation of it on sex. Instead you've picked a number of unrelated arbitrary qualities, which is what scientists and I call "dumb". If we're assigning genders willy nilly why should you be in charge of everyone? Let everyone pick for themselves.
> Banking and medical software developers tend to care quite a lot about your qualifications and even the modern coding interview is sort of there because our profession lack the “trade skill approval” seal that builders and electricians get.

As someone that's worked around banking and finance a fair amount in the last few years, I'd say this is not universally true. I've never worked in the medical sphere, but I have worked on everything from tiny payment systems at SMEs to massive compute systems at banks in the top handful of the fortune 500, to quasi-governmental inter-bank communications bodies, and really I've not seen any more focus on qualifications, nor reliance on 'hard' coding interviews than I've seen elsewhere in software.

Maybe medical is different, AFAICT finance and banking ain't.
It matters because "algorithm" is just another word for "program". The question is whether you can think up a way to make the computer do what you want it to do at all at the level after FizzBuzz, even when it's something like reversing a linked list that can be done in two lines of code (see https://news.ycombinator.com/item?id=30616573, or seven in C), even when it doesn't need to be fast.

I mean, it's true that there's a lot of code that really is at the FizzBuzz level:

switch (c) {
case 'h': case 'D': menu.left(); break;
case 'j': case 'B': menu.down(); break;
case 'k': case 'A': menu.up(); break;
case 'l': case 'C': menu.right(); break;
default: /* no op */ break;
}

def find(self, name):
for thing in self.contents:
if thing.is_a(name):
return thing

vaders.hits(bullets, (vader, bullet) => {
blam(vader, 2.5)
score += vader.bounty
vader.die()
bullet.die()
})

if (vaders.where(({y}) => y > 400).count()) startGame(120)
if (!vaders.count()) startLevel()

And I think you should write as much of your code as possible in such a painfully obvious way. Every once in a while, though, you do need to write something that can't be written quite that simply. Often, the reason why is something in your problem domain:

async def take_token(self):
self.update()
while not self.tokens:
await asyncio.sleep(self.recharge / 10)
self.update()
self.tokens -= 1

// Animate explosions.
poof.move()
poof.each(p => {if (--p.ttl < 0) p.die()})
// Chain-reaction explosions.
poof.about_every(64).each(p => {
if (poof.count() < 1024) blam(p, p.w/12)
})
// Limit number of explosion objects to guarantee responsivity
if (poof.count() > 1024) poof.about_every(2).die()

You need to be able to reason through what your code will do once you've written it, and you need to be able to come up with possible ways to write it that might work. Often the code you need for your problem domain isn't already in the standard library, so you have to write it. If it's on npm, you have to be able to read it to see whether it might work.

Reversing a linked list is just about the simplest task that requires that kind of reasoning, and it has the advantage (or disadvantage) that understanding the puzzle doesn't require, or benefit from, any problem-domain knowledge. You could substitute binary search or insertion sort or something. Another example I got, which takes a few more lines of code, was "implement an integer stack ADT which can always tell you the maximum number on the stack in constant time".
>I don't think I even know what you mean by 'how computers really work'.

Haskell is a top down language. It is an abstraction over a variation of typed lambda calculus. The compiler compiles haskell into this lambda calculus and then has to figure out how to efficiently evaluate the terms. One can argue that with a "sufficiently smart compiler" it can make things run fast. Unfortunately, this is not really the case and it is not easy to reason what code is being generated for what you write. Are optimizations like deforestation kicking in? There are also plenty of abstractions that the Haskell community gets excited over even though they come with performance impacts. These abstractions may be entertaining, but they are not necessarily practical. If you go deeper in the rabbit hole of FP you might find people talking about how with homotopy type theory a compiler could recognize code and substitute it with a more "optimal" version. Unfortunately, a mythical "sufficiently smart compiler" does not exist and even if it did the compile time would be impacted in trying to optimize your programs.

The "how computers really work" argument is that languages should instead be abstractions over the CPU (or other hardware devices) instead of abstraction over computation itself (alternatively you could also see it as an abstraction over graph reduction based hardware but since we aren't running it on such hardware that is problematic). In the real world we have real concerns about resource usages such as processing time and memory. Abstractions over the CPU makes it easier to have a general idea on what the code that is being generated looks like.

It may be the case that your use case is not that sensitive to performance or memory usage so continue to have fun using Haskell. As you said Haskell is "not really practical." To your point of Haskell having very few lines of code compared to imperative version I feel that is likely just a matter of what is in the standard library / what libraries you used.
Comparing ALL software developers to builders or veterinarians isn’t fair. Veterinarians are continually holding animals’ lives in their hands. Builders almost invariably build things that can fall on their head and kill them—so a license is needed. If you just want to build a doll house, though, no one is going to require a license.

Software developers sometimes work on critical infrastructure—and licensing there does make sense. But requiring a license for me to build a silly web app seems like a classic example of what people complain about when they complain about unnecessary government regulation.