HN user

siev

262 karma
Posts3
Comments19
View on HN
Permacomputing 5 months ago

Exactly my thought haha. And Urbit comes from the LISP/Lambda Calculus world of concerning themselves with high level abstractions and mathematical elegance above all, while Uxn and similar systems follow in the footsteps of Forth and the idea of "get something small and low level working as soon as possible."

I guess it's time to check "be accused of spreading psyops" off my internet bucket list.

Because I guess you're not interested in my own personal experience of witnessing said people get killed either. Or not exiting my home because I feared for my life. But you seem to have a loose definition of "unconfirmed" [1] so I won't dwell on that. Here's all I have to say:

When the Israeli government claims that Iran needs to be toppled to protect the Iranian people, while they simultaneously commit genocide in Palestine, I have to stop and think about their real motives.

The Iranian government is evil.

The Israeli government is evil.

Both are, believe it or not, true. Conservative ruling systems often dislike other conservative ruling systems.

Trump wants to bring democracy to Iran

_Iranians_ want to bring democracy to Iran. And as one of them, I sincerely don't give a shit about what Trump or Israel or anyone else outside of this fucking country wants.

[1] https://en.wikipedia.org/wiki/2026_Iran_massacres

We do. It's not very good. As in, there isn't even a properly functioning domestic search engine that can match the quality of anything past AltaVista. The only local platforms worth a damn are the ones you'd be using anyway. (the local equivalents to Uber, Maps etc.)

All other platforms (instant messengers, social media, news) are massively unpopular for being horrid to use at best, and government spyware at worst.

To slow down the immediate damage the government has rolled back a few of the recent restrictions, hence why I can access HN. Among Google and a handful of other basic websites. But they are obviously experimenting and trying to figure out how much censorship they can get away with. There is talk of a planned "whitelisting" of the country's internet. Where almost all but a few big important services are blocked completely. This would have the bonus effect of making circumvention using VPNs and other methods even more difficult than it already is.

I like the sentiment, I love C. But this book seems riddled with errors and baffling decisions.

First of all, the fixed points are LITERALLY NOT FIXED POINTS. They're decimal floats. Fixed points are just integers that re-scale when multiplied or divided. There is no exponent field, no nothing. The author seems to have confused the notion "fixed points allow for precise calculations of monetary values" to mean that they're decimal. They're not. That section of the book contradicts itself constantly and also the code is wrong.

Also an ordered vector is used to implement a map/set. Because:

Most people would likely instinctively reach for hash tables, and typically spend the next few months researching optimal hash algorithms and table designs.

A binary searched vector is as simple as it gets and performs pretty well while being more predictable.

A basic hash table or hash set[1] is both simpler and faster than this solution. And I don't see what's stopping someone from spending the next few months researching optimal dynamic array growth and searching algorithms instead. This line of reasoning just doesn't make any sense.

And "Once nice advantage is that since they don't need any infrastructure, they're comparably cheap to create." What? It needs a dynamic array!

[1] https://github.com/skeeto/scratch/tree/master/set32

I really like the design choices they've made. Namely:

- Once you cut out the legacy nonsense out of C, you can then add a few nice modern features to your language and still end up with something that's smaller and simpler than C.

- Performance optimizations are possible. But by default, simplicity is always picked over performance. (i.e. most UB is eliminated, even if it hurts performance)

- A few basic pointer features go a long way in eliminating memory most memory safety bugs. There are non-nullable pointers, ranges with automatic bound checks, and no C strings.

- They get a lot of mileage out of their tagged union type. It allows for elegant implementations of algebraic types, polymorphism, and error handling.

- The error handling!

I love the 6502, but if we're considering teaching architecture using a legacy machine my preferred choice would be the PDP-11. The ISA is quite nice, and the machine has many of the "modern" features one would expect from a computer, like address translation. On top of that, there's loads of good, historic code to be looked at. Hell, bring back the Lions commentary book!

Imagine a function z=f(x,y) in 3D space. Now picture a plane at say, x=3, that is parallel to the plane passing through the Y and Z axes. This x=3 plane cuts through our function, and its intersection with the z=f(x,y) function forms a sort of 2D function z=g(x)=f(3,y).

(The Wikipedia page[1] has nice images of this [2])

The slope of this new 2D function on the x=3 plane at some point y is then the partial derivative ∂z/∂y for constant x at the point (3,y). As we are "fixing" the value of x to a constant, by only considering the intersection of our original function with a plane at x=x_0.

[1] https://en.wikipedia.org/wiki/Partial_derivative

[2] https://en.wikipedia.org/wiki/File:Partial_func_eg.svg