@piecritic@hachyderm.io
@piecritic@hachyderm.io avatar

piecritic

@piecritic@hachyderm.io

Rust, birbs and being generally mad at the state of things but trying to make it better.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

piecritic, to rust
@piecritic@hachyderm.io avatar
piecritic, to rust
@piecritic@hachyderm.io avatar

So I'm hiring for a role using Rust and Solid.js. Preferably someone in Sweden, but can be anyone in the EU. The role can be fully remote, but it is preferable if we can share a whiteboard sometimes.

Neither Rust nor Solid.js knowledge is required, but familiarity with a sensible backend language and React-like APIs is a good indicator if the role is for you. :)

fasterthanlime, to random
@fasterthanlime@hachyderm.io avatar

It just now occurs to me that training to "not have LLMs make up facts" is literally just "not leading the witness".

If you ask an LLM "explain how (obviously wrong fact) is true" there's a chance it'll make up an explanation. If you write in more neutral terms, not so much.

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime "how do potatoes manifest in my nightmares"

danderson, to random
@danderson@hachyderm.io avatar

dangit, my inner data structure has a structural fault because of rust ownership semantics.

Conceptually, the inner struct is a binary tree where inner nodes can carry a value, and leaves can carry a value or a child tree. If you need a leaf to hold both a child and a value, you store the child and move the value to the child's root node.

Conceptually again, lookups walk down this tree-of-trees looking for the node representing the lookup key, and nearest self-or-parent value is the result.

piecritic,
@piecritic@hachyderm.io avatar

@danderson can’t the leaf also be an enum

piecritic, to random
@piecritic@hachyderm.io avatar

What is it about JavaScript devs and the propensity to not only overengineer things but do it in such an incomprehensible way?

danderson, to random
@danderson@hachyderm.io avatar

Hmm, if I have a place in my data structure that's one of None, Thing1(Foo) or Thing2(Bar), should I implement that as a 3-way enum, or as an Option around a 2-way enum? Internal code, so API telegraphing is irrelevant, and for this use access to ? sugar also doesn't matter... but it looks like the compiler special-cases Option in even more ways too?...

piecritic,
@piecritic@hachyderm.io avatar

@danderson yea, that will work. Options have a niche and can do crimes, so if you want the best of both worlds just implement From on your type to an Option with the remaining options, and do .into() where it matters

danderson, to random
@danderson@hachyderm.io avatar

lol, first attempt at making a datatype in rust, immediate faceplant into ownership. The way ART's internal building block works, every inserted prefix and associated value ends up potentially written to many nodes of a binary tree. Which, woop woop, rust police says no, that's multiple ownership.

piecritic,
@piecritic@hachyderm.io avatar

@danderson more slots for the slot lord!

danderson, to random
@danderson@hachyderm.io avatar

As the xz thinkpieces start showing up about What Should Be Done, a couple of questions I'd encourage you to keep in mind while reading them:

  • Is this advocating security nihilism and giving up because stopping 100% of badness is impossible?
  • Is this pushing a random hobby horse like "sign your commits" that wouldn't have helped this incident in any way?
  • Is this equating employment/nationality/notoriety with trustworthiness?
  • Is this pushing a technical solution to a social problem?
piecritic,
@piecritic@hachyderm.io avatar

@danderson arguably the badness was stopped because professionals noticed something fishy and found the root cause. If anything, to my mind, the system (if it can be called one) is actually working quite well given the fallibility of humans and the systems we create.

piecritic,
@piecritic@hachyderm.io avatar

@danderson and we keep getting lucky. That’s kinda my point. Getting away with this level of social engineering seems just so unlikely even with such planning because there’s always that person fucking around and finding out.

piecritic,
@piecritic@hachyderm.io avatar

@philtor @danderson I’m doubtful of that. At this scale someone will notice that weird network request.

piecritic,
@piecritic@hachyderm.io avatar

@philtor @danderson then anomaly detection software will absolutely pick that up even without modern techniques.

piecritic,
@piecritic@hachyderm.io avatar

@danderson @tshirtman @philtor yes i am aware that people exist doing bad things. Buildings also get bombed almost daily in Sweden. It doesn’t mean it is a comparative scenario. This scenario is extremely low level and touches too many things.

piecritic,
@piecritic@hachyderm.io avatar

@tshirtman @philtor @danderson there shouldn’t be dependencies that are used so broadly that it can affect the entire world that have one tired maintainer working for free. This is a deeper systemic issue and the system itself is working as intended given that constraint.

piecritic,
@piecritic@hachyderm.io avatar

@philtor @danderson @tshirtman nah. That’s unrealistic. What is realistic is that projects assess the scope of risk of their dependencies and consider at what depth a dependency affects their systems, then considers the maturity and safety of the team maintaining it. This is what i do as part of my job. This is a social problem exclusively, not an economical one.

piecritic, to random
@piecritic@hachyderm.io avatar

If you write a regex like this I will not be impressed. I will not be held accountable for my actions.

fasterthanlime, to random
@fasterthanlime@hachyderm.io avatar

okay I just did useful work using https://zed.dev

still some paper cuts re key bindings and vim mode, but, I can use it.

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime you have intrigued me.

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime the integration with copilot and gpt4 is actually good. Managed to get it to coherently rewrite some shitty C++ into Rust. impressive

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime yeah I can definitely use this as my primary editor once they add semantic themes. This is neat

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime I am still using it. I am not even entirely sure why.

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime yes but why? I don't understand the why

danderson, to random
@danderson@hachyderm.io avatar

Tepid take: I wish binding sockets to specific interfaces or IPs was harder and took more ceremony, including having to type the equivalent of "I know this is a bad idea generally but I am in one of the very few cases where it's necessary".

Restricting address binding costs users so much pain and fucking around, and causes no end of support demands on maintainers, both for "please let me make this mistake" and for "I have made this mistake and broke it, fix it".

piecritic,
@piecritic@hachyderm.io avatar

@danderson hi my name is docker and if you only port bind I go around your firewall by default

piecritic,
@piecritic@hachyderm.io avatar

@danderson oh please don't get me wrong, this was me furiously handshaking you. lol

piecritic, to random
@piecritic@hachyderm.io avatar

the windows linker has defeated me. Do I know anybody who has done crimes with C, C++ and Rust on Windows? I would like help if you could muster up the courage. It's for an important humanitarian project

piecritic, to random
@piecritic@hachyderm.io avatar

who do I know that likes cmake on any level and would be willing to convert a smallish C++ project from autotools?

this is a paying job

fasterthanlime, (edited ) to random
@fasterthanlime@hachyderm.io avatar

Poll time!

Are pancakes small and thick, or flat and big as a plate and you usually roll them to eat them?

piecritic,
@piecritic@hachyderm.io avatar

@fasterthanlime technically a formal noun lol. And is a type of crumpet in British

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines