939 karma · joined November 12, 2021
Manufacturing has gone through the whole outsourcing-to-reshoring rollercoaster, and that's only just starting to touch coding. Give it 10-20 years and it'll be much worse for American devs as domestic competition increases and the rest of the world catches up, all while the advertising bubble bursts and climate refugeeism increases.
I'm not glorifying back-breaking labor, I'm worrying about our future.
Japan is a perfect case in point... that's the kind of society I'd like to avoid, feudalism with perfunctory "pick your favorite lord" days. But as wealth increasingly concentrates in fewer and fewer hands and democracy crumbles, I think that sort of dystopia is unavoidable. Japan got to that point even with deeply entrenched racism and xenophobia, where labor immigration isn't a big part of their workforce... and they still developed those problems. In a society like ours, where capital is free to hire work from basically anyone and anywhere, it's going to be even more amplified.
Bad time to have kids.
And in rural areas, 5G probably doesn't give you enough range anyhow. Have you considered mesh revenue-share networks like Althea (https://www.althea.net/)? There's a nonprofit one too operating in several cities, but I can't remember what it's called.
If you really want to use GIF, it would make more sense to manually create an animation out of frames you define, switching between highlights of that feature, rather than a screen recording that captures every minor, irrelevant animation and follows the hover popup as it moves around a few pixels. That's just a waste of bandwidth. A manually curated GIF of that size could be like 40 kB or so, not megabytes.
Otherwise, I'd argue MP4 is by far the superior option for this use case given its far smaller size, where visitors just need to know at a rough glance what a feature does, not examine it for pixel perfection. An imperfect video that loads in 20% of the time is preferable than waiting forever for a huge gif to load.
But with ES standards, at least the code can be largely the same, not as different as vanilla/jQ/React/Angular/Svelt/Vue/someotherslickonewordjsframeworkdujour
Something a bit more advanced than fetch, not quite as complex as useContext. To the end user, websites haven't really changed all that much since the early AJAX days. Input gets received, ajax happens, shit gets updated. Why has the tooling gotten 1000x more complex?
Isn't this to be expected, though? As software consumption becomes more commoditized and de facto standards arise (your basic lookalike business webpage), more and more people are able to easily replicate the feat, and it becomes less about creativity and innovation and more just a matter of rote implementation, like any other manufacturing trade. Interchangeable agencies pumping out cookie-cutter code on an assembly line, with some white-labeling thrown in. Code is just another commodity (you can already produce usable code after a short boot camp, not unlike any other corporate training program).
These days what sells isn't even software engineering excellence, but just advertising bubbles inside walled gardens, driven by divisive and sensationalized content. What little "innovation" there is seems to mostly be B2B-toolchain related, shovel vendors desperately trying to sell to the next big garden, all funded by speculative VC money. It's just another bubble.
On top of that, after COVID, with more companies moving remote, US workers now have to compete with not just each other from different states, but a global labor pool that typically works way harder than we do for much less money. And with income inequality getting worse and privacy concerns growing stronger, there's only so many dollars to be had chasing viral networks of peasants... that well isn't going to run forever.
Like any other maturing business, what gets you the big bucks ends up being charisma, manipulation, and personality... not engineering. Proper "hard" engineering still pays the medium bucks, but most coders aren't like that, just various shades of amateur pumping out mediocre code for other mediocre companies, the same mediocrity most of the world has always run on, no matter their line of work. It's definitely not the 80s anymore, where coding is some elitist white-collar thing. It's just another job.
Pretty sure that's how modern video codecs work too. A lot of movies have regions that don't change much between frames (e.g. backgrounds, or some dude's face staring at the camera all dramatically).
What GIF gets you is a lossless video, which is overkill for most applications. Video codecs can achieve a similar perceptual quality at a tiny fraction of the size, which is why services like gyfcat and imgur will often auto-convert gifs to videos for browsers that support it.
Take this 2MB GIF (https://blackmagic.so/assets/sidebar/most-engaging-hours.gif) and put it through an online converter: https://ezgif.com/gif-to-mp4/ezgif-7-68b177ec1944.gif
WebP: 1.64 MB
MP4: 300 kB
AVIF: 274 kB
After 3 or 4 years, my annual resub for Phpstorm was like $60/yr. Upgrading to ultimate was like $30 more. Well worth the price.
I've tried vscode several times, once every few years. It's getting closer for sure but for now still requires a bunch of extensions and tweaking to approximate the feature set of IntelliJ.
Though since you mentioned IntelliJ, I find its UI pretty hectic too, a hodgepodge of 90s-style MDI and modern tabs and split panes. Some of the most common patterns (going between the terminal, code editor, debugger, git, npm, and DB browser) requires navigating between like seven different places in no logical arrangement.
Why is npm a tab bar in the lower left, the actual npm list in a pane above it, git/terminal debugger on the bottom, the code editor in the upper right, the db browser in the upper right sidebar (which isn't even visible by default), the db query itself in a tab mixed with the code editor, the debugger output in the bottom but the button to start it in the top toolbar...
I can never find the features easily because I don't know which pane or tab group it's supposed to be in. In something like VScode, the features are categorized in a hierarchy and arranged in layers in the left sidebar in a sensical drill-down pattern. Xcode is visually cleaner too.
It's not just about the presentation of UI widgets (scroll bars, etc.) but how they're arranged in terms of information architecture, discoverability, cognitive load, diving down, etc. Everything is a "module" of equal value competing for screen real estate and together it is pretty visually overwhelming, especially to new users. More important things like the terminal or debugger shouldn't have the same level of prominence as the less important things (profiler, R jobs). Not all features get used with the same frequency, or in the same contexts, but IntelliJ organizes them all pretty flat.
That's just me, though. It's like a lesser version of the MS Office "toolbars vs ribbon" debate. If Jetbrains actually tried to overhaul their UX, they'd probably see a mass exodus of wizened old beards.
Also, I'd be willing to believe your average Google Workspace, preconfigured by Google, is more secure out of the box than your average Microsoft LAN administered by somebody who once took a certification course twenty years ago.
But when something breaks on self-hosted Microsoft stuff, at least you can hire someone to fix it. When something breaks on Google Workspace, hey, it's a free vacation day for the whole staff!
Sounds like they ported over all the best features from Skype! ;)
WiFi is also still not up to par just quite yet. Maybe wifi 6?
My only experience with Java is as an user, and it's never been positive. Whether it's the applets of yore or the modern Java apps, there's always performance, memory, JRE issues and terrible, second-rate UIs. Maybe the language itself is beautiful, I wouldn't know, but the user experience is terrible.
In the small dev world it's kinda the opposite. Linuxy servers beget Mac dev machines, so AD is mostly out, leaving Apple enterprise stuff (shitty) or Google (OK, but nowhere near as powerful as Microsoft).
GDocs becomes the lowest common denominator and many people don't have Word anymore. Data is either cloud native (json, csv) or else imported into Gsheets.
I suspect some of this is due to the modern educational pipeline too, with gsuite (or Google Workspace, or whatever it's called these days) producing a generation of young workers who grew up on that stuff. It's caused quite a generation gap at my current workplace, where the older workers use Microsoft and the younger ones use Google and stuff keeps getting converted back and forth. And once in a while someone sends a PDF and both sides go nooooo...
(edit: to be clear, wasn't trying to be snarky. Genuinely surprised. Thought Microsoft intranets were a thing of legacy dinosaur companies, didn't know that modern enterprises still did that. But I don't work in enterprise, only in small biz, where nobody can afford dedicated sys admins and everything is in the cloud. From what I hear though, the UX of Outlook these days is better than Gmail and gcal (which isn't saying much, I know). Might be worth trying again someday...)
It already has, sadly.
> Can you centrally administrate Google accounts? Because employees certainly aren't allowed to use their privat ones.
Yes, definitely. For non Microsoft shops, Google is a very common option (eg academia).
Especially for any web shop... Firefox is even less relevant than Microsoft now and forcing it as a primary internal browser is a great way to alienate your company from end user experiences.
I don't know if that's their actual intent, but I can hope.
Even if you can get the game's renderer and UI to reach parity, it's hard to overcome the UX and network effects of Steam. And that sort of ecosystem fragmentation (alternative platforms often don't offer crossplay) is bad for gamers, not to mention having to implement different multiplayer pipelines makes lives harder for devs.
Gaming on the web might be nice for trashy flash like games, but for anything more, why would anyone waste time on that when there's much better curated experiences on Steam, or barring that, mobile app stores and Switch? There are already enough excellent indie games to last several lifetimes. Not gonna waste time exploring the dark corners of the web to try some amateur's experiment with webgl. If they're not on an established game platform by now, I could only assume the devs care about their philosophies more than end user experience, and it would be a subpar experience even if I got the graphics to load (big if).
Even something like GeForce Now (cloud rendered streaming games) use Steam and Steamworks APIs for the community and multiplayer APIs. It's therefore much better than competitors like Google Stadia (which is pretty much dead and has no community). GOG has a niche but only for single player games. For multiplayer it's either Steam or dead matchmaking.
Maybe a more interesting comparison is something like boardgamearena or boardtopia, which offer not just simple games but also the marketplace and matchmaking features of their own. They have established their own communities finding a niche (digital low fi board games) that Steam has neglected.