skysight-inc/HackerNews huggingface dataset:
If you have a superhuman AGI willing to do what you ask of it, just make sure you ask it to take care of that other stuff too.
Since this is HN, I guess you should go for being the founder & CEO part of it. ;)
Then why is it a factor for you when applying for a job?
Yeah apparently each pixel of a 16-bit image can have 256 different colors. Oops.
Nice point! I've added it to my todo (Trello ^_^). Thank you!
For high-level languages you're writing user-facing apps in domains where your file handing needs are simple, I can see the appeal.

But of course you're ignoring the entire category of systems programming, cross platform apps that need something more than easy access to a file picker, integration code that frequently needs to deal with exactly the edge cases that these pretty abstractions ignore, etc. etc.

VB6 had its place. So does C.
Yes, the latter half made much better and broader points
Hyperledger Besu 1.4 Is Now Available
Here's an idea.

Give users an option to put $1,000 in limbo. The condition being, if you date/marry someone for 2+ years that you met on the app, the app gets to keep that money.

In return, you get a badge on your profile. It's a certified stamp that your "money is where your mouth is" and that user either as plenty of disposable income, or is intent on long term commitment.

^ Both are positive signs for the prospective market.
I helped my daughter with a science fair project in which we mapped the relative position of the sun and mars as viewed from a "stationary" earth, when all three correctly followed Newton's laws. I was very surprised how it turned out. I expected odd cycles or other misbehavior, but actually things were smooth and round. It was eye opening.
'Surfing attack' hacks Siri, Google with ultrasonic waves
Follow twitterers, look at their bios, some will point to social spaces: telegram, discord, fb page.
Show HN: Free Phone – an effort to build a libre phone from scratch
FWIW, the iOS version was last updated on Sept. 12, 2018, a minor update for iPhone X support and "Minor bug fixes". The second-to-last update, from 2.3.0 => 3.0.0, was Feb. 2016:

https://apps.apple.com/us/app/google-authenticator/id3884976...
Smells in Java code: Do you recognize them
Here's an example of why Go's simplicity is complicated:

Say I want to take a uuid.UUID [1] and use it as my id type for some database structs.

At first, I just use naked UUIDs as the struct field types, but as my project grows, I find that it would be nice to give them all unique types to both avoid mixups and to make all my query functions clearer as to which id they are using.

type DogId uuid.UUID
type CatId uuid.UUID

I go to run my tests (thank goodness I have tests for my queries) and everything breaks! Postgres is complaining that I'm trying to use bytes as a UUID. What gives? When I remove the type definition and use naked UUIDs, it works fine!

The issue is Go encourages reflection for this use-case. The Scan() and Value() methods of a type tell the sql driver how to (de)serialize the type. uuid.UUID has those methods, but when I use a type definition around UUID, it loses those methods.

So the correct way to wrap a UUID to use in your DB is this:

type DogId struct { uuid.UUID }
type CatId struct { uuid.UUID }

Go promised me that I wouldn't have to deal with such weird specific knowledge of its semantics. But alas I always do.

[1] https://github.com/google/uuid

EDIT: This issue also affects encoding/json. You can see it in this playground for yourself! https://play.golang.org/p/erfcSIe-Z7b

EDIT: I wrongly used type aliases in the original example, but my issue is with type definitions (`type X Y` instead of `type X = Y`). So all you commenters saying that I did the wrong thing, have another look!
What I learnt from Working Remotely
I stopped using Authy because it has auto-update that you cannot disable. One day it auto-updated itself to a version that would not run on my OS. Also, it's an electron app, so it is absurdly heavyweight for the tiny bit of functionality it provides.

I ended up writing my own TOTP app. It's about 50 lines of common lisp code.
> It is incorrect to say that they "are a gimmick and offer negligible value".

I'm well aware of how the mechanism works.

If the host OS or the app is compromised, it won't help - the attacker can just steal the codes after they're unlocked by the enclave.

For physical theft, it only provides a meaningful advantage if the phone is unlocked. Someone stealing your unlocked phone to get at your 2FA codes is well outside of most people's threat model.
Yubikey and webauthn[0] supports public key authentication where the client chooses the secret.

[0]: https://webauthn.io/
Freeman Dyson Has Died
Right, this was what I was alluding to. I am not a lawyer, but I have a solid lay understanding of copyright. By my understanding (which may be wrong!), copyright law does not prohibit this use of the pictures at all. However, if they are providing the pictures themselves as part of the search results, there may indeed be a copyright issue.
Totally agree. I usually have a /userSettings api to store all the user customized UI settings (e.g. sidemenu collapsed or not, theme, etc.)
Presenting Dali, an Image Processor Service
Colour always matters.

(To clarify: Colour does not encode copyright information; it encodes provenance, intent and related ideas. Child porn is only a somewhat special case in the sense that laws are very insensitive about the shade of colour here. Usually, if it looks enough like CP, a possessor will end up in trouble, regardless of whether it's actual CP or whether they can prove they created it ex nihilo in MS Paint. But that's because child abuse is considered by societies worldwide a special kind of evil that needs extraordinary measures to combat. In almost all other cases, courts are very sensitive to the shades of colour.)
I'm bit jealous of that Tesla. And I don't even have driver's license nor care about car models. Gifts are underrated.
I think I know what the pomodoro technique is, but I can't quite figure out what I'd use the print out for? I track the total I've done in a month? The PH description has a good backstory, but I'm still not quite sure what to do with my print out. Maybe this is obvious to those that are pomodoro technique experts?
Python is 'strongly' typed `dynamic` language!!!
My guess would be that Microsoft tipped them off. I couldn't find in the compliant where the IRS or Secret Service got involved, but it does say that Microsoft Fraud Investigators discovered the fraud and fired him.
I'm ok with Google truly owning something. And I'm ok with them not doing something at all. But i want them to stop jumping in, bigfooting a space, and then losing interest. I know they've given up on "don't be evil", but maybe they can at least adopt, "With great power comes great responsibility."
I am in a similar situation, but we are already open for free (that is a must i think at first) I was thinking selling support, offering consulting with the setup etc. but what would be the strategy for having paid support and open github issues at the same time?
That's also true in X11.
Maybe I'm also a zealot, but this "second-class citizen by comparison" works pretty well - I've been using Go for some side projects under Windows for years, and was actually surprised how well it worked. I even developed a GUI app some years ago (using GTK). So, if you ask me, the glass is ~90% full, not 10% empty...
Author here, the article was actually wrong - I meant to expose yet another timeout you can set on HTTP requests, I've updated it to include that one, and be clearer on what `idletiming`'s purpose is.
> Your gripes with x should be independent of “y lang does it better” aside from just knowing it is possible to be better.

And what better way to demonstrate it's possible to do better by having an example ready?
I suspect if there is such a place, they would not divulge its location on Hacker News.
Criticism of Facebook
Wait, so SeaMonkey has a mail client that's based on Thunderbird but not Thunderbird?
what exactly is someone who pays a (small sum) for a setup Twitter account expecting to receive?
Ask HN: How do you meet friends?
I'm in my early 20s. I do contract work as a programmer - from home. I've never been good at forming close relationships with people, so the people I met through school sort of drifted away after I left.

This has lead to an unfortunate situation whereby I have absolutely zero social interactions, save for talking to strangers on IRC. I don't trust my family.

How do you fix this? Where do you meet people? It seems like whenever you casually talk to people, the whole thing just falls apart like a house of cards when they ask you what you do in your spare time or such. Why, yes, I work and I discuss work stuff with strangers on the Internet.
This has a pretty minimal amount of code compared to many alternatives I’ve seen.

One minor nitpick; the default help output is a bit unlike most tools. For example, I’ve never seen a tool that says “OVERVIEW:”, they simply lead with a summary line; and, all-caps “USAGE:” doesn’t read as nicely to me as “Usage:” that almost any other command-line tool would print. (For some reason caps are common in man pages but not screen dumps.)
> mostly attended by old ladies with networks of other old ladies

Certain flavors of US churches look like this, too.
Exactly! What they're doing would otherwise seem pointless, but given how far off the rails the courts went on that lawsuit, copyright jurisprudence needs this kind of sanity check, because courts clearly aren't using enough criteria to call a melody "copied".
Ohh...nice. And to GP, if this doesn’t work well for you, try the combination of abduco and dvtm. Before I joined Red Hat, that was my terminal multiplexer combination of choice. However, because they’re in EPEL which most of my customers don’t use, I forced myself to revert to tmux. I remember initially missing abduco + dvtm but get 95% of what I want with tmux. abduco feel slightly better about maintaining session state.
Delivery drivers park half-in-half-out of these lanes in the city sometimes.

Otherwise, they're respected. I don't think I've ever seen someone driving in one. It seems a strange question. Do American drivers not respect the sidewalk? It's the same construction.

I think the police would come down very heavily on anyone they caught driving in the cycle lane without a very good reason. The only good reason I can think of would be to move slowly aside to allow an emergency vehicle to pass -- and the same reason would justify pulling onto the sidewalk -- although either action is still illegal.
I recently switched to Aegis Authenticator: https://getaegis.app/ It seems to be as well-maintained as andOTP, and I like that it is licensed GPLv3 rather than MIT.
That's an 8-bit image. Each pixel of a 16-bit image could have 2^16 = 65536 possible colours.
Something smaller and more bicycular then?
My Crazy Software Engineer Tattoo (that I didn't get)
> the author would have been well to leave Rust out of it most of the time.

Initially I thought the same, but then I realized that it was being used as a means of expressing that it doesn’t have to be this way. That there are better choices, and here’s an example of better choices. Probably too much detail on the Rust, but using it to contrast with some of the poor decisions pointed out in Go is useful.
I think the mistake may be assuming that Go is meant to be a general-purpose language. From what I can tell, it's purpose-built to be a "web services" language, and its design-decisions center around that. What does that mean?

- It's expected to be run on Linux servers (not Windows) and developer workstations (probably not Windows).

- It needs to be fast but not blisteringly fast. Micro-performance concerns like the Time object thing are devalued.

- Embedded use-cases are probably not given too much attention.

- Agility in working with dynamic data (because that data is often foreign) is valued over flawlessly safe types.

By deciding not to worry about certain use-cases, the language can be more developer-efficient for its intended use-cases. In this light, for better or worse, I think the decisions made make a lot more sense.
It's like quarantine. You might think you're smart enough to wear the right gear and behave the right way to keep others safe, but because some people are irresponsible or don't know how to behave, we enforce the rule on everyone, to keep everyone safe.

When we realize that many exploits can mean that devices get co-opted by bad actors to serve some rather nefarious purposes, we have to do more than "trust that the user will be smart" in order to suppress dangerous or economically destructive criminal uses of these devices

More and more I realize that it's not our strategies that I dislike, it's how incompetent and error-prone users actually are. If we were perfect users, none of this would be required.
I recently switched to Aegis, it's so much better, and open source[0]. Crucially it has biometric encryption, and import/export so switching to a new device isn't a horrific ordeal. It also has some great QoL features like custom icons, highlighting, and reordering. To anybody looking to move away from Google Authenticator, I highly recommend it.

0: https://github.com/beemdevelopment/Aegis
Another app that stores credentials mitigates this by putting up a 30-second delay; the text goes a bit like this:

"It seems that you are using a screen reader or something else that uses the Accessibility services. If you have no idea what this is, do not continue past this screen. The below buttons will be enabled in 30 seconds [I know what is happening] [This doesn't sound familiar, exit]"

(Of course it only appears when you actually have something subscribed into the accessibility services, which is how I found out) Yes, it's inconvenient, but forces you to actually read the message instead of blindly barging through Accept Accept Accept.
Heads up to the author, the code example is wrong.

function useStickyState(defaultValue, key)

should be

function useStickyState(key, defaultValue)
Edit:

I misread the parent comment, apologies for that! After re-reading, I still agree with them, but with some nuance.

This article describes "somewhat" volatile state, and I think there are interesting use-cases for temporary sticky state that stays between visits (but doesn't need to be stored permanently). I see this being cool for search filter states and stuff.

I'll leave my original comment as-is because I still thought that was worth sharing, too.

--

I've put a lot of thought into easy, no DB persistence for a project of mine, and I have to agree with your assessment.

I ended up persisting to the private fragment identifier (hash) portion of the URL. It makes bookmarking and copy-paste state sharing easier. Most major browsers have a bookmark sync feature these days, so state sync is free (a nice benefit!).

While researching persistence options, I came across storage.sync[0]. It's like local storage, but synced across browsers. I've never used it, but the promised functionality would be very cool.

I think storage sync is a really good idea. I just wish there was a "web browser state file system" of sorts for users to browse, copy, back-up, etc. In absence of that, I feel no user can be confident that local storage is working, and as a consequence I won't persist anything of consequence there.

[0]: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...
There are a few local Bitcoin apps and sites. I don't think it would scale well for the FBI to have a sting on every Bitcoin to cash transaction, but would be good to have one on suspected Bitcoin wallets. Although most savvy cybercriminals at this point should be able to mix their dirty coins enough to avoid such a trap.
You might not even need a rooted phone. For at least one of these apps, you can extract the secrets from an ADB backup, which does not need root (it only needs the developer mode).
It would probably get reports from any accounts doing this flagged as automatically ignored at best or the account banned for false reports at worst.
That’s a Verilog IDE that can be used with any backend tool...
Visual Introduction to Self Supervised Learning
This is a bad article. Let me summarize my thoughts:

- The "security bug" it references isn't one at all. Accessibility Services can draw over other apps and interact with them by design. They're designed as an alternative way of interactive with android for disabled people consequentially they can do anything a normal user can do. The security "researcher" found a non-bug then convinced an ignorant journalist at zdnet to publish an article about normal/correct Android functionality.

- If it were somehow a bug, it is still impossible for Google Authenticator to patch/mitigate it. Accessibility Services act as the user, therefore they can do anything a user can do. You cannot block them for good reason (breaks disable user's ability to use Android).

- The third party apps they reference don't block Accessibility Services either, making it hypocritical to criticize one while pointing to others with the same fictitious flaw.

- Switching to a random open source TOTP/HOTP 2F app might reduce your security, not increase it. You'll either compile it yourself requiring enabling "Allow installation from unknown sources" (bad) or you'll more commonly just grab it from the app store, in which case that random OSS developer's account can feed you evil-ware either intentionally or via compromise. As soon as it is from the app store the "open source" nature is completely irrelevant, it isn't a security guarantee.

- No unpatched security bugs have been found in Google Authentictor. Google Authenticator's lack of updates are annoying though (unfixed bugs, poor backup support, QoL features like secondary pin, etc). Just not the way the article frames it.
I used to work at Gravity. Dan (owner of Gravity) is sincere and frankly the real deal.

Dan Price really is like what is presented in this article. He actually cares about his employees and is being genuine here. He's a good person, making a private business decision to increase the pay of frankly his lowest paid workers.

In a city where the average tech worker earns $275k a year, he believes its the right thing to do to make sure everyone that works for him at Gravity can earn enough to afford rent, food, and some fun.

Say what you will about the merits of decision, but it takes real leadership to make it and stand by it. I happen to think he's doing the right thing and I hope other companies choose to follow suit.
He did with Nethack. It won.
There are three major implementations polyML, SML/NJ, and Mlton (the last two are used together a lot as Mlton's whole code optimizer can take some time). Most of those coders work at universities and the biggest projects (for polyML at least are large theorem provers). They don't really focus on the software problems of more typical businesses.

There are very few languages that rise to prominence without corporate intervention. SML is a solid foundation, but the ecosystem is somewhat lacking. I don't really know aside from that. Even though SML syntax isn't difficult or particularly radical, it isn't in the C family which (I believe) makes it a no go for lots of companies.

EDIT: to answer more clearly, we simply need more dev time to create and improve the library situation and that basically demands a corporate patron.
Show HN: React component plays video from start to end but also loops in-between
It's hard to make a concurrent GC that also allows for the kind of super-cheap allocation that OCaml depends on for its performance characteristics. Allocation is expensive in Go, for example, but this is okay because Go has value semantics and an imperative model (no need to allocate memory on every little operation). Not sure how Haskell's GC works, but I'm guessing it more or less depends on Haskell's immutability guarantees.

EDIT: Downvoters, I'm genuinely interested in hearing from you. Did I accidentally cause offense or am I mistaken?
It's not, imo.

It's an example of extremely differing philosophies - of which Rust is a great example of the opposite spectrum of Go.

I imagine there may be a couple other examples, maybe something like Haskell (I wouldn't know), but I'm guessing the author just knew Rust better for this comparison.

It's easier to illustrate problems that shouldn't be problems (in your eyes) if you have solutions for them - especially solutions that you believe work well. Rust's take on these nitpicks is something that the author clearly thinks Go is lacking on.

In my view, this post is a critique on Go and the "simplicity" mantra it has; and only that.
Some of both I'd guess. Go was probably written from the start with multicore in mind. Not sure when Haskell went multicore. Taking an existing language implementation like OCaml's from single to multicore is a lot of work. Much of this work is in the GC. As I understand it, they're also not wanting to impact single core performance (I believe that's an INRIA requirement in order for them to accept the changes).
It's not hard to come up with scenarios that get you locked out for longer than expected regardless of your auth set-up.

e.g. "What if I'm traveling, I lose my phone, and the country I'm in blocks internet access to my 2FA service?" "What if I'm traveling, I lose my phone and my wallet?" (In this case, even if you use a syncable 2FA service - how will you pay for a new device to access it without your wallet? You have a different problem here, that likely involves going to an embassy and/or relying on friends & family!)

The question is, (a) how _likely_ are those scenarios? And (b) how much risk/damage/pain do they cause?

If I'm traveling, I'm fine unless I lose my phone. If I lose my phone, then I guess I can't sign in to some/many things until I get back. If I lose my phone AND my wallet and I'm not at home, I'm probably more worried about getting my ID cards and bank cards replaced than accessing certain websites. If my house burns down with my phone, wallet, and backup cards inside, I'm probably just thankful to be alive.
I miss the days when barely anybody blocked ads. Those of us who did didn't have to worry with defeating anti ad block systems.
Won't they have inadvertently copyrighted tunes already under copyright? That is to say for anything written before this stunt, they've given away rights they don't own.
> Roughly half of voters voted for this.

Substantially less than half the voters voted for it, while more than half voted for one specific alternative.

> Non-voters do not count in a democratic system.

They certainly count as part of the country. And, to the extent that they are nonvoters because they are systematically excluded rather than than voluntarily abstaining, the system isn't democratic to start with.

But, that aside, in any case, in a democratic system, an option with minority support in the electorate doesn't get selected over one supported by the majority, so I'm not sure why you are raising what happens in a democratic system to defend your argument, since it instead defeats it.
We’re getting there in some places. Minimum salary in California is now $54k. By 2020 it will be $62k.
The huge majority of people don’t have nation state threat models.

If you are worried about that then using a desktop computer in the first place is a bad idea.
Was there ever a better example of why the government needs to be kept away from news outlets?
Biggest cosmic explosion ever detected left dent in space
Yes. When possible. If you're not about to set up a server side of things, this works great.

I have a few completely serviceless web apps that utilize localstorage for this kind of thing.