ajtjp
After hearing (from Oracle) in the early 2010s about how JavaFX was the future of GUIs in Java, I can identify with the feeling of betrayal when it was unceremoniously removed from the JDK. If I'd known that was coming, I wouldn't have added JavaFX to my Swing application.
Nowadays we know that there are Bellsoft and Azul (is ZuluFX still a thing?) JVMs that still ship with JavaFX, but when Oracle made that announcement, we didn't know that, There were a couple years there where it looked like a significant refactor to externally linking OpenJFX, and shipping one-distro-per-system instead of one JAR, would be needed to move past Java 8. Now it's not so bad, I still target Java 8 as a minimum, but can point my program's users to the Liberica JDK and everything just runs.
I should try its HTML editor, it might be a nice upgrade from writing my HTML pages in Notepad++.
The vintage UI is part of the charm. Admittedly the "Stop" button is less useful than it was in the '90s, but I'm a believer that we've lost more than we've gained with the trend towards low-chrome browser designs.
We all had our own GitHub Enterprise accounts. But only one was logged on to each computer. Rather than switch out the accounts when someone else used a computer, we just included the initials of whoever was making the commit in the message. E.g. DU: Fix some bug, if Double Unplussed was making the commit.
This only really worked because no one was using a GitHub login that they also used for personal projects - only the corporate ones were connected. And it made the GitHub statistics on who was contributing what completely useless. But it did mean that we could rotate among the shared computers and push easily, and if you did need to ask someone for help when investigating a bug, you could still see who made the changes via git blame - just by looking at the message instead of who Git thought had pushed it.
Might not work for your use case, and I'm sure some readers will be horrified, but it worked well enough for us, in an XKCD 1172 (https://xkcd.com/1172/) style manner.
I remember the first time I tried to use SCM. It was a collaborative project in college, and our professor recommended we set up a CVS repo (at that point in time, he probably should have recommended SVN, but we didn't know that). We spent about an hour trying to set one up, and eventually concluded it was a waste of time and that we'd just e-mail each other .tar.gz files of the repo and manually sync them. Eventually we did break something and have to go back to the last .tar.gz to un-break it, which wasted another hour or so, but with the friction we'd seen trying to set up CVS, that still seemed preferable to trying SCM again (although it also showed that SCM would have been helpful had we been able to set it up).
GitHub with a password is much easier than setting up a CVS repo as a newbie, and had that been an option then we likely would have succeeded. But I'm much more doubtful that we would have tried and succeeded at token authentication; I also remember how mystifying I found it the first few times I worked somewhere that required it, even understanding the underlying concepts of public key cryptography. The problem is understanding the tools well enough to get it working, and working across operating systems (Linux doesn't have PuTTY; Windows doesn't have the Linux command-line tools; etc.).
When I eventually started using SCM reliably, it was with Mercurial + BitBucket + a password. I recall that I kind of knew I should set up a token, but my first few attempts were unsuccessful (largely due to most instructions being Linux-focused, and being on Windows), and thus I kept using a password for years because making progress on development seemed more useful than figuring out a token. I did use randomly-generated, lengthy, unique passwords, so the risk of using a password seemed pretty low.
So I think this is a bad thing for newcomer-friendliness. Perhaps it is an opportunity for GitLab and whatever other competitors still exist. But I would have rather seen it remain an option, perhaps based on new users choosing whether they're new to Git (allow passwords) or experienced (require tokens, but be able to change it in case they're only experienced with Git, and not with tokens).
Interacting with people to solve problems is a lot of what I enjoyed about being a software developer, and particularly after starting a new job mid-pandemic where I didn't already know people (the old company imploded for pre-pandemic reasons), work was much more isolating and less rewarding than it was in 2019.
Once it became clear return-to-office was not on any sort of definite timeline, and that I would be fully vaccinated as more places reopened, it became an easy decision to quit. And it's one of the best decisions I've made. My mental health has improved considerably, and I've discovered new hobbies and am in better shape than I ever have been. I should probably have taken a multi-month gap at least once before.
I met a colleague from my old company today (in-person, of course), who reported that ten people have left this year, from an initial number of roughly 60. It's a consulting company, and as far as I know no one has been mandated to return; most of the clients were already remote. So that's a ballpark 15-20% figure, albeit with a small sample size, of people leaving over 7 months from a company without a strong return to office movement. Many of people leaving were people with low tenure at the company, and thus not having the in-person ties that might encourage staying with their friends and colleagues.
On the team I joined mid-pandemic, one of the ways this evidenced itself was higher turnover among the people who joined after March. The tech lead also noticed universally slower uptake on team-specific knowledge among the new folks, compared to when previous folks had joined. None of the new folks became team experts in the year I was there, despite having the past experience that would suggest it would be likely they would. And generally, the team continued to rely on its pre-pandemic experts.
All this is having joined a remote team where I think I would have really enjoyed being on the team in the office, and which I know from industry colleagues was a successful team pre-pandemic. Even with those advantages, joining remotely was rough.
In other words, I think we may still be in the honeymoon period for remote work appearing productive among the industry at large. For some people, it may work well in general, and if you specifically recruit those people you may be able to build a successful remote team (some companies did it pre-pandemic, after all). But across the industry, I suspect remote teams will become less productive over time as experienced members switch jobs, and (if they aren't the type that naturally likes being remote) experiences the slower uptake and more isolating experience of being on a team where they've never met their colleagues in real life.
I couldn't disagree more strongly with the author of the linked article. I'd almost call it pro-remote-work propaganda.
But, I say that as a software developer who is extroverted (at least relative to the profession as a whole), and is in my early 30s. Working from home can be super isolating and depressing, and I would rather leave a lucrative career than start another remote job (I already quit my previous remote job, currently living off savings rather than work remotely).
I know some people who like working remotely. But I also have friends who hate it as I do, and are super eager to return to the office (some already have, at least on a part-time/hybrid basis. The two biggest factors are see are introversion vs extroversion, and whether they live with other people. My extroverted friend whose wife works at an in person job, and is thus alone all day, hates it. Another friend who lives by herself hates it. A third whose social life centered on work hated it, and wound up moving in with her parents despite being in her 30s just to have some other people around.
Productivity-wise, I agree with the studies I've seen showing more time, but no more results. I think of my friend who is not confident in his job security and is working at least 50% more hours than in his pre-pandemic in-person job; I've told him several times his colleagues probably don't realize how many hours he is putting in or how effective he is, because he only interacts with about three people and it's all remote. In the first couple months of his job, before his workload went sky-high, he complained that some of his colleagues were completely burnt out and unproductive; now it's no mystery why some of his colleagues are like that.
Another reason I think it's introvert vs extrovert is my conversations with recruiters. I'm that odd software developers who enjoys talking with recruiters, at least the ones who take the time to get to know you. Almost if not 100% of the recruiters I talk with miss being in person. Most of them are young. And guess what, recruiting is a highly extroverted profession.
My prediction for the software industry is there are going to be a lot of people switching jobs over the next year or two, as the people who want to be in the office but are stuck at remote gigs leave, and similarly the people who want to be remote but are stuck at in office gigs leave. Some people will probably prefer hybrid too, but most of the people I know have strong opinions on the topic, and I wouldn't be surprised if hybrid mostly falls by the wayside once uncertainty around covid protocols subsides.
Of course, we do also have overhead signs as a backup and for longer-range visibility. But it's more likely that the overhead signs are useless due to a setting sun than that the on-road ones are due to snow. The streets with on-road signs are very high priorities to plow, so the on-road signs are going to be visible unless it's a very bad storm where you probably shouldn't be on the road, and if you are you're probably going home and already know which lanes to be in.
I'm not saying this should be done for every road; it works best for roads known by a number (I-71; US-23; OH-315, etc.) where you don't have to read a long name. But it's not an daft as idea as it might sound.
---
For instance, one study subject took twenty minutes of staring at a Windows 3.1 desktop before being able to open a text editing program. Finally, a programmer spoke up that this was unacceptable, to Oran’s relief. But that relief would be short lived: “Our customers are morons!” exclaimed the programmer.
This was frustrating enough, Oran says. But then they talked to that user, and it turns out that he was actually a propulsion engineer for Boeing.
“He was literally a rocket scientist,” Oran says. “And even he couldn’t figure out Windows.”
---
IMO the #1 opportunity for open source software to gain more mainstream acceptance is focusing on making it easier for non-technical users to use. Which is hard when most of your userbase is technical users. Microsoft deserves credit for realizing they had a usability problem, and having made major improvements to that over the years.
I use Stardock's Groupy, and it does this well (and is inexpensive). I'm not sure why I'd want to switch to this when I already have Groupy, although the general idea is one that I think should gain more traction.
One big factor for me is the customizability without having to rely on extensions. I trust Vivaldi (and von Tetzchner), and don't have to worry about whether I trust extension makers. The customization options in Vivaldi tend to work pretty darn well too, which can be more hit-and-miss with third party ones in Firefox.
Single-key shortcuts are also a big win for Vivaldi for me. I got used to these in Opera and they're great for efficiency while web browsing. Maybe I can get them with an extension for Firefox, but it's enabling one check box in Vivaldi. It's similar to why some people like vim plugins for browsers, but with less vim expertise required.
I've also seen Firefox remove a lot of features over the years. XUL extensions being the big one, but there are others. Firefox Hello. Firefox Panorama, just as I was starting to take a liking to it. Vivaldi has a philosophy of adding features that let you customize the browser to how you like it, and if only 0.2% of users use that feature but it makes them really happy, that's fine. Firefox will remove features if not enough users adopt it. Thus my trust that Firefox is going to keep features that I like has been lowered over the years, making me more hesitant to try new Firefox features, and generally more hesitant about Firefox.
Although I'm considering switching part of my home browsing back to Firefox because of its ability to not autoplay videos. Too many sites have those nowadays (and too often, self-hosted and not as third-party ads that are easily blocked), and Blink-based browsers can't stop them, and I'm getting pretty tired of having to pause/hide videos all the time so I can focus on reading articles.
Then again, I also use uBlock Origin... perhaps Vivaldi is slow without it. I'll also admit that theoretically I'd expect Vivaldi's UI to be slower due to being based on web technologies instead of native, but I can't say I can perceive a difference except in edge cases.
It looks like Firefox and Tab Mix Plus offered it back in the day; I'm thinking that might be where I remember it from.
I live by myself in an apartment in a city, and while I do have a good work from home setup, it doubles as my gaming PC setup. I agree that living in the suburbs or a rural area would help, but it's not the only significant factor for me.
One is being on an established team versus a new team. The first couple months I was on the same team I'd worked with in the office, a fairly small team with good intra-team social connections. My productivity was lower, but only 20-30% lower. Then I switched companies as my previous employer was having major problems (which were unrelated to covid; the writing on the wall started to become clear in January). I've never met my team in real life, and while they seem like a team I'd enjoy working with in the office, I derive very little social satisfaction from my interactions with them. For most of the latter half of last year, the only thing keeping my productivity at about the 50% mark of 2019's levels were fairly frequent pair programming with a couple colleagues, one of whom has since left. I'd estimate my 2021 productivity levels so far to be 20% or less of my 2019 levels.
The other is non-work-related social interaction. Throughout the summer and fall I'd regularly meet up with friends at parks (and occasionally elsewhere after several months once it became apparent the containment strategy had failed), but that fell by the wayside starting around November, in part due to cold and in part due to the caseload hitting record levels at that time and being more cautious. Other than one friend who caught and recovered from the virus in March, I didn't see any friends or family for about two months. That definitely increased burnout as well. I've found that working remotely, I need at least two lengthy social interactions per week to maintain mental health, and that hasn't happened in too long.
I've already let my managers know that I plan to take a leave of absence once travel is feasible again. I've considered resigning as well, but at this point I'm not convinced having more free time would be a good thing, with so few ways to spend it. Work itself isn't the main problem, so much as the lack of social interaction, so I may well stay and keep earning some money at least until it warms up and I can spend the time on outdoor activities again.
I am thankful that the new job I started is local, so assuming I stay, eventually I'll be working from an office. There's no way I would stay at a position that was permanently remote.
While I was watching its output, I realized that in Rust, all the dependencies are compiled; I'm used to Java+Maven or JavaScript+NPM where compiled dependencies are used instead, and that tends to be pretty quick (provided your network pipe is wide enough). I'd be curious to learn why Cargo re-compiles from scratch instead of offering pre-compiled binaries as well. I guess part of it is related to different target platforms, but it seems like if the top 5 platforms were targeted and had compiled resources available, you could reduce compile times for those platforms by a significant amount.
On the other hand, the error messages I ran into along the way were quite good at pointing me in the right direction about how to fix them, which saved more time than the extra compile time cost, relative to the Python-based alternative I had been trying to set up before that.
But I haven't heard about reliability issues, and as long as that's the case the worst outcome is paying a couple extra bucks for a fancy WiFi card with no difference/a small enough difference you can't notice it.
I still semi-frequently use a 2007 consumer-grade Dell that served as my only machine for 4.5 years, and as my primary laptop for another 5. It took six years for it to need a repair other than replacing a battery, and even today I get two hours of life from its latest replacement battery, and can swap in the next-oldest for 75-90 minutes more away from a power outlet.
Apple laptops do tend to last a long time, but if my goal were to buy a laptop I could use forever, I'd buy something else that was more repair-friendly instead.
At work, we have these 5K, 27" LG monitors: https://www.apple.com/shop/product/HMUB2LL/A/lg-ultrafine-5k... . Don't get me wrong, they're great, but... I don't feel like I'm missing anything when I go home and use my Dell U2412M (1920x1200, 24"). And working from home the past three months hasn't tempted me to upgrade my monitor, either. 1920x1200 gives me a good amount of real estate at 100% scaling, and that's the main thing I need.
Now it is true that if I look at the font in this text box in Vivaldi, the rendering kind of sucks; Firefox is a bit better. There was definitely a time, around when I switched to Windows 6.x from 5.x, when I was passionate about this, and dislike for the Windows 6 font rendering was one of the reasons I stuck with XP as long as I did. Maybe 4K would help with that, but by this point I've adjusted. And even so, spending $900 on the monitor the author suggests is not the most appealing option. That's a lot of GPU upgrade you could get relative to the $300 I spent on my current monitor in 2011. Or I could double the RAM in all my personal systems and get a nice microphone (which would have more of an impact on my working from home experience). Or I could built an entire Ryzen 7 3700 desktop for that price. There are just a lot of things I'd rather prioritize.
I'm also find the proposed productivity benefits dubious. As long as the fonts are acceptable enough that I don't find them actively distracting (and as mentioned, with bad enough font rendering that can be the case, so perhaps the author is simply more sensitive to that than I am), how much I can focus is going to have a lot more impact on my productivity.
I do somewhat fear that this might re-ignite my former font pickiness, though...
It probably would have been even better if I'd been using a native AIM client instead of Meebo, but I'm amazed by how inefficient some modern websites are.
But I've compared how long it takes to start Word on my Pentium II 450 MHz running Windows 98, with Word 2000, to my Core i5 2500 K (3.3 GHz) running Windows 8.1, with Word 2010. The Pentium II wins.
I don't how much of the difference was Windows versus Office, but it's a sad indication of the slowdown in software outpacing the speedup in hardware.
This is key, and also shows why, at least at release, the technical failures of Vista were what drove its commercial failure.
Part of it was the jump in specs - the infamous Intel chipsets that were Windows Vista certified, but couldn't run Aero, and in general the huge boost in requirements from XP.
Part of it was changes with in the OS, such as protecting the Program Files folder(s), and Vista's Shadow Copy system, which wrecked havoc with programs that stored user-modifiable configuration files (and more) in their install directory. Yes, Microsoft had been recommending against that for awhile, but it still broke a lot.
But as much of it was ecosystem readiness due to changes to changes to the driver model. There was some support for XP drivers, but it was still painful. I used Vista without service packs. It was bad, bad enough that I switched back to XP. Let's just say there's a reason that I didn't buy another nVIDIA graphics card for another decade.
It was an interesting idea about how to combat the problem of having too many menu items, but it wasn't great for discoverability. I can understand why it faded out.
It doesn't always produce the most beautiful results, but it's serviceable. And to be fair, it's taken a long time for high-DPI to consistently look beautiful even on recent versions of Windows. I shudder to remember looking at Device Manager on a display set to 125% in the DPI settings.
I actually came to like the 8.1 Start screen, though it took awhile. Basically my most-used programs are pinned to the start screen, so I can tap Windows, and use the mouse to select one, with a large margin for error. Or I can search based on the name of the program, and unlike Windows 10, it's only to match local items, and not include any web results.
You could easily switch it to look like earlier versions of Windows, however. I miss that ability in 8.1 and 10; up through Window 7, I could make my desktop look like Windows 95 if I wanted to, and sometimes I did. Nothing like having a colleague walk up to you in 2017 and asking you, "is that Windows 2000?"
Even in Classic View, there are admittedly some items that have user interface styles that date back to Windows 3.1 (one example being part of the Fonts area), so there are some oddities. But switching to Classic View takes care of a lot of them.