HN user

asdkhadsj

1,709 karma
Posts7
Comments596
View on HN

For me (Vim user for ~10 years, Kakoune user for ~3 years (iirc), and now Helix user for ~1yr), mouse just feels very natural to skimming. Scroll, scroll, jump, scroll, scroll, scroll, jump. etc

Something about jumping down pages via shortcuts just feels so clunky. I lose all visual sense of my position on the page.

I keep wanting an editor plugin to scroll the page down with a single keystroke. Ie give me the visual anchoring that a scroll wheel does, but with a single key press.

Either way generally i just tent to use my mouse when i'm lightly browsing. Skimming for some code, working through a thought, etc. Jumping down pages just snaps me outa my thought process a lot of the time, because i have no clue where i am, i gotta relearn my position; where my eyes are at. Likewise jumping half a page is a bit better, but still - that instant blink where the top half of the page is gone, the previous bottom is now the top, and the bottom is now entirely new.. it just feels too.. immediate.

Frankly i am quite hopeful for 10 years. Still not sure if/when i want them driving, but these versions of SD make me feel like they're entirely dumb yet feature rich (almost).

Ie i never really thought we'd get to the point where you could tell a computer to do something like in the movies without the computer _also_ seeming intelligent at the same time.

The thought of the computer being very capable but still no more smart than my terminal is.. interesting.

hah, i have bobs.mi (ie intentionally missing last letters of my name, letting me do bobs.mi/th sort of stuff). I've often debated setting my email up.. maybe i shouldn't, /shrug

Though i don't know what i'd use anyway. me@bobs.mi sounds .. annoying to say over the phone lol. Maybe i lean into it, at@bobs.mi or space@bobs.mi... heh

I had one a long time ago i liked, from Google iirc, something to the effect of 454-5451 (but different, ofc). To which i would rattle off "45 45 45 1" and confuse the hell out of every listener i was trying to convey the phone number.

As much as i loved it, i stopped using it because of how confused it made literally everyone i gave it to in my unexpected format haha. The novelty wore off when i would inevitably have to repeat myself in the normal format.

Do you host the content as well? What's the legality of that?

I ask because I want to embed some archiving and "reader mode" logic into an app of mine that would be FOSS and self hosted. However that means each individual would be effectively scraping and archiving, and possibly p2p spreading, news content(as data sources).

So I'm curious if there is some underlying "fair use"-like mechanism that allows Archive, Outline.com, and you to consume news content without it being considered piracy.

This applies in any case where one language is more complex than another. You can write almost any style of any language in C++, for example.

True, but my point was primarily that Rust and Go share many of the same patterns. Structs, methods and interfaces can look nearly identical.

This matters in my view when people think you need to go the most efficient and complex way to achieve similar goals as you might in Go. You were fine with performance loss in Go, so why complicate your life in Rust?

It's, at least to me, a useful lesson. Using every tool is a form of premature optimization. Go forced me not to do that, sure. Rust doesn't, sure. So I do hold more responsibility in Rust than I do in Go, but that doesn't mean I can't learn the positives of Go _(boring code/etc)_ without suffering some of the extremes of their decisions _(no enums, pattern matching, etc)_.

With Go, everyone can feel free to use the entire language and every team's code ends up looking and feeling incredibly familiar, making it straightforward to contribute to most parts of any code base.

Yea, it's a trade-off I suppose. My problem with that though is when I realized I don't like Go's version of verbosity and spreading out logic. I've had pages full of helper functions just to do some minor iteration mapping, flattening, etc.

Having every team keep to the same standard of _(in my view)_ bad still feels bad. Consistent, sure, but consistently bad.

I'm also curious about metrics on racial bias of police. From what I've seen (in other studies, I've not yet looked at this one) shootings don't look immediately biased. However I often hear how biased police are in their attention towards minorities. But I'm unsure how to quantify that, or what metrics we can use to research that.

What's the reasoning here? (not challenging you, just want to make sure I understand your thought process).

I imagine it's something to do with the fact that some of the words won't be "offensive" by themselves, or perhaps even at all by all people. So naming it deny disassociates the reason from the word? Ie sometimes the word itself is offensive, sometimes it's fine but part of offensive combinations, etc etc?

After using Go for ~5 years, so many little things in Rust blew me away. I thought I was okay with Go's "enums" but then I saw Rust's Enums. Most notably, the real enum type combined with pattern matching was an eye opener over what I've been missing.

Iterators were another one. The ability to express data transformation (mapps/filters/etc) in a very concise way blew me away. I had no idea what I had gotten used to in Go, though that's definitely not to say that I didn't feel the pain.

There's advanced features in Rust I could live without, but most of it just feels empowering. The beauty in it though, in my mind, is that you don't need to use all that advanced stuff. You can write Rust shockingly similar to Go.

The only thing Go truly nailed in my eyes is green threads. Those will always be better in Go than Rust (though futures are getting way better). Go nailed green threads.

But all the other "lack of features as a feature" left me frequently wanting for more tools to solve simple problems. And I was a Go nut. I have a Gopher plushie in my car for Petes sake.

I'm most curious on when they'll be knocking on the door of open source projects next. Notably, anyone who uses any crypto.

As much as I hate it, I can at least understand the back door argument from a [ignorant] lawmaker perspective. If I pretend and say their intentions are noble, I understand.

What concerns me though, beyond the obvious backdoor problems, is the who is next? Because I doubt big corporations will satisfy their greed for power and information. Especially since anyone who has anything to hide or cares about security will move into open source.

As a developer with a passion for developing distributed, encrypted software - when are they going to threaten me? Worse yet, the software I write I purposefully do not have control over. So am I going to be held liable for the fact that I literally cannot help them?

No matter what they threaten me with, the best I could do is break the application for future users. So what are they going to do to control these distributed systems? Especially ones who truly aim to be distributed, P2P & self hosted by every user?

As terrifying as the current anti-encryption behavior is, I'm oddly more concerned about the move after this.

Man, I love the idea of Scuttlebutt but I hate the developer UX. I'm writing some apps that I wanted to put on SSB but have all but given up on the idea. Something about SSB, as a dev, leaves me with a lot of questions and no idea where to even get answers from.

So I'll write my app outside of SSB, hopefully in a way that's mostly compatible, and possibly with future integration.

I may also toy with an SSB-like protocol myself, as the fundamentals of SSB is a work of art imo. I really enjoy what Gossip brings to the table, and how SSB focuses on human->human relationship to bring P2P to the table.

Nope, but that shouldn't be required I'd think? It's not locally, for example - as long as each layers resulting hash has not changed the cache is reused. Likewise on CI, if I repeatedly build the caches never miss, it works great. It's more a problem of sometimes, after a days or a week, the layers seem to be gone. But never in-between your pushes to a PR, for example, those always seem to stay.

I think that's happening is our garbage collection on old docker layers is being too aggressive. But because it works so well between commits, pushes to CI and etc - I don't worry about it. The majority of the time I want a cache to work, it works. So it's been a low priority thing for me to fix haha.

edit: Oh, and I forgot, we may have CI jobs running on different machines. Which of course would also miss caches, since we're not persisting the layers on our registry. I'm not positive on this one though, since like I said it never seems to fail between commit pushes _(say to a PR during review, dev, etc)_. /shrug

Oh yea, I wasn't picking on Rust. If anything I tend to defend Rust haha.

As far as what we did to cache, nothing fancy - using Docker build layers. I add my Cargo files (lock/toml), include a stub source lib.rs or main.rs to make it build with a fake source, and then build the project.

This builds all the dependencies. It also builds a fake binary/lib for your project, so you need to strip that from the target directory. Something like `rm -rf target/your?project?name*` (I use ? to wildcard _ and -)

If you do that in one layer, your dependencies will be cached with that docker image. In the next layer you can add your source like normal, compile it, and you'll be set.

We lose our cache frequently though because we're not taking special care to centralize or persist the layer cache. We should, for sanity.

On the other hand I tried introducing Rust for a small part of a larger ecosystem and the cold compile times were so bad we rewrote the functionality in C. It shaved minutes off our CI build times, which costs actual money.

Yea, we have this issue (as a shop now using Rust for all of our backend).

I have a couple of hacks in place to cache the majority of the build thankfully, only needing to compile source code unless something changes. When our build cache works our builds take ~60s. When it doesn't, ~15m.

Does your article address strategies for mitigating this bias? I, as a politically left leaning person, often recognize my biases but I have difficulty absorbing the "other side" of data, notably because it feels like 90% of the internet is either lies, stretches, or opinion pieces. So my strategy to mitigate my bias is to look up counter information, but I struggle to find anything of real value.

Hell, I even struggle to find real value supporting my biases. The internet is just a mess.

So in light of the over saturation of purposefully biased content on the internet, how might a person mitigate their own personal biases?

you're better off getting it to generate a 50+ character random password (including uppercase, lowercase, numbers and symbols).

Lol I wish. Almost all of the important sites I use, like various bills and loans, use terrible password schemes. One even, until recently, enforced an 8 character limit! I think they raised it to 16 iirc. Oy.

Hell, even the company I work for frequently fails my password generator settings. The arbitrary character requirements of my ~20 character password would sometimes not be satisfied when I was creating accounts in our dev system/etc. Which is annoying as hell, but I can't convince management, because our users (older) tend to use some of the worst passwords out there.. so I can understand where it's coming from.

Security & UX is hard.

I'd imagine the risk is pretty great, for the same reason I wouldn't paste a password here that I use. Sure, you may not know who I am, but if you were the site itself you get a ton of information on me.. which is more than I'd like you to know if you _also_ know one of my passwords.

I agree, the risk is minimal. Nevertheless.. security, heh.

I'm not sure what fast or slow is. I think on average I spend 1-10s compiling. Eg when I run my tests, or run a server. However that is during my normal workflow. Ie the thing I do 500x a day.

If I was to nuke my target directory _(the compile cache)_, it would take minutes. Not sure how many honestly, because when I do it, I rarely wait for it.

So the compiles are definitely slow, but for me it's only bad when dependencies are needing to be compiled. Which is rare.

If you don't cache your dependencies well, like in a poorly written CI pipeline, things will suck though. 20 minute builds at work (slow build machines) are common for us due to some poorly done caching.

Any comments on optimal lighting for a home office? Or, as your setup is?

A nice bright working area sounds nice. Bonus if it's good light, and not something that will feel unnatural.

Sidenote: I've got a nice big window that I face, and I often want it open, but my room is so dark I have to keep it mostly closed as it overpowers my monitor, eyes, etc.

What's the advantage? While a common protocol at first glance sounds nice, I'd imagine the devil and validity of any test is in the actual implementation. So TAP, as far as I can tell is just a BDD spec.. which basically just amounts to some lines of text for someone to write BDD against.

Am I missing something? I was actually recently looking into BDD-like tools recently, so I feel like I'm a potential user for TAP, but I just can't grok the value add in it offhand.

edit: oh, maybe TAP is the inverse of what I was thinking. It's about output of test suites, for common post-test tooling? Aka to give statuses about the state of tests?

Can anyone recommend a resource for learning how to diagram?

Notably, I don't want to free-design directional relationships that are counter intuitive to what people expect. Eg, if Service A calls Service B, does the arrow go to Service B? What about the response? I imagine there are a ton of little questions like this and I'd like to learn to write what people expect to see.

Depends on the user I imagine. Most of my searches start on DDG and I just got used to expecting certain types of "human phrase searches" to be !g'd, or more recently for me, !s'd.

So if DDG degraded in quality I'd be fine, because I don't expect perfection. Though I suppose it depends on how much, of course.

I fear that will only mitigate the spread, not curb the belief in it, unfortunately. If anything so many conspiracy theories seem massively fueled even today by any attempts to silence.

I fear something along the lines of education and critical thinking is the only way to deal with this problem. I just don't know how to get there :(

As a straw man for discussion; I'm not too familiar with what Twitter is doing, but in an ideal world I think the solution would look something like what Twitter sounds like. Notably, posts containing objectively false information would be flagged, but not necessarily censored.

With that straw man though, it's fairly easy to poke holes. How do we ever even implement that? Even if we ignore the sheer volume of posts, a single post is often difficult to fact check. The lie can be subtle, but even worse is the human language and how much room there can be for misdirection, dishonesty, etc.

In my spare time I work on a project (not even close to release lol) with the goal of easing information sharing, retention, etc - as I figure part of the problem to the current age is a lack of information. Wikipedia is great, but it's quite large form discussion and I think we need better tools to help us document our own conclusions. BUT, even in all the effort I've put towards this tool I haven't dreamed of quantifying the truthiness.

I just don't see how we're going to cope with these sort of truth problems. It concerns me. It feels like information is a tool of war these days, and I am concerned we're losing.