1. 2

    That’s a fun comparison, but this is 417 words to make the point “don’t write bad code” :/

    1. 15

      The point is a bit more subtle than “don’t write bad code”. It’s “make less mistakes than your competition”, which is actually a very different place to come from, and implies almost a sense of just keeping above the game, and that one might be able to get a lot out of focusing on a handful of things that are causing most of your mistakes, rather than just Not Writing Any Bad Code.

      1. 2

        I would extend that to “make fewer basic mistakes than your competition.”

        You’re more likely to kill your business by screwing up a database backup or password storage than you are to double your revenue with a 10% more efficient application.

        Of course, what the basic mistakes are and how to avoid them is an exercise left to the reader!

        1. 1

          That’s a good point - re-reading the article, I get what you and the author are saying here.

      1. 4

        Maybe I’m getting old but this story didn’t seem all that compelling. Can you imagine… an internal system for running code? IDK.

        1. 2

          But wait, you’re forgetting the part where it continued to work for twelve whole years. Pure freaking magic!

          (In seriousness, 12 years may be seen as long-lived for a Silicon-Valley-fueled company that sells a webstie. But a bank? Our standards should be a little higher than that.)

          1. 4

            Yeah. I mean it’s “the most remarkable legacy system” and it’s written about banking software. I was expecting a literal dust-closet server from like the 70s or some old guy’s PC in the backwoods of appalachia.

        1. 28

          Proposed tag: ‘classic’

          1. 9

            From the submission guidelines:

            When the story being submitted is more than a year or so old, please add the year the story was written to the post title in parentheses.

            1. 8

              Ah, thanks for pointing that out. This particular story is from 2002. I still love reading it every time.

              1. 7

                “historical” might apply. I had no idea this was published that long ago, and I had never seen it before!

            2. 1

              The very word in my mind as I clicked comments.

            1. 1

              I’m gonna be ‘that person’ - relevant XKCD

              1. 12

                I won’t buy a DRM’d eBook, that’s for sure. I’ve bought one or two DRM-free ebooks before. A few weeks ago I had a similar experience. I wanted to read a particular book and I bought it knowing it was DRM’d. I couldn’t get the thing to work after spending two hours with tech support. I ended up cancelling the order.

                My wife recently bought a kindle and reads lots of stuff on it, and she understands that she doesn’t really ‘own’ the books, but the value is just to tear through lots of content, not to keep the pages forever. I suppose if you understand what you’re buying, and it works, it’s fine.

                But really, DRM sucks. I thought we nailed this down several years ago?

                1. 2

                  Calibre is a godsend for us Kindle owners.

                  1. 2

                    I wanted to read a particular book and I bought it knowing it was DRM’d. I couldn’t get the thing to work after spending two hours with tech support. I ended up cancelling the order.

                    I’m impressed that you managed to cancel the order. Most e-book stores I’ve seen have a policy along the lines of, “you’ve downloaded it, you can’t ‘return’ it or prove you haven’t kept a copy, so we won’t refund you, regardless of whether you are actually able to access the content you supposedly ‘bought’”. I guess maybe devoting two hours of your time to the issue convinced them that it really didn’t work.

                    Like you, I never buy drm-encumbered e-books. I don’t think I have the necessary devices capable of running the stuff required to open them (As I understand it, the calibre workaround referred to in the article requires windows or OS X). By contrast, I happily buy drm-free e-books from publishers such as Manning.

                  1. 3

                    I am new to rss feeds, but recently I’ve been using feedly, it feels like I have discovered a new way to use the internet

                    1. 1

                      Same, I started using feedly about a year ago. It works and it’s free, but I don’t love it.

                    1. 2

                      The best general advice I can give is just this: make sure performance is part of the foundation of your app. Make sure it‘s part of every decision every day.

                      Make sure, in other words, that performance isn’t just a topping — it’s the pizza.

                      I think this is an interesting way to put it. Performance is a “core principal” of NetNewsWire. What other things might be core values of a software project? Some I can think of:

                      • Feature-completeness
                      • UX
                      • Security
                      • Testability
                      • Good developer experience

                      Then there are some other more ‘questionable’ values I’ve seen

                      • Defects are hidden from users, blame users
                      • Tricks users into spending money/making mistakes
                      1. 1

                        I thought of a few more

                        • Metrics (performance)
                        • Analytics (usage)
                        • Tracability (are there logs for when something goes wrong?)
                        1. 2
                          • Accessibility
                          • Composability(heavily related to a couple of others)
                          1. 2

                            These map onto software architecture “quality attributes” which are discussed in detail in the SEI book Software Architecture in Practice. The ones in the book are:

                            • Availability
                            • Interoperability
                            • Modifiability
                            • Performance
                            • Security
                            • Testability
                            • Usability

                            Of course certain domains or projects will have different quality attributes than these, but these ones are fairly universal so they get discussed in detail in architecture.

                            Part of the purpose of software architecture is to get people thinking about these quality attributes and prioritizing them early in the design process because there are usually tradeoffs between them (e.g. performance often comes at a cost of modifiability) and architecture is to some extent about making sure that everyone is on the same page about what the priorities are, so the decisions don’t get made on-the-fly by developers based on their own preferences.

                        1. 5

                          Possibly dumb question: is this different from the serialization that gRPC uses?

                          1. 8

                            Yes protobufs require a schema to use, while MessagePack and JSON are schemaless (or optional schema).

                            After using protobufs for a long time, and seeing how people use them now, an optional schema seems attractive. They have apparently evolved awkwardly into dynamic / reflective use… Apparently gRPC has a reflection service which seems like an awkward workaround for the “schema distribution problem”.

                            1. 4

                              The schema distribution has been pretty much solved, for us, by using a shared protobuf git repo. Go can load that as a dependency without much ceremony, and other langs with a submodule.

                              1. 4

                                Yeah that’s basically how they were designed to be used originally. They’re good for internal use, when you control both sides of the wire.

                                When you don’t control both sides of the wire it doesn’t really make sense IMO. That’s especially true when you’re talking between two different organizations, but sometimes it happens within the same company / org.

                            2. 2

                              Yes, gRPC uses Protobuf’s. Broadly similar idea, different system.

                            1. 3

                              Sweet… I just got a Wacom tablet a few weeks ago and I’ve been really enjoying using it :(

                              1. 1

                                You might consider writing to them and expressing your displeasure about this as a recent customer.

                              1. -2

                                😂

                                1. -7

                                  Hey, if you want to migrate to Office 365 from GSuite, my company SkyKick offers that: https://www.skykick.com/migrate/google-apps-to-office-365/

                                  1. 2

                                    Extremely relevant and he disclosed his employment. Why the downvotes?

                                    1. 2

                                      Shameless.

                                    1. 1

                                      From Reddit:

                                      ability to automatically follow back other instances, statistics in about page, a new ‘Most liked videos’ page, ability to autoplay next recommended video, better search functionality and much more!

                                      1. 2

                                        I really enjoyed watching this talk. I’ve worked in enterprise software for a decade now and it’s become pretty clear that ideas are recycled pretty regularly. It seems to me like software engineering has a marketing problem.

                                        1. 14

                                          My two cents: keep it minimal, focus on content and not on fancy themes.

                                          For my personal website I keep it as simple as I can and I’m quite satisfied. https://github.com/dacav/App-PFT/blob/master/share/templates/terminal.html rendering as https://dacav.roundhousecode.com/

                                          1. 1

                                            I also tried to keep it minimal: https://soc.github.io/

                                            1. 1

                                              I really like that you have things organized into a grid, it makes it so that I don’t have to do a separate search once I’m already on the site.

                                              1. 1

                                                Thanks! It took a substantial amount of time to get the dimensions to 2. :-)

                                            2. 1

                                              I agree with this. It’s roughly what I’ve done with my site as well: https://c.har.li/e/

                                              1. 1

                                                I really like the look of your site!

                                                1. 2

                                                  With a bachelor’s degree, I’ve tripled my starting salary from my starting gig in 2011, from 40k to 120k. I live in the american midwest.

                                                  The top-line advice I can give is that it’s a lot easier to get a pay raise by switching jobs than it is to ask for a raise from your current employer. You just have to be careful not to be seen as a job-hopper.

                                                  1. 4

                                                    I never worked with Ember but I’m surprised at the claim that React has Won. I thought that Angular and Vue have been on solid footings. In the .NET shops I’ve seen, the majority have used Angular for front-end development.

                                                    1. 6

                                                      I’ve never had much connection to the .net world; over in the dynlang diaspora I’ve gotten the impression that React has not just a plurality but a majority share of frontend frameworks. I built a graph with StackOverflow insights and my impression was wrong: React and Angular are roughly equivalent in popularity, with Vue at a third of either and Ember very low. (I’d love to see more sources of data if anyone has them!) Thanks for prompting a better understanding of the landscape.

                                                      1. 5

                                                        React won the hype cycle thus far. People whose understanding of framework popularity is colored by tech news are going to think React is dominant because people talk about it so much.

                                                        There is some correlation with tech chatter and usage, but it’s an imperfect one. Boring technologies that work well don’t get talked about.

                                                        1. 8

                                                          But React is a perfect example of boring technology that work. And it’s already 6 years old.

                                                          1. 2

                                                            As someone who’s never used JS at all up until recently, React is so boring I can almost feel the yawn coming on… and I love it!

                                                      1. 29

                                                        Unions would help remove this chicanery from the already-grossly-imbalanced empower/employee relationship.

                                                        1. 9
                                                          1. 8

                                                            Probably, but unions aren’t a panacea. Unions can lead to some bad things too. From my experience I’m not sure which I prefer.

                                                            1. 33

                                                              Unions are not a panacea, as in they don’t solve all problems and even come with some of their own, but they exist to deal with exactly this situation. This feels a little like discussing an article about nails and pointing out that hammers aren’t a panacea.

                                                              1. 10

                                                                “Unions” as a concept is mainly just “allowing workers to form a structure to gain negotiation power”. There’s thousands of implementations of that concept, which makes it hard to have a discussion about “unions” on that level as much as for “political parties” or “enterprises” globally.

                                                                Even as a business owner, I got a lot of support from my union, which makes me quite happy with my particular implementation, but I appreciate there’s tons of problems even in mine, specifically around my business.

                                                                1. 1

                                                                  By that definition, you might consider callout-blog-posts like these as a form of union.

                                                                  1. 6

                                                                    Where’s the collaborating structure? This is an individuals post.

                                                                    1. 1

                                                                      collaborating

                                                                      Message boards (such as this one) and social media, I suppose.

                                                                      1. 1

                                                                        That’s not collaboration. That’s marketing and communication.

                                                                2. 3

                                                                  Wouldn’t the logical conclusion be to prefer power being more dispersed between employers/unions, rather than concentrated? We should fight concentration of power, as it is always weaponized against us.

                                                                  The only argument I can think of is that the union can interfere at times when they aren’t strictly necessary.

                                                                  1. 2

                                                                    No, the logical conclusion is to prefer power being more dispersed between employers and employees. Unions are one way of achieving that, but they present their own problems which ought to be considered. Unions can pervert incentives. Where I work (UAW) there is no reason to work harder because you will never get ahead from it (unless you’re trying to be a supervisor, but there aren’t many of those). Sometimes people will work really slow to make sure they don’t do better than standard. Our supervisors won’t even tell us “good job today” unless it’s in private because they’re worried about the union. It’s also basically impossible to fire someone no matter how bad they are at their job. I’m not sure we make more money either, the last place I worked started a bit lower but increased the longer you worked there.

                                                                    I pointed out that they aren’t a panacea because I get the impression that the people advocating for them in tech have no experience with them and aren’t fully considering the implications. But maybe UAW is the only one with these problems.

                                                                    1. 4

                                                                      Individual approaches can pervert incentives just as much. It does for example lead to situations where motivations are entirely self-driven. I’ve seen many projects put on hold because people personal goals for the next raise in the company didn’t align with the goals of their team. That included that their goal became meaningless over the year!

                                                                      I’m not saying unionisation cannot lead to weird situations such as yours, but that also usually a sign of a business where this still go too well. For example, when talking to union people in the insurances sector in Germany, they are keenly aware that the whole sector is being automated, so for example some of their strategy is currently bargaining with the employers to migrate people to either other parts of the company or going half-time positions instead of straight-out being fired. Those are very knowledgeable people with high interest in finding a good solution for all sides.

                                                                      I do agree with your reading of union advocacy in tech: most of the time, employees figure out they want to unionise when they already have an open conflict with their upper management. Even if they manage, they will be in a situation where management gives them not quarter (why should they, they didn’t before) and that will also lead to them never giving a win away anymore.

                                                                    2. 1

                                                                      bosses can interfere at times when they aren’t strictly necessary

                                                                  2. 6

                                                                    This threat, along with wage suppression and employee control in general, is why big tech is pushing for more H1Bs for India.

                                                                  1. 3

                                                                    I’m building up my homepage from scratch instead of using a blogging engine. Its nothing ground-breaking, but I’m enjoying the process of doing it all from scratch instead of using an off-the-shelf sitebuilder.

                                                                      1. 1

                                                                        It appears to be both innovation trigger and trough of disillusionment. This is because humans don’t universally hold the same opinion, and because deep learning will prove to be insanely useful in some areas and deceptively useless in others. It wouldn’t surprise me much at all if the recommendation system itself is a fundamentally intractable problem.