Hacker Newsnew | past | comments | ask | show | jobs | submit | Modified3019's commentslogin

That’s wonderful for you and apple.

What does Apple gain from this scenario?

Just to add, I also do my work from an M1 MacBook that I crammed Asahi onto. I got it used for a few hundred dollars last year and it's a perfectly fine experience (for me).


For those that want a personal “radio station” that’s a bit more extensive: https://github.com/perminder-klair/subwave

Okay this project is really cool, I need to try it out now

>CalebCity: “How fearless minions are in ANY video game”

https://www.youtube.com/watch?v=OC375rujZhs


I use privacy.com virtual cards. I make a card for each vendor, and define a limit for it. I can kill the cards anytime.

Just because you revoke payment doesn’t mean you cancelled (at least in Europe). If you just stop paying, they will sue you to get the money.

Yep, in the US you can have the debt sent to collections.

My spouse got fucked by Shutterstock and we have to have a calendar reminder to cancel this when the year is up, since cancelation prior will result in us still paying out the year, but not getting the remainder of the service.

They're extremely scummy. I could certainly block the charges, but they'd just come after us and cause a headache.


Same. Apparently their privacy policy is sketchy as hell but the product has been consistent for over 12 years of using it

That was a fun read, thanks.

You might like HPMOR by the same author if you don't mind the length.

https://hpmor.com/


Was initially nonplussed, but toward the end I realized the choice of pokemon for an example actually works out well for showing how prologue can solve problems. I’m now a bit curious about trying it out somewhere.

Prolog is actually a perfect fit for all kinds of adventure, role playing, strategy, and classic board/card games, with clauses representing game rules and facts representing the game state and universe in the most natural way.

Simple general-purpose opponents can be coded using just recursive backtracking search, while more advanced ones (supporting moves that need to destructively change state) can still be conveniently modelled by reifying facts and thereby enable backtracking over assert/retract-like Prolog DB modifications, as used in discrete combinatorial planners [1].

[1]: https://quantumprolog.sgml.net/container-planning-demo/part1...


All examples shown in the article can be ran with Datalog too (with stratified negation and arithmetic comparison), which has a clearer execution model and looks almost identical to Prolog. Prolog underneath is doing backtracking, while Datalog is finding a least fixed point of derived relations where iterating on data won't produce more relations, and is akind to SQL (but usually stronger because of recursion).

Ahem. "Prolog underneath" is doing SLD-Resolution implemented as a Depth-First Search with backtracking. Saying it's "doing backtracking" is really fudging quite a bit.

Datalog, instead, is "underneath" implementing a TP-Operator, a procedure that finds the fix-point of a Datalog program which happens to be the same as its Least Herbrand Model, which is what SLD-Resolution also finds, except that SLD-Resolution allows functions and does not guarantee termination, like Datalog does. The big advantage of a TP Operator is the termination guarantees and it can be implemented so that it's efficient, but it's still limited, and the fact that there are many different flavours of Datalog (with or without stratified negation, arithmetic, lists etc) is testament to the difficulty of improving on Prolog's efficiency without breaking its soundness or completeness. Or, like I always say, "sound, complete, efficient: choose two".


By the same logic, would you say that the fact that there's only one mainstream Rust is testament to the simplicity of implementing a macro-heavy, borrow checked language without breaking safety, performance and expressiveness?

I... don't really have an opinion on Rust. I have no idea, honest.

Mostly what I mean above is that Prolog is a hard balancing act, specifically balancing efficient execution with the practicalities of programming (e.g. lists, database asserts/retracts, I/O etc) and the theoretical underpinnings of Horn logic and SLD-Resolution. There's a lot of stuff that went into Prolog and its development process is quite distinct to any other language I'm aware of, where there wasn't like a central committee or an enlightened dictator, or a small band of hard-headed academics (...Haskell...) and so on, but instead there was a decades-long academic research process of going from First-Order Logic to Herbrand semantics, to definite logic, to Resolution, to Linear Resolution, to Linear Resolution with a Selection Rule, to Linear Resolution with a Selection Rule restricted to Definite clauses, to Negation-As-Failure under a Closed World Assumption, and finally to a language with an automated theorem prover as an interpreter and a clunky mockery of FOL syntax and terminology that isn't even complete (despite Resolution being complete); a process with no centralised structure instead split across multiple acadmics in several universities in the UK, in France, and in Japan.

Another way to see Prolog is that it's the result of a very peculiar academic process that is hard to replicate and that yielded a result that is difficult to outdo, with all its compromises; because of its compromises. Because its particular compromises were made to solve hard problems and were arrived at after a long, collaborative process that won't be easily outdone. Not that attempts haven't been made. For example, in logic programming circles Prolog is now considered a little bit quaint, even outdated. Most of the activity has shifted to Answer Set Programming (ASP). And that makes sense, Prolog is old news. ASP is the new kid on the block, it's only 30 years old! And like normal programming languages it was designed by a couple of people before being adopted by a wider community.

I just really don't know how any of that maps to Rust.


Importantly, Datalog is not Turing-complete though.

You can get Turing completeness by wrapping your datalog query in a while loop, so that's not particularly restrictive.

In the case of Datalog, it not being Turing-complete is usually seen as a feature rather than restrictive.

You can get Turing completeness by wrapping basically any math or logic system in a while loop, even arithmetic. So that doesn't tell us much about the restrictiveness of the overall system since I'd call "you can only use arithmetic" pretty damn restrictive.

It’s surprisingly hard to design a useful language which isn’t Turing-complete, so it should be seen as a compliment, not a problem to fix

Exactly :) It is terminating due to the LFP semantics I was pointing out, it's more akin to SQL than to Prolog. The article doesn't even show the usage of the Prolog cut (`!`).

And yet Prolog can express all examples in the article. For these kinds of problems, giving up TC is mostly a feature. And if you need more expressiveness, there's a lot of practical Datalog-ish systems that can recover Turing completeness (Flix, Formulog, parts of Souffle), while still being saner than SWI Prolog and co. for this type of work, as you generally don't have to care about atom order or search order in the same way. They act so much more predictably.


Nonplussed like initially surprised? It does not mean bored or nonchalant which many people seem to think, probably due to the non- prefix.

Interesting, it seems I learned/am using a modern American mutated version of the word.

https://www.broadlearners.com/t/understanding-the-meaning-of...

https://www.merriam-webster.com/grammar/whole-nother

https://old.reddit.com/r/etymology/comments/13s19j0/wtf_happ...

In my case, I was using it as almost a blend of the two meanings, something mostly meaning “unimpressed”, with a touch of “and a bit perplexed why such effort is going into this”. Basically a shoulder shrug and “okay…?”

I now find myself nonplussed, wondering if I should be using the word at all given it seems to have two opposite meanings.



Related, someone decompiled Samsung’s 840 EVO ssd firmware, before Samsung later started encrypting it: http://www2.futureware.at/~philipp/ssd/TheMissingManual.pdf

Came across it looking how to deal with multiple different samsung drives caught in bad states due to shitty firmware. My original salty post warning about vendor branded Samsung drives on eBay is here: https://news.ycombinator.com/item?id=37165189


This deserves its own blog post and HN submission. Since SSDs have been 2x to 4x prices people are now more likely to buy used and could get burned.

BTW thank you for raising this.


Samsung has lost any credibility they had as a competent manufacturer years ago. Their other products are beyond junk (fridges, washing machines…), their customer service is abysmal (they managed to “repair” my mp3 player and smartphone by returning it even more broken than they got it, and I’ve seen how the company works from the inside when they bought a startup I was working at. I know many people with Samsung fridges failing after a few years (or having too little coolant in them so that they make loud popping sounds when running and Samsung saying you’re holding it wrong)

From these experiences, I’m going out of my way to never buy anything made by Samsung.


You forget exploding devices or the decision of selling it's crap exynos thing in Europe


Right. And their complete contempt for user privacy on their smart TVs. Anyway, as far as I'm concerned, I'll even pay extra to buy anything but a Samsung device.


The Galaxy smartphones are still some of the best.


They don't do VoLTE when rooted. Their own stock ROM is on par with iPhone-level unworkable UI garbage. Apps that work on everything but not Samsung Galaxy. The only ROMs you can feasibly get on most models are limited to GSI builds.

"The best" must be quite a low bar.


"Apps that work on everything but not Samsung Galaxy."

This is interesting, what are some examples?


Telegram. When I used that, everyone would get their messages except those who had a samsung because it's continuously on a background task shooting spree.

The weird thing is WhatsApp isn't affected but I'm never going to install that facebook crap. Even the mandatory work phone doesn't have it.


That’s your opinion. I’ll never get one and I absolutely don’t trust Samsung with my personal data.


Ironic that the Secure Folder feature Galaxy phones have is one of the most secure enclaves.


Ironic indeed when you see the utter contempt Samsung has for its user’s data otherwise (their apps and “smart” devices are a privacy nightmare)


What makes you think this?


How do I know if I have a drive in this situation?


In my case, the drive suddenly only shows having 1GB of read only space available. The firmware version will be reported as “ERRORMOD” (meaning, error mode). There are no warning signs, it just happens.

All data is lost the moment you see ERRORMOD, there is no recovery of data that I am aware of. It is sometimes possible to clear the drive and recover function for the now untrustworthy drive: https://forums.servethehome.com/index.php?threads/pm9a3-firm...

It’s not the only way a drive can fail, but it’s the most immediately obvious one.

Other ways of the firmware failing result in no drive showing up at all, or data corruption. Physical failures can also happen, like breakage of the solder balls under the chips (which fixable enough to get data off it).


You might consider setting up Navidrome. It’s working well for me, running NixOS on an N150 minipc along with Tailscale.

Lots of clients are available to connect with it (it also has a functional web UI). It does not touch your music files, keeping things like star ratings in its database.

https://github.com/navidrome/navidrome

# Clients

https://www.navidrome.org/apps/


I don’t have direct experience, but when I looked into it my takeaway that NBD was unable to reliably deal with network interruptions as well as iscsi.

https://forums.gentoo.org/viewtopic.php?p=4895771&sid=f9b7ac...

https://github.com/NetworkBlockDevice/nbd/issues/93

Whether that’s the case with the latest version, I don’t know, but it’s something you might test if you choose to try it.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: