aes

joined 1 year ago
[–] aes@programming.dev 2 points 5 months ago

Well, Rust has a lot of string flavors, and I like utf-8 being the norm, but there are a bunch of cases where enforcing utf-8 is a nuisance, so getting string features without the aggro enforcement is nice.

There's probably some fruity way to make this a security issue, but I care about ascii printables and not caring about anything else. This is a nice trade off: the technical parts are en-US utf-8, the rest is very liberal.

[–] aes@programming.dev 5 points 5 months ago

Protein / calories, and glycemic index, right. There are a few other considerations, but primarily these, for me

[–] aes@programming.dev 1 points 5 months ago (2 children)

Rust implementation of the Meta-II meta compiler. I used bstr, which was interesting.

[–] aes@programming.dev 1 points 6 months ago* (last edited 6 months ago)

Backstage has become quite misaligned to what we were originally trying to do. Originally, we were trying to inventory and map the service eco-system, to deal with a few concrete problems. For example, when developing new things, you had to go through the village elders and the grape vine to find out what everyone else was doing. Another serious problem was not knowing / forgetting that we had some tool that would've been very useful when the on-call pager went off at fuck you dark thirty.

A reason we could build that map in System-Z (the predecessor of Backstage) is that our (sort of) HTTP/2 had a feature to tell us who had called methods on a service. (you could get the same from munging access logs, if you have them)

Anyway, the key features were that you could see what services your service was calling, who was calling you, and how those other systems were doing, and that you could see all the tools (e.g. build, logs, monitoring) your service was connected to. (for the ops / on-call use case)

A lot of those tool integrations were just links to "blahchat/#team", "themonitoring/theservice?alerts=all" or whatever, to hotlink directly into the right place.

It was built on an opt-in philosophy, where "blahchat/#team" was the default, but if (you're John-John and) you insist that the channel for ALF has to be #melmac, you can have that, but you have to add it yourself.

More recently, I've seen swagger/openapi used to great effect. I still want the map of who's calling who and I strongly recommend mechanicanizing how that's made. (extract it from logs or something, don't rely on hand-drawn maps) I want to like C4, but I haven't managed to get any use out of it. Just throw it in graphviz dot-file.

Oh, one trick that's useful there: local maps. For each service S, get the list of everything that connects to it. Make a subset graph of those services, but make sure to include the other connections between those, the ones that don't involve S. ("oh, so that's why...")

[–] aes@programming.dev 1 points 8 months ago

Ok, so it's to hear from people building stuff, but isn't it maybe a little light on details? I feel the consultancy contact details to profound insights ratio is a bit underwhelming.

[–] aes@programming.dev 3 points 8 months ago

Ok, TIL there's a thing called Required, but otherwise, one way to do this is to rename the other part/field/key(s), so that old code reveals itself in much the same way as using a deleted field (because it does, actually)

Another way is explicitly have a separate type for records with/without the feature. (if one is a strict subset, you can have a downgrade/slice method on the more capable class.

Lastly, I would say that you need static typing, testing, both. People from static-land get vertigo without types, and it does give good night sleep, but it's no substitute for testing. Testing can be a substitute for static typing in combination with coverage requirements, but at that point you're doing so much more work that the static typing straight jacket seems pretty chill.

[–] aes@programming.dev 3 points 8 months ago

They come in groups, in a way, but they also refer back any which way, anyway. I recommend just the order they were written, it's worked well so far. (about half way through, I think)

[–] aes@programming.dev 2 points 9 months ago

Turn the mouse upside down.

Also, check your BIOS settings. Turning it on from completely off also sounds sus, surely it's 'hibernating' or something, right?

[–] aes@programming.dev 2 points 10 months ago

Going all in on the stock option program, even if it was a little risky. I remember the argument: There's no lottery or casino that'll give me odds like these. I also left when we'd grown to the point where middle management didn't want to understand that when the program ran out (4 years) and had to be restarted at the new validation, that was basically a static pay cut for me. I get paid a lot more now, but I still made more from stocks than work last year.

Second, our apartment. It's a lot like a row house, except it's in the city. The other part backs right up to the park.

Third, maxing out parental leave with both of our kids at a company that (as, more or less, a recruiting gimmick) topped up parental leave pay from the capped 80% to, iirc, 100% with no cap. They turned out be quite dumb about this and had shuffled me into a corner when I came back. I was ready to put my back into it, but well, I guess not then.

[–] aes@programming.dev 1 points 1 year ago

Yep. I even got this back when cleaners moved my mouse from in front of key keyboard spacebar to the right of the keypad, until I noticed what had happened.

I put my mouse between my body and the keyboard and it goes away.

Good luck!

[–] aes@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Actually, you know what? I think Lua-style single argument function calls would be awesome for all kinds of quasi-literals, but sure, Path should be built in.

(for reference, iirc, f("Foo") and f({a=1}) can be written f"Foo" and f{a=1}, respectively)

[–] aes@programming.dev 1 points 1 year ago

I... discovered that it works if I use a plane mesh and just position it manually. The conclusion then has to be that there is something screwy with how Decals get their textures. Maybe there's even a bug involved? Should I try to make a minimal repro?

 

Hi. I'm at a complete loss, so...

Background: 4.0.3. A 3D "fps" world, with the usual capsule shape suspect protagonist. I'm adding a SubViewport, and a Camera to render onto a Decal with albedo set to a ViewportTexture from the SubViewport.

I can (sort of, unreliably) make it work in the editor, but never in the game(!) With transparent bg, it's just invisible, without, it's black, and if I pick the icon.svg instead, that works. The (inner, well, both actually) camera is active, and I've fiddled with Clear Mode and Update Mode on the SubViewport. (and every other setting I can think of)

In the editor, rendering both camera view and a label on top works, both in the SubViewport texture view, and on the Decal in the 3D view(!)

What am I missing?!

view more: next ›