You describe a world where human skill is required to prevent these class of bugs, time and time again we've proven that people are people and bugs happen.
Systems must be _structurally architected_ with security in mind.
Security is layered, using a random key with 128-bit space makes guessing UUIDs infeasible. But _also_ you should be doing AuthZ on the records, and also you should be doing rate limiting on API so they can't be brute forced, either.
I have two moonlanders but wound up giving up because I just couldn't adapt to it. And when writing code, finding the symbols like {, =, }, and other common coding ones was just too difficult to retain muscle memory. I tried many layouts, I tried to make my own, and at the end of the day it was just too different. I wish I had a better experience.
Muscle memory is exactly what it sounds like, you need more repetition. If you are becoming frustrated, you can try to reduce your cognitive load. ZSA has an app for all platforms called "Keymapp". It's primarily used for flashing firmware but shows the key assignments in real time. I use only 1 monitor but I've repurposed my laptop screen to always display keymapp so I can see which key/layer has the symbol I am looking for when I don't have the mental capacity to remember.
The default layers are pretty good, but I found programming the keys/layers to what made sense to me to be more beneficial. I use the heat map to see which keys get the most milage and program layers around that. Then I only program a few new keys at a time and get a feel for things. My words-per-minute went down initially but now it is back.
I have been tweaking my layout for about a month and am close to being happy with it. I've set myself a milestone that when I don't make any tweaks for 6 months I will buy custom keycaps that have my exact symbols/layers on each key.
I didn't like the default layouts for symbols either and wound up building this layout[1] (there have been a few minor tweaks since but nothing substantial). The parens as double taps on the shift keys is the big one for me for writing code. The other brackets on the inside are convenient enough to use but not occupying "prime" space, and I have "auto-shift" enabled so a top on "[" give that character, but holding it down (for > 160ms) gives "{" (and same for all the other keys and their respective shifted versions. And in case it isn't clear what's going on in the thumb clusters, the two enter keys and the space key do their respective actions on tap, and do Left CTRL, ALT or Right CTRL respectively when held down. Might be a place to start if you wanted to try again.
Also on the "muscle memory" thing, I decided early on to not try to modify any other keyboards in my life. Just the ergodox get the middlemak and super custom layout. I found that preserves muscle memory for laptop built in keyboards and using other people's and allows my brain to form a completely separate set of muscle memory that kicks in on the ergodox and neither seem to conflict with each other. Works for my brain, might work for you too.
- Learn their default layout first, then iterate on your personal preferences. I similarly tried a bunch at first, but realized switching layouts constantly was making it impossible to build up the new muscle memory.
- Spend time practicing away from important coding tasks (e.g. gaming, writing, a side project, a one-off script, etc.). Being able to learn in a forgiving environment, outside of deadlines, gives you the space to allow mistakes and time to correct them
I've mapped paired symbols to the same finger on opposite hands, so ()[]{}<>/\'" are mirrored, and then also I've got numbers and symbols corresponding as well so the 123... pad on my right is a !@#... pad on my left. It gets me pretty far, but not everything has a mate so I occasionally have a brain fart moment and suddenly I'm hunting for | even though I have years worth of muscle memory on this layout.
So I guess I'd say: design to lean on familiar structures as much as you can and then just commit to using it a lot and don't give yourself too hard of a time when it gets wierd. Whatever you come up with will surely beat the pain associated with having your right on of pinky in charge of 50% of the symbols plus enter.
It's still mechanical, it's still split, it's still QMK programmable, it's got hotswap sockets so you can try different switches... but it's also an extremely normal staggered layout with function keys and everything.
I think it's worth trying the ortho 'n' layers approach, because it has real wins to it; but if you've tried it and don't like it, this is one step closer to normalcy, while still keeping many of the wins.
How long did you spend trying to adjust? it takes some time. I consistently made typos for about 2 months and then it quickly became very natural to type. My only advice here is to slog through the typos for a couple months. Our brains are flexible enough to adapt.
Their point is that Golang has seen adoption and use outside the Google ecosystem, which is perhaps surprising, and something few other "company languages" have managed (e.g. Swift is actually quite a nice language design, but almost no-one uses it unless they're deeply involved with the Apple ecosystem).
Sure, if you forget about C, Java, TypeScript, SQL, and many others.
Swift isn’t gaining much adoption because Apple aren’t putting much effort into promoting its use outside of the Apple ecosystem. And why would they when they don’t care about non-Apple stuff
> Sure, if you forget about C, Java, TypeScript, SQL, and many others.
C has had multiple implementations from multiple implementors for decades. Java wasn't really tied into Sun's ecosystem, and had an enormous marketing blitz. TypeScript was even less of a Microsoft "company language" - and I think it's interesting that Dart felt a lot more tied into everything Google was doing, but ultimately lost out.
Go has two things going for it, it was created by legends, so it gained a lot of interest from the beginning, and it has an excellent and unique runtime, making it really ideal for network services that constantly wait for something, yet still being able to do CPU intensive work. The language itself is just "OK" and that's kind of the point of it.
I think being able to just create cross platform binaries + having good tooling out of the box as well. You can get started with go very easily and sharing programs as binaries just removes a whole lot of issues you'd have in other languages.
I think they mean success in terms of Go being used outside Google? Versus hack/hhvm which had a pretty narrow window where it saw some limited outside adoption.
At least President Dwayne Elizondo Mountain Dew Herbert Camacho cared about things enough to make things better for his people, hired the smartest person he knew and genuinely tried to fix things.
I don't like the Tidbyt v2. I hated it from the minute I unboxed it, would not recommend. The pixels are very blurry and the image is not crisp at all. The v1 was pretty good, looks more like a dot oriented board (far less resolution). more discussion: https://discuss.tidbyt.com/t/gen2-blurry-screen/6654
I mean, the middle class finally died a decade ago and all the money was siphoned off to the top. I don’t think is has much to do with growth in it of itself
The upper classes have extracted growth from a slowing curve by carving more and more out of the middle and lower classes. To them it looks like growth, but it's really just stealing from the bottom to pad the curve.
> I guess really the bigger issue here is the dynamic nature of the prefixes. If I could go log into IANA and click a button and get assigned a /48 then log in to my ISPs' sites and attach it to my connection and be on my way... I'd deploy it today, no problem.
Yes, this right here. It should work like a phone number where you can take it from provider to provider. You setup your gateway with your IPv6 prefix and then go.
Problem is all the technical and non-technical stuff to actually make that work.
- Verifying ownership of the prefix (rPKI or IRRs) and which ASNs are allowed to advertise it.
- Limiting allocations to someone? I guess phones solve this with SIMs
- Getting your ISP to route the traffic to your device
- Getting the device to announce it with RAs
- Dealing with asymmetric return routing over a slow "path" since it could be multi-homed
- Dealing with routing aggregation since IPv6 routing tables would explode with all the /56s in there
The one thing rants like yours completely ignore is that he’s not just “revealing”. But he’s taking action outside the authority of the executive branch and you people seem all too happy to cast aside rule of law for your own personal agendas.
Hahaha. The right says the same thing about the left. Being obstinate just increases polarization. What you are seeing happen right now is precisely because of the position you are taking. People have been pleading for decades to cut government spending. Trying to do it "the right way" hasn't worked. So now we are to "fuck it" if they won't work with us just tear it down and ask for forgiveness later.
This is not a reason to think that impassioned speech will have the impact you want. It may still be counter-productive. At any rate, those who are acting in good faith will recognize the well-reasoned arguments as such and perhaps start to wonder about the reasoning for their beliefs.
This is an incredibly sweeping generalization. There are a lot of people who voted for Trump because of their perception of his merit/qualifications/plans vs Harris. Pretending they are all brainwashed simpletons not only alienates them but also sets up for future failures. There's a reason these people voted for him. What is that reason? Treating is as some temporary hysteria is just going to keep getting people like Trump (or worse) elected over and over.
Systems must be _structurally architected_ with security in mind.
Security is layered, using a random key with 128-bit space makes guessing UUIDs infeasible. But _also_ you should be doing AuthZ on the records, and also you should be doing rate limiting on API so they can't be brute forced, either.