1. 2

    I don’t see anything that prevents anyone from fixing these issues on Electron. What is all flame war about?

    I am not happy with Electron apps right now, but it does not mean that they cannot get better. The language, the VM, and the SDK, they are all open source and widely adopted, actively developed.

    Isn’t it exciting that in the near future whether we use Windows, MacOS, Linux, or BSD won’t matter anymore?

    1. 4

      IMO, sure, but only if that doesn’t mean that they’re all dragged down to the lowest common denominator.

      1. 3

        I think VSCode proves that with enough effort, Electron apps can be very, very good. I’m not sure how much of the MS tweaking can be applied generically to the platform itself, though.

        1. 1

          Isn’t it exciting that in the near future whether we use Windows, MacOS, Linux, or BSD won’t matter anymore?

          There is no official support for any BSD in Electron…

        1. 1

          I’d love to read a comparison between RN and Flutter in terms of accessibility, since the latter seems to be gaining traction among the mobile dev community.

          1. 4

            I don’t have a horse in this race, but I suspect the degree to which Flutter is actually gaining traction is pretty overstated. I think there’s a little bit of hoopla around the 1.0 release (and their PR team managed to get some media coverage for it, even from outlets that wouldn’t normally cover dev tools) and a few people are playing with it and taking some baby steps. The rest is probably hype-train developers who’ll blog about anything new to try and build their personal brand.

            It’s an interesting project, but I think we need 6 - 12 months to see if it’s really going anywhere.

            I suspect one of the main outcomes from Flutter will be quicker and less-opaque progress in React Native. Just the other day there was a nice bit of new community engagement from the FB devs, asking people to identify their biggest pain points. So RN devs should probably be cheering for Flutter.

            1. 1

              I have the same suspicions. I’ve worked on a couple of RN apps and for me literally the whole point is to be able to deliver both Android & iOS apps with as little platform-specific code as possible. I’ve kept an eye on Flutter and tried it out at milestone releases and - while it seems overall a lot nicer, the data model and a lot of the framework seems neater from an API perspective, the precompiled approach/live-reload mix is great, and Dart seems generally just better too - the minute I see stuff where I have to choose and code the UI differently between “Cupertino” and Material Design, I just think, no, not doing that. It’s just doubling the work I’d have to do in a bunch of places. Maybe when you’ve worked with it for a while and you know it really well the benefits will outweigh all that, but while it’s trying to compete with a huge base of RN users’ existing knowledge by saying “just learn this new language and toolchain so you can write extra UI code”, I can’t see it winning out. I’m not saying it shouldn’t, or that it’s not nicer and more stable-feeling in a lot of ways, but I just can’t see people going for it wholesale as long as it means more learning and more work. (Which obviously is why JS is eating the world, but there it is.)

          1. 2

            This article overflowing with some remarkable statements but this one is just amazing:

            Front-end development is complex because design is complex.

            Front-end development is complex because HTML grew via tug-of-war processes out of a heavily restricted SGML dialect with bizarre semantic/presentational crossover, CSS is straight-up insane (apart from grids which took >6 years to get implemented sufficiently broadly to have any effect, and its inheritance model and arcane platform incompatibility is still pretty nuts), and JS, though evolving from its original flat-out craziness with each iteration, is increasingly reliant on an increasingly byzantine toolchain to allow it do so, and suffers heavily from a sprawling, fragmented ecosystem perpetuated by extreme quality differentials and rampant wheel-reinvention, partly because people just like reinventing wheels but partly also because square, triangular, ovoid and zig-zag wheels are really bad for driving on. Implementing complex design on top of all that multiplies complexity, sure, but it’s hardly the cause.

            1. 3

              Came here to share a similar sentiment: HTML, CSS, and JS are adopted children with lots of baggage. However, I disagree that this negates the author’s point: “solutions” to front-end development often involve an abstraction over one or more of the three technologies. What separates this from the standard “We can solve any problem by introducing an extra level of indirection …except for the problem of too many levels of indirection.” is the extreme number different abstractions, accelerated bit-rot, and level of inoperability.

              The root problem is that HTML, CSS, and JS are evolving technologies, which slowly erode whatever advantages a given abstraction has to offer. Polymer (which was sold as a library) went through 3 major point releases in three years and is now deprecated entirely. Angular has gone from version 2 to version 7 in two years. Frameworks have turned to micro-libraries to try and cope, but now a given “Angular” or “React” project might use half-a-dozen of different technologies that make them incompatible with another “Angular” or “React” project.

              Even if you try to hew closely to the original language, small differences between the proposal and the eventual standard will result in migraines for any large project. Babel (stupidly) transpiling import to require is a major reason Node.js adopted .mjs for all JS modules. TypeScript began as a straightforward superset of JavaScript, but JavaScript’s enhancements have slowly eroded compatibility and are often superior to what TypeScript is offering. I don’t see how TypeScript can adopt JavaScripts class members and other features without major structural changes for itself and all downstream projects (like Angular).

              I think the current landscape of frontend tools is the result of engineering practices at Facebook and Google: they have siloed technology stacks, large amounts of natural code churn, a monetary incentive to shave milliseconds of load time off of their websites, and armies of developers to service that technical debt. The rest of us want to be able to share code (god forbid data binding work across frameworks!) and not have to worry about major refactors every 6 months.

              1. 1

                All very good points, particularly the last para. Sometimes “the rest of us” get caught in the cross-fire. I mean, on the one hand obviously it’s amazing that we get free open-source tools to use (and that extends to Kubernetes et al on the back-end too), and I think React is pretty great in a lot of ways, but the pace of changes makes maintaining them complex and time-consuming, and in the case of e.g. Kubernetes it’s so heavily engineered that for “the rest of us” who don’t have planetary-scale deployments it can become massive overkill, yet it’s where everyone heads and piles all their support because Google are doing it. (I realise that’s kind of an extreme statement because there are plenty of people with larger deployments who benefit from it and even a small deployment can benefit from some features, but I think the general point stands.)

            1. 0

              Excellent, the threads on this post have finally given me the impetus to filter out practices, thanks for that

              1. 10

                Interesting, especially the connection-preserving-ID mechanism. Though I wonder what the overlap with application layer sessions will be.

                So will other protocols be able to piggyback on this new transport or does everything have to be HTTP from now on?

                1. 9

                  QUIC as a transport is defined independently from HTTP so you can layer your own protocol on top of it.

                  1. 3

                    (…) does everything have to be HTTP from now on?

                    Yes. As much as I don’t like the mono-protocol it seems big IT players (Google etc.) are investing heavily in everything that relates to HTTP: TLS 1.3, HTTP/2 then /3, Certificate Transparency, ESNI. Of course all of that doesn’t strictly need HTTP but using HTTP has several advantages: it’s more private as the traffic looks like “normal” browser sessions and it’s easier to write good clients as basically all programming languages come with HTTP libraries out of the box.

                    Some small protocols already already piggy-back on HTTPS: MTA-STS and Web Key Directory access stuff only through HTTPS where previously DNS would be used.

                  1. 3

                    Working on data services for an app prototype using postgREST and react-admin via the excellent subzero postgrest starter kit. postgREST really is an amazing piece of software, and the starter kit not only cuts out a lot of setup boilerplate but also provides a lot of really useful structure, plugging in openresty so you can pre- and post-process API requests & responses. Having to do a bit of plumbing getting the postgREST adaptor working 100% with the latest react-admin version, but it’s well worth it - in about 3 days I’ve done what would have taken weeks not that long ago. Sure, within a decade or so I could have churned out a Rails or Django admin backend mostly automatically, but doing it this way means you have a super-flexible, rock-solid API to use in the actual app pretty much for free, and can then do most of the admin system declaratively using react-admin, which seems a lot more easily configurable than the straight-HTML admin tools. Pretty great.

                    1. 2

                      I’ve been following the cryptospace since the BTC whitepaper, and I barely understand most of the words in the linked article. I guess this is what old school C hackers feel when confronted with Node.

                      Apparently Avalanche (itself just released) is “intolerable” for real world use due to an “Achilles heel” (never explained), so this also brand new software can be used instead, like a Swiss army knife full of tools you’ve never heard of.

                      1. 4

                        Not to mention “WE REWROTE THE WHOLE THING FROM SCRATCH 4 TIMES IN 8 MONTHS! AWESOME!”. And “whoa, we managed to get 10k t/s for a distributed transaction mechanism out of nearly 1k vCPUs and 3.5TB RAM, all provisioned in the same locally-set-up GCP VM environment so maybe even partly running on the same physical hosts”. Wonder how that’s going to scale out to N mobile phone CPUs around the world connected over 3G/4G.

                        Even so, I’m kind of intrigued by the idea, I’ve had thoughts about a global rent-CPU-time grid for ages, and this at least seems to take out the crazy energy wastage implied by proof-of-work sums, but one wonders if the renting-it-out will tend towards all connected nodes running full-fan 100% of the time, meaning the energy gets chomped anyway. At least it’d be as a side-effect of actual (potentially) useful work being done, rather than just table stakes to be part of a network revving hard in neutral 24/7. Will be interesting to see whether it does just disappear after 6 months like you said above. Won’t be surprised if it does, will be intrigued if it doesn’t.

                        1. 1

                          I’ve had thoughts about a global rent-CPU-time grid for ages

                          Honest question: what would such a grid be useful for? Like Elastic Cloud, but not under one owner?

                          1. 3

                            Well yes, but more than just search. Like the internet, where if you have an IP connection you can join in, but with processing service provision - you’re a node (or bunch of nodes) in a grid, you can use your processing power when you want, and when it’s idle, other people can rent it, and there’s a grid management layer than handles all this, distributed, federated. You have units that you earn when you rent your power out and spend when you rent other people’s out, and maybe exchange for other things (goods, services, money) if/when you want. There are interchanges/on-ramps where people who want to have jobs run can submit them, and specify how much power they want to rent. People can build services on top of this, which would be equivalent of apps or services, some just APIs, some user-facing. Basically it’s AWS/GCP/etc but with the computing power provided by the members of the grid and with the billing and provisioning managed by the grid and distributed among the grid members according to use. I guess like a smart energy grid but for processing/computing service. Take all the wind out of the centralising giants’ sails, distribute everything; computation happens local to where you need it. So for example you pay to use one of the services built on top of the grid; it submits your work to the grid and it gets executed near you, and it manages billing the service provider and your billing to them, or maybe they have an interchange with and external money system, but ideally this gradually eases that out. Data access and locality is obviously a complex issue. Loads of other issues too. Loads of complicated crypto to manage all the rights and actions and permissions and grants etc. So a way off. But basically an open-access distribution layer of job management on top of Internet which exposes all the insane amounts of idle power across the network that people are buying and leaving in their pockets or wherever, and distributes value into the market and returns it to its participants rather than extracting it up the chain like everything in the whole damn world is designed to do right now. Pipe dreams I guess but c’mon, I don’t know about you but the co-opted shit-show we’re dealing with right now is not what I signed up for when I saw the Internet in 1994.

                            Haha, oops, I knew that would turn into a rant! ¯\_(ツ)_/¯ Been thinking about it for 20 years now so it kind of pops out whenever it gets a chance…

                      1. 3

                        Just downloaded and installed this in a VM on MacOS after seeing this post. Basically ubuntu with an actually pretty nice UI toolkit effort and all the ubuntu repos. No doubt some other differences under the hood too. Default browser seems reasonably slick, and firefox runs smoothly. Interestingly as soon as it booted up I got a warning from Oversight on MacOS that the microphone was in use. Which seemed a bit odd for an OS touted for privacy; maybe just a VM thing. Anyway, seems like a pretty viable option for bringing older machines back to life. Thanks for posting, I never remember to check for updates on these sorts of projects and at this point Elementary seems pretty solid, from the (elementary!) check-out/test I did.

                        1. 3

                          VM doesn’t really do it justice, I would recommend that you at least try it using a live USB.

                          The microphone thing is weird, do you remember any more details? when did it happen during the boot process?

                          1. 3

                            Hiya, was just going to update this thread that I did try it in a live USB this morning, on a non-retina Macbook Air 13” and a retina 15” MBP. Looks great and works really well, especially on the higher res. Pretty impressed really - it seems really viable as a day-to-day OS, the UI toolkit and a lot of the OS-level touches are great, especially for a Mac user. Great work!

                            Tried the VM again just now to check the microphone alert, it happens right before the desktop picture displays for the first time.

                            1. 1

                              Awesome!

                              Interesting, I’ll experiment to check if that was due to the kernel/underlying system checking USB/devices. Which virtulization software did you use on the mac?

                              1. 2

                                Cool - Virtualbox, latest version installed via brew on a new High Sierra install at the weekend.

                                1. 1

                                  Circling back on this - just noticed the same audio warning during the boot process when running another VM. So that seems like it’s nothing to do with Elementary :-)

                          2. 2

                            Thanks for mentioning Oversight, I was just looking for something like this.

                          1. 5

                            Stack overflow is where sensible questions go to be closed by tiny people impressed with their moderation powers.

                            1. 4

                              The only sub-community where I’ve noticed this happening was the C++ one. They were often quite rude, and given the fact that they had a lot of power and recognition on the site, it could look intimidating.

                              Other than that, I find SO to be great as a community. Can’t really recall seeing questions closed unless they really deserved it and unless there were at least some salvaging attempts.

                              1. 3

                                Generally SO is great for getting answers but I have seen many good questions getting closed for no apparent reason, and sometimes deleted. Often in the latter case it seems that they were deleted because they hadn’t been answered, and a Q&A site with no As isn’t much use. Also I’ve seen editing of questions and titles that just don’t match the original intention, presumably because the editors think they know better (they don’t seem to know the answers though!) or because they just want to get their gold star counts (or whatever it is) higher. The site is pretty great in a lot of ways; people less so.

                                1. 4

                                  One irritation I come across far too often on Stack Overflow is related to the “XY problem”.

                                  Somebody asks how to do Y. Through discussion in the comments, people work out that what they actually need to do is X, they just thought Y was the next step on the way to X. They accept a do Z instead answer as correct and go away happy.

                                  Then when I search for how to do Y, I just get hundreds of Stack Overflow answers which claim to be answered questions about Y, but in fact the ‘answer’ is do Z instead, which isn’t helpful when you really want to do Y.

                                  1. 2

                                    I had this exact same scenario just a few hours ago :D

                                    Sometimes it’s helpful to suggest alternative solutions, but they don’t always apply.

                                    But even worse are the questions that are just left hanging; maybe the OP gave up and walked away, or solved it, or found another way, but we’ll never know.

                                    That’s not a problem only for SO but pretty much any forum where you can ask for help.

                                    1. 3

                                      From the article:

                                      Stack Overflow ultimately has much more in common with Wikipedia than a discussion forum

                                      Ironically, an actual wiki doesn’t typically suffer from this problem. If the content of a wikipedia article doesn’t match the title, then it’s simple enough to either change the title, split out the off-topic content into its own article or simply delete it. I’m not sure the question and answer format lends itself so easily to being fixed:

                                      • The question asker gets to choose which answer to accept. They will normally be biased towards answers which help them solve their problems over answers which stick to the letter of the original question.
                                      • Often, the question asker accepts an answer which is adequate, then a better answer is added later.
                                      • If the answer doesn’t actually answer the original question, it’s not trivial to ‘make up’ a question to match the answer.
                                      • Having both questions and answers clearly labelled with the user who wrote them doesn’t encourage collaboration. It suggests, “you can add your own answer”, rather than “help improve the existing content”.

                                      Whatever their aspirations, Stack Overflow appears to be stuck being a discussion forum for now.

                                  2. 1

                                    I have seen many good questions getting closed for no apparent reason

                                    I always see people saying this but is it really true? I have been using SO for so long and have never seen unfair treatment of questions except in the C++ case I mentioned. I’ve seen many cases of closing that were totally justified though. Furthermore, the bases of these justifications, SO’s precise guidelines for relevant content, seem spot-on.

                                    It seems just a tad bit suspicious that people are not confusing precise rules that take actual effort to follow (it’s not a forum) for arbitrary rules.

                                    1. 1

                                      Sure. I and all the others who are “always saying this” could absolutely just be mistaken or just not reading the rules properly or any one of a range of other possibilities that makes them all wrong.

                              1. 1

                                Apple Mail - both laptop and phone.

                                1. 1

                                  Same. The broken unread counts on IMAP mailboxes in iOS are an annoyance, but nothing more. Nothing else is sufficiently better to make it worth bothering with.

                                  1. 1

                                    I don’t think I’m aware of/noticed that issue? But yes - I’ve never quite understood the hoopla over the come-and-gone mail clients that feel the need to use a customer queue to generate buzz.

                                    Then again, I typically use apple apps for most tasks that they have a solution for.

                                1. 5

                                  GMail in the browser.

                                  1. 1

                                    thoughts on the new redesign?

                                    1. 1

                                      I was using Inbox until a few weeks ago. So my current thoughts are “this was so much better before” :-)

                                      1. 1

                                        As every time they push a new version that we have no choice but to get used to. Or just use IMAP, still.

                                  1. 3

                                    How much do you want to be a better developer? What are you willing to give up in pursuit of this?

                                    To start, you need to be able to look objectively at how you work and ask yourself, “is this really the best way to be attacking this problem?”

                                    You cannot look at what everyone else is doing, unless you have excellent coworkers: the accepted practices of the industry are staggeringly mediocre at best. From a code quality perspective, people routinely defend massive coupling, poor cohesion, and balancing critical business logic precariously atop mountains of dependencies in the name of pragmatism. They compromise on quality, skip writing tests, and then brag about the fact that they shipped code without doing those things, perhaps as a way to signal the fact that they’re willing to subordinate their own pursuit of quality in the name of the almighty Business.

                                    1. 1

                                      How much do you want to be a better developer?

                                      I have a really hard time focusing on code and liking coding, and I seriously wonder whether becoming accomplished within my team would cure me of both. In short: If it means I can finally enjoy my job, I would like it very much. 🙂

                                      What are you willing to give up in pursuit of this?

                                      Answering this personally, I feel like I’ve already sacrificed too much. Working 60 hours/week plus 24/7 on-call 1 week/month doesn’t give me a whole lot of extra time to become a better engineer without sacrificing hobbies or relationships. Plus, I’m studying at college to finish my degree at the same time.

                                      1. 6

                                        I just came to this. Seriously, 60 hours a week? Like, 12 hours a day Mon-Fri? Sustained over time? I honestly don’t know how anyone expects anything other than total crap out of you. I mean, sure, if 6 hours of that are surfing the web, then fine, but if so, why not just do 6 a day/30 a week of good work and do the web surfing at home? But if not, if that’s actual concerted effort, then it’s just not possible to maintain that level of attention and concentration and come up with anything of any kind of quality worth having, and you shouldn’t be surprised you’re finding it hard to be productive. I’ve done that kind of hours in stints, and while it’s manageable for a short period if there’s a very specific reason, longer term it’s just not sustainable. And I’m kind of a robot. Let alone 1 week out of 4 on call 24/7, on top of all that!? Seriously, that’s insane. Anyone who tells you otherwise is just lying in order to further their agenda. Seriously. Fuck ‘em. Quit. Find something else. This is literally just a recipe for burning out and destroying any confidence you have left (as you’re discovering). Fuck it. Nothing’s worth that. And sure, maybe other people are sticking with it and appearing fine, but … that’s their lookout. Screw that kind of peer pressure. Not worth it. Walk out. Work in Chick-Fil-A.

                                        1. 2

                                          Admittedly, I factored in commuting into that number. But yes, I leave home at 8am and get back home around 8pm. My actual “at work” hours are from 9am to 7pm. I clicked through to your website and see you’re in the UK—it’s (sadly) not terribly uncommon for these kinds of work hours to happen in the US, and especially in my area of the US (SF).

                                          Chick-Fil-A would not even come close to paying the rent, is the thing :)

                                          1. 4

                                            Well I lived in the US for 4+ years, including 2 in NY (with its nuts work culture) and a several-month stint in SF, so I do have a feel for it. And sure, Chick-Fil-A was an overstatement ;-) - but seriously man, there’s an agenda there of people telling you that you need to work those kind of hours, and it’s not even a smart agenda, because it genuinely does end up with less valuable output. Even 10 hours straight is too much, even with a 1hr lunch break. (Especially with the whole 10-days-a-year vacation thing, c’mon, seriously.) I mean, obviously, doing a few hours extra here and there because you’re into the thing you’re doing, or because there’s a deadline looming, sure, no biggie - but as a sustained timing, with that as an unspoken expectation (especially if it’s the unspoken kind), it’s just not worth it, and I think you should find somewhere else. But of course I understand the rent issue. It’s a fucker. Just worth looking into finding somewhere that is more realistic about what actually gets good results and ends up leaving people feeling like they’re valuable.

                                        2. 5

                                          That context changes things significantly. Balancing 60 hours a week (plus on-call obligations) with getting your degree, relationships, and taking yourself is a LOT. Do you want to be doing all of that? If the answer is no, I’m not sure if getting better at coding is going to fix this.

                                          I have a really hard time focusing on code and liking coding

                                          I would sit with this thought for a long while, however uncomfortable. If your discomfort comes from wanting to be better, then that’s a different thing entirely from, “I don’t want to be doing this type of work.”

                                          I feel like I’ve already sacrificed too much

                                          I just want to call this out to affirm it.

                                          1. 2

                                            Thanks for your response. I really do want to get better, because I need my job to pay for my degree and I get a lot of personal satisfaction around being good at what I do, even if my time as a developer is temporary.

                                            For context, I only take one class a semester which equates to about 9–10 hours/week.

                                            I would sit with this thought for a long while, however uncomfortable. If your discomfort comes from wanting to be better, then that’s a different thing entirely from, “I don’t want to be doing this type of work.”

                                            It IS uncomfortable 🙂. I’ve spent five years in this field and the idea of leaving is hard because the money is better than a lot of other professions. I took a career aptitude test recently and I got “Author” and “Astronomer”—both unrealistic careers IMO.

                                            The worst part though, by far, is that I used to love coding. If I could unlock it again it would solve a lot of problems for me.

                                            1. 3

                                              If you are motivated intrinsically by delivering quality software and meeting the needs of your users, you have some things you can chase down. Those two things are what sustain me working in a business software development environment. I try to ensure that at the end of the day I worked as best I could to my standards. Nobody can take that away from me. When I use practices such as breaking features into discrete modules, TDD, good domain modeling, and functional core/imperative shell, I move about as fast as I possibly can while feeling confident in the code I ship.

                                              On the other hand, if a shop wants me to shove all my code into Rails controllers and clean it up later, then I’m not a good fit for it. Because of this, I actively avoid certain ecosystems because they encourage this behavior.

                                              I hope this is helpful. Navigating career uncertainty is difficult and I wish you the best. Please let me know if I can be of further assistance.

                                              1. 3

                                                This has been extremely helpful—thanks so much for your response. 🙂

                                              2. 2

                                                So what was it about coding that you loved? And what is it about coding today that you don’t love? It may be that you are not doing the type of coding you love.

                                            2. 3

                                              This information is very relevant to the question, and changes the dynamic a lot.

                                              How many of these situations apply to your co-workers?

                                              If you’re the only person who is also going to college, then you’re going to be slower than your co-workers, they have less to worry about.

                                              I’d also look into ways that you can spend less than 60 hours at your job, unless there are other, good reasons to do so. That might involve time boxing things at work more, changing your estimates, and/or conversations with co-workers who aren’t on your team, or scheduling more aggressively for yourself.

                                              Without crazy drive combined with mixing up work so that it’s not always crazy hard stuff, and oftentimes even with both of these, working much over 40 hours a week will slow you down in the long run.

                                              I would spend some time thinking about why focus is difficult. Is it always difficult? Have there been situations where it isn’t, and if it wasn’t, do you remember why? What got you into software development in the first place?

                                              1. 2

                                                How many of these situations apply to your co-workers?

                                                Haha, that would be none of them. I find most people in our field are confused why I’m “wasting my money.” The reason I give them is that I’m future-proofing myself against an economic recession.

                                                I’d also look into ways that you can spend less than 60 hours at your job, unless there are other, good reasons to do so.

                                                This part is non-negotiable unfortunately—a cruel reality of a startup needing its next round of funding in addition to the more “performative” aspects of our field (leave after your manager, look busy, etc.).

                                                I would spend some time thinking about why focus is difficult. Is it always difficult? Have there been situations where it isn’t, and if it wasn’t, do you remember why? What got you into software development in the first place?

                                                It wasn’t always difficult. I for the first two years of my career I couldn’t stop thinking about coding. For some reason, once I moved to the SF Bay Area (three years ago) something in my head switched (whether it was the new job or new location, I am unsure) and now find coding pretty grueling.

                                                1. 3

                                                  So, some thoughts I have, with a huge caveat that this advice may not apply 100%.

                                                  Big picture thoughts:

                                                  Well, I would consider a job or a location change long before I’d consider leaving the field, if only because being in this field gives you a lot of options for both. The working environment can change a lot about how things go.

                                                  I’ve worked remotely and on-site and your manager and co-workers can make a huge difference in how your day-to-day goes. Do you have co-workers you can trust to try to work through these issues with? If the nature of the startup is such that there isn’t enough time to assess things at a deeper level than “I’m slower than my teammates” with your co-workers? A startup isn’t always the best place to try to grow skills as a developer, especially if you’re not motivated by the company’s vision, or how things are run. If you don’t have much scope to change either at the company, it might be worth considering finding either a different team, or a different company to work for. That’s not a move I’d take lightly, but it sounds like there’s a decent amount of disconnect between you and your job at the moment, and that it’s been going for a while long-lasting disconnect. I would especially consider this if you’re not in an organization where you have someone to help mentor/challenge you through the issues that might be affecting your productivity. A change of scenery can help a lot of things.

                                                  Tactical Thoughts: If this is a long-term issue, it’s not going to resolve itself overnight. Some thoughts for the here and now (YMMV, I don’t know what all of this you’ve already tried) If you’re stuck with 60-hour work weeks, I’d make double sure that you’re also doing things to take care of your body, like getting short bursts of exercise (anything to get your heart rate up a bit), and/or getting away from your screen at least once every two hours. I’ve found that taking breaks is a good way to break cycles of distraction. Try to set up boundaries so that you have blocked out times (when not on call) of not having to think about work.

                                                  Also, try mixing things up at work as far as approach goes. That might be problem solving on paper, it might be talking through things out loud, it might be tracking where you spend your time, it might be shifting the hours you actually try to do deep work vs lighter work, either so that you’re not distracted by co-workers, or so that. I also like to mix up the keyboard and mouse I use, personally, so avoid RSI from always being in the same posture. YMMV.

                                                  Finally, if you can, ship something small, but meaningful, as a side project outside of work, and do it to the utmost best of your ability. It could be a single static page with a bit of Javascript that helps automate a small part of your day, or a desktop application that does something you need done. Not so that you’re accomplished, but so that you have a reminder that development doesn’t have to be done the way it is at your current job. If not, just remember that there are lots of other opportunities out there.

                                          1. 7

                                            This is a fantastic post. I’ve been meaning to try out some non-trivial PostGIS functionality, and this is amazing.

                                            It’s also a little disheartening for someone like myself to start a project such as this, mostly due to the fact that a huge amount of the setup involved is finding the right shapefiles for what you’re hoping to accomplish.

                                            1. 6

                                              I did a project last year where I finally had a good reason to knuckle down to learning some PostGIS, and I found out exactly those two things:

                                              (1) PostGIS is amazing, especially with the QGIS integration. It allows you to perform what seems like magic in terms of processing times on layer calculations compared to the ArcGIS or QGIS+python-script world, spitting back out perfectly-transformed QGIS layers in double-quick time. It’s also surprisingly approachable; from a standing start, a lot of it does seem like magic, but once you get your head round the fact that it’s “just” a bunch of clever hashing and smart indexes, and all just in SQL, meaning you can do some really interesting stuff by “just” joining on those fields and using those provided functions, the magic fades away and you can get what previously seemed like really complex stuff done pretty quickly.

                                              (2) Oh man, yeah, the dearth and spottiness of public availability of data for this kind of regulatory stuff is really, really painful. The sheer fact that most US stuff is broken down into totally irregularly-sized and -scaled legislatures is bad enough, let alone the fact that each one makes its own call about what data to publish and how. Don’t even get me started on LA cities and counties. Let alone the Valley.

                                              But seriously, the fact that there are so many GIS-vs-SQL wizards actively involved in the ongoing development of an open-source tool like PostGIS is a pleasure to behold. That sort of thing really is the pinnacle of what a technologically advanced civilisation is about. (Excuse me, I think I have a speck of sentiment in my eye.)

                                              1. 4

                                                I fooled around with some shapefiles a few years ago for a personal project, and it legitimately took 10x more time to source the shapefiles (or other formats that I then had to figure out how to convert to shapefiles) than the very simple thing I was trying to accomplish in the first place.

                                            1. 2

                                              I had three original bluebudsx from jaybird. Lasted me 5+ years until I put them through the washing machine 2 months ago. I haven’t pulled the trigger on an expense jaybirds replacement because I’ve heard newer models don’t last so long.

                                              I bought a cheap $15 BT in-ear headphone set from Amazon, sound quality is so poor compared to my old jaybirds.

                                              1. 2

                                                Bizarre - a while ago, I put my 2-year-old BlueBuds X through the washing machine too. But they worked just fine when they dried out. Seriously - I’d already ordered a pair of X2s because I assumed I’d killed them, but I thought “might just give it a try” and bam, they worked just fine. They keep their charge really well, so now they’re a backup for when I forget to charge the X2s. If you haven’t tried the Xs since you span them, it might be worth a go. If you have already, or if they still don’t work, I prefer the bass on the X but the overall fit, sound (esp. clarity in the mid & top) and the controls are better on the X2. Worth the cash. Dunno what the X4 are like but the price is dropped (in UK at least) and if it’s as good an improvement as between X and X2 then I reckon they’ll be worth it.

                                                1. 1

                                                  I tried to use them and charge them but only got the red light of Death from the On indicator whenever they were turned On.

                                              1. 1

                                                I do like it. Particularly when a big one falls in the middle and knocks everything around. It makes me want to snigger like Beavis & Butthead. Hurhrhrh. Thanks!

                                                1. 1

                                                  Well, I just got the update notice and came here to post the release notes here with pretty much exactly what @xfbs did. Personally I think this was atrociously badly handled. I’m generally pretty careful about reading release notes and warnings and yet the big red “THIS OPEN SOURCE SOFTWARE IS GOING TO START CHARGING YOU” message was a total surprise to me. Beta phase? Well, OK, sure, that’s par for the course, but … Trial? Eh? What? Maybe I missed it (well, apparently yes, I definitely did), but it must have been pretty darn easy to miss if so. The open letter is pretty terrible too, just complaining about what a bad weekend they had after they massively misjudged this whole situation. The silly thing is I don’t believe for a minute they intended to deceive people, but boy, it sure is easy to read it that way, and ultimately the effect is almost as if they did. Very poor.

                                                  1. 1

                                                    Oh, and - my Mac’s not even compatible with Mojave, so why would I want a suddenly-paid upgrade to support an OS I can’t even use? Can I just stick to 2018.3? But will I get “update now” reminders every day? And what happens with security updates if I do? I completely understand wanting to get paid, and it really does make GPG much more usable(/bearable) on Mac, but … yeah. Just really badly handled.

                                                  1. 2

                                                    Exciting! Will this boot from a USB drive on an Intel Mac, or does it need to be on a hard drive with reFIt etc?

                                                    1. 4

                                                      It should work on either. However, I’ve heard reports that the XHCI drivers don’t work properly on recent Macs… so, your mileage may vary.

                                                      1. 3

                                                        Great - I’m hoping to run it on a few-year-old MBA so should be cool. Looking forward to trying it out. Thanks!

                                                    1. 2

                                                      Self-hosted on Debian using iredmail. Used to run my own exim/MySQL setup for years (& qmail before exim), but decided to switch hosting provider and do everything fresh with all the latest everything. Started getting deep into research on imap and smtp servers and spam and antivirus filters and dkim and dmarc and … eventually just gave up and used iredmail, even though it uses postfix (which I’d avoided for years because of the whole djb/Venema spat). It’s really easy to set up, uses secure protocols by default in every part, still let’s me have complete control over it all, and gives me roundcube webmail for free (even though I barely ever use that, mostly imaps). I’ve been running it for about 2.5 years and never ever have to look at it apart from the odd upgrade, which is reliable & generally works pretty easily too.

                                                      1. 4

                                                        Hopefully they only hide www. when it is exactly at the start of the domain name, leaving duplicates and domains in the middle (like notriddle.www.github.io and www.www.lobste.rs) alone.

                                                        1. 43

                                                          How about just leaving the whole thing alone? URI/URLs are external identifiers. You don’t change someone’s name because it’s confusing. Such an arrogant move from google.

                                                          1. 11

                                                            Because we’re Google. We don’t have to care know better than you.

                                                            1. 3

                                                              Eventually the URL bar will be so confusing and arbitrary users will just have to search google for everything.

                                                              1. 5

                                                                Which is of course, Google’s plan and intent, all along. Wouldn’t surprise me if they are aiming to remove URLs from the omni bar completely at some point.

                                                            2. 3

                                                              It’s the same with Safari on Mac - not only do they hide the subdomain but everything else from the URL root onwards too. Dreadful, and the single worst (/only really bad) thing about Safari’s UI.

                                                              1. 3

                                                                You don’t change someone’s name because it’s confusing

                                                                That’s why they’re going to try to make it a standard.
                                                                They will probably also want to limit the ports that you can use with the www subdomain, or at least propose that some be hidden, like 8080

                                                                1. 2

                                                                  Perhaps everyone should now move to w3.* or web.* names just to push back! Serious suggestion.

                                                                2. 1

                                                                  Indeed, but I still think it is completely unnecessary and I don’t get how this “simplifies” anything

                                                                1. 1

                                                                  Wasn’t sure if this was really on-topic, mainly wanted to see what lobsters think about the idea of Google & Amazon voluntarily doing this, particularly given Google’s reported China search plans.

                                                                  1. 4

                                                                    I feel it’s inevitable that somebody breaks some service’s security using SNI/Host confusion. I’m not sure what the attack looks like, but I know it has to happen. :) Something like cache poisoning maybe. https://portswigger.net/blog/practical-web-cache-poisoning

                                                                    1. 3

                                                                      I run an SSL termination endpoint with multiple domains on it. I would not, in a terms of service sense, permit one of those domains to domain front by setting the SNI field to another domain I was incidentally also hosting. I do however have a domain that does nothing but handle SSL/TLS requests when there is no SNI field. It allows my endpoint to gracefully degrade in to an error message that can be delivered via https. Typically this would only happen with old and deprecated SSL software and connections, but I wouldn’t be bothered by a domain owner using this already dedicated domain in their SNI field if they wanted to.

                                                                      I’m a long way from having the problems or concerns highlighted in this article, but you did ask what folk thought.

                                                                      1. 2

                                                                        Makes sense. Thanks :-)