skysight-inc/HackerNews huggingface dataset:
I've always been curious about F#. Is it true that the F# compiler can be super slow especially on larger codebases?

I always wonder: why use F# when you can use OCaml? OCaml has pretty decent third party libraries...

(Yes multicore support in F# would be a good reason but apart from that)
It never ceases to amaze how one of the world's oldest and proudest democracies is absolutely useless at the basic table-stakes competency of a democracy, running a free and fair election.

I guess Americans just love their broken legacy system too much...
Useful Tools in Vue.js Web Development – Smashing Magazine
Year by year there will be more infrastructure. Like these on-street pop up chargers: https://www.youtube.com/watch?v=qb5aA3Qepe8

Or lamppost chargers: https://thedriven.io/2020/03/24/siemens-converts-all-lamp-po...
> is that just a meaningless buzzword now?

Very much, yes. If anything that word is now a warning sign. Thanks mr. minimal nerdy dev for having me download a minimal 9 MB auto playing header video over my mobile plan on your landing page[1].

This[2] is a better example of "minimalism" (I have to wash my mouth now). Notice something? Not a single mention of the word "minimal" in the entire article. Aaand, developer tools says it's 84 KB of data. Compare that to the the 13800 KB of the nerdy.dev landing page. Funny, [2] seems to be 164 times "more minimal" than [1].

[1] https://nerdy.dev/

[2] https://cheapskatesguide.org/articles/low-bandwidth-hosting-...
I'm afraid these sentences are weird, and the English translation is awkward.

A verb in the dictionary form, like 剃る(soru), when it's used as such in a sentence, either refers to a future action (someone will shave), or to a habitual action (someone shaves habitually, not necessarily now). The latter interpretation needs to be confirmed by the presence of some habitual time like 毎日 (mainichi, everyday).

４月の朝に髭を剃る is a weird sentence which basically means something like "On an April morning, I will shave my beard". ４月の朝 doesn't establish a habitual time, so the future tense interpretation applies. To say something like "On April mornings, I shave my beard" (habitual action taking place throughout every April) would be ４月の毎朝髭を剃る.
There are a number of studies that show that there are still many externalized costs for cars. A lot of course also applies to EVs (e.g. accidents, noise).
Android without their proprietary bits is a lot less useful
No it doesn't. It just widens the discussion to also include what oppression means.

Your argument puts "poor training data", which I originally commented on, in the same bin as for example apartheid. Widen it to that use devalues the word.

I have made my point and have no interest to continue this discussion further.
This for be too: a personal name that I don't recognise is not unlikely to get your message discussed and deleted as junk if I'm scanning my mail in a rush. That and emoji in the subject line (which I assume is designed to make you stand out, but to me grates more then ALL CAPS).

But I'm a grumpy old techie, how I see such things is going to differ to the general populous, so maybe a technique that puts me off gets more positive attention from more then enough others that losing me is worth it.
I frequently have to defend why I hate Python but the foremost reason is that lack of static typing (which also makes reading other peoples codes harder than it need be).
Static typing, especially in a rich type system like, e.g. Haskell and Rust, doesn't guarantee you don't have bugs, but it almost guarantees the ones that remain are better bugs, that is, application level bugs. However in my experience, I can usually tell what kind of code will be correct once it passes and which might still have issues.
You have solved a different problem. You didn’t include in your a analysis the “he opens one of the other doors and there is a goat” bit.

The original problem is more complicated.
I find these generally worth it because you can surface those aspects up to the function signature. It would be a lot nicer to have a function signature that shows the limits than it is to have a failure and have to open the docs for the library to see what the limits are.

If the code is sound, it should have the same complexity anyways. I.e. putting a non-empty requirement in the function signature is just as complex as adequately handling an empty array in the code.

My personal struggle is that statically typed languages are annoying to prototype (I don't care if it segfaults on my laptop, I want to validate my idea). My struggle is prototyping in something that I can easily transition to a strictly typed version. I'm curious to try prototyping in Javascript and adding types when I move to production.
the idea that the DOM based browser can be used as a GUI toolkit was wrong to begin with. It has been stretched to absurd proportions over the years. Maybe we need to go back to java applets?
Show HN: Scrape 1M LinkedIn profiles in real-time
This carries over to a general problem with wordy riddles and puzzles. They rest on a slew of assumptions and tacit knowledge. If the riddler fails to pluck out the essential parts, then there's a good chance the interaction will fail.
The general consensus in the community afaik, is that

head :: [a] -> a

in Prelude was a mistake, and the default should be to return a Maybe/Optional. Beginners are generally advised to avoid head, and all other partial functions in the Prelude, such as tail and the indexing operator, wherever possible, and rely on pattern matching instead, which is generally sufficient and more idiomatic for the relevant use cases. I agree that having the option to use a partial function is useful, escape hatches are important, but it shouldn't be the go to.

Nonempty was just a simple example. You're right that it's not very commonly used (probably because it's not in Prelude), but the general culture of writing type safe interfaces and pushing guarantees to compile time %100 is a thing. A commonly used, more complicated example might be Servant, which is a web library which statically ensures your implementation meets an API spec.
> Blank screens make for a bad user-experience. Users don’t want to wait for content to arrive from a server when they click a link or a button. They expect websites to be fast like native apps.

Why would users expect that? Most of websites use multiple pages and users are used to that. We change pages when reading paper books too. It’s not instant.

In fact, some SPAs are much harder to navigate because they are over engineered.
Can you elaborate? I have difficulties understanding what you mean. Do you really mean an idiomatic loop should be 'a jumble of random words'?
Ditto.

On Reddit even a percieved differing opinion results in hate mail, insulting and shouting. It's one of the reasons I never signed up to Twitter.
Large single compilation-unit C programs (2006)
Yeah I also drive a PHEV and it just doesn't work if you can't charge it at home - you might as well not bother at all.

However, I think the idea going forward is that proper BEVs will charge at stupid fast rates - 150-200kW charges, giving you 200-300 miles range in just 30-40 minutes of charging.

And which point, for majority of commuters, it's not completely inconceivable that once a week you just go to a "fuel station" where you plug in for 30 minutes to fill up and that lasts you the whole week of commuting, even if you can't charge anywhere in between. We're not quite there yet, but I think that's the ultimate future.
I think I misunderstood your perspective. I thought you were saying that you considered yourself privileged and were not happy about the prospect of increased competition or higher requirements due to candidates being added to the pool. I think now that you've clarified that you're not saying this, though, but that asians are also marginalized?

> Provide learning opportunities to the economically underprivileged before important events like college admissions.

I appreciate the sentiment here, I really do. It's wonderful to think that with a little bit better education sprinkled in at the right time you can change an entire history of systemic oppression. Something like education is an opportunity that require a certain privilege to even take advantage of. What about when college isn't even an option because you need a job to help put food on the table?

It's one thing to tell your kids that they're expected to work harder for the same success. From what I've heard directly from asian friends, that's an asian cultural thing as well. In fact, you're the first I've ever heard describe it as racism. Maybe I'm naive.

It's another thing altogether for never have a chance of getting out regardless of opportunity unless that opportunity allows you to also take care of your family as you may have needed to otherwise. Maybe scholarships that also provide social safety nets for the families of children leaving for college instead of working to provide.

Now maybe that fits into your idea of not being affirmative action, since it's clearly not a racial criteria, but I don't think anyone will be surprised when this has disproportionate benefits for marginalized races.
the best thing here is active moderation weeding out the most negative and unhelpful comments, trying to keep the discussions civil. It's hard and requires a lot of effort but HN is a good example of what it can look like at best.
I'm not sure of the every few months, but this article was discussed 10 years ago : https://news.ycombinator.com/item?id=1704275
Because if (when) the markets crash by 40% and show no sign of recovery, salary will remain a lot more constant than total comp.

Seriously markets only go up (and the absurd inflation of tech company stock prices since 2008) is a deep, deep problem with society which will inevitably end.
Maybe it's just me but when a write-up about a porting process keeps repeating "it was a breeze", "the results are great", and maintenance is "effortless" and not a single negative point or writing about something going wrong - it feels fishy to me. Maybe their API abstraction is really good, which could explain it - but there's hardly any words spent on that (and if that's the case, THAT would be absolutely worth writing about, and not a specific API itself).
> So unless some of that tax is intended to be a carbon tax and works to incentive cleaner alternatives, then this is a pretty weak argument.

Of course the incentive is towards cleaner alternatives, in my country is public transport (trains, trams and subway are electric here).

> Also, the producers aren't paying he cost

fiscal incentive for EV go straight to car producers pockets, I don't see the difference

taxing owners is a way to drive them to buy a different product, cheaper for the buyer and more profitable for the seller

it works both ways
Europe being the only geo to actually deploy a supersonic jet commercially…
The Problem of Overfitting in Tech Hiring
Unpopular opinion here: These type of questions are horrible at filtering out bad software engineers. Employers should be focusing on principles of software engineering rather than random math problems. Most new grad will write code like they were solving leetcode problems. It is sad that we need to teach them standard tools, protocols, concurrency, software engineering practices right out of college.
It is true that Norway has an advantage, having the money to allow them to make this sort of investment. But rightly or wrongly, the entire economy is currently awash with credit to fight the pandemic-induced economic crisis.

But money is not the only reason it has worked. Norway is generating 95% of their electricity using hydro. A KW/h is cheaper in Norway than it is in France (which is notoriously cheap due to nuclear). People want to have an electric car, because it makes sense for them. Once the economy is converted, they will reduce the incentives, and they will be in a very good place.

Now we can say that that is also an unfair advantage (a geographic one). But they did build all those plants. Norway did play the long game.

We can all continue to say that there are no solutions to climate change, or we can take a leaf from their book and start playing the long game. The best moment to plant a tree is 20 years ago. The second best moment is today.

Wikipedia page on Norwegian Electricity sector: https://en.wikipedia.org/wiki/Electricity_sector_in_Norway

Eurostat statistics on electricity prices in Europe: https://ec.europa.eu/eurostat/statistics-explained/index.php...
Oracle's argument isn't legally circular or anything like that. It's actually very strong, which is why it's problematic: the industry status-quo consensus that you can't copyright APIs has no obvious basis in copyright law beyond the notion that you can't copyright "facts".

Is an API a collection of facts? I would hate to be a lawyer tasked with arguing this one in front of the Supremes. Programmers sweat bullets over API design, an API is very obviously not a mere collection of facts, it's a creative work. Copyright law protects creative works. Hence, Google's problem.

An API is not a mere collection of names either. The Java API is defined by the specification, which is contained in the JavaDocs. Thread safety rules, when callbacks are invoked, what sub-types can be passed into a parameter, all these are a part of the API as well. Strip out the source code of the methods but leave the types, prototypes and JavaDocs and you have the Java API - it's been done and the result is still huge.

Google's point is essentially one of convenience; the industry has never recognised APIs as copyrightable before and shouldn't now. This is not a legal argument at all so I am mostly expecting Oracle to give them a solid thrashing, because the SC is meant to interpret existing law, not simply agree to whatever one of the parties thinks the law should be. And other than declaring API reimplementation to be fair use, there's no obvious legal escape route to make APIs non-protected.

It's thus interesting to consider what happens if or when Oracle win. In the short run a lot of disruption, especially to projects like Wine and maybe WSL.

In the long run it's harder to say. Something unprotectable would have become protectable. We might see, for example, the birth of companies that specialise in nothing except API design. Today such a company would be unviable because there'd be no way to protect or own the results. You can imagine that this would occur in the same way that specialised agencies do graphics design, translation, logo design, API implementations, etc. This might lead to higher quality APIs across the industry: a difficult to anticipate side effect of expanding IP protection. It would also presumably reduce competition as it became even harder to compete with lockin via reimplementation of APIs. However, doing that is relatively rare today. I can't say for sure that the (small) loss of plug-compatible competing implementations of products would be worse than a hypothetical increase in API quality from allowing specialisation in it.
The US antitrust report is a win for privacy
That's a really weird claim to me. Is your objection that the plane isn't carbon-neutral because it still has carbon emissions, and the claimed "neutrality" isn't an inherent aspect of the plane but rather a choice by the company to offset the emissions elsewhere?

What, in your opinion, is carbon-neutral?

Is burning wood from a sustainably-managed forest carbon-neutral in your eyes?
I don't get an error on OSX...
Restaurants have notoriously thin margins. I don't see why that should change in the future. Paying their workers better won't happen unless there's a specific reason for it.
not so sure about that. alexa stats and every other stat show them on a downward trend
I really like both of these languages but don’t work in either and find that I struggle to manage these two totally different platforms for hobby work. Both communities have strong tooling norms such that I feel stuck either burning side project time getting up on tools or burning time fighting “the way” assumes by most online materials.

Any tips on how to have just a little bit of Clojure/JVM and f#/CLR in your life when day-to-day is on neither platform?
Is this something similar to Turbolinks of Basecamp?
Yeah. Stay in this industry long enough and you’ll realize that there’s no silver bullet API that is just magic and perfect. It’s good to be suspicious.
I can relate to most of the things in the "No, I can’t take it anymore." section :) I can relate to most of the things said in the whole post. All the best for your challenge! :)
I think the main argument here is that it takes work to be popular. A "nerd" is simply someone who chooses to neglect that. I used to not comb my hair, not iron my shirts, and wear my pants a little high.

You're close to something though - a nerd thinks they're too important to put effort into being popular. In a world where everyone shampoos, combs their hair, puts on deodorant to please others, that seems quite snobbish.
How much of that BMW will still be working after five years?
Actually, Vulkan was created by AMD (under the name Mantle) in 2013.

Apple surely was aware of this, yet wanted to go their own way.
> Your comment about awkwardness/inability to hold a conversation doesn't strike true either. Rather, I felt like no one else could hold a conversation.

If you believe the problem is with "everyone else", the problem really is with you. Nerds generally struggle with holding conversations without constantly sending "out-group" signals while failing to send "in-group" signals.

https://www.youtube.com/watch?v=6yN2H3--1aw

Unlike in this satirical clip, I don't think it's possible to fake being "a normal guy". However, in my experience, it's possible to build rapport by being respectful and signaling that you get where the other person is coming from. Avoid being intellectually dominating. That way, you'll be perceived as "that okay smart guy" instead of "that fucking nerd".

Even if you don't care about being popular, learning how to read people is an extremely important skill, especially if you're somewhere on the autism spectrum. Just approach it as another nerd subject (human psychology).
If your talking about the Concorde...that's exactly why it would never happen anymore.
>Too simple a take on the relations between EU and Norway

It's just the truth. Norway is not a member of the EU. But I agree that it is good to have a strong understanding of what exactly the relationship is between Norway and the European Union.
You know, there's only one thing that bothers me more than political organisers spreading fear and misinformation through social networks.

And that's social networks becoming "Ministries of Truth", deciding for themselves what information is fit to be shared with the masses, and what must be suppressed.

I mean, all the evidence we've seen over the years suggests that Facebook is in no way, shape, or form trustworthy.
Are New York pizza boxes food grade? Most New York pizza isn't even food grade.
Given the focus on arguments that are alleged to be purely semantic, it would have been helpful to have a good example of such an argument. He describes the debate over abortion as a canonical example. The idea here seems to be that the debate over whether a foetus is 'alive' is a purely semantic dispute over the definition of the word 'life'. This strikes me as simply a mistake. It's certainly very difficult to have a sensible debate about abortion (and let's definitely not have one here!), but it's not plausible to characterize the disagreement between pro- and anti-abortion folks as a mere disagreement over the meanings of words. In the case of disagreements that are truly merely semantic, it's possible for each side to either (i) come to an agreement on terminology or (ii) agree that they disagree only about terminology.

Perhaps the broader issue here is that everyone loves to tell themselves they're leaving a community because they're too good for it, rather than just admitting that's it's become bad for their mental health to get involved in frequent anonymous arguments on the internet.
Ask HN: Successful startup vs. promotion somewhere else?
Option A:

I am currently at a startup that is going to be successful. We have a multi-year lead against any competitors and can realistically generate over 100m per year in revenue over the next few years. In 15 years of working at startups, this is the by far the most promising company I have seen, and it will be widely respected in its field.

This is a great position in many ways, and I am learning new areas of the business, have a good team, but I also predict being stuck. I cannot see engineering growing significantly; growth will be in sales. My position is for a senior engineer, and I manage the technical projects of a handful of engineers and architect the system. I do not see my responsibilities or team growing much or anything opening up. Financially, the salary is average for a startup and my options were for 0.4% of the company before Series A. I laid out mainly negatives, but day to day I am actually very happy. I only worry that over the long term, I may not be making the right decision.

Option B:

Recently, I discovered a leadership position in another startup. This position is in line with my career goals, I would manage more people and own a larger part of the tech. I believe this other startup has the potential to be great, but my experience has been luck is also required, and luck does not come by often.

I had brought up the idea of a promotion before COVID, but it was a hectic time, and since COVID I haven't had a good chance to bring it up again. Long term, I'd like responsibility for large projects. In the next 10-15 years I would like to be at a high level (Principal Engineer at a FAANG, or VP at a startup), and also see the financial upside so my family does not worry about money.

All this leads to my question. Which option would people recommend? A "senior" role at an uncommonly great company that will be well recognized, but without much leadership potential? Or a "director" level role an a currently unknown company?
Just tried the code in SBCL and it definitely gives a compiler warning even without executing the function:

This is SBCL 1.5.6, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (defun add-text-padding (str &key padding newline)
"Add padding to text STR. Every line except for the first one, will be
prefixed with PADDING spaces. If NEWLINE is non-NIL, newline character will
be prepended to the text making it start on the next line with padding
applied to every single line."
(let ((str (if newline
(concatenate 'string (string #\Newline) str)
str)))
(with-output-to-string (s)
(map 'string
(lambda (x)
(princ x s)
(when (char= x #\Newline)
(dotimes (i padding)
(princ #\Space s))))
str))))
; in: DEFUN ADD-TEXT-PADDING
; (MAP 'STRING
; (LAMBDA (X)
; (PRINC X S)
; (WHEN (CHAR= X #\Newline) (DOTIMES (I PADDING) (PRINC #\ S))))
; STR)
;
; caught WARNING:
; The function (LAMBDA (X) :IN ADD-TEXT-PADDING) called by MAP returns NULL but CHARACTER is expected
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
ADD-TEXT-PADDING
It could be better. Slashdot has (or maybe had, I haven't checked in a while) a way of associating votes with tags. So upvotes could be tagged "insightful" or "funny" or whatever, and downvotes tagged "flamebait" or "off-topic" or others. Especially for downvotes I would often be interested in this kind of quick feedback.