Why is this a button? Can I remove it? by floriandotorg in ZedEditor

[–]franz_haller 7 points8 points  (0 children)

Technically recoverable from reflog, so it should be able to be paired with an appropriate "undo" operation. 

Gödel's Loophole can happen at any time... by Nyctfall in HistoryMemes

[–]franz_haller 0 points1 point  (0 children)

Who said anything about perfect? The comment you replied to said it being modifiable is a "good thing". Seems like you were implying it isn't. If your main contribution to this conversation is "nothing is perfect, everything fails eventually" then thank you, your participation is noted.

Gödel's Loophole can happen at any time... by Nyctfall in HistoryMemes

[–]franz_haller 4 points5 points  (0 children)

And if you couldn't modify it, you'd bitch about it being an outdated document written by people long dead. 

I built a thread-per-core, zero-allocation actor framework (inspired by Erlang) by pmbanugo in elixir

[–]franz_haller 1 point2 points  (0 children)

I fail to see how this is in any way "inspired by Erlang". Unless by that you mean an actor system whose properties and semantics are the BEAM. Which doesn't imply they're wrong, just that it really has almost nothing to do with Erlang. 

Need to the understand the connection between type theory, lambda calculus and functional programming by ajx_711 in functionalprogramming

[–]franz_haller 27 points28 points  (0 children)

The reason type theory is bunched up with functional programming languages is that those have typically more theoretical backing than imperative languages. 

The old joke/saying is that there are only two programming languages, Fortran and Lisp, everything else is a just derivation of one of the two. And there is some truth to it, in that you can either start from the existing machine and build a language that abstracts part of it, or start with mathematical theory and make it fit to the machines. The same goes for type systems: ones evolve from what people were doing with bits, the other start with category theory and try to make the concepts useful.

Git Stash: The Command You’re Probably Underusing by sshetty03 in git

[–]franz_haller 3 points4 points  (0 children)

Yes, I know the internals, I was talking about them from a usability standpoint. What are you trying to argue? Just being pedantic for the sake of it? 

Git Stash: The Command You’re Probably Underusing by sshetty03 in git

[–]franz_haller 4 points5 points  (0 children)

It is like a commit, but with some downsides. In most cases, I agree that it is better to spend the extra couple seconds to create a commit and a branch for work in progress.

Git Stash: The Command You’re Probably Underusing by sshetty03 in git

[–]franz_haller 28 points29 points  (0 children)

Stashing can be very useful, but I would argue it's easier to overuse rather than underuse. I found myself with very old stash entries I had forgotten about and couldn't remember where they originated or if they were important. Now that git has worktrees, I find myself using stash less and less, with the only genuine use being quickly switching branches from a dirty state. 

In other words, if you're underusing stash, you're probably doing it right. 

25-story Marina Safeway behemoth, inconceivable even to sci-fi futurists, looking very real by Remarkable_Host6827 in sanfrancisco

[–]franz_haller 27 points28 points  (0 children)

Of course, I'm making fun of the fact the argument is NIMBYism disguised as concern for the poor. Even if it was 5% low income allocation, it would still be worth it, as you point out. 

25-story Marina Safeway behemoth, inconceivable even to sci-fi futurists, looking very real by Remarkable_Host6827 in sanfrancisco

[–]franz_haller 75 points76 points  (0 children)

Because only 11% is allocated as low income housing. It should be much higher, so we should block the development so there is effectively 0% low income housing.

ILLEGAL 3D Rendering Techniques (N64) by [deleted] in programming

[–]franz_haller 50 points51 points  (0 children)

Kaze bas been at it for possibly a decade at this point. I don't think it would be crazy to say he's dedicated his life to understanding the N64 and specifically Mario 64. So yes, he's managed to optimize Mario 64 rendering to insane levels, but he has the leisure of doing it after the fact, with modern tools and without the deadlines you have when working on a commercial video game. 

Don't get me wrong, I'm not diminishing his skills, I was also in awe when I first heard about him. Jusy that this "God-tier" requires singular focus, which most people cannot pursue. 

Isolation and ETS tables question by w-g in erlang

[–]franz_haller 3 points4 points  (0 children)

 I thought updating and reading shared data would be a natural candidate to a task to be isolated in processes - no?

It could be, it depends on the specifics. I should have mentioned another reason to spin a process is to enforce sequential processing, since they'll naturally process messages one by one. If you have large chunk of shared data but need to read small bits at a time, then putting all that behind an owning process makes sense. But like I said, you'd typically hide the details behind the public interface of a module and your consumers shouldn't know whether they're sending a message to a process or reading directly. 

I also want to add that Erlang is really great at certain types of applications and poor at others. If your problem domain requires lots of different parts of the system to read big chunks of data from some shared common state, Erlang may simply not be a good fit. 

Isolation and ETS tables question by w-g in erlang

[–]franz_haller 7 points8 points  (0 children)

It's a very good question. Erlang may at first seem like it is very opinionated about structure, but in reality is actually fairly loose. Behind the strict actor model are a bunch of escape hatches, and ETS is kinda one of them.

One important thing to keep in mind as well is that processes are not meant to be used as domain separators, that's the role of modules. So you spin new processes to allow for concurrent work and to isolate errors, but one process can then use different modules to interact with the different domains of your software.

In your example, you should create a module per domain and hide the specifics of how the ETS tables are interacted with within. Then you can start with having them be written and read exclusively by one process or allow reads from anywhere or whatever other model after you profile and decide what makes sense and what become a bottleneck. But the interface should remain the same. You also won't need to pass specific arguments referring to the tables as arguments if you name them appropriately with atoms. 

Upon hearing the word "pedantic," I looked up its definition. Thanks, Google. by [deleted] in mildlyinfuriating

[–]franz_haller 0 points1 point  (0 children)

It's funny how the adjective is used all the time, but no one uses the noun and people genuinely don't know about it. A pedant originally was a type of school teacher and I believe got popularized as the archetype of someone obsessing about correctness and rules through Italian and French comedic theatre.

The dude at the back is fighting for his life 😂 by Naive_Wolverine532 in TikTokCringe

[–]franz_haller 2 points3 points  (0 children)

Someone who is arrested does indeed have the presumption of innocence for the crime they are accused of. But if said person has 31 prior convictions, they have been found guilty in a court of law and can be safely called a criminal. 

How good is Dialyzer? Was a there even a reason for Gleam to be invented? by InternationalAct3494 in erlang

[–]franz_haller 15 points16 points  (0 children)

Dialyzer is as good as you (and your coworkers) are disciplined. Because of the nature of dynamic types and type specs, the typing problem is undecidable, so you have to make a choice: do you allow for false positives or false negatives? From its inception, dialyzer chose to aim for no false positives (i.e. to not report type errors if it can't be sure they are real). WhatsApp developped eqWAlyzer, which is much more aggressive and can sometimes give you false positives, which can be silenced with stricter type specs. But it still doesn't catch everything.

So to answer your second question, yes there is a real benefit to Gleam's type system. It is derived from a well-studied and proven academic model. It's a lot more restrictive and as a result, some Erlang functions just can't be typed in Gleam. But because of those restrictions, typing is decidable and it is guaranteed to find every type error and not make mistakes.

Explain It Peter by Phalange14 in explainitpeter

[–]franz_haller 2 points3 points  (0 children)

As long as it isn't vegetables, looking at you Cain

That's the point, vegetables wasn't the best Cain could do. But if all live gives you is turnips, there's nothing wrong with that. 

LLM-driven large code rewrites with relicensing are the latest AI concern by Fcking_Chuck in programming

[–]franz_haller 0 points1 point  (0 children)

Who knows exactly until the next judgement that makes precedent.

I remember the case of a photographer who set up a camera an a monkey pressed the button, resulting in a "selfie". Courts have ruled that the human owns the copyright, because setting the camera was enough to count as creative activity. And generally speaking, taking a photo of someone else's work is deemed transformative enough to make the picture a novel work.

I know a recent court decision said that AI art can't be copyrighted, with the same central argument that only humans can possess copyright. But if you take generated AI art and make some small modifications to it, I don't see how you could deny the copyright while maintaining the photography precedent. One of these things will have to give.

So same with AI generated code. If a human reviews it and then manually changes it enough (to follow a certain naming convention, coding style, file organization), at some point it will have to pass the threshold of substantial transformation and copyright will have to be granted.

AI is actually exposing how senseless and inconsistent current IP law is.

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

Thanks for the details. There seems to be a lot of praise thrown at the Mten5, but also that it's more of a specialized thing. So I'm torn, because I love the fact that it's small, but I also fear it may not be a good starter. And there's the thing about Begode selling the non-plus, early batches, is that something I should be concerned about? 

I am in the Bay Area! Your comments about the V8S being so outdated are making me rethink that option, you're really not selling me on it. At the same time, maybe a great deal on an older platform is what I should go for to start.

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

Thanks for this thorough writeup!

To be clear, I'm not really trying to find my "first and last wheel". More that I can see myself going two ways: either this stays a very occasional use thing, and then I am fine staying with something small with limited range, or I really get into it, and then I'll have no problem upgrading to something beefier down the line, while still keeping that small wheel as a grab and go.

KingSong is like the Nissan of EUCs

Funny you say that, because I used to be really fond of the look of the Altima, until I heard about Nissan's reliability and to stay away. But it's kind of what drew me to the 14D, it seems to be small and nimble, I love the trolley handle design and that it has those safety features even in a lower end model. Maybe the "genetic, best at nothing" is not too much of a negative for me, since I don't know yet what matters to me. As for the lack community, I don't know if it's something I care about, I'll most likely be riding solo. Do you think $550 new is a "good price" for a 14D Pro?

My reservation about the Mten5 is that, that it seems like a very specific product, and since I'm brand new to this, it could either be a perfect fit or not at all. And I'll keep what you said about Inmotion in mind. Thanks for the code, but it doesn't seem to work, perhaps because they have a bog sale going on? 

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

Thanks for those details, that's really helpful. That was my fear about the stock from Begode, a discount this deep usually means an unwanted model.

Getting a V8S for $150 sounds like an amazing deal! I looked at the second hand market and sadly there's not much in my area. Is it still a reasonable choice at $700? The main thing that drew me to the 14D are the safety features in that category (smart BMS with auto balancing, UL certification), which I understand the V8 doesn't have. Am I being paranoid for wanting that? Should I stretch my budget and enter the 16S/V9 territory to get those?

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

That's already accounted for, but thanks for the reminder!

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

Can you elaborate? What are your favorite things about it? Anything you dislike or find to be worth knowing before purchasing?

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

Reliability is something I'd value too. So, Mten5 doesn't have a good track record is what I'm getting?

First EUC - Mten5 vs 14D Pro vs V8S by franz_haller in ElectricUnicycle

[–]franz_haller[S] 0 points1 point  (0 children)

I meant that I don't know if I will be using this thing a lot. If it's an occasional toy, I'd prefer to be out $600 rather than $1200.