skysight-inc/HackerNews huggingface dataset:
I can repeat what I wrote: people like me are dependant on MacOS and on Linux. Currently the Mac offers this ability. I would like to use a native Linux machine, but the only alternative for me would be Windows + VM.

And in any case, if the developers are happy with a non-Mac machine, Apple shouldn't be :). Unless they really want to continue their course of driving anyone who does not depend on a Mac for living and who doesn't have limitless funds away.

For private usage, I am about to switch to native Linux for my next laptop, unless Apple comes out with laptops with a reliable keyboard and realistic upgrade pricing again. Ironically, I would love an ARM-based laptop for private usage, if I can get one, I might just get the new Pinebook Pro.
look in my profile here for links. thanks
Why don't you present your cart to the cashier and ask them to check you out.

The process of paying is identical after all.
> without... letting people being able to abuse them. C++ cough cough.

Curious what you consider "abuse", given the standard library itself uses generics in all sorts of ways?
You don't need a VM to run Photoshop. The whole point of the desktop Pro machines is high-performance computing for creative applications. VMs have no place in that. RAM is an issue because it's a limiting factor for many rendering and editing applications.

Laptop Pro is arguably different, but I suspect content creators still outnumber developers by a significant ratio.
In other languages, you can easily define constraints on generic types. It’s not rocket science, but actively ignoring any advancement since the 70s means that you have to reinvent the wheel constantly.
The Logic of Scientific Discovery (1935) [pdf]
>1. Maybe change the syntax to this one:

>func eat(food []generic.Type) Or

>func eat(food []g::type) Or something that doesn’t involve adding more <> or ()

I don't understand how this would work with multiple generic parameters. Say I have

func merge(a []g::type, b []g::type) []g::type

How do you specify that a, b and the returned value must have the same type and implement the comparison operators?

Also, why are people trying so hard to stay away from < and >?
Sustainable forests of pine (pinus radiata) here reach maturity in 25 years, when the timber can be harvested, and new trees planted. It's truly horrifying to me to imagine a 400 year old tree being felled.
They do. The common strategy is to pick numbers with the same area code to pretend to be legal, and some advanced callers try and pick numbers that match even more recognizable digits (like your office). All this traffic is a major source of revenue for VOIP operators.
Anecdotal, but one of the things I noticed when I switched to keto for a while was a drastic change in my relationship to sugar. After cutting out sugar entirely, I noticed that water didn't taste bitter anymore, something I'd always attributed to the hard water supply. Coffee is also wildly different now, and I can drink teas without any sugar, which confuses folks when I eat out. (In my part of Texas, iced sweet tea is so popular it's basically the default beverage.)

It's so strange. My whole life I hadn't given sodas a second thought, but that reward signal is strong. I don't think I ever want to go back.
Number of alternatives to popular git repository hosting services looks indeed awesome.

> Yes, but you can also push/pull from a filesystem location. To be able to push it, it is simpler to init the repo with `git init --bare`.

Personally, I have build my very own and simple solution to sync encrypted files over the Internet using git with git-remote that uses filesystem location. The implementation evolved over time but initial idea[0] was to combine restic, pass and git with simple scripts to pull/push the git-remote repo (located in /tmp/repos) to S3 bucket via restic that takes care of upload, deduplication and encryption. Thanks to restic I also don't care much if I'd commit to stale (outdated) master branch, because it uses snapshots and it's quite easy to navigate between them.

[0]: Year-old PoC of encrypted repository share with B2 as a storage: https://gist.github.com/piotrkubisa/dece2fc71399efa56e2d0b8f...
had trouble finding much on their homepage but : https://www.lanzatech.com/2013/09/20/lanzatech-awarded-4-mil...

has at least some more information about it, thanks for the hint :-)
Are you also one of those who get annoyed when people look in containers you purchase or count the goods you present for purchase?

Paying attention is the only way to insure accurate transactions.
“type” here is whatever you want it to be

func merge(a []g::thing, b []g::thing) []g::otherThing

The <> syntax is well accepted, that’s the only thing it has. What’s annoying is that it adds to the function signature when it’s not necessary.
And if you are in for a quick fix freediving puts you into the zone in seconds.

https://youtu.be/Od45T65pTaU
Tangential, but some very cool things are happening in Purescript-land, especially when it comes to row types or UI research:

* https://github.com/natefaubion/purescript-variant (open variant types)

* https://github.com/natefaubion/purescript-run (extensible effects implementation based on purescript-variant)

* https://github.com/ajnsit/purescript-concur (time-reifying UI framework, there's also a Haskell and a JS implementation of Concur)

* https://github.com/arthurxavierx/purescript-comonad-ui-todos (comonadic UIs)

* https://github.com/paf31/purescript-purview (incremental lambda calculus UI library, this is mind blowing!)

* https://github.com/paf31/purescript-sdom (declarative diff-less UI library)

There's also [0], a mature UI framework used in production at Slamdata. Lumi [1] are writing their frontend in Purescript.

What I especially like about Purescript is that the community is open to experimentation, while at the same time not being afraid to backtrack when things turn out to be a bad idea, like the row tagged Eff monad. The recent addition of QualifiedDo is a good example of this, which allows you to rebind >>= in the following manner:

test :: forall m a. I.IxMonad m => m a a String
test = I.do
a <- I.pure "test"
b <- I.pure "test"
I.pure (a <> b)

Imo, there simply is no better way for a Haskeller to target JS at the moment.

[0] https://github.com/slamdata/purescript-halogen

[1] https://www.lumi.com
How did you come across this gem? :)
UFC 240 Results: Winners, Bonuses, Attendance, Gate and Analysis
Golang could do this by implementing unions on interfaces.
Ask HN: How do you `audit' a news?
Are there any paradigms to establish accountability for the authors, news agencies, and check the traces of facts?
It could in future but this document is staying away from overloading. I doubt Go will ever support it really but this design does not do anything to prevent it in future.
It's a bigger problem than it first appears.

The way we (in the pacific northwest) do logging causes a lot of soil erosion and just makes everything super ugly.

https://www.google.com/maps/@47.7121672,-124.2984644,8635m/d...

Just move google maps around anywhere heavily forested and you will see giant wounds in the hills.

Most countries in Europe don't do this. We could do what they do and use reduced impact logging. Don't cut all the trees at once.

This sort of regulation is much easier to achieve than global carbon caps because it's benefits are realized in the backyards of those that deal with them. It's easy to enforce and it also shouldn't cost us much. We'll pay a little more for lumber but that's it.
For example. Typical C++ code:

Thing<A<B, C<D>, E>>()
I'm not. The original questions were:

> systemd shouldn’t be a daemon too

A. False.

> and sysv init scripts are better too

B. Debatable, but the start is a false premise, SysV init was a daemon plus the scripts.
Thanks! Which did you like in particular?
Yes? I find Matt Levine normally has an interesting and insightful way of looking at things, so I put it here.
Douglas Hofstader's work in cognitive science is based on the same premise. Humans high level thinking fundamentally base on analogies.

His book "Fluid Concepts & Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought" (1995) is the culmination of his thinking.
> They are making you pick up the swiss cheese and take it to the till (automated or not). Are they charging you to move items around the store?

Until the Piggly Wiggly supermarket introduced the self-serve concept in 1916, you would go up to a counter and tell a clerk what food items you wanted, and they would get them for you. So your analogy really is the 1920's version of the self-checkout!
GKE is the managed version of Kubernetes that Google Cloud offers. Definitely not free.
Installable YouTube downloader GUI app for Debian distros... coded in Python
> I even tried to start a safety deposit box business as a private non-bank related thing. I can´t even begin to describe to you what type of regulatory hurdles and red-tape I was faced with

I imagine that the self-storage business in the USA is a very low regulation business, much less than opening a restaurant for example. How is the regulation for a (non-bank) "safety deposit box" business in Sweden any different than a self-storage business?

According to Wikipedia[1], the USA has ~52,000 self-storage businesses whereas Sweden has only 112. So the USA has wildly more self-storage than Sweden on a per capita basis: one storage place for 6000 people vs 92000 in Sweden. Are regulations worse in Sweden because self-storage is not a thing?

[1] https://en.wikipedia.org/wiki/Self_storage
Generics are highly reusable is true.

But people don't read and write them often because of the language design.

Most Hindley Milner typed languages like ML and Haskell by default are generic by default and it's not harder or more complex than non-generic code.

Thinking of a function 'swap'. The signature should just be swap : (a, b) -> (b, a) instead of swap: <T, U>(x: (T, U)) => (U, T). The language design in most of languages which discourage people using generics.

In fact, non-generic code usually introduce couplings to the argument type, making things harder to change, and violates the least power principle.
I know the syntax, but what about this is "abuse" of generics exactly?
And? Care to elaborate?
I love it!

One important feature, to help improve accuracy, is to display 2 big buttons at the bottom, a thumbs up and a thumbs down, meaning "this TL;DR is reflective of the actual content" or "this TL;DR is not reflective of the actual content".
And if most image searched are searches for porn, then the total number of searches is perhaps not relevant.

And when I am searching for an image (and I never Google for porn), I am very rarely interested in the landing pages or text that comes up.
Western Digital has comitted to go 100% RISC-V in the near future, with Seagate and Samsung not far behind. As far as storage devices are concerned there is definitely a trend.
For the future it is "cites" rather than "sites".
Green Papaya for Breast Enlargement
I explicitly wrote "around the world".
Some info about it would be great? Do you use an AI model? Do you do semantic analysis? Is it open source?

I tried it on a wikipedia article and it didn't work too well.
The anime art industry in Japan is based on a copyright-deténte system where new artists publish copyright violating fanart at real life events like Comic Market, which is a good enough business that it supports them until they become the next generation of professional artists.

Of course, it helps that some series like Touhou have explicit copyright licenses allowing this. But basically everything's OK unless you try to make porn for a Nintendo game.
Imagine you have a non-generic function, for example, `parseJsonData(string)`, how would you understand how it is being used? It can be called with all sorts of input.

Is the problem you are describing different?
More like setting a set of mental breakpoints on critical actions, so when they run you can stop and analyze the situation before going any further.
Firefox's reader's view is able to do that.

Check out their Github repo here - https://github.com/mozilla/readability

>You need at least one <p> tag around the text, you want to see in Reader View and at least 516 characters in 7 words inside the text.

Source - https://stackoverflow.com/questions/30661650/how-does-firefo...
This is a problem with template metaprogramming, not with generics. Code using generics isn’t less obvious than code using only specialized types. On the contrary: You work with strong typing instead of using interface {} everywhere.
How about we just don't let the advertising industry develop or fund our browsers and web standards? Users need to be able to control what kind of content their device will load and display, so it's probably time to develop technology that supports it (and scrap the current web, which is now basically billboard ads for the internet).
It’s destructive, and it probably also introduces a quite decent amount of latency.
First, from a pure narrow CO2 economy POV, cutting down a mature forest is good. Trees peak sequestration at 20-40 years. Second, BC can’t stop logging as long as it’s trapped in a PC First Nations talk.

Tangent, though this is technically a rainforest, it bares little resembles to what the word is usually associated with.
The only things that sit in my safe deposit are password protected GPG paper keys, revocation certificates, and, OTP recovery sheets.

There's a local bank near my workplace provides such a service, and I use them as a last resort of crypto id recovery. The downside is that they have a fingerprint system, but they do have a human agent to verify your identity.
There's also a macOS built-in service that does this, called Summarize.
Just tried on one of my articles. Good job! It works like a charm!

Any high level info on how it works?
I live in Switzerland and even here you're usually not covered, despite the reputation for banking. You can buy separate insurance however and some non-bank safe deposit boxes come with insurance.
I found it funny that your "trifecta" has four clauses :)

So I looked up the meaning of the word to make sure I knew what it means- and, it turns out, it has nothing to do with a Roman Triumvirate (as I had somehow convinced myself it did).

It turns out it comes from betting on the horses. It means a kind of bet where you put your money on which three horses will come first, second and third in the race- in the exact order you bet on.

Apparently, the word itself is a kind of fragmented portmanteau, from "tri-" and the syllable "fecta" in "perfecta", from the American Spanish for a perfect bet: "quiniela perfecta". This post has got the works: [2].

... and I still haven't read the article I navigated here to read :)

_______________

[1] https://en.wikipedia.org/wiki/Trifecta

[2] https://www.dailywritingtips.com/trifecta-not-always-appropr...
What would you do if you had jewelry worth millions? At first blush, a safe deposit box seems utterly logical. Even after reading the article, I can't think of any alternative other than avoiding Wells Fargo.
A Game of Doves and Hawks
People use interface{} everywhere because union interfaces don’t exist in Golang. If union interfaces were a thing you could be writting

func thing(a car+plane)
Using Bull Queue for Creating a Scheduler
I think it's more like the stress in the workplace (for example) is caused by two things. Greedy or power hungry people deliberately harming others (for example) and then other people over reacting to this but also to just the normal shit you have to deal with anyway. So the mindfulness is to deal with the over reaction but ethics and morality are needed to deal with the action. You need both, seems to be the criticism that some people are making about having mindfulness without some ethical framework like Buddhism.
Free as in you pay for your worker nodes, but nothing additional for operating the platform itself. You do lose control over your control plane nodes and etcd however.
It can be more than just hunger. I don’t typically get hungry until 12-1 so historically do not eat in the am. However I noticed how much more irritable I was in the morning, which is always chalked up to not being a morning person. Now I try to eat a tiny bit, the massive AM mood swings have gone away
This is 100% correct. Too many otherwise rational people make emotional decisions, like trusting Google and thinking that Apple hardware is still the most reliable.
Docker is bullshit. AWS images are alright IME. Spinning multiple large instances will give you more bang for the buck than dealing with tiny docker containers.
If what Generics fundamentally solve is having to type out an almost identical function for many types, why not just have macros?
I tried some of my articles and it's not really helpful. I even have a conclusion in my articles which is completely ignored.

For example:
https://www.karoly.io/amazon-lightsail-review-2018/
Unless you make this painfully transparent, a rational person would have to assume some intent of bias. No offense intended - I'm stoked you made this as its one of those tools I've always intended to make myself. But honestly, given the revelations of the last few years - unless we can verify as a community that there isn't bias, we have to assume there is.
About 11 years ago one of my first credit cards was almost exactly this. It was a VISA, the company behind the credit card was called "Brighter Planet". Projects funded included wind farms and methane recapture on cow farms. On their website you could estimate your carbon footprint based on things like car usage, air travel, electricity bill, housing square-footage, and like this.

For whatever reason the company fell apart but the VISA credit card is still in action.
That’s true. Usually the name of the argument indicates how it is used. Without it you are lost.

I feel like what really tricks me is this kind of code:

parseJsonData(t T)

Now neither the type nor the argument name help you understanding the purpose of the function.
Buy a safe in your own house, and then get insurance?

Or rent a safe box and get separate insurance?
It makes the code unreadable.
It makes the code unreadable to others.
Eat meat, veggies (no carrots), eggs, and coconut oil. Simple.
Adobe shambles – Why subscription software should be illegal
I can see your point. After all, the original comment has BLOCK CAPITALS screaming- always a tell-tale sign of a rant on the internets. Maybe I should have refrained from commenting on it at all.

But, I'm actually really interested in the ways that we delude ourselves, particularly on issues of morality (but not only). It's an itch I can only resist scratching with great difficulty. If I ever manage to get my PhD I might even throw some papers at the problem (of figuring out when we are taking bad decisions based on bad reasoning).

Sorry if all this makes you unhappy.
> Without revenue, they simply wouldn't be able to exist.

Nonsense. OSM exists, HN exists, Linux exists. And just because some services need revenue to pay bills, it doesn't mean advertising or users paying is the only way to get it. Google Maps gets revenue from businesses using it on their websites, for example.
I think there's a difference between a gene-editing programme focused on giving everyone the genetic basis of a decently healthy life, and one that goes beyond that and has major geopolitical consequences. It's the latter that risks spiralling into a global bioengineering arms race, and which states might want to proscribe.

Do you want to live in a world where some societies are genetically superior to others, or where there's a constant pressure to upgrade the human species as quickly and to the greatest advantage possible?
Thanks- I had no idea. Another comment under this post made a similar point and I was wondering about it.
The richest companies on the planet don't robocall me, but they do stalk me all over the internet and wherever I bring my phone, which I consider worse.
Production Readiness
> reinventing research papers from 20+ years ago

The first(?) paper on type classes, "Parametric overloading in polymorphic programming languages", is from 1988, so they're reinventing things from at least 31 years ago. I guess in 2050 Go will catchup with today's state of the art.
Anything can (but not necessarily will) become boring eventually. It sounds like you might be ready for a change. I recently saw an article about a journalist who decided to change jobs. I cannot remember exactly how long she had been a journalist (a decade or so sounds right), but now, she is training to be a firefighter.
Unlike what else? I don't think you are saying anything.

The main property of a blockchain is that the data is copied over and over to lots of places owned by many different entities. However, the "magic" already fades when it comes to the important part of the technology, deciding what version is authoritative made even harder by lots of otherwise unconnected people having to agree. The algorithms used for this indeed are "magical" and not easy to understand in real life (incl. various attack scenarios; even if such an algorithm itself appears to be simple on its own the complexity arising of running it in the distributed system is not), not to mention the resource use (of both storing the same data many times over and of consensus algorithms, even the ones without "proof of work" requirement).

Of course, this second part is necessary because of the first part, because you now have lots and lots of copies you now have the problem of having to make the decision. That adds a lot of unforeseeable consequences because making that decision - and in breadth, in a distributed system - is a hard problem. You trade one issue that you have with a single place with a lot of fuzzy and hard to foresee issues in a complex system. It seems to me to many people "blockchain" simply is attractive because it is harder to understand and has "magical" properties, just like writing notes on paper automatically appears to be "so last millennium" compared to storing digital notes even if for a given situation it would do the job just as well (and require only low-tech hardware and no electrical power).

Also reminds me of "Why did you climb that mountain?" - "Because it was there" to some degree. I mean, it's not bad that there seems to be an ingrained attitude to favor new shiny things in parts of humanity, that's probably good as a progress-driving factor for all things where outcomes cannot be predicted, so that they are attempted to be used anyway (similar to some "errors" that seems like waste of resources in some biological systems where inefficient pathways are nevertheless left open a bit, inefficient at the moment but enabling better reactions to changes). So I don't mind all the blockchain (and other) hype(s) too much, but let's keep it in check a bit, let there be experiments but let's not go overboard.
Grafana Loki, the Tail and Grep for Kubernetes
The Cardinality Challenge in Monitoring
I think most people would agree that templates are more complicated than generics
You can choose not to touch your screen. Also plenty of people are editing images and videos on iPhones and iPads this very minute.