pixelscript

joined 2 years ago
[–] pixelscript@lemmy.ml 9 points 2 years ago

SMS/RCS for friends/family in meatspace, Discord for friends in cyberspace.

Snapchat still seems to be a default conduit of communication for my family members and their respective friends. I do not have Snapchat and never will. They are mildly annoyed at my stubbornness.

I have yet to meet a single soul in my local circles who is willing to install any messaging platform over any concern of privacy or security. These are very simply not important factors to any of them. It's upsetting. But, y'know, lead a horse to water, etc.

Discord continues to be a choice platform for my online friends circle. I don't know so much about any of them, but I almost never use it for 1:1 private messaging. It's there for the rare aside conversation. But its primary form of use for me is as a big town square in servers with dozens of people. It's essentially my version of going to the mall after school or to the local pub after work.

[–] pixelscript@lemmy.ml 5 points 2 years ago

Huh. So that's why they're found in Minecraft strongholds.

[–] pixelscript@lemmy.ml 3 points 2 years ago

Yeah, how much time you get to dwell on it will depend on lots of factors and the needs of your client/employer.

I happen to work at a place where timeframes for fixes are quite lax, and the codebase I'm working with is slowly being recussitated from a decade of bad decisions from a D-tier web developer. (Dreamweaver was involved... let's leave it at that.) I can imagine if you have a codebase that was somewhat competently designed from the start and/or your client/employer has a "I need this fixed yesterday or else your ass is FIRED" urgency, you don't have time to dwell on such things. But it helps to have the experience that at least lets you do it a little bit rather than not at all.

[–] pixelscript@lemmy.ml 20 points 2 years ago (2 children)

We hired a greenhorn dev several months ago. He had two years experience at a larger company. I only have about five so far and my company doesn't really pay all that well to field great talent, so I wasn't hoping for the world. But we were expecting at least something a little above entry level experience.

The guy did know how to write basic code. Frankly not to the degree I hoped for, though. Also lacked all auxilliary skills like effective use of version control, logging in to remote servers over SSH, documenting code with doc comments. He doesn't even write particularly legible code without the formatter to fix it for him. Very sloppy with spacing, braces, etc.

But those are all of little concern. Those could all be taught. It meant more effort needed to be spent in onboarding than we wanted, but it could be done. Helps that he has a very positive oulook on constructive criticism and he uses it to improve.

One thing that I don't think I can teach him in any reasonable amount of time, though, is how he mentally tracks the structure of the program he's working on.

When I program, every time I change anything, I construct a mental web of everything this piece of code might affect when changed, and the ramifications it might have. I think of neighboring code and concepts looking for patterns, and whether the new thing I'm adding or changing could be better expressed differently to leverage those patterns. I think of the future trajectory of the module or feature, and whether it would be advantageous to bake-in a certain kind of forward-thinking extensibility now rather than after it becomes partially entrenched later. And most of all, I think of how someone completely unfamiliar with this code might read it, and how I can improve the way it is written to make the most important parts stand out clearest.

And when I'm debugging code, even if I see the problem and think I immediately know the solution, I still take time to read the surrounding code. I try to piece together the original bugged code's intent. Is this onvious-looking problem the real problem? Or is it a poorly documented, poorly structured mess that looks like it wants to do one thing but is intending to do an entirely different thing? This hesitation has saved my ass on several occasions.

New dev doesn't do any of these things. He pulls a bug ticket, figures out what module or function is the supposed source of the problem, and bangs on it until the effects of the problem disappear. Little research done to understand what the intent of the code he's altering wants to do, and even less spent on figuring out what downstream systems will be affected. And once he achieves his singular result, he just pushes it as-is. No cleanup pass, sometimes forgets to format it the way we ask him to.

To be fair, it's a big new codebase. I can't expect him to reason around things he is not familiar with, nor would I think it reasonable that he study the entire codebase before touching it.

I also don't think these things can't be learned. I had to learn them at some point, after all. But I do believe that people like myself and one of my fellow devs are more predisposed to picking these programming soft skills up, whether it be through nature or nurture or some combination. That, and I don't think these kinds of soft skills can really be "taught" in the traditional sense. These are wrenches you can only really learn to dodge after being hit by a few.

[–] pixelscript@lemmy.ml 15 points 2 years ago (2 children)

inb4 you get an indignant reply suggesting that carburetor tuning is a must-have skill for absolutely anyone who owns anything that has one

[–] pixelscript@lemmy.ml 15 points 2 years ago

"Tubular" I can at least trace where it came from. It's surfer lingo. Sometimes when you catch a wave, the wave crests all the way over you and encloses into a tube. Surfing through that is supposedly the most euphoric thing about the sport. "Tubular" is thus "anything that makes you feel the way a surfer surfing through a tube-shaped wave feels". Thrill, wonder, excitement, etc.

I have no idea where tf "based" came from. Wiktionary suggests that it ultimately comes from the chemical definition of "base" (i.e. the opposite of an acid). "Freebasing" is a way of converting certain drugs, particularly cocaine, into smokable form by converting them from acid to base. Rapper Lil B. is alleged to have coined "based" to describe his lifestyle as someone who is unafraid to be himself as an individual (which, I guess, included smoking crack). This supposedly filtered into 4chan to become an alt-right slogan for "admirable person who bravely maintains alt-right opinions in spite of adversity" ("based and redpilled"), and later was claimed by groups outside the alt-right to simply mean, "someone with admirable opinions".

[–] pixelscript@lemmy.ml 4 points 2 years ago

I mean, there IS a universal SQL standard that all of the major dialects are supersets of. It's only when you get into the funky stuff that you start finding dialect-specific syntax and features.

[–] pixelscript@lemmy.ml 3 points 2 years ago* (last edited 2 years ago)

You're seriously suggesting that the way we end tipping culture is to tip everyone even more for an indeterminate duration of time so the employees receiving those tips can... save up for strike funds to strike against tipped wages...?

If customers tipped so well that employees could make that kind of money, no one would be striking to end it. All you would have accomplished by this is twisting the arms of customers even harder than before. This is the exact opposite outcome everyone downvoting you is seeking.

If I'm being frank, I think the only way to truly rip off this bandage for good is to stop tipping, and squeezing employees. Make these jobs so unpalatable to work at that no one will willingly take one. Starve the employers that normalize subminimum wage of their labor pool, and either force them to adapt and offer living wages or drive their unviable business models out of business.

Of course, that solution is horrendously machiavellian, requiring that things get much worse before they get better. Far worse than any human with a drop of empathy would allow. So, yeah, while I do think it's the most realistic answer, it's obviously a bad answer.

The next best thing for customers to do is simply not give these places business, as you suggested in your edit. That's my strategy right now. I do tip at expected rates when I am in such places, because I'm not an asshole, but I minimize my trips to them as much as possible.

More unions sounds like a great idea! It's the less machiavellian and more organized version of the "drive the ones that don't comply out of business" idea. I'm all in. But it's unclear exactly how random passing customers should help create unions. All I can note is that expecting us to give more patronage to the business that has every incentive to bust the would-be union while also stopgapping one of the major issues that would drive the formation of the union in the first place by tipping harder is probably not the way.

[–] pixelscript@lemmy.ml 2 points 2 years ago* (last edited 2 years ago)

I got an application that runs through a big calculation that has to pass several sanity checks along the way. If any check fails, the input parameters are tweaked and the calculation starts again from the top, iteratively approaching the ideal solution. Do-while is perfect for this.

It beats recursion in non-tail-call-optimized implementations (JavaScript...). And while this could be done just as well with a comon while loop plus a flag variable, I like the way the syntax of do-while naturally reads as, "Do [thing]. ... Did it work? No? Do it again".

I'd still argue it's redundant. If they got rid of it tomorrow I'd refactor and cope with no complaints. But as long as it's around, I like using it.

[–] pixelscript@lemmy.ml 3 points 2 years ago* (last edited 2 years ago) (1 children)

Your points about the Fediverse being immune to enshittification feel like echoes of what we'd say about the world wide web twenty five or so years ago. The web itself is somewhat of a federated platform. Websites are analogous to instances. And while it would be dubious to claim that the entire web as an infrastructure has enshittified (though Google sure seems to be trying...), I think it's not controversial at all to claim that the biggest players alive on the web have.

Yeah, you can always make your own scrappy little website. But you'll be an island few to no users will want to visit and support if you're competing with the other players. That, or you catch on and grow to the point where you yourself become the villain.

I see two roads for the Fediverse. Either it never grows past some filter and remains scrappy, or several large instances for the biggest platforms will dominate, sap up the market share of attention, and then use their weight to pressure how the protocol is maintained in the future, embrace-extend-extinguish style.

Also, "no profit motive"? Where critical masses of people gather, entrepeneurs surely follow. Someone will figure out a way to monetize hosting a Fediverse instance. Hell, Threads tried, sort of. That alone won't immediately enshittify the whole Fediverse. But given enough time and growth, well, see above.

view more: ‹ prev next ›