HN user

at_compile_time

270 karma
Posts0
Comments123
View on HN
No posts found.

How do we know that the ruling/governing class is not abusing these monitoring systems and exempting themselves from monitoring?

Ah, so except for THE ENTIRE FUCKING PROBLEM, this is fine.

And if some people are allowed to harass and stalk others based on some attribute (race, religion, nationality, etc.) because they are in a monitoring position (while others are not) then that would be unfair as well.

Yes, we wouldn't want racial profiling in our Orwellian hellscape. That would truly put it over the edge.

I did a lot of automation at my last job, which was closer to engineering in the classical sense than engineering in the software sense. The automation mostly amounted to web scraping and interacting with local systems, with a generous amount of logic in between. The largest roadblock wasn't the scraping or the logic, it was the inbuilt assumption of the local programs that there would be an ape with a mouse and keyboard driving the interaction. Outputs that could have been text needed to be copied to and read from the clipboard, or exported as a spreadsheet. Inputs that could have been text were only accepted in spreadsheet form. Pixels needed to be read from the screen to tell when one step was complete and the next could begin. Mouse clicks and keystrokes sent to and fro when it all could have been a series of commands. I cannot count how many written processes and procedures existed could have been a bash simple bash script.

I'm not arguing that these programs should not have a GUI, for that was the simplest way to use them, but the lack of command line functionality places a hard limit on the productivity of an organization, and ensures that the only progress on that front comes at the expensive of exceedingly limited developer time.

"But nobody knows how to use a terminal anymore," I hear you say. Well of course they don't, nobody under 35 without a background in programming has ever had cause to use one. We made everything so simple that nobody ever has to learn anything. That isn't to say that people cannot learn, just they have been robbed of the natural opportunity to do so. Otherwise intelligent people never progress beyond the manual step-by-step interaction that passes for "using a computer" today.

A computer is a tool in much the same way that the a machine shop is a tool: it is a tool that can build other tools. The role of software developers should not just be to build simple tools that can do one task in isolation, it should be to build tools that less technical people can use to build the tools they find themselves in need of. GUI-only programs are simply not fit for that purpose because they lack composability of simpler terminal-based programs.

The problem of offices is not when we spend time in them but rather that we spend time in them at all. What a banal hell it is we have consented to endure compared to the comforts of our homes or of any space actually designed for the wellness of human beings or even focused work.

If your key is a hash of the code and its dependencies, for a given toolchain and target, then any change to the code, its dependencies, the toolchain or target will result in a new key unique to that configuration. Though I am not familiar with these distributed caching systems so I could be overlooking something.

I hadn't heard of ATS before, and I think that I mistook your using it as an example of "more isn't always better" and thought you were suggesting it as an actual alternative.

I'm looking for the next thing I want to learn, and have been leaning towards logic programming and theorem provers, so you inadvertently piqued my interest.

Rust's real superpower is its tooling. Cargo handles package management, building, testing, documentation, and publishing. The compiler's errors explain what went wrong and where it happened. Installing the toolchain with rustup is quick and painless, even on Windows. I can't know that it's best in class, but it's certainly the best I've used.

I can see another language having a more expressive type system, I've come up against the limitations of Rust's type system more than once, but the tradeoff isn't worth it if I have to go 20 years back in time in terms of tooling.

Arenas in Rust 10 months ago

That C++ already has many implementations of sparse sets seems to be a point in favor of sparse sets rather than a point against Rust, especially given that C++ doesn't need them the same way Rust does.

When I say they prioritize social stability, I mean that they won't stop producing cars regardless of how little economic sense it makes because they need to keep people employed to stave of massive civil unrest. And global competitiveness counts for little when the countries they want to export to implement anti-dumping policies to protect their own industries from government-subsidized Chinese exports.

We must be working from different definitions of efficient.

Yes, the CCP can say jump and expect their corporations to do so, but when everyone in a modern economy jumps at the same time, massive oversupply is the result. More market-based economies are also prone to similar overproduction when everyone gets caught up in the same mania (see AI datacenters), but investors will eventually stop lighting their money on fire when it becomes clear that the returns aren't there. Chinese companies, on the other hand, will just keep jumping until the CCP decides that they are done jumping.

Our feedback loop is geared towards only doing things that provide a return on investment. Their feedback loop has things like social stability and global competitiveness as competing goals to actually doing productive work.

Yes, they are able to accomplish a tremendous amount when they set their minds to it, but doing a tremendous amount more of something than there is actual demand is waste, the opposite of efficiency.

https://www.reuters.com/investigations/china-is-sending-its-...

What's next, complaining that some doctor is an asshole for appearing on TV to refute people claiming ivermectin cures covid, thus making it impossible for people to seriously study ivermectin's covid benefits? Or that they were too aggressive in responding to the shyster?

That might not be the best example to use here because the incentives are entirely backwards. The people claiming to have ESP were doing it for fame and money, whereas the scientists and medical professionals claiming that ivermectin was effective for treating COVID were doing it in spite of the professional stigmatisation that came with it. The unscrupulous would have been shilling for pharma as they always have, that's where the money is, not sticking their necks out for some off-patent drug.

Any examination that isn't done in person on general course material (nothing an LLM could prepare for you) is just stubborn refusal to protect students from themselves in an age where anything else can be faked. Graded homework and take-home assignments are dead as useful pedagogical tools.

No, it would not. Even conversions using "as" are discouraged in favor of conversion traits such as From and TryFrom. Rust's goals of being explicit and correct are at odds with people wanting things to be immediately simple and easy to use.

On the contrary, I find indices to be the most natural way to represent anything that resembles a graph in Rust. They allow you to sidestep the usual issues that arise with ownership and borrowing, particularly with mutability, by handing ownership to the collection and using indices to allow nodes to refer to one another. It's delightfully simple compared to the mess of Arc and RefCell that tends to result when one tries to apply patterns from languages that leave "shared XOR mutable" as the programmer's responsibility. That's not to say that Vec and usize are appropriate for the task, but Rust's type system can be used to do a lot better.

If you want to tell someone that exponentiating an area gives a rotation, you need to basically deal with the fact that that sentence sounds like nonsense.

It's not just an area though, it's an area with orientation and magnitude. It's the complex exponential function extended to 3 dimensions.

By "unpedagogical" I mean: very hard to learn, and even when you learn it, often hard to explain. It's information that doesn't compress well, generalize well, or really convey direct understanding of what's going on. Maybe not the best word for this. Really, I just mean "bad".

I can see where you're coming from on the learning part. There are as many different ways of learning GA as there are teachers, and this does hold it back.

To me it's incomplete knowledge; it needs to be improved upon so that it makes more sense for people who need to know it. In doing so it will also become easier to learn.

I wish you luck, and I hope that I find it on here someday.

unpedagogical

Does this word mean "not the way things mathematicians teach things"? My experience has been that mathematicians teach things that are useful to mathematicians to students who are not going to be mathematicians and would be better served learning other things. I wasted countless hours of my life finding analytical solutions to toy calculus problems in a universe that will never yield to those methods.

My stance on quaternions is that they are an opaque representation of what they are trying to do, which makes them unnecessarily-difficult and annoying. Not to mention hard to learn to visualize.

I've seen some remarkably confusing attempts to understand and visualize these things. This has always baffled me because the equivalent objects in geometric algebra aren't that hard to understand. I really think this is a problem with your pedagogy. You've hidden the geometric meaning of the bivector components in these imaginary components, i,j,k, and you have to take it on faith that i*j=k and instead of it being just the product of two bivector blades.

The notion of an exponential map and exponentiating generators is, IMO, much more "natural" and intuitively straightforward than the alternatives.

That's because you learned it that way. Exponentiating an oriented area to generate a rotation is perfectly intuitive to me, and I'm not sure how somebody could be confused by the fact that a bivector can be an oriented area or the logarithm of a rotation because it's a simple matter of context.

You make it sound as though multivectors being invertible is a special case, when the opposite is true. In 2D and 3D GA, every non-zero k-vector and versor has an inverse. In PGA, every non-zero, non-ideal plane, line, and point, and versor has an inverse. The inverse is used all the damn time when composing and applying transformations and performing projections and rejections.

As to which is more fundamental, I don't think it matters. You could argue that the dot and exterior products are more fundamental because the geometric product is their sum (for vectors). You could also argue that the geometric product is more fundamental because it is simply the Cartesian product of two multivectors, and you derive the dot, exterior and commutator products by filtering that product by grade. Both definitions are true, and "fundamental" is both a matter of perspective and irrelevant to any practical concern.

The problem with car-dependent cities is that they are very spread out. Why does public transit suck and why don't many people use the bike lanes? Because everything is far away.

We've built our cities this way. Our tax system encourages it (by not taxing land value directly and exempting development from taxation), and our zoning requires it (my city is almost entirely zoned exclusively for single-family detached housing). Bike lanes are nice, but they don't make a 25-km ride through endless suburbia any shorter.

You can't just copy the superficial traits of bikeable European cities and hope to get the same results. We need to fundamentally rethink the way our cities are allowed and encouraged to grow.

"There's no evidence of that" often means that there's no money to be made in studying that thing: or, alternatively, that there's a lot of money being made and nobody wants to look for inconvenient answers.

Selection is acting on viruses as well. A virus that makes you very ill won't spread as well as one that makes you a little ill because there are only so many people you can infect while bedridden, and the trend among dominant strains reflects this.