1. 23

    I had a preliminary lunch interview once with a potential candidate. He was nice enough to me but rude to the wait staff, never said please or thank you, and would just hold his glass up without looking when he wanted a refill. When the waitress made an honest mistake he grudgingly accepted a replacement drink and then told me about how you “can’t get good service anywhere in this town.”

    Needless to say I didn’t hire him.

    1. 21

      He was nice enough to me but rude to the wait staff

      I’ve been telling young women to watch for this for years. Get this supposedly dream guy to take them somewhere involving servants or some perceived lower class. Preferably a busy time where mistakes might happen. Watch how they treat them. Although some habitually fake this, lots of assholes out themselves when they have targets who can’t easily defend themselves. One might also look at it as a position of power they just have to abuse for fun.

      I don’t know how often it works for most I tell. I have heard some good things. I see it myself plenty, though. Waiters, receptionists, store clerks, customer support… anything like that.

      1. 9

        The CTO who hired me at my last job told me he would always break his half hour interview up into a twenty minute interview with him that was always preceded by a ten minute interview with his secretary: “oh, sorry, Mr. Xxx is running late, can I get you a water or show you the restrooms?”

        He suggested that this lead to at least one no hire and that made the exercise infinitely valuable.

        1. 5

          There are seriously people like this? I thought this only happened in movies.

          1. 1

            Remember kuro5hin? That guy would’ve been one of the polite ones on there.

            1. 1

              Really? My recollection of that site wasn’t as bad as yours seems to be…

          2. 2

            In a recent post-interview dinner I had with some of my future teammates and VPs, they shared similar stories of rejected candidates. It’s anecdotal without a proper study, but I guess this happens quite a bit.

          1. 2

            I can just feel the glee with which Mr Hilton wrote this. I’m glad he was able to pass it ;)

            1. 40

              I’m really thankful for lobste.rs as an alternative to the echo-chamber of hacker news. Great community, great moderation, productive and healthy conversations: that’s a lot to ask for from an internet community and you can find it here.

              1. 32

                I’m glad to have a place to talk about programming and computers without necessarily bringing in the “tech industry” part.

                1. 5

                  This is made possible by vigilant flagging! :)

                  1. 3

                    I can confirm since I see it in Recent regularly. There’s about a handful of you hard at work at that for years. Usually get to it before I even see it. Appreciate your efforts.

                  2. 2

                    A thousand times this!

                1. 8

                  I love blog posts like these even if I mostly don’t understand them.

                  1. 14

                    I really dislike websites that don’t even pretend to work without javascript enabled. This site gives you a 100% blank page with JS disabled. They don’t even bother to tell you, hey, we hate your non-JS ways, so you can’t play here. Who cares about accessibility or sanity.

                    1. 8

                      I imagine being a website for javascript developers, they don’t bother considering users that don’t have js enabled. Not that I agree with that sentiment.

                      1. 8

                        It’s just a discourse server, and a relatively vanilla one it seems at that. Whether nojs works is probably just however much discourse is designed to support it, and not a decision of npm.

                        EDIT: Discourse supports nojs fine, zie’s browser is just misconfigured

                        1. 4

                          Just to wrap this up, I agree, my browser is sort of misconfigured, I used uBlock Origin with the global setting, and it does not work, nor does imgur, and a bunch of other websites.

                          I went digging around the various extensions/addons for other options, and I settled on LibreJS[0].

                          similar to noscript, it allows some JS to run, but unlike noscript it doesn’t automatically trust random corporate websites just to make users lives easier. Plus the UI is a lot easier than noscript, and allows one to easily see the source of the JS(both the URL and the actual JS source code) before whitelisting it..

                          So I think this is maybe the best of both worlds. imgur and other sites basically work, you can easily whitelist specific things as needed, and by and large most every JS 0day exploit will be a non problem.

                          Thanks everyone for helping me better understand the crazy insanity that is browsers and JS these days.

                          0: https://addons.mozilla.org/en-US/firefox/addon/librejs/

                        2. 4

                          This reminds me of the brief time I was working for a media company. Developers needed to interface with ads servers and nothing worked until they disables ad blockers… :D

                        3. 3

                          You must be one of those wierdos that prefer plain text email.

                          (I’m genuinely not being an ass, I’m a wierdo just like you)

                          1. 3

                            It’s almost like the content of the email is what I’m there for :)

                            1. 1

                              Maybe I am :) hehe

                            2. 2

                              That’s strange, it worked fine for me https://i.imgur.com/lmC3FID.png

                              1. 2

                                imgur doesn’t work without JS either :P

                                1. 2

                                  I linked you directly to the image, there is no html let alone javascript on that URL. You can curl it if your browser is misconfigured to just block all imgur domains.

                                  Relevant headers:

                                  HTTP/2.0 200 OK
                                  last-modified: Fri, 28 Jun 2019 15:07:43 GMT
                                  content-type: image/png
                                  date: Fri, 28 Jun 2019 16:08:22 GMT
                                  server: cat factory 1.0
                                  

                                  Cat Factory 1.0, great name for a web server.

                                  1. 4

                                    Imgur has been redirecting direct image links to the main site for a while now (see https://minimaxir.com/2014/02/moved-temporarily/.

                                    I couldn’t reproduce the redirect using curl, but clicking that link on the browser will go with the redirected version.

                                    1. 2

                                      It depends on your user agent and accepts request headers.

                                      1. 2

                                        From FF, it redirects to the full page, and the image doesn’t display(assuming you have JS totally disabled). Which makes imgur totally broken, the entire point of using a site like imgur is the showing an image.

                                        AKA imgur is totally unusable without JS for anyone in a browser.

                                        The noscript FF extension and others actually do allow some JS to run, by default, to fix broken sites like imgur.

                                        But uBlock Origin, which totally disables JS(if you set it as a global default) imgur doesn’t serve it’s primary purpose of showing an image.

                                        Unless you re-think their primary purpose is to make money, not show images, and then maybe they are doing just fine.

                                        1. 2

                                          From FF

                                          You’re already using an adblocker I recommend you try UA switching.

                                          Unless you re-think their primary purpose is to make money

                                          This is the goal of every business, for worse or, well, for worse.

                                2. 2

                                  It seems to be a difference between disabling JS and just blocking scripts. zie, if you’re uMatrix, you can enable ’Spoof <noscript> tags` in the ‘…’ menu to be able to see the noscript block of the page.

                                  Edit: <noscript> was getting eaten by the markdown parser.

                                  1. 1

                                    disabling JS and just blocking scripts

                                    OK I think what you are saying here is 1st party JS vs 3rd party JS? Or are you trying to say something else?

                                    I’m not really up to speed on JS and browsers, as I basically just leave it disabled all the time unless I really need to see some site that requires it.

                                    I use Ublock Origin, and it’s settings near as I can tell is just all on or all off.

                                    1. 2

                                      In HTML there is a <noscript> tag where content is shown if the web browser doesn’t support javascript. For some reason your blocker is blocking the noscript tags LOL

                                      1. 3

                                        Not that it’s blocking it specifically, more that js is “enabled”, but just prevented from loading, so the browser hides the <noscript> blocks as it it normally would.

                                        Weirdly though it sounds like uBO should make the browser show noscript tags: https://github.com/gorhill/uBlock/issues/308#issuecomment-417812479 Maybe “that new per-site switch” isn’t what you’re using, zie?

                                        1. 2

                                          Right, I disable JS globally, not using a per-site switch. the per-site switch requires you to at least load the JS once, to even get access to the switch. That is a terrible security position. This story[0] is a good reason why.

                                          0: https://lobste.rs/s/vi8ybf/i_was_7_words_away_from_being_spear_phished

                                3. 1

                                  Yeah. E.g. every time I read the docker documentation i get a headache. I run noscript

                                  1. 1

                                    noscript by default, actually allows running of JS. both on every single global page, and on a bunch of domains that come pre-trusted.

                                1. 7

                                  Is the problem OP complains about (professional front-end devs who don’t know HTML) real? When I was a kid, there was nary a middle-school student who didn’t know HTML…

                                  My biases make me want to believe him, but if I want to believe something, that’s a red flag that I should be extra careful to make sure it’s really true.

                                  1. 10

                                    It is absolutely real. Many devs learn a framework and only speak and think within that framework, not realizing it’s a pile of code that sits on top of the ‘native’ html/css/js stack. I’ve worked with several. It’s a dangerous mindset to take but it isn’t all bad. Those frameworks exist to increase productivity, so some amazing stuff gets built quickly. But sometimes, without that lower-level knowledge (and I kind of smirk at the idea that html/css/js is ‘low level’), weird things happen.

                                    1. 6

                                      Wow. I’ve run into some folks who are afraid to write vanilla javascript, but I’m lucky enough to have never run into somebody who can’t at least generate HTML.

                                      1. 2

                                        I was reading this and waiting for the point where it would say something that wasn’t blindingly obvious (to me), but it never happened. But I suppose there must exist people to whom this is news, otherwise how would you explain the existence of so many bad web apps?

                                      2. 2

                                        I’ve been learning webdev recently (I have experience with embedded & IoT programming, but not much actual web stuff) and I find it sort of unfathomable to not learn anything about such a fundamental technology…

                                        1. 3

                                          Right? Though, to be fair, when I started coding it was also pretty normal for people to learn assembly – the expectation to understand history & the system as a whole has gone down as entry-level wages have increased.

                                          1. 2

                                            But then again assembly is one or two levels of abstraction above literally thinking about voltages and transistors, which are incredibly complex and basically require abstraction to do any sort of productive work!

                                            Is the same thing true about HTML and CSS? Maybe, but definitely not to the same degree. I think you could draw the line at Single-Page web applications, which is where I believe relying only on vanilla JS makes things difficult. But a lot of websites don’t need to be SPAs, and creating something simpler would make the web significantly more accessible.

                                            1. 5

                                              I wouldn’t say that assembly is one or two levels of abstraction above voltages. Assembly is one level of abstraction above microcoded machine language. Beneath that, you’ve generally got people thinking in terms of gates. In college, as part of a sophomore-level class, we were supposed to design a 4-bit CPU from gate level to opcodes & then write assembly for it – something that wasn’t terribly difficult & gave some insight into how CPUs work, but also didn’t teach me a damned thing about electrical engineering.

                                              HTML & CSS are document-formatting systems, and they require workarounds and abstractions in order to be borderline usable as application GUI libraries. Even then, there’s enough abstraction leakage that I would expect everybody who does web app development, even if they primarily use a big framework, to occasionally need to write some plain javascript that injects plain HTML into the DOM.

                                      1. 14

                                        I still can’t get over the fact that someone got an idea to refresh HTML document tree 60 times per second and make HTML document viewer render it over and over and call it as “application”.

                                        It’s so wrong on just too many levels that I don’t even know where to start, and people basically just don’t even notice that.

                                        1. 10

                                          But it doesn’t actually work the way? In AJAX apps, DOM is only updated on events (e.g. click, user network data received). You would have to have a timer to actually update it regularly in the background.

                                          Probably the place it gets close to that is when they hijack the scroll event, which is horrible. But even that’s not changing the DOM if you’re not scrolling.

                                          FWIW I agree with the premise of the OP, but I don’t think your criticism is accurate.

                                          1. 7

                                            It’s not the first time that someone got an idea to build GUIs by just extending existing document-rendering technology…

                                            1. 9

                                              DPS is a little bit different, because postscript is a programming language (specifically, a forth dialect with logo/turtle-style pen control). It’s relatively sensible to do widget-drawing with a language optimized for drawing arbitrary line graphics. A web app is more like trying to use dot macros to modify an MS word document at 30fps.

                                              1. 9

                                                A web app is more like trying to use dot macros to modify an MS word document at 30fps.

                                                That reminds me, years ago my dad, who was a chemical engineer in a large company, showed me a simulation he’d gotten as an email attachment from a colleague. It had a pretty decent graphical animation entirely within an Excel spreadsheet. Part of the sheet was a “normal” spreadsheet with the actual formulas, but another part had cells resized to be small and rectangular, and their colors were changed a few times a second by macros, producing a medium-resolution raster-graphics display basically. This was apparently relatively common, because it made the graphical output self-contained within the same spreadsheet that you could mail around.

                                            2. 7

                                              I am not actually that offended by this idea, because most GUI applications are enhanced document viewers. But I do think that when your application requires to be run at 60 fps, you should use something else.

                                              For example: The interoperability problem has already been solved with Java and if you really need something with more performance than that, you’d basically have to resort to lower level code like C/C++.

                                              But if “a glorified document viewer and/or editor” all your application is, then an web-application will more than suffice.

                                              1. 3
                                                1. 5

                                                  Web apps are a cool hack, and I absolutely love the perverse joy one gets from making something impressive using the absolute wrong tools for the job. But, the point of a cool hack is that the idea that somebody would use it seriously or for important tasks is absurd.

                                                2. 3

                                                  A developer equivalent of https://xkcd.com/763/

                                                  1. 2
                                                  1. 0

                                                    I enjoyed this essay a lot. I’ve had similar thoughts (though not this well refined) while attending church services.

                                                    1. 5

                                                      Nice writeup, happy to read some hard numbers! The most compelling idea I took from it is that if tech workers unionize, we could make organized, sustainable donations to open source projects.

                                                      1. 16

                                                        Dude, if the majority of the tech worker class unionized, we could short-circuit the finance sector, end the attention economy, avert climate change and bring post-scarcity full automation to the whole world. But sadly those beefy salary to optimize adtech algos are necessary to buy a Tesla, so…

                                                        1. 2

                                                          Yeah. It’s hard to unshackle yourself from golden handcuffs. It’s even harder to do it on a mass scale.

                                                        2. 5

                                                          I’m reminded of the old observation that managing programmers is like herding cats. The kernel of truth in that makes unionization not very likely.

                                                          1. 4

                                                            In a field where the expectations change significantly every five years and skills can range very widely among individual software engineers, unionizing doesn’t seem to be appropriate anyway. I’m willing to have my mind changed about this, though.

                                                            1. 6

                                                              I’m not an expert by any stretch of the imagination, but I tend to think the fact that our field changes rapidly is more of a hurdle to overcome rather than an indicator that it isn’t appropriate to unionize. Given the ageism, sexual harrasment, wildly varying salaries, and extreme unneccesary overtime in our industry, I think unionizing is wholly appropriate.

                                                              1. 2

                                                                The ageism is huge.

                                                                1. 8

                                                                  Historically, older workers are where unions come from - they’ve got the life experience to understand why shifting the power dynamic matters.

                                                                  Ageism is perhaps the ultimate union-busting technique…

                                                                  1. 2

                                                                    In startups, or everywhere? I’m in my late 30s. In my team there’s probably 2 guys younger than me, 4 older and a couple around the same age.

                                                                2. 5

                                                                  Read the material from Tech Worker Coalition: their strategies for unionization rely on very different assumptions from traditional blue collar unions.

                                                                  Also there’s a wave of mobilization in the USA that might result in mass unionization in the short term: it’s the present, not the future.

                                                                  To read more about these topics, there’s this very good issue of Notes from Below: https://notesfrombelow.org/issue/technology-and-the-worker

                                                            1. 3

                                                              As long as there is no Firefox phone, I am not interested. I need a full ecosystem that respects my privacy and Apple ecosystem is the closest.

                                                              I wonder if they can bring Firefox phone back. There is WebAssembly now, and that can be a game changer.

                                                              1. 1

                                                                That would be exciting.

                                                                1. 1

                                                                  As far as i know the reason why firefox phone fail was not that it was too slow, but because they fail to take a significant market share. So webasm is likely to change nothing on the problem.

                                                                1. 14

                                                                  I like how the bottom of the post has a link to ESR’s (now defunct) Google Plus profile.

                                                                  1. 0

                                                                    What irony, lol

                                                                  1. 1

                                                                    I agree that it seemsn unncessarily hard. But what incentive is there to fix it, really?

                                                                    1. 2

                                                                      Wow! I had no idea there were so many of these platforms out there.

                                                                      1. 1

                                                                        Interesting! I wanted to see it work but I couldn’t reproduce this from the code sample in the post :/

                                                                        if anyone has ideas, i’m really interested in what i might have done wrong here: https://i.imgur.com/oGqCglr.png

                                                                        1. 1

                                                                          From the source it looks like the site doesn’t try port 3002:

                                                                            const portsToTry = [
                                                                              80, 81, 88,
                                                                              3000, 3001, 3030, 3031, 3333,
                                                                              4000, 4001, 4040, 4041, 4444,
                                                                              5000, 5001, 5050, 5051, 5555,
                                                                              6000, 6001, 6060, 6061, 6666,
                                                                              7000, 7001, 7070, 7071, 7777,
                                                                              8000, 8001, 8080, 8081, 8888,
                                                                              9000, 9001, 9090, 9091, 9999,
                                                                            ];
                                                                          
                                                                          1. 1

                                                                            Ah, that was it, thank you!

                                                                        1. 9

                                                                          Another great writeup from Drew. I remember when I was learning how to work with Git in 2011, and trying to explain the model to my proprietary .NET world coworkers (at this time Microsoft had not yet embraced open source and we all used TFS for our centralized source control) didn’t go well.

                                                                          Now, that same community uses terms like ‘fork’ and ‘pull request’ in exactly the fashion Drew describes here - for centralized control systems (be it on Github or Azure Devops).

                                                                          1. 11

                                                                            I wish I could could vote this up about 10 more times. Not because I nessicarily agree with it, but because it’s given me something to think about. Over the past few years I’ve been sliding toward RMS-light opinions on free software, but this has kinda made me at least pause for a brief moment.

                                                                            I don’t really have anything profound to add, I haven’t really finished digesting this yet, I guess just: highly recommended.

                                                                            1. 4

                                                                              I like a lot of what he said here, particularly the later bits about Kierkegaard. But I think he’s missing some important points when he talks about giving away software as a form of altruism.

                                                                              As he says, contributing to open source software feels in some sense giving a gift to other programmers. But in practice what this means in the vast majority of cases is giving a gift to the companies who employ the programmers. It’s fine if that’s what you want to do to make it easier for you to get a job further down the line or something, but you should recognize it as such. On the other hand, free software puts the goals of the end user above those of the developer, so participating in free software is giving a gift to humans instead of corporations.

                                                                              1. 0

                                                                                right there with you.

                                                                              1. 2

                                                                                I think its a shame my kids have to grow up with this kind of bullshit video games to deal with. I don’t have any way to explain to my kid “no the games you can get on phones aren’t real” he just gets pissed. I hate this cancer in video games.

                                                                                1. 7

                                                                                  I’m really happy to hear the Advisory Committe for AMP has some sanity on it. I’m not in the business but as a user I get really annoyed when I find myself inadvertently on an AMP page. Just let me go to the damn website!

                                                                                  1. 5

                                                                                    Yeah. Everything moving to the cloud means that more stuff is controlled by fewer people.

                                                                                    I wonder if Linux being ‘containerized’ kind of side-stepped the power that it had? Windows 10 is going to ship with a whole Linux kernel inside of it. So as a developer who just wants to Get Stuff Done, why would I even bother with Free Software?

                                                                                    1. 3

                                                                                      We use OneNote and Word docs scattered about on SharePoint. There’s nothing good about it.

                                                                                      Luckily we also have a GitLab instance, so I tend to try and put new technical documentation on a GitLab wiki associated with a repository. Then I can clone the wiki repository and grep it if it ever gets large enough to warrant fast text search.

                                                                                      1. 3

                                                                                        Same. We have a big fat OneNote. Hard to update, hard to search, hard to index, hard to link to specific things. I don’t love OneNote.

                                                                                        1. 2

                                                                                          We use OneNote and Word docs scattered about on SharePoint. There’s nothing good about it.

                                                                                          Having a little experience with this, yes, it’s terrible. Search in SharePoint is next to useless and document uploading is baffling (seriously, creating directory hierarchies is an incredible chore). And good luck with history.

                                                                                          If this is your setup, I pity you, and seriously consider switching to something else. It’s this kind of setup that made me not hate Confluence.