News for hackers. Stuff that matters.

_28jh

Re:Why nullable types? on Tuesday December 08, 2020 @09:02AM (#25345159)

    String s = null;
That's not possible with nullable types. The whole point of nullable types is to mark types that can be null. So this is possible:

    String? s = null;
But now it's not much different than this:

    Option<String> s = None;
My point is that these are fundamentally the same thing. The only difference is syntax, ergonomics, and compiler support.
Re:Booting from a vinyl record on Sunday November 22, 2020 @10:20AM (#25178074)
"Blockchain-based vinyl bootstrapper, written in Rust"
I've seen this article reach the front page many times and I laugh every single time. There's too many golden lines.

> First communication became digitized and free to everyone. Then, when clean energy became free, things started to move quickly.

> Transportation dropped dramatically in price. It made no sense for us to own cars anymore, because we could call a driverless vehicle or a flying car for longer journeys within minutes.

> Once in awhile, I will choose to cook for myself. It is easy - the necessary kitchen equipment is delivered at my door within minutes.

> Shopping? I can't really remember what that is. For most of us, it has been turned into choosing things to use. Sometimes I find this fun, and sometimes I just want the algorithm to do it for me. It knows my taste better than I do by now.

> Once in awhile I get annoyed about the fact that I have no real privacy. No where I can go and not be registered. I know that, somewhere, everything I do, think and dream of is recorded. I just hope that nobody will use it against me.

I can't tell if it's written by a normal person, some buzzword-spouting AI, or someone from the 80's who's never interacted with modern technology.

EDIT: And of course, how could I forget, "In our city we don't pay any rent, because someone else is using our free space whenever we do not need it. My living room is used for business meetings when I am not there."

I'm all for religion if it means we can't show sexualized children on TV.
Re:Online proctor service ProctorTrack hacked on Thursday October 15, 2020 @04:17PM (#24793313)
I know hacks get posted too often to HN, but this is a particularly egregrious example. Proctortrack is an online proctoring software which school force the students to download and use. It collects, from their own privacy policy:

* Name and Address

* Zip Code

* Photograph of identity document, such as a driver’s license

* Photograph of you

(Note: it needs a scan of your face from three angles.)

* Telephone Number

* Usernames and Passwords

* Name of the Test Sponsor(s)

* Employment information

* E-mail address

* Test submissions

* Screen-captures

* Audio and video recordings of you taking tests and the test-room environment

* Biometric data, including biometric identifiers (such as scans of hand or knuckles) and biometric information (such as knuckle, face, or keystroke patterns)

* Government-issued identification number (if required, or as included in the identity document you provide)

Why does it need all this information? This is yet another example of a shitty company "forgetting" to pay for security and the consumers (who don't even have a choice to not use the software) have to pay.

Re:The internet needs our love on Thursday October 01, 2020 @04:54PM (#24656053)
Yet somehow it seems like Mozilla is going in a worse direction than ever.
Re:My least favorite Rust type on Monday September 21, 2020 @10:36PM (#24550337)
You're missing the point. Here's a good article that talks about the problems of having neither overloading nor default parameters, but in Go.[1] The problem is made significantly worse in Rust when all struct fields need to be initialized and there are no varargs. I really see no solution to the "stable API with more options" problem in Rust, aside from a builder pattern, which I really hate.

1: https://dave.cheney.net/2014/10/17/functional-options-for-fr...

I hate when I ask something about globals on SO and I get the same blanket answer. Why does every programmer feel the need to tell me that "globals make it hard to reason about the state of your program?" Unfortunately most systems are global based. OpenGL has one global state. A database connection is a global. Either you can use globals to model these things properly or you can complicate it by not using globals. The library will be using globals under the hood anyways.
A really weird way to end a comment.
Re:How we built the Waifu Vending Machine on Tuesday July 23, 2019 @09:15PM (#20511600)
Everyone knows that. It's also literally the point of the machine.