HN user

ajtjp

67 karma
Posts0
Comments34
View on HN
No posts found.

"just meant that developers are expected to bundle their own thin custom-built JREs alongside the application" can be significant initial setup work and overhead, and seemed more so back then. With Java 8, I shipped a combo Swing/JavaFX application, and built it once, and it ran everywhere. Now I have to figure out the module system and figure out how to ship it with platform-specific JREs? That's a lot more packaging overhead for a hobbyist project, or at least, that's what it felt like at the time.

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 keep an install of SeaMonkey 2.49.5 on my desktop. It's my preferred platform for browsing FTP and Gopher (the latter with the OverbiteFF add-on), and is the last version of SeaMonkey that has full NPAPI support, useful if I find an old site with a Java applet, or would for some reason need Silverlight. And being based on Firefox 52, it still works with most web sites as well; more recent versions would work even better with modern web sites.

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.

Not necessarily recommended, but something that was done by a real team at a real company.

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.

Part of the problem is we were all newbies at some point.

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).

In office and proof of vaccination is exactly what I will be looking for when I look for my next job. I also don't like working remotely, so in-office is a requirement, and proof of vaccination is nice insurance against the company switching back to remote in the future due to an outbreak.

I quit my job over the lack of a return to office.

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.

Small addendum: I've also noticed that, especially among the more extroverted developers, people who were on a team that went remote tend to be happier than people who join a team that is already remote. I think a lot of this is that the pre-pandemic team members already had good rapport and communication among themselves, and could use that to bridge over to being remote. Whereas when people joined teams as new members post-March 2020, it was much harder for them to build that camaraderie and - importantly - trust with their 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.

Introvert vs extrovert.

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.

We put street signs on highways in Ohio. Quite handy for knowing whether you're in the correct lane, as it doesn't have the ambiguity that overhead signs can have.

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.

That isn't quite the same a what this software is or what Groupy does, but that is a fascinating article. I loved this part:

---

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.

Seconded. Marketing 101: Make it easy for the consumer to see why they might want to try the product.

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.

Background: I used Opera Presto as my main browser from 2007-2014, and Vivaldi since 2016 (2015 being a mix of Opera, Firefox, and Vivaldi). I've used Firefox as my main browser at work for most of the past four years.

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.

I'm curious what area of Vivaldi is perceived as slow. I use Vivaldi at home (on a 9-year-old desktop), and Firefox at work, and the only things that come to mind are tab opening/closing could be better, and some very CSS-heavy animations such as the NYT's map of coronavirus's spread from Wuhan are much better on Gecko than Blink. But day to day, I have no complaints about performance from either.

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.

I remember seeing that in some browser, but was it Opera? I remember having 100 tabs and miniscule tab titles in Opera, but can't recall that option. I still use 12.18 on occasion, and fired up 11.52 but can't find any such option in its tab settings.

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.

Yes. My productivity started out somewhat lower, but by now is much lower. Moreover, most of the time I just don't care about things that I used to care about. I'll realize, "this is something I would argue that we should do in a different, better way in the office," but will rarely put in the effort to do that now.

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.

As a relative neophyte in Rust (have gone through about half the chapters in the Rust Book), I recently deployed a small Rust server in DigitalOcean, and was surprised by the compilation speed. The server's code was about 27 KB in size, producing a binary of about 160 KB in size. But it had 92 dependencies, including transitive dependencies, and took 5 minutes and 38 seconds to build. Which was quite impressive relative to the size of the code, even allowing for the not-super-fast CPU.

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.

Killer is often criticized for not adding much to a laptop beyond some extra cost. The benefit Killer touts is prioritizing latency-sensitive traffic, e.g. for games. I haven't used one and can't say how effective they are, but suspect it is true that for most people, the difference wouldn't be perceptible. The software might be more efficient, but it isn't going to make the radio waves travel any quicker.

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.

Dell, HP, and IBM produce(d) some really good models, too. Precisions, EliteBooks, ThinkPads. Even some of the mid-tier ones will last quite awhile, and if not quite 7 years, a lot of them are more repairable than an Apple.

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.

Some people have mentioned that once you use 4K, you can't go back. I guess I'm in the group that has used 4K (or 5K, in my case), and found it easy to go back.

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's partially modern web frameworks, too. I happened to load up the web version of Slack on a Core 2 Duo running at 2.2 GHz today, and it was unusable. By comparison, I remember using AIM via Meebo (remember that site?) on dial-up back in the late 2000's, on a Pentium 166 MHz laptop. It wasn't exactly snappy, but it was better than Slack was today on a 2 GHz laptop with 500 times the bandwidth and a fraction of the latency.

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.

The Windows logo in the Start menu was a bit colorful in Windows 95 and NT 4.0 as well. I'll grant you that the logo itself is slightly different in XP, but it had been colorful for years by that point.

It depends on if you're talking boot times, or program loading times. I agree, every computer I had until 2007 had terrible boot times.

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.

"massive chunks of the OS were updated in Vista that took years to debug and smooth out to what is now Windows 10"

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.

I ran it for awhile too, on my laptop. I think that was back in my post-Vista try-all-the-other-options-out-there days, as I cannot remember what advantage it gave me that XP didn't have, but I do remember it being a pain to get set up for DirectX and other things that you generally wouldn't use on a server. Still, it did look cool to see my laptop displaying its "Windows Server 2003" screensaver in the library.

I remember those menus. Office 2000 had them as well. You had a menu with the options, but there was also an option to expand the menu, which revealed more options, with a lighter gray background than the main options.

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.

Indeed, and there also is a DPI scaling option at least as early as Windows 98, on top of the text/widget size configuration. I've used it on a 1200p monitor connected to a Windows 98 box, and it works.

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.

Unpopular opinion: I liked XP SP1. Perhaps it's because I used it mostly offline, so its security issues were far less visible than if I had used it on a T1 line. But from a stability standpoint, XP SP1 was a huge step up from 98.

That would be Server 2012. Took me months to figure out how to restart it via the GUI.

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.

And you could switch the puppy animation to a cat, or a wizard, or probably several other options!

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?"

The proper thing to do in the Windows XP control panel is to switch it to Classic View. No more trying to figure out what category something is in and being wrong half the time, just the same options as you had in Windows 98, plus a few new ones.

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.