1. 7

    This is such a sad story.

    This is also a good example of why making an android level user friendly desktop Linux distribution should be number one priority for FOSS developers. We need UX designers, Artists, and non-technicals in FOSS.

    1. 7

      Development is one of the few “creative” areas where working for free is considered not-strange (it’s still not common). For various cultural reasons that essentially stem from the abuse of artists, most higher creatives strongly resist working for free.

      If my phone were charged I’d take a picture of the document that discourages free work of just about any form to the creative students at my university.

      1. 5

        A big part of this is probably the existence of copyleft licenses which provide a legal mechanism to guarantee that continued work will be contributed back to the community. I wonder if a similar mechanism exists for artists (perhaps creative commons?).

        It’s also important that software has a useful notion of “contributing back to the original work”, and that contributing is both standardised (my copy of git and the language compiler probably works the same as yours) and idiomatic (diffs, patches, and PRs are all well-known tools). It seems possible in theory to have large, open source, collaborative design projects (where many designers contribute back to a single project under copyleft terms), but I’m not aware of a “standard” design format with both a critical mass of users and good support for decentralised contributions.

        1.  

          I think free work should be discouraged if someone else is profiting. However if it such a taboo because they have a history of being abused and low quality of life perhaps we should start an money pool to pay for contributors who don’t have a higher paying job like software development.

        2.  

          Personally, I don’t think FOSS is a good fit in that situation.

          Just my opinion, but I feel the open source model works best when the contributors are working on the project because it’s something they want or need themselves, OR because the project offers some kind of unique and interesting challenge.

          A novice friendly desktop doesn’t fall into either category.

        1.  

          Maybe there should instead be a set of “content notification”-style tags, in a different color (to indicate that they’re flags rather than community topics in themselves): One for sex, one for violence, one for classified material, maybe one for politics, and so on. This would let people decide for themselves what is NSFW in their particular context.

          1.  

            I think adding several tags, or a tag infrastructure is going too far. I’d much rather have a simple NSFW tag, that if it catches too much I’ll figure out later when I get home. Most of the time on lobsters there won’t be any NSFW articles, we don’t typically post NSFW things. If you wouldn’t like to see it in your workplace mark it NSFW, and if you don’t care, then don’t mark it. This is not a trigger warning solution, this is a “There are possible job consequences that would mean I can’t read this site at work”, I’d much much rather have false positives than fail to filter something because someone put it under (content warning: very specific nsfw thing that I didn’t know to filter). Adding a content warning infrastructure is a much bigger request than just a single tag.

          1. 23

            Original linker here.

            I think it’s ridiculous. Literally every link aggregator and forum that has NSFW/“sensitive” tagging quickly realizes that nobody defines it the same and they should have been more specific!

            If you want to filter out anything having to do with sex, then have a sex tag. Same goes for graphic/gory images. Also, we should differentiate between the word “sex” in writing and photos of people having sex, so we’ll want a sexual imagery tag (and then, to be fair to the weebs, hentai, yaoi, yuri, futa and the rest so they can still see just the types they approve of). Plus a tag or, better yet, trigger warnings for my acute trypophobia. And then a tag for profanity because I might have children walk behind me while I’m at a bus stop and I don’t want some kid picking up new words because of me. Oh, and tag anything mentioning my employer’s competitor, because I don’t want to be caught with their logo big as day on my screen when my boss walks by. Plus any posts linking to Linux newsgroups will need a threats of physical violence tag because of that truculent Fin!

            Or we can just remain a technology-focused link aggregator and flag+remove anything off-topic and leave the things that are reasonable for that site description, even if they have the horrible, no-good, very bad word “sex”.

            1. 8

              Please don’t get overboard. This response draws in a lot of unrelated things that didn’t happen here and we generally react on actual issues. Many of the things you describe have not happened, so it’s no use to bring them into the discussion. For example, no one mentioned trigger warnings, it’s you introducing them. (we can have a trigger warning discussion elsewhere, I find them useful for $reasons, but have had no practical need here)

              As useless as I find an NSFW or sensitive tag, keeping the discussion at a serious and constrained level is also important. It’s a valid point to raise, please don’t make it seem like is not.

              My stance on the issue is that your title made it sufficiently clear what the topic of linked post is.

              1. 12

                This is not about what any of us may think—it’s about what our respective employers may think, and I’m pretty sure they are, with few exceptions, pretty conservative on the issue.

                I don’t think your slippery slope is very compelling. What’s being proposed is a single tag to broadly indicate to employed lobsters—most of us, by all indications—that a given story could generate awkward conversations with one’s boss. I think it’s pretty clear what “NSFW” means, and objective criteria aren’t required—the suggestion mechanism will handle edge cases just fine.

                1. 5

                  Yep. So, I look at aggregators on my phone so nobody can see any stuff that pops up. Few workplaces would ban smartphones but allow people to goof off on computers. Seems like it’s easy to solve for people worrying about it. Plus, I dont force others to put work into meeting my preferences that came with the job I chose.

                  I dont object to a nsfw tag, though. It’s pretty common practice on social media. Im for courtesy. Im just also for realism. People concerned about a web page getting them fired should take precautions cuz this is random people on the Internet posting stuff.

                  1.  

                    What is Not Safe For Work? Here in the United States, nudity is pretty much Not Safe For Work, but in Europe, maybe not (I don’t know, I don’t live in Europe). Conversely, violence is okay here in the United States (sadly) but it’s probably Not Safe For Work in Europe.

                    Much better then to have tags like “nudity”, “sexual imagry”, “violence” etc. than just one NSFW tag.

                    1.  

                      If it’s not safe for your work, suggest the tag. If it is don’t worry about it. I’d rather get some false positives than some false negatives. After all I can always open on my phone with the tag not hidden. I think tagging with nudity, sexual imagery etc is way too complicated, and frankly I don’t care why it’s not safe for work. I just care that someone felt that they couldn’t show it at their job.

                    2.  

                      it’s about what our respective employers may think

                      I’ll bite - your employeer’s unreasonable work-monitoring policies should not be our problem or nuisance.

                      1. 8

                        I completely fail to see how an nsfw tag rises to the level of a problem or a nuisance.

                        This is not about “work monitoring”. My workplace is fairly permissive, but it would still be awkward if my boss happened to see an article about smart dildoes on my screen. Many, many workplaces would go beyond just an awkward moment. I think it’s safe to say that most users here are employed, and I think it’s also safe to say that most are not employed at a workplace so free-wheeling as to be completely unconcerned if its employees are visiting inappropriate pages.

                        1. 5

                          Sure, but if an article about smart dildoes is on your screen, you already clicked a link that says “Deldo is a sex toy control and teledildonics mode for Emacs”. How would the tag have helped you? It’s not like someone hid the nature of the content.

                          1.  

                            That title is on the front page of lobste.rs regardless, and there’s nothing resembling a guarantee that titles are always so explicit.

                    3. 8

                      A rather sanctimonious response to someone who just wants to be able to look at a programming site at their job. If you think it could be NSFW, then mark it, if not and someone does they’ll mark it. I was the one who made the comment on your post, and I read the article at home. It’s really great that you work at a place where you can scroll through titles about dildos or are willing and wealthy enough to get fired out of principle. To those of us without those liberties, you sound like an asshole.

                      1.  

                        I find that problem description weird. If you can run into problems of getting fired for the link titles on a news page, we cannot reliably save you from that.

                        1.  

                          Cool to ignore the thing that I said would work, and works for literally nearly every site on the web. Why is there push back on this? I’m not saying we should hide content, or censor anything. I merely would like to be able to filter out NSFW things at work. I find this whole conversation super weird. If there’s no way to filter NSFW content on lobsters, then I’m going to have to start reporting every “NSFW” article and that seems frankly draconian. A lot of american jobs are like this, you are the one in the bubble. I don’t think it’s right that our workplaces are like this, I think its shitty and regressive but I also am not in denial about the reality of the average american workplace.

                      2. 5

                        I agree. It’s impossible to come up with a consensus about what is “sensitive” and what’s not. I think that by looking at the title and the URL that is being linked to, a reasonable person should be able to decide if it’s “safe” for them to open the link. If it’s borderline, then don’t open it or click the “save” button and view it at home.

                        1. 8

                          The linked poster wants the tag so that the title itself can be filtered from the homepage, not as a warning not to open it.

                          1.  

                            I understand the purpose of a filter. The filter will always be flawed because it will filter out what the hivemind/mods/vocal minority think is sensitive, not what the user thinks is sensitive and it will generate all sorts of low value meta discussion about whether an article is/isn’t sensitive.

                        2.  

                          Hey, I agree with your position–just running the process. :)

                          1. 13

                            It’s already tagged with emacs; that should make most reasonable people not want to open it anyhow 😉

                        1.  

                          this is an extremely loose definition of computer

                          1.  

                            it is just bad editorialising. the real summary is just that most common mathematical models of neurons are generally not complex enough to model biology. (or even interesting behaviours, as any LSTM fan will hasten to observe)

                            as an aside, this is yet another reason why I like evolutionary ANNs more than typical workflows - this sort of detailed sub-structure can and does evolve without intervention.

                            1.  

                              I don’t think we know enough to conclusively say that yet. Structure and emergent complexity can often arise in simplistic systems. There’s a very good book about this called “Think Complexity” which is basically a small primer on complexity theory. Basically though sometimes similar levels of complexity arise in systems, even when the agents themselves are vastly more complex. I’m not saying you’re wrong, you could very well be right. I am saying we don’t have the theoretical framework to say you are conclusively right either.

                            2.  

                              Yeah, it’s more like a gate.

                              1.  

                                Not really, though. The author is explicitly asserting that each neuron is not a simple, linear gate, but rather it’s capable of performing multiple different non-linear functions whose behavior is capable of being complexly self-modulated.

                            1. 6

                              Smalltalk has a tool where methods can be found using example values. And Smalltalk has many other tools for discovery. Other languages could provide similar capabilities, but rarely do.

                              1. 6

                                Smalltalk proper doesn’t, though Squeak does (and I assume Pharo, also). But that’s largely a toy: MethodFinder only goes through a list of pre-selected methods to avoid having it accidentally run e.g. Object>>halt or Smalltalk class>>saveAndQuit:, so it’s generally only something I suggest to people who are very new to Squeak. And even there, I hesitate. It’s a pre-screened list, so you may not discover everything and end up reimplementing a method that already exists. And some things are just not discoverable through that interface: there is no conceivable way of describing “I want six random numbers between 17 and 34,” even though Squeak has methods for that.

                                The real strength of Smalltalk is the same as the one hwayne identified in the context of Python: the standard library is well-organized, even grouping methods within a given class into useful categories. Combined with its excellent IDE, you have a real likelihood of discovering what functionality exists and finding an example of practical usage within the image.

                                MethodFinder can be a part of that discoverability, in a very narrow way, but I really feel as if it’s more an antipattern and a crutch and a genuinely useful tool.

                                1. -6

                                  Tedious Lobster debate straight ahead. I’d rather quit Lobsters than go through such a thing one more time. Bye.

                                  1. 11

                                    I honestly wasn’t looking for a debate; I was just assuming that most people here wouldn’t have used MethodFinder or known how it worked, and I didn’t want to paint it as more than it was. I’m sorry that you’ve decided to leave the community, and I hope you return.

                                    1. 7

                                      Don’t blame yourself too much, people who leave like that have likely been on the edge of leaving for quite some time. This was likely the straw that broke the camel’s back.

                                      1. 7

                                        His positions were outliers in a lot of the discussions which people either disagreed with or lacked historical information to fully understand. That he brought those here was a good thing. That they’d get argued with a lot was inevitable since he was going against the flow. Watching it, I was concerned he might think of leaving some time ago since the comments rarely got much positive feedback. It definitely built up over time.

                                      2.  

                                        Don’t mind him. That was a good comment. I haven’t touched Squeak in years, but it was one of the very first apps I made an RPM package for back around Red Hat 6.0. In fact, there’s even still a dead links to it on their wiki.

                                        I didn’t play around with it much, but I do remember it did have that API browser. Comments like yours are important because you break down the thing discussed, talked about your experiences with it, it’s strengths and weaknesses, etc. It’s not just semantics either as Squeak and Smalltalk are two different things.

                                      3. 5

                                        Well, Ill miss having you here. Thanks for the things you taught me about Smalltalk.

                                  1.  

                                    It sounds like the problem is that the documentation doesn’t properly organize the functions. You should never have to search through EVERY tool if the documentation is written correctly.

                                    1. 10

                                      If you want to check out a practical gradually-typed language, I’ve been using Typed Racket.

                                      It’s very convenient to use untyped code early-on when the design of the program is unclear(or when porting code from a different language), and to switch individual modules to typed code later to reduce bugs.

                                      1.  

                                        Another great gradually typed language is Perl6. It has a Cool type, a value that is simultaneously a string and a number, which I think is pretty… cool!

                                        1.  

                                          Basically how every string / number in perl5 work{s|ed}?

                                          1.  

                                            Based on reading https://docs.perl6.org/type/Cool, kinda? Although it also looks to me as if this is at once broader than what Perl 5 does (e.g. 123.substr(1, 2), or how Array is also a Cool type) and also a bit more formal, typing-wise, since each of those invocations makes clear that it needs a Cool in its Numeric or String form, for example.

                                            1.  

                                              That makes sense that it changed. perl5 is not so.. structured. But this stuff worked:

                                              "4" + "6.2"
                                              $q=42; print "foo$q"
                                              print "foo" + $q
                                              

                                              It makes things like numeric fields in HTML forms very easy (if $form["age"] <= 16), but the subtle bugs you get…

                                              Anyway. That was perl5. The perl6 solution seems to make things much more explicit.

                                        2.  

                                          stanza is another interesting language that is designed from the start to be gradually typed.

                                          1.  

                                            Typed Racket is indeed an awesome example. I believe TypeScript would also qualify very well here (as might Flow; I’m not as familiar with it). This also reminds me of Dylan of yore, too: https://en.wikipedia.org/wiki/Dylan_(programming_language)

                                            1.  

                                              Is this the same thing? I had the same thought and I wasn’t sure if it was.

                                              1.  

                                                Yes, Typed Racket is gradual typing, but for example, the current version of Typed Clojure is not. The premise is that gradual typing must support being used by dynamic typing, to simplify a little bit.

                                            1. 7

                                              This article really helps cement the need for a nsfw tag.

                                              1.  

                                                It has “sex toy” in the subject line. I’m not sure that an additional nsfw tag is quite warranted.

                                                1. 9

                                                  It has “sex toy” in the subject line. The nsfw tag is entirely mandatory, so it can be filtered and that subject line isn’t showing up on people’s screens at work.

                                                  I am extremely militant about appropriate tagging of NSFW content, because as stupid as it may be, people’s jobs are potentially at stake. The potential harm is nontrivial, and the cost is extremely low. If the tag is inappropriate, so is this story; and I would like us to be permissive enough to consider and maturely discuss content like this, regardless of the strictness of our workplaces.

                                                  1. 8

                                                    These are fair points. I’d generally argue that if somebody is at a job where the mere string “sex toy” appearing in a text corpus is enough to get them in trouble then they should leave, but I understand that that isn’t always possible.

                                                    1.  

                                                      Respectfully, I live in the american south. I would love to organize with my fellow laborers and overthrow the shackles of capitalism, but until that day can we please have an NSFW tag?

                                                      1.  

                                                        Might have channeled angersock there, sorry. Was just frustrated with the apparent callousness of the link poster in the meta, and I let it leak out here.

                                                    2. 5

                                                      I’m completely on board with this. I spend a lot of time skirting the SFW/NSFW line extremely closely in what I make, but while my work usually doesn’t involve actual porn/nudes/etc that would be visually considered outright offensive, I still consider it NSFW ‘cause, well, it’s sex, at all. So unless you work in some sort of content or hardware production related to the industry, it usually /is/ NSFW.

                                                    3.  

                                                      filtering.

                                                    4.  

                                                      I look forward to being the constant recipient of that tag.

                                                    1. 20

                                                      I think nsfw better captures the sentiment.

                                                      Obviously, I am strongly in favor. Most of us with jobs don’t control the environment in which we work, and given the choice between (1) considering these stories off-topic, (2) excluding lobsters who happen to be at work (or forcing them to potentially risk their job), and (3) adding a tag, I think the costs and benefits very clearly point to 3.

                                                      (The classified tag would have been useful to a much smaller portion of users, and much harder to apply correctly, as noted in the linked discussion thread.)

                                                      1. 25

                                                        Yes there’s actually nothing SENSITIVE about dildos, there is something NSFW about it. There’s nothing wrong with sex, but there is something wrong with our workplaces and we have to accommodate that or we’ll be punished and that’s the short and skinny of it. NSFW helps communicate that it’s about the workplace and is not an attempt to censor, but rather to help those under censorship.

                                                        1.  

                                                          Well-put!

                                                      1. 6

                                                        Wow I really learned a lot of my assumptions about promises in javascript were dead wrong.

                                                        1. 5

                                                          I’ll get excited about it when I see someone a lot more knowledgeable in this space gets excited.

                                                          1. 4

                                                            An API is no substitute for open source, but open source still needs apis.

                                                            1. 1

                                                              Well, it’s very interesting to contrast this article with what happened to my copyright in Harvey.

                                                              What a perfect timing!

                                                              1. 4

                                                                Sorry, but I think you’re overreacting a bit there.

                                                                I think the question boils down to whether your remaining contributions constitute a derivative work.

                                                                What this means in practice is that copyright claims are usually added only for substancial rewrites or entirely new files. When modifying an existing work in a way that does not make the result a derivative work in the legal sense, it is better to retain the original copyright and licence claim, i.e. fold the contributions into it. This is because ownership of copyright implies the power to change the licence of the work. So adding copyright statements is not something that should be done willy-nilly because otherwise anyone getting a one-line fix into a project could arbitrarily change the licence of the affected file (EDIT: Of course, copyright could nowadays be tracked to individual lines thanks to version control, but the legal rules involved are older than version control, and always up to interpretation by lawyers).

                                                                You deserve recognition for your contributions, no doubt. But adding a copyright claim is not the only way to recognize a contribution.

                                                                1. 1

                                                                  Sorry, but I think you’re overreacting a bit there.

                                                                  Well, if you feel that as an “overreaction”, do not visit Italy. Ever. It would be scary, to you. ;-)

                                                                  Of course, copyright could nowadays be tracked to individual lines thanks to version control, but the legal rules involved are older than version control, and always up to interpretation by lawyers.

                                                                  And this is exactly what I’m afraid of!
                                                                  I don’t want a lawyer to sue me because he saw my code in my project and he trusts the (git rebased) Harvey’s repository more then mine.

                                                                  There was a reason why I asked to git revert the commits when they said that they prefer to remove the contributions instead of fixing the attribution.

                                                                  Many reasons, actually.

                                                                  You deserve recognition for your contributions, no doubt. But adding a copyright claim is not the only way to recognize a contribution.

                                                                  Sorry, but I think you have completely misunderstood the matter.
                                                                  Not your fault, though.

                                                                  I do not care about any recognition from Harvey’s team. Really.
                                                                  My contributions were gifts. Hadn’t I suggested my friend to try Harvey, I would have never noticed the issue.

                                                                  But they removed the few copyright statements I added back in 2015 and also removed the CONTRIBUTORS file that contained my name (because it was “too much trouble” to maintain it).

                                                                  Had they moved, say, to GitLab after an unfortunate git rebase, I would have had an hard time to prove I’ve ever actually contributed a single line of those I reused in my project.

                                                                  1. 2

                                                                    I think you are now mixing up two different parts of the conversation.

                                                                    Yes, they removed a lot of code with your copyright on it, and that was done correctly and you already said you had no problem with that. But this is not the part of the conversation I am talking about.

                                                                    What I am talking about is your concern about some changes which were left in their source tree after your copyrighted code was removed: https://github.com/Harvey-OS/harvey/issues/698#issuecomment-365286356

                                                                    You claim that they must add your copyright back to those changes, and what I am saying (and I think it is what dancrossnyc from Harvey is saying as well) is that your copyright claim on those changes is valid only if those changes consititute a “derivative work”. If they don’t, then no copyright claim can be made which extends on that of the original copyright on the codebase. Which means both you and Harvey are entitled to make these same “non-derivative-work” mechanical changes in your projects without risking copyright infringement. So I don’t follow your argument that your copyright claim must be on those changes in order to legally protect your derived project. Essentially, there was no reason to ever have your copyright on those specific changes in the first place.

                                                                    Now, for contributions which are consiered a “derived work”, the situation is different, and this is why Harvy removed all of those changes we (you and me) both agree they should remove.

                                                                    But you are still pursuing an argument with Harvey which boils down to the question of what constitutes a “derivative work”. I think it’s not worth having that argument for either side. Just chill. It seems they’ve already removed all they had to remove.

                                                                    1. 2

                                                                      No, sorry, I know there’s a lot of confusion and some contradictory statements in that issue, so it needs a careful read.

                                                                      The statement

                                                                      If you feel you can’t remove those changes because they are important for Harvey, you can still add my copyright statement to each of modified files.

                                                                      was ironic.

                                                                      I just wanted to point out that they had to use alternative solutions. That exist.

                                                                      Btw, as I said otherwhere, I wont bore them anymore.

                                                                      According to my lawyer, my github fork (frozen before the rebase) and the archive on the WaybackMachine should be enough to defeat in court any pretension on my code.

                                                                      The medium post is, as it has been defined elsewhere, just “a cautionary tale”, for younger devs pondering to contribute to Open Source Software.

                                                                      1. 1

                                                                        why would you waste money on a lawyer for something you don’t even make money with. Your whole story is baffling.

                                                                        1. 2

                                                                          Well, I cannot measure everything I do with money. I have three daughters I love most.
                                                                          I do my mistakes, but I know they learn from what I do, not from what I say.

                                                                          But your is a good question, since I’m often called “greedy” just because I’m Ads Adverse.

                                                                          My decision was pretty simple. And rational.

                                                                          I pay the bills as a programmer.
                                                                          Compared to the value of the time I’ve spent hacking for Harvey, the lawyer’s fee is tiny.
                                                                          But compared to the value I put in my own fork, the time I spent for Harvey means nothing.

                                                                          1. 1

                                                                            Where I’m from trying to get value for your money isn’t considered greedy.

                                                                            I respect you value your time invested, but I do think spending on it is a sunken cost fallacy, trying to recover an unrecoverable loss. In the future sign your commits and keep your version of the repository on github. Don’t be so concerned about what people do with your work unless it costs you real money in some way. That’s how I would do it anyway.

                                                                            1. 1

                                                                              I do not think that my contribution to Harvey was “an unrecoverable loss”.

                                                                              I will keep to send bugfixes to Open Source Softwares that I use in the future.
                                                                              Opportunistically, since I do not want to maintain them locally.

                                                                              But I will not donate my time and skills to them again.

                                                                              Obviously I won’t just look at the license they use!
                                                                              I’ve worked very well with communities using all sort of license.
                                                                              I’ve never checked before, but you can still see my name in php-mode, for example, 14 years after my introduction of PHP 5 support.

                                                                              In the future I will look at the leaders, who they are, where they work…
                                                                              I will consider to donate only if I’ll see they both trust and respect their developers and users.

                                                                              And this will automatically exclude many big firms that treat their users as laboratory mice.

                                                                              1. 1

                                                                                Oh, as for GPG signing the commits, it’s a good idea.

                                                                                But back then, in 2015, Harvey had a convoluted “standardized” workflow based on GerritHub.

                                                                                It was so cumbersome that, after I managed to integrate travis-ci and coverity scan to Harvey, I fought against it very strongly. You might find something on the mailing list.

                                                                                But given it used to break almost weekly, adding GPG signatures project wide was unrealistic.
                                                                                They just required devs to sign-off commits.

                                                                1. 3

                                                                  Of course you can do FP in any language. The real question is can you do it conveniently.

                                                                  1. 1

                                                                    This is a good resource but wow do I hate this url. I’ll just link to the github repo I guess.

                                                                    1. 2

                                                                      I agree, I almost didn’t post the article at all. :|

                                                                    1. 6

                                                                      we don’t hire junior developers because we can’t afford to have our senior developers mentor them

                                                                      That’s not why we don’t do it: our issue is that junior developers simply aren’t productive enough to warrant the expense.

                                                                      1. 16

                                                                        The other consideration is; expend resources (ie seniors time) training entry level, only to see them leave in a year or two for large pay raises. It’s nearly impossible for business leaders to understand that 100% pay increases are required after a couple of years in this field.

                                                                        1. 4

                                                                          So how does one break the cycle? Junior developers will have to learn somewhere. Are we in a situation similar to the video game industry, where we actually have too many programmers on the market?

                                                                          You can certainly learn a lot outside of work, but there are a lot of things that are best learned on a job.

                                                                          1. 4

                                                                            where we actually have too many programmers on the market?

                                                                            Yes. Absolutely. And every programmer is a special snowflake which makes it impossible for anyone except another programmer to read their CV.

                                                                            1. 0

                                                                              The fact that pay is high is probably an indicator that that isn’t true.

                                                                              1. 2

                                                                                Pay is high in some areas. It’s crap in others. It’s mediocre in others. I think it says more about the practices of businesses in a given industry and geographical area than anything else.

                                                                                1. 2

                                                                                  Adjusted for that it’s nearly double the median wage. I would say there are not too many developers.

                                                                                  1. 2

                                                                                    Depends on the area. In the Mid-South, there’s plenty of IT people, including programmers, making $12-15 an hour. Minimum wage is just over $7. We obviously have many move from this area but steady stream to fill those positions from colleges. Things that vary this much by area I usually talk about in terms of the area. Otherwise, the generalizations can be meaningless.

                                                                                    Except for when you say there aren’t too many developers. I agree with that if we factor in skill or tech they know about. There’s just not so many companies wanting to invest in junior ones or pay senior ones well.

                                                                                    1. 5

                                                                                      As a southerner I can anecdotally say that’s caused by a lack of labor organization and not a glut of programmers. Low willingness to pay is because they’re hoping to pick up someone who is willing to work for peanuts, not because there are too many developers. In fact they frequently take on business impact because of unfilled positions.

                                                                                      1. 1

                                                                                        That makes sense to me as well (having worked in those sorts of jobs during college in the south and southeast)

                                                                                        1. 1

                                                                                          That sounds about right. You bet I call them out for it, too, if they get high and mighty with the politics. ;)

                                                                          1. 3

                                                                            We have some generous crustaceans here!

                                                                            1. 7

                                                                              Yes we should also put up other causes throughout the year. Preferably amusing but also good causes. Lobster emoji is just the beginning!

                                                                            1. 8

                                                                              Now that we’ve passed $1K - can we beat the $5K?

                                                                              1. 6

                                                                                If we’re trying to shoot for 5k we should at least let Maine know.

                                                                                1. 6

                                                                                  As a European, I honestly prefer us to have it :)

                                                                                  1. 5

                                                                                    I’d say we go for it, and offer them to take over the gold spot for a 10k donation to Unicode instead. :-)

                                                                                1. 11

                                                                                  Interactive HTML in our emails, what could possibly go wrong. This is a security nightmare lying in wait.

                                                                                  1. 2

                                                                                    Inorite, Google Wave died for good reason.

                                                                                  1. 6

                                                                                    I think the faulty assumption is that the happiness of users and developers is more important to the corporate bottom line than full control over the ecosystem.

                                                                                    Linux distributions have shown for a decade that providing a system for reliable software distribution while retaining full user control works very well.

                                                                                    Both Microsoft and Apple kept the first part, but dropped the second part. Allowing users to install software not sanctioned by them is a legacy feature that is removed – slowly to not cause too much uproar from users.

                                                                                    Compare it to the time when Windows started “phoning home” with XP … today it’s completely accepted that it happens. The same thing will happen with software distributed outside of Microsoft’s/Apple’s sanctioned channels. (It indeed has already happened on their mobile OSes.)

                                                                                    1. 8

                                                                                      As a long-time Linux user and believer in the four freedoms, I find it hard to accept that Linux distributions demonstrate “providing a system for reliable software distribution while retaining full user control works very well”. Linux distros seems to work well for enthusiasts and places with dedicated support staff, but we are still at least a century away from the year of Linux on the desktop. Even many developers (who probably have some overlap with the enthusiast community) have chosen Macs with unreliable software distribution like Homebrew and incomplete user control.

                                                                                      1. 2

                                                                                        I agree with you that Linux is still far away from the year of Linux on the desktop, but I think it is not related to the way Linux deals with software distribution.

                                                                                        There are other, bigger issues with Linux that need to be addressed.

                                                                                        In the end, the biggest impact on adoption would be some game studios releasing their AAA title as a Linux-exclusive. That’s highly unlikely, but I think it illustrates well that many of the factors of Linux’ success on the desktop hinge on external factors which are outside of the control of users and contributors.

                                                                                        1. 2

                                                                                          All the devs I know that use mac use linux in some virtualisation options instead of homebrew for work. Obviously thats not scientific study by any means.

                                                                                          1. 8

                                                                                            I’ll be your counter example. Homebrew is a great system, it’s not unreliable at all. I run everything on my Mac when I can, which is pretty much everything except commercial Linux-only vendor software. It all works just as well, and sometimes better, so why bother with the overhead and inconvenience of a VM? Seriously, why would you do that? It’s nonsense.

                                                                                            1. 4

                                                                                              Maybe a VM makes sense if you have very specific wishes. But really, macOS is an excellent UNIX and for most development you won’t notice much difference. Think Go, Java, Python, Ruby work. Millions of developers probably write on macOS and deploy on Linux. I’ve been doing this for a long time and ‘oh this needs a Linux specific exception’ is a rarity.

                                                                                              1. 4

                                                                                                you won’t notice much difference.

                                                                                                Some time ago I was very surprised that hfs is not case sensitive (by default). Due to a bad letter-case in an import my script would fail on linux (production), but worked on mac. Took me about 30 minutes to figure this out :)

                                                                                                1. 3

                                                                                                  You can make a case sensitive code partition. And now with APFS, partitions are continuously variable size so you won’t have to deal with choosing how much goes to code vs system.

                                                                                                  1. 1

                                                                                                    A case sensitive HFS+ slice on a disk image file is a good solution too.

                                                                                                  2. 2

                                                                                                    Have fun checking out a git repo that has Foo and foo in it :)

                                                                                                    1. 2

                                                                                                      It was bad when microsoft did it in VB, and it’s bad when apple does it in their filesystem lol.

                                                                                                  3. 2

                                                                                                    Yeah definitely. And I’ve found that accommodating two platforms where necessary makes my projects more robust and forces me to hard code less stuff. E.g. using pkg-config instead of yolocoding path literals into the build. When we switched Linux distros at work, all the packages that worked on MacOS and Linux worked great, and the Linux only ones all had to be fixed for the new distro. 🙄

                                                                                                  4. 2

                                                                                                    I did it for awhile because I dislike the Mac UI a lot but needed to run it for some work things. Running in a full screen VM wasn’t that bad. Running native is better, but virtualization is pretty first class at this point. It was actually convenient in a few ways too. I had to give my mac in for repair at one point, so I just copied the VM to a new machine and I was ready to run in minutes.

                                                                                                    1. 3

                                                                                                      I use an Apple computer as my home machine, and the native Mac app I use is Terminal. That’s it. All other apps are non-Apple and cross-platform.

                                                                                                      That said, MacOS does a lot of nice things. For example, if you try to unmount a drive, it will tell you what application is still using it so you can unmount it. Windows (10) still can’t do that, you have to look in the Event viewer(!) to find the error message.

                                                                                                      1. 3

                                                                                                        In case it’s unclear, non-Native means webapps, not software that doesn’t come preinstalled on your Mac.

                                                                                                        1. 3

                                                                                                          It is actually pretty unclear what non-Native here really means. The original HN post is about sandboxed apps (distributed through the App Store) vs non-sandboxed apps distributed via a developer’s own website.

                                                                                                          Even Gruber doesn’t mention actual non-Native apps until the very last sentence. He just talks/quotes about sandboxing.

                                                                                                          1. 3

                                                                                                            The second sentence of the quoted paragraph says:

                                                                                                            Cocoa-based Mac apps are rapidly being eaten by web apps and Electron pseudo-desktop apps.

                                                                                                      2. 1

                                                                                                        full-screen VM high-five

                                                                                                      3. 1

                                                                                                        To have environment closer to production I guess (or maybe ease of installation, dunno never used homebrew). I don’t have to use mac anymore so I run pure distro, but everyone else I know uses virtualisation or containers on their macs.

                                                                                                        1. 3

                                                                                                          Homebrew is really really really easy. I actually like it over a lot of Linux package managers because it first class supports building the software with different flags. And it has binaries for the default flag set for fast installs. Installing a package on Linux with alternate build flags sucks hard in anything except portage (Gentoo), and portage is way less usable than brew. It also supports having multiple versions of packages installed, kind of half way to what nix does. And unlike Debian/CentOS it doesn’t have opinions about what should be “in the distro,” it just has up to date packages for everything and lets you pick your own philosophy.

                                                                                                          The only thing that sucks is OpenSSL ever since Apple removed it from MacOS. Brew packages handle it just fine, but the python package system is blatantly garbage and doesn’t handle it well at all. You sometimes have to pip install with CFLAGS set, or with a package specific env var because python is trash and doesn’t standardize any of this.

                                                                                                          But even on Linux using python sucks ass, so it’s not a huge disadvantage.

                                                                                                          1. 1

                                                                                                            Installing a package on Linux with alternate build flags sucks hard in anything except portage

                                                                                                            You mention nix in the following sentence, but installing packages with different flags is also something nix does well!

                                                                                                            1. 1

                                                                                                              Yes true, but I don’t want to use NixOS even a little bit. I’m thinking more vs mainstream distro package managers.

                                                                                                            2. 1

                                                                                                              For all its ease, homebrew only works properly if used by a single user who is also an administrator who only ever installs software through homebrew. And then “works properly” means “install software in a global location as the current user”.

                                                                                                              1. 1

                                                                                                                by a single user who is also an administrator

                                                                                                                So like a laptop owner?

                                                                                                                1. 1

                                                                                                                  A laptop owner who hasn’t heard that it’s good practice to not have admin privileges on their regular account, maybe.

                                                                                                              2. 1

                                                                                                                But even on Linux using python sucks ass, so it’s not a huge disadvantage.

                                                                                                                Can you elaborate more on this? You create a virtualenv and go from there, everything works.

                                                                                                                1. 2

                                                                                                                  It used to be worse, when mainstream distros would have either 2.4 or 2.6/2.7 and there wasn’t a lot you could do about it. Now if you’re on python 2, pretty much everyone is 2.6/2.7. Because python 2 isn’t being updated. Joy. Ruby has rvm and other tools to install different ruby versions. Java has a tarball distribution that’s easy to run in place. But with python you’re stuck with whatever your distro has pretty much.

                                                                                                                  And virtualenvs suck ass. Bundler, maven / gradle, etc. all install packages globally and let you exec against arbitrary environments directly (bundle exec, mvn exec, gradle run), without messing with activating and deactivating virtualenvs. Node installs all it’s modules locally to a directory by default but at least it automatically picks those up. I know there are janky shell hacks to make virtualenvs automatically activate and deactivate with your current working directory, but come on. Janky shell hacks.

                                                                                                                  That and pip just sucks. Whenever I have python dependency issues, I just blow away my venv and rebuild it from scratch. The virtualenv melting pot of files that pip dumps into one directory just blatantly breaks a lot of the time. They’re basically write once. Meanwhile every gem version has it’s own directory so you can cleanly add, update, and remove gems.

                                                                                                                  Basically the ruby, java, node, etc. all have tooling actually designed to author and deploy real applications. Python never got there for some reason, and still has a ton of second rate trash. The scientific community doesn’t even bother, they use distributions like Anaconda. And Linux distros that depend on python packages handle the dependencies independently in their native package formats. Ruby gets that too, but the native packages are just… gems. And again, since gems are version binned, you can still install different versions of that gem for your own use without breaking anything. Python there is no way to avoid fucking up the system packages without using virtualenvs exclusively.

                                                                                                                  1. 1

                                                                                                                    But with python you’re stuck with whatever your distro has pretty much.

                                                                                                                    I’m afraid you are mistaken, not only distros ship with 2.7 and 3.5 at same time (for years now) it is usually trivial to install newer version.

                                                                                                                    let you exec against arbitrary environments directly (bundle exec, mvn exec, gradle run), without messing with activating and deactivating virtualenvs

                                                                                                                    You can also execute from virtualenvs directly.

                                                                                                                    Whenever I have python dependency issues, I just blow away my venv and rebuild it from scratch.

                                                                                                                    I’m not sure how to comment on that :-)

                                                                                                                    1. 1

                                                                                                                      it is usually trivial to install newer version

                                                                                                                      Not my experience? How?

                                                                                                                      1. 1

                                                                                                                        Usually you have packages for all python versions available in some repository.

                                                                                                        2. 2

                                                                                                          Have they chosen Macs or have they been issued Macs? If I were setting up my development environment today I’d love to go back to Linux, but my employers keep giving me Macs.

                                                                                                          1. 3

                                                                                                            Ask for a Linux laptop. We provide both.

                                                                                                            I personally keep going Mac because I want things like wifi, decent power management, and not having to carefully construct a house of cards special snowflake desktop environment to get a useable workspace.

                                                                                                            If I used a desktop computer with statically affixed monitors and an Ethernet connection, I’d consider Linux. But Macs are still the premier Linux laptop.

                                                                                                            1. 1

                                                                                                              At my work place every employee is given a Linux desktop and they have to do a special request to get a Mac or Windows laptop (Which would be in addition to their Linux desktop).

                                                                                                          2. 3

                                                                                                            Let’s be clear though, what this author is advocating is much much worse from an individual liberty perspective than what Microsoft does today.

                                                                                                            1. 4

                                                                                                              Do you remember when we all thought Microsoft were evil for bundling their browser and media player? Those were good times.