bitcrafter

joined 1 year ago
[–] [email protected] 6 points 2 months ago (1 children)

I would not recommend this as an exercise for a beginner, but RPython is a subset of Python with a C backend; it is used as the basis of PyPy (an implementation of Python), so it may be possible to use it to implement the low-level parts which then can be used to bootstrap a full Python virtual machine.

[–] [email protected] 2 points 2 months ago

Yes, and that’s basically what the CPython interpreter does when you call a Python script. It sometimes even leaves the machine code laying in your filesystem, with the extension .pyc . This is the byte code (aka machine code) for CPython’s implementation of the Python Virtual Machine (PVM).

This is incorrect; the term "machine code" refers to code that can be run on a real machine, not to code that requires a virtual machine.

[–] [email protected] 2 points 2 months ago

The context you are missing is that, for a lot of people, OOP was taught as the be-all and end-all of abstraction. I personally have seen some of my less experienced colleagues start to write code to solve a problem and immediately reach for OOP over and over again, even when this made things a lot messier (which ultimately I had to deal with...), because that is how they were told at one point was the "correct" way to do it, so I can completely sympathize with anti-OOP sentiment. On the other hand, I am not personally vehemently anti-OOP because I think that (as you have correctly observed) OOP is a perfectly fine pattern when it fits, and arguably the root problem that my colleagues had was not so much that they used OOP everywhere but that there was a tendency to not think through the consequences of their design choices.

[–] [email protected] 13 points 2 months ago* (last edited 2 months ago) (1 children)

Article written like it’s someone that just discovered types even though a majority of the programming world said to use types for decades…

Yeah, how dare the author discover something that they did not know before and get so excited about it that they wanted to write an article about what they learned! That is a completely inappropriate thing to do with a personal blog.


Edit: Finally figured out how to link the image to the original comic. (I needed to embed the image link inside of another link.)

[–] [email protected] 3 points 2 months ago

And here I naively had been wondering before reading this article what was so inherently privacy invading about using fingerprints to unlock devices...

[–] [email protected] 3 points 3 months ago

A related tactic is sealioning:

Sealioning comic.

[–] [email protected] 6 points 3 months ago

Hmm, well... I have never murdered anyone, not even once! Is that good enough for their Code of Ethics?

[–] [email protected] 1 points 3 months ago

The way that I prefer to think about this is exactly the opposite: given that there is no "magic" involved because it is all just a big dumb tensor network underneath the hood, it is incredibly remarkable how smart it can be in practice.

[–] [email protected] 1 points 3 months ago

You are making the extremely incorrect presumption that I am unfamiliar with Lisp and how macros work. What is unclear to me is how you specifically think that arbitrarily rewriting code at macro expansion time is exactly equivalent to arbitrarily manipulating the stack at runtime.

[–] [email protected] 6 points 3 months ago

Yeah, there is nothing more annoying in general when starting to type text into a co-workers desktop than having random letters show up rather than having the cursor move around.

[–] [email protected] 11 points 3 months ago

nano -> vim

This one is extremely consistent with the others because once you have made the switch, it becomes harder to escape.

[–] [email protected] 9 points 3 months ago

AT&T, for example, once aimed to cut the ratio of managers to nonmanagers in one of its units from 1:5 to 1:30.

Wow, it is never a great idea to give someone more than about 5 direct reports if you want them to be effective.

view more: ‹ prev next ›