2,272 karma · joined August 20, 2015
I do notice that as time goes on I seem to be having more issues with sites breaking under uBlock Origin, but to be fair I think I’m using all the blocklists, not just the defaults, so I think breakage is expected. It’s easy to turn off for particular sites, so it’s not a huge issue for me.
Somewhat related - I’m really enjoying the new Thunderbird. It feels way more polished than the previous version.
I hate coding stuff that I know could be better expressed with a visual graph or say, an animation curve. As a software dev on a team I view my job as making tools that the actual game designers and artists can then use to make better games with less effort and while having more fun doing so.
I work with Mecanim in Unity a lot, so it’s not quite Blueprints but it’s similar in that you need to think like a coder still when you’re setting things up.
I imagine that many people have a similar experience. You're yelling into a megaphone but it feels more like you're writing an entry in your diary.
This paragraph really resonated with me and with the initial thoughts I had whilst reading your comment; I'm pasting it here as I think it provides a very worthwhile perspective:
"And my second excuse is that in the end, this is not an adversarial enterprise. Psychiatrists commit people because they’re scared. They’re scared because they can’t predict what the patient is going to do – and on another level, they’re scared because they might get sued if they don’t follow the rules. If patients who aren’t going to hurt themselves know how to explain that they aren’t going to hurt themselves in a way that reassures their psychiatrist, and in a way that doesn’t leave their psychiatrist legally liable for not committing them, then everybody can be more comfortable and get on with the hard work of actual treatment."
This comment seems really extreme and it's a perspective I haven't really seen anywhere else.
Trying to maintain a single deployable Windows 10 image for these devices was a real pain and it often was the touchscreen drivers that gave issues. Drivers with the same device/driver IDs but different settings if I remember correctly (it's been awhile since I was involved in this stuff). Touchscreen orientation and calibration was also a nuisance between models, which is where I suspect some of the driver customizations done by the OEMs are needed.
I think the market forces are just getting something as cheap as possible to market that satisfies the bare minimum. It's assumed that you won't be fresh installing anything onto them. I found a lot of hardware in this class was okay as a single-purpose device where you'd only ever be running one application at a time (though barely so if what you're running is a web browser).
Except that's not how other people would perceive it. I've since learned that it can be incredibly annoying to others, to the point where some people would actually get distressed thinking they would have to answer the texts. Couple that with a bad habit of sending many short texts (it's how you'd write on messaging in the old days) and you have one REALLY REALLY ANNOYING FRIEND (regrettably I was that annoying friend).
So I guess I just want to apologize profusely from the other side of the fence. I'm trying to be much more mindful these days about whether that chit-chat message REALLY needs to be sent RIGHT NOW, or can it just wait for a conversation at a later time?
I'm trying to be much more self-aware in this regard.
The first time I ever saw JPEG images was from an Amiga magazine (Amiga Format maybe?) coverdisk. If I recall correctly my A2000 would actually take time to display the whole image - it wasn't instant.
Good times!
Bad: "You don't know what you're doing. This is poorly-written code that will perform badly on bigger datasets. "
Good: "The runtime of this code is prone to grow exponentially. A different algorithm will get around this. "
As much as possible I try and criticize from the viewpoint of wanting to make the work better instead of from wanting to bring down the person that did it.
Edit: To add - I will very possibly be _wrong_ about the definition of better, which is something else I try and keep in mind.
- First you have to lift one hand up off the keyboard and put it down on the mouse. This may or may not mean taking your eyes off the screen.
- Then you need to find the mouse pointer on the screen
- Then you need to aim for what is usually a relatively small target and move the pointer there.
- If you're right-clicking, the right-click menu usually presents more small targets you need to aim for.
- If you need to use the keyboard, again you have to move your hand over to the keyboard from the mouse.
For finding the pointer, I developed this unconscious habit of slamming the mouse pointer to the very top-left of the screen. It's difficult though when on someone else's machine, where your brain isn't used to the pointer velocity or where multi-monitor means that slamming the mouse to the top-left actually puts the pointer on another monitor.
People look at me in awe when I'm using a two-pane file manager but honestly not having to take your hands off the keyboard and not having to move your eyes off the screen gives so much better flow. It's also why I like the UI of Blender - one hand on the keyboard and one hand on the mouse at most times.
OT but this does take me back - who remembers the drama with Sparcade?
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineOption -ShowToolTips
Also note that you can get in-console help on most commands without having to go out to a web browser. On the ones I've tried, examples are also included which help output too.
Help will also list available commands; eg:
help json
Shows me the three commands available from my shell: ConvertFrom-Json, ConvertTo-Json and Test-Json.
There is also Get-Command, which you can filter for command discovery, ie:
Get-Command | where Name -Like "Json"
The advantage to PowerShell being object-based here is that if you press <TAB> after typing where, the list of completions you get will include the properties that are in the object returned as the result of Get-Command.
I also use Cmder for a much nicer console than cmd.exe. I haven't tried the latest version of the new Windows Terminal but I hear it's also nice.
- Others have mentioned touch typing. I was taught touch typing from an early age with the help of an educational support teacher. I can say that it's one of the most valuable skills I have and I'm really, really thankful to the special teachers that put in the effort with me over those years.
- I naturally gravitated to computers. I don't know what it was, but after seeing them in school, I had to have one! I never got into blind sports as a kid and couldn't play most regular sports at school, so my parents saw the opportunity of computers as something I could get into. Something else I'm really really grateful for (I've been incredibly, incredibly lucky). The rest is history.
- I'll stress again - if you love software engineering and computers, there is no reason at all that it can't be your profession.
- Tech-wise, I use a magnifier on my Android phone and I use the magnifier on OSX. On Windows, it's easier to sit close to the screen. If you're at the stage where you need screen magnification, I can say that I've found the OSX built-in magnifier along with the trackpad a stellar combination.
- I find it difficult to locate the mouse pointer, so I use an extension called Saka Keys in my browser, which allows me to follow links on pages without having to use the mouse. I primarily use the command line for things if I can, especially if I might be on another machine that I can't get as close to as I need (eg- helping a friend quickly). You get to a point with touch-typing where you can feel when you've made a typing mistake. You also get really good at memorizing stuff, as others have said.
- At work, don't be afraid to speak up about what you need. This is tough. For many years I was embarrassed about needing help. It's illogical, I know, but it happens. You want to be independent and prove that you can be 'just as capable' as everyone else. That's a double-edged sword though. People WILL forget you are vision-impaired. I had a friend that I've known for years ask me why I sit so close to the webcam a few days ago when we were video chatting. My webcam is on top of my monitor.
- Believe it or not, people WILL forget you are vision impaired or even blind. I have plenty of experience with the former. If you're fiercely independent, people won't think to offer you help. You need to get comfortable with asking for help when you need it. It's a long, long process and something I'm still not 100% on myself; it's difficult.
- A case in point: At work, for the longest time if somebody wanted to show me code or talk me through code, I'd feel too self-conscious and awkward to say anything as we sat there and they started talking through their code. You get really good at memorizing stuff and going off what they say along with the broad 'shape' of the code. It would only be when I needed something specific, like they were pointing to a value or something, where I would lean in and say "what was that value again?". Nowadays I'm much more comfortable in my own skin and I simply ask them to either enable the magnifier on their machine, show me code through a remote desktop connection or I go to my machine and I have them talk through the code while I'm sitting as close to the screen as I need to.
- On a more philosophical note about other people; you're going to come across some strange, but well-intentioned behaviour. I've had new co-workers ask me why I sit so close to the screen; people assume if you're wearing glasses that your vision must be fine. You'll get really annoyed at the "sitting close to screens ruins your eyes" crowd; yes, I've been told (with good intentions) that sitting so close might damage my eyes.
- The way I think of this is that people are generally good and I'm happy to answer questions from anyone, as long as they're made in good faith. Often I think that people are just uncomfortable with talking about disability. Being a kind of a taboo, they think it's better to 'not say anything', or they're afraid of being rude. I'd rather people ask and I've also become a lot better at being forthcoming about what I need.
- I'm still learning not to shy away from being a 'vision impaired' person. There are some YouTubers that I recommend which I find really inspiring and helpful in this regard:
- The Blind Life is a YouTuber (who if I recall correctly has RP) who focuses on assistive technology and gadgets.
- Molly Burke does some great stuff. She is also blind, RP I think.
- For disability more generally, I cannot recommend 'Special Books By Special Kids' highly enough. It will literally change the way that you react to people. It is utterly incredible.
I know it's very different when you haven't grown up with a disability and suddenly you have to deal with it vs it being "the way it's always been", but I hope some of this might help and I wish you all the best.
Second Life is funny - I commented to a friend the other day that the place seemed to get overrun by genitals (not my exact wording.... ROFL) and casinos. I actually worked for a company that got a bit into Second Life back in the day (we made an official port of Tringo to a TV set-top-box games service).
I got the sense that Second Life couldn’t outgrow prims. They were great when bandwidth was low, but game graphics just overtook Second Life and kept going. Content creation was really fun though, especially the collaborative aspect.
I haven’t checked it out in a few years actually. Impressive to hear it’s still going, though it’s a shame they couldn’t really jump into VR when the Oculus Rift came out. I vaguely remember something about a VR client, but can’t even recall if it was officially supported. I always remember wondering where they were and why they didn’t seem more prominent. It seemed like VR was what something like Second Life was waiting for, yet they never came to the party. I got Linden’s other experimental thing on Steam (Patterns) and then it disappeared before I got around to really trying it.
I’d add AltspaceVR, Bigscreen, VRChat and Rec Room to your list of what’s currently happening in ‘metaverse-like’ things. As a user I find AltspaceVR frustrating as I’m never quite sure when events are on in my local time-zone. Stuff ends up being on at odd hours and I never seem to catch it. Or something seems promising but then you realise most of the people there are kids and it’s off-putting. As for Bigscreen, it’s great for hanging out with friends occasionally. Never really got into VRChat much, but it seems very much ‘Second Life’ in a lot of ways. I haven’t tried ‘Rec Room’ myself but have heard complaints that it’s been overrun by kids.
The hardest thing though is finding friends that have VR headsets and that are willing to install any of these apps and go to the trouble of setting up accounts. In this sense I think Facebook Horizon will have an advantage over the others when it does finally become available (it’s not the only one that lets you use an existing account; I remember being able to use my Oculus account for one of the others but can’t remember which one off the top of my head).
I also still find that I feel an inertia to entering VR, despite owning an Oculus Quest and being really enthusiastic about it. It’s just easier to pick up my phone and play something on a whim. VR still requires more effort and I think it’s just the isolation from everything that makes it feel like that. Especially when you’re in a place with other people. It feels weird isolating yourself around everyone else, at least for me.
Two things off the top of my head that I can think of: 1) knowing that a blinking number is indicating some kind of selection and more generally 2) seeing the UI as a glimpse into a larger abstract space that can be navigated. Or in other words, having used computers for many years, what my parents sawzl as just a blinking word, I would see as a menu where up/down/left/right had meaning.
There's also some more abstract thinking involved there - for me it's very spatial so I think of it as being able to keep track of your place in this 'abstract map'. You had to learn some non-obvious things like "if the down button stops working, it probably means I'm at the 'bottom' of my available choices" or "if I start seeing the same choices again, it means I have 'wrapped around' and in a logical sense I'm back to where I've been before".
I actually remember thinking something like this as a child when we got a VCR. I think I remember that realization that "this is a menu I can explore". The exploratory skills you pick up when you have to figure out how to use something technical generalize really well to other technical things.
TL;DR: I think VCRs were hard to program because the limited UI of buttons and a tiny screen meant that you actually needed a fairly built-up mental model of the process to keep track of what you were doing.
Similarly, in both cases it took me a few months to find a new job. Reading HN you can get the impression that there’s something wrong with you because it seems like a software engineer shouldn’t be able to even cross the street without being offered a job. I think that really depends on where you live and how much of a network you’ve built. That can be difficult if you’re the introverted type.
To me it looks like an Alan Kay style of OOP design. From that standpoint, replace 'microservice' with 'class' (or 'actor') and 1600 of them isn't that ridiculous.
It'd be an interesting system to browse. I'm actually curious if they've built any tooling around making the codebase easier to navigate and edit. Smalltalk handles a huge amount of tiny classes by having good browsing tools. What would you use for a Go codebase of this size?