HNHacker News
TopNewBestAskShowJobs

ragnese

2,531 karma · joined December 14, 2017

submissionscomments
ragnese··on Zuckerberg claims regret on caving to White House pressure on content
> Taxing unrealized gains will be extremely complex, and given that they aren't allowing us to deduct unrealized losses its a pretty shitty setup for the taxpayer.

I pay taxes on the unrealized gains of my house appreciating in value over the years.

I'm not arguing one way or the other about whether various wealth tax ideas are good. But, I don't believe that the concept is as infeasible as some are making it out to be when it's been happening with property taxes for a very long time.

ragnese··on Microsoft removes documentation for switching to a local account in Windows 11
Yeah, snaps are really shitty.

And in general, desktop Linux is just as buggy and maybe even more half-baked than it was when I started using it in 2007.

But, I own my machines. I don't need to ask permission from a company to be able to log in to my machine. I can install or uninstall whatever the hell I want.

ragnese··on Microsoft removes documentation for switching to a local account in Windows 11
That's also something Richard Stallman said he used to do, IIRC. He said that while he didn't browse the web on his own computers, he would sometimes do it on other peoples' computers or public computers.

No point being made. Just an interesting tidbit I remembered.

ragnese··on Microsoft removes documentation for switching to a local account in Windows 11
I'm so sorry that your poor mother had to install Windows on a lab computer. I'm guessing there was a specific piece of hardware in the lab that only works with some shitty Windows-only control software, huh?
ragnese··on Microsoft removes documentation for switching to a local account in Windows 11
I'm probably going to sound like a troll for saying this, but I hate when history gets conveniently "forgotten".

Please, don't forget how many people online (including here on HN) repeated the astroturf propaganda about how "Microsoft has changed" and "Nadella's not Gates and Ballmer" when Nadella first took over. Don't forget how anyone who dared type "EEE" was called a troll or at least stubborn and stuck in the past.

Microsoft sucks. They are a hostile company who absolutely abuses their market position and will never--ever--think twice about it. I don't want to hear whataboutism for Google and Apple--I have my complaints for them, too. But, I'm really bitter about how well the Nadella-MS marketing campaign worked on devs and IT people.

But, at least Microsoft "hearts" open source, right?

ragnese··on Ask HN: Is it just me, or does the job market for IT seem bad today?
Most companies "need" to grow, so if you did see 10% more productivity, you aren't going to lay off 10% of your workers--you're just going to enjoy hopefully 10% more profit (grossly simplified).

Not to mention that I'm so skeptical right now that I highly doubt these AI tools are helping IT workers be even 5% more productive.

Historically, every time a new web framework comes out that swears it'll make web devs so much more productive, it doesn't seem like that ever causes a noticeable change in the job market.

ragnese··on Ask HN: Is it just me, or does the job market for IT seem bad today?
> Perhaps the AI boom will decrease the demand from now on. Waiting for better times may be futile?

I'm not claiming to be very knowledgeable about AI/LLMs or the job market or "the economy" in general, but I'd be absolutely shocked to find that the AI stuff has any impact on the current IT job market.

I know that some people are using AI tools to help generate code and stuff, but it seems like those tools can't even generate correct code a lot of the time- and that's with a professional human programmer asking it to. I can't imagine that these tools are increasing productivity so much that it could actually reduce hiring.

ragnese··on How much of a genius-level move was binary space partitioning in Doom? (2019)
> Research papers, to be maximally reusable and future-proof, should prefer to present information in as plain English as possible and commonly-used mathematic terminology and symbols rather than obscure forms where possible. Using big words (or Latin) doesn't add profoundness, but they can add artistic flair in other contexts where elucidation isn't the goal. ;-)

As someone with a background in academia, I have to disagree with the assertion that papers should be written in "plain English" and some lowest-common-denominator of symbolism.

It doesn't make me happy to argue against that, but the truth is that scientific papers MUST build on previous knowledge. No leading gene editing research paper is coming out with long-winded prose explaining what DNA and RNA are. No particle physics paper coming out of CERN is going to avoid quantum field theory jargon and terminology in the hopes that a lay person with a pre-calculus level of math education is going to be able to study the results and understand it. How many times longer would these papers be if they did try to do that? My calculus book from undergrad was some 600 pages long (it covered three semesters, to be fair)--now imagine that the people writing these papers read that 600 page book in their first one or two years of undergrad, and then proceeded to study their subject for AT LEAST another 6 years (closer to 8 for physics) before getting "Dr" in front of their name. How many pages would a research paper need to be for a lay person to understand? Probably pretty long.

The truth is that there sometimes IS NOT a "plain English" way to explain something. Yes, you can use inaccurate metaphors and analogies about cats in boxes, but that doesn't lead to someone actually understanding the Schrodinger equation and Hilbert spaces. Believe it or not, scientists are not sitting around all day figuring out which Latin words will sound the most "profound" in their prose. Those are just the words they really actually use. Because words have meaning and some ideas are so common that they deserve to be condensed into a word, or an equation, or a symbol...

At the end of the day, these papers are written to advance the respective field of study. The best way to do that is to write papers that are going to be relevant to people who might actually build on the results. The people who might actually build on the results are going to be people who understand the requisite background information. If Joe Schmoe wants to read a particle physics paper, then he better pull out his high school math books and work his way up to at least a masters degree level understanding of physics and mathematics.

I would never go into the kitchen of a professional chef and tell her to stop referring to a "paring knife" or a "fillet knife" because I'm not familiar with cooking jargon. I wouldn't tell her that she has to re-explain what shape those knives have every time she explains a new recipe or technique. I would just have to learn the jargon if I actually cared enough.

ragnese··on Microsoft will switch off Recall by default after security backlash
I remember the giant astroturf campaign when he first took over and Microsoft started "heart"-ing open source and Linux. Everyone/bot on the internet said that Microsoft had really changed and that anyone who was still skeptical of them was being irrational and out of touch.

That's all.

ragnese··on Microsoft will switch off Recall by default after security backlash
Okay. And? I still think it's not in your best interest to do that, but I'm just some guy on the internet and you can do whatever you want. I also recommend that you don't smoke cigarettes, but I'm not going to lose sleep if you tell me you're going to do that, too.

I'm not like so many who seem to have to rationalize their choice of Linux or other free software by pretending it's actually technically better than the proprietary for-profit stuff. It's not about that.

Linux could get 10% of the battery life of Windows, have zero games, no Netflix/whatever support, and be slow as hell--I'd still choose it over proprietary options out of principle.

I want to own my computer. I don't want my computer to spy on me. Microsoft is literally adversarial to its users (Apple and Google are, too, but Apple at least has slightly different incentives that might make them less bad). Why would I invite that negativity into my life? Life is hard enough without trying to fight against a trillion dollar company for my privacy when I don't have to. It's that simple for me: I'm not inviting a Trojan horse in. But, people act like I'm some tinfoil hat nutjob. I think everyone else is crazy for sacrificing their privacy for "but Windows has a game I like".

Apologies for the preaching, but I don't know how to explain my point of view without it sounding like that!

ragnese··on Microsoft will switch off Recall by default after security backlash
> Can't we just have a peaceful life without wasting time on constantly following and analyzing every single move from these companies?

Not if you're using Microsoft products, no.

People continue to get irritated when "we" do this, but here I go: you should be running Linux exclusively on your personal computers. You should also stop buying "smart" shit.

ragnese··on Microsoft will switch off Recall by default after security backlash
Documents and emails are probably easier to find via old-school text searching, though.
ragnese··on Microsoft will switch off Recall by default after security backlash
"accidentally"
ragnese··on Microsoft will switch off Recall by default after security backlash
> Or Microsoft just decides they need to really market the hell out of AI and it gets turned on my default anyways.

This is what will happen. And when you turn it off again, it'll be turned back on by the next update. Enjoy.

ragnese··on Microsoft will switch off Recall by default after security backlash
> In all the MS Recall drama, I've yet to hear or read one single person utter something to the effect of "Wow - great!!! - I've been waiting for something like this for years! This will solve at least one of the major issues I face regularly!".

There were definitely some comments in a previous HN post about it that attempted defend it and to paint everyone else as overreacting. Several of them even said that they thought it would be useful for something they might hypothetically like to remember or search for... I don't really remember, because the whole thing is crazy to me and I think it's crazy for any tech-savvy person to be running Windows in 2024.

> Why is MS pushing something so hard when nobody asked for it?

I assume this is a rhetorical question, but just in case it isn't: this is not a feature/product for Windows USERS. This is a feature to help train/test MS's AI stuff- YOU are the product, not the customer.

ragnese··on Microsoft will switch off Recall by default after security backlash
> And it feels, bizarrely for 2024, that little thought has gone into privacy or security.

No, no. They thought about the privacy and security aspect. They decided that it's better for their bottom line if Windows users don't have privacy from the mother ship. Really, they already decided that way back when Windows Vista first came out and periodically asked Microsoft HQ if you should continue being allowed to use your computer.

ragnese··on Microsoft should accept and give up Windows 11, throw everything at Windows 12
> Windows 10 is the maximum intrusion people are willing to take.

Statistically, 100% of people are willing to take exactly what they get when they buy a new computer. With the same precision of rounding, 0% of people are going to dig into settings to see if they can turn off something that they find annoying- usually because they're afraid of breaking something.

People literally buy smart TVs that play ads when they aren't even watching anything (or it's been paused for a few minutes).

ragnese··on C Style: My favorite C programming practices (2014)
> As for "doing something dumb", I've often seem fellow engineers do things like repeatedly insert into sorted data structures in a loop instead of just inserting into an unsorted structure and then sorting after the inserts. If you think about it for just a minute, it should be obvious why that's not smart (for most cases.) Stuff like that.

That's a great example that I've seen in the wild as well!

> Nobody's saying to pick suboptimal solutions at all.

No, I realize that. And most of my comment wasn't intended as some kind of direct disagreement to yours. It was mostly just some observations. One of which is that advice about writing efficient code is usually too vague to be useful, and the other is that people take the "don't optimize without measuring" advice to mean something ridiculous in the opposite extreme that reads more like "just write whatever garbage looks pretty to you because any forethought about what makes sense to the computer is premature optimization". I wasn't trying to say that's what you were advocating for, though.

ragnese··on The problem with new URL(), and how URL.parse() fixes that
> The question was, why checked exceptions saw no love. A big part of the answer is that the stdlib did a very poor job showcasing them.

Fair enough. I can see that interpretation. I was more focused on their first sentence, which said: "On top of all the other problems pointed out, java's checked exceptions don't even do a good job of indicating possible failure conditions." Then it felt like they were backing that claim by citing a specific example that's just a poor use of the feature.

> No wonder, it was an attempt to graft an FP-esque feature onto a deeply imperative OOP language, with a development team aligned with OOP concepts.

That's an interesting take that I hadn't really heard before or considered myself. I had assumed that it came from some frustration around C++ exceptions and not knowing what was supposed to be handled vs not.

But, in any case, I do agree that the feature ended up rejected by the larger programming community largely because of Java's specific implementation of it.

Though, I have to say that I think it might have ended up rejected even if Java did a perfect job of it in the standard library. The truth is that most programmers don't seem to understand the intended design of the feature and feel like there's a binary choice between using checked exceptions or unchecked exceptions. The Oracle documentation does a very good job, IMO, of explaining the feature, how it's intended to be used, and how do decide whether to use an unchecked exception or a checked one. But, I don't think most people actually read manuals/books to learn programming languages anymore.

ragnese··on The problem with new URL(), and how URL.parse() fixes that
I'll let you in on my cynical take. Warning: it's both cynical and a bit condescending.

The truth is that programmers are just as susceptible to fads, cargo cults, and appeals to authority as anyone else. Around the same time that everyone decided that checked exceptions were horrible, programmers were also deciding that they didn't like static typing at all and a great many were jumping to Python and JavaScript for everything.

Now, the pendulum has swung the other way, and everyone likes static typing, and they'll even go so far as to proclaim their love for Rust's Result type, which is the same damn thing as checked exceptions in practice (with extremely similar pros and cons and ergonomics). But, they haven't yet gotten around to questioning their belief that checked exceptions are axiomatically bad, so you'll see people point out every minute, trivial, difference between Java's checked exceptions and Rust's Result type in an attempt to rationalize why they like one and not the other. Some will also claim that Rust doesn't have unchecked exceptions, just because you can set a compile-time option to abort on what Rust calls "panics".

ragnese··on The problem with new URL(), and how URL.parse() fixes that
Swift has the concept of conditional throwing for closures/callbacks. The keyword is `rethrows` if anyone wants to do a search and read some docs.

Now, Swift's version of throwing is what I would call "semi-checked", because it does force callers to handle errors from functions that have `throws` in the signature, but it doesn't specify the specific type of error that may be thrown.

But, in any case, that kind of proves that there are other ways to do checked errors/exceptions that are not exactly as Java has done it or the monad-style return value approach that a lot of other languages have done.

I really think the entire static typing programming community threw the baby out with the bath water when "we" collectively decided that checked exceptions were a pariah language feature.

Also, I'm pretty sure that Java's checked exceptions are parameterizable to a large degree. I believe you can write something like (forgive syntax errors),

    interface Foo<E extends Exception> {
        void doSomething() throws E
    }
That doesn't fix the issue that you're specifically addressing, which is that you can't write "this might or might not throw, depending on what you pass to it", but it's more than I think many people realize they can do.

And, one more point: I don't think it's actually a problem that the Stream methods don't allow for throwing. A "map" from one type to another is not really supposed to be fallible--it's not a "mapping" if that's the case. That's a case where an imperative loop is more semantically appropriate, IMO.

ragnese··on The problem with new URL(), and how URL.parse() fixes that
But, you're conflating a language feature "Java's checked exceptions" with bad API design, which is obviously possible with any combination of any language's features. I agree that Java's standard library has a ton of bad APIs--not just the checked exception hierarchies, but that does not necessarily mean that checked exceptions are a bad idea.

Just to put an extremely fine point on it, one thing I always complain about is the JDBC ResultSet API. If I have a SQL database table that has a nullable integer column, and I query that column for a row that happens to have that column set to `NULL`, then the ResultSet API will give me the int value `0` for that column and I have to just know that I need to call `wasNull()` (or whatever it's called) to ask the ResultSet if the last thing it returned was really supposed to be null or not. Yet, the ResultSet API does not make me think that Java shouldn't have `int`, or class methods, or any way to query databases--it only makes me think that the JDBC API is really, really, poor.

ragnese··on C Style: My favorite C programming practices (2014)
The problem with all of these rules of thumb is that they're vague to the point of being vacuously true. Of course we all agree that "premature optimization is the root of all evil" as Knuth once said, but the saying itself is basically a tautology: if something is "premature", that already means it's wrong to do it.

I'll be more impressed when I see specific advice about what kinds of "optimizations" are premature. Or, to address your reply specifically, what counts as "doing something dumb" vs. what is a "micro-optimization". And, the truth is, you can't really answer those questions without a specific project and programming language in mind.

But, what I do end up seeing across domains and programming languages is that people sacrifice efficiency (which is objective and measurable, even if "micro") for a vague idea of what they consider to be "readable" (today--ask them again in six months). What I'm specifically thinking of is people writing in programming languages with eager collection types that have `map`, `filter`, etc methods, and they'll chain four or five of them together because it's "more readable" than a for-loop. The difference in readability is absolutely negligible to any programmer, but they choose to make four extra heap-allocated, temporary, arrays/lists and iterate over the N elements four or five times instead of once because it looks slightly more elegant (and I agree that it does). Is it a "micro-optimization" to just opt for the for-loop so that I don't have to benchmark how shitty the performance is in the future when we're iterating over more elements than we thought we'd ever need to? Or is it not doing something dumb? To me, it seems ridiculous to intentionally choose a sub-optimal solution when the optimal one is just as easy to write and 99% (or more) as easy to read/understand.

ragnese··on Firefox search update
> the pitch "we're slightly more private" is a hard one that they aren't even doing well... if they want to make a commitment to 0 data storage with no suggestions or analytics, that would be one thing, but they refuse to do that and so can't hold this narrative.

Or... they can, because they are still more private and respectful than Chrome and Edge, at least.

ragnese··on Firefox search update
Well, when Chrome first came out, it was definitely way faster than the other browsers for websites that had heavy JavaScript usage a la GMail. I imagine the gap has closed quite a bit, but I would suspect that it's probably still there, since they can coordinate development of both their web apps and the browser to work well together.

More recently, there was that whole thing where YouTube was "accidentally" adding delays to non-Chrome browsers.

ragnese··on DNS traffic can leak outside the VPN tunnel on Android
I remember being chastised in some Android subreddits years ago for going against the (probably astroturf) opinion that having root access was "insecure". Sigh...
ragnese··on Ask HN: What is the most useless project you have worked on?
Sure, but did the parent comment say otherwise? This feels like a combative reply.
ragnese··on Ask HN: What is the most useless project you have worked on?
Off topic, but I recently looked in to playing MtG again because my son expressed interest. But, I was a bit taken aback by how different the environment is. I last played when they still had numbered "base sets", e.g., "9th Edition", and then rotating "blocks" of three smaller-but-more-advanced sets.

I was assuming I would go in and buy a couple of starter decks from the most recent numbered "edition" to start teaching him, but it appears that they don't do this anymore, and everything I saw was focused around the "Commander" format, which has even more mechanics and rules. The game was already complex enough that I was worried about teaching it to someone new (Plus, the commander mechanic didn't appeal to me, personally, anyway).

Is there no longer the concept of a "simple base set" with just the basic mechanics? Or is everything just theme-heavy sets now?

ragnese··on Gerbil Scheme – A Lisp for the 21st Century
I think I have a similar reaction to you, but maybe with a bit of a different spin. For me, it's not so much that I want to see a literal side-by-side of something non-trivial (though that would be nice, too).

I personally want to see a non-marketing-bullshit statement of why other languages suck and why the author(s) feel that this new language doesn't (at least for some given domain or style). I obviously don't want the statement to be insulting or anything, but give me something real. Every new language claims to be "safe, ergonomic, performant, easy-to-learn, beautiful, scalable, cloud-integrated, AI-powered, "heart" open source, etc." I want a language that says, "Hey, other languages get X wrong and we don't. If you don't like it, that's great- go back to those other languages." where "X" could be error handling, performance, type systems, whatever.

ragnese··on Introducing GNOME 46, "Kathmandu"
I'm a neckbeard and I vastly prefer GNOME Shell to any other DE (including proprietary ones like on Windows and macOS). I still don't consider myself a "fan" and I have plenty of complaints about it- I just have way more complaints about all the others... :D
← PreviousPage 5 of 31Next →