1. 21

    There’s no wey Slack will let this exist for very long. They are interested in closing their platform, as we’ve seen with the IRC/XMPP gateway déprécations.

    1. 2

      I don’t think so. Wee-slack exists for nearly 4 years now, and to my knowledge, they did not have any problem so far.

      I guess the Streisand effect is on our side for things like this. Just look at popcorn time…

      1. 11

        (I was mostly posting for the wey pun. Sorry.)

        1. 4

          Goddammit, I totally missed it ><

        2. 6

          Wee-slack has an extremely niche appeal. They can afford to ignore things like that because the target market is tiny. I only hope that Wee-slack doesn’t get cut off when Slack does decide to kill this new one.

          1. 4

            Remember that a lot of companies didn’t have problems making compatible products until companies like Microsoft and Oracle were hitting them with copyright suits claiming API ownership or patent suits over core functionality. Any group is at risk in known and unknown ways if their work builds on proprietary work by a profit-motivated, selfish company. Double true on average if it’s public like Slack intends to be.

            1. 2

              Just set wee-slack up, it really seems to work pretty well, I had a bit of trouble with the tokens, but besides that it’s pretty sweet.

            2. 1

              And even if, then the best case scenario is still to be tolerated by the owners of a proprietary product while donating them free labor to play cat and mouse with their protocol.

              This reminds me an awful lot at the times when I used GAIM (nowadays called pidgin) because that allowed me to chat with my school friends on ICQ even though I was on Linux which wasn’t supported by ICQ itself. GAIMs was really nice, but broke from time to time when ICQ modified the OSCAR protocol, until the developers catched up.

            1. 5

              I am able to provide for my significant other and family, so in that sense it is meaningful, in the sense that my relationships with these people create meaning in my life.

              Inherently, is work meaningful? No. Is anything inherently meaningful? No.

              1. 2

                Yeah documentation is dense in the Haskell world. But once you get over the learning curve then the docs make sense. I recommend #haskell and #haskell-beginners on freenode, the people there really are helpful.

                The article doesn’t really get into it, but Yesod is a very well-designed framework. It’s designed around typeclasses, each method of which can be patched over for custom functionality. The separation of concerns is a traditional MVC but it’s well done in the sense that you don’t have to write a ton of boilerplate code for the controller or model, like you do in other frameworks. It took me a while to understand how to organize my codebase in the Yesod way, but after a few weeks of experience it makes sense.

                Some people don’t like Template Haskell or code generation generally, and that’s understandable. But Yesod only uses code gen where it adds value and clarity to the code, and you realize this after working with it for a while. Shakespearean templates are nice too, better than moustache or similar templating languages. I think I like the Shakespearean method better than Hiccup or Blaze or Elm’s method of function composition.

                1. 3

                  I am pretty convinced that it’s the wrong question to ask. You don’t “prove” anything to your prospective employer, because it’s not a University exams, and a job is not a favor. You come to an interview with the skills you have, and it’s their job to find out if they can use them. If they don’t it’s either because they simply don’t or they failed to recognize those. In both cases it’s not a candidate’s failure, you just go and look for another company.

                  (Unless of course you really don’t have any useful skills, but from your question it doesn’t seem to be the case :-) )

                  1. 1

                    I think the virtue of this advice is that it enhances the confidence of those who believe it. You don’t internalize the rejection so you are more confident in the face of future adversity.

                    I know that I internalize that rejection as a total judgment of my abilities. It’s easy to forget that interviewing is a game of imperfect information for both sides.

                    1. 1

                      You make a good point and I will certainly keep it in mind, but as a principle I don’t particularly like burden-shifting. The stoic in me wants to figure out how I can make something better.

                      1. 2

                        You’re in a bad position for that, however. Because no interviewer/recruiter is going to give an honest answer why they don’t want to hire you (even when they could). So you can’t really make an informed decision and learn from it.

                    1. 2

                      In one case of going from engineer on feature X to tech lead of feature X I demonstrated ability without knowing I was being tested for this role from the start. The existing tech lead was having health problems effecting their work and my hindsight read of the situation is that management wanted to fire them but was not comfortable with the risk of doing that before identifying a replacement. So I was brought onto that team and of course was not informed of the situation, so I was unaware. After a few months when it was clear I could handle the technical aspects and teamwork aspects, management promoted me. Of course this was not across companies, this was within the same company. Definitely easier to go up in the same company and making lateral moves between companies should not require any special proving.

                      1. 2

                        And just for more concrete data, at one point my next direct technical move up would have been to a formal title within BigCo that was about 7 defined levels above entry level and 1 level below “Fellow” which was a terminal level for folks with a suitcase full of patents, buildings named after them, etc. That role had very specific and fairly stringent requirements that were well documented. If I wanted to pursue it, BigCo made it very easy to understand exactly what was required and how to go about it. Again this is for internal moves.

                        1. 1

                          Thanks for sharing, I appreciate it and it teaches me a lot. My experience at a medium-sized company has been much the opposite unfortunately: it’s very hard to understand what opportunities are available and what the requirements are. Perhaps this fact is the most telling :)

                      1. 7

                        There’s two sets of issues:

                        1. The job requirements listed in most job postings are technologies, even though that isn’t really what the company is looking for.

                        2. Most resumes omit huge amounts of relevant information, and again often overfocus on technologies.

                        To become a senior developer you need some technical skills, but also to be able to work independently. That means being able to scope a project, know when to ask for help, prioritize, learn new technologies on your own, etc.. Almost no one puts this on their job postings because they can’t quite articulate it; instead they put years of experience or random list of technologies they use, conflating “knows this technology” with “will get started on this quickly/can operate independently”. Not the same thing at all.

                        On the resume side, often it’s “I did a thing!”. You also need to give context, why this thing was needed, and outcomes, why this thing was useful. And also there’s some stylistic stuff like, yes, no one reads the resume, they skim it at best.

                        So you need to make really sure it shouts INDEPENDENT WORKER YES I CAN WORK INDEPENDENTLY at the top, and it’s not buried 3/4 down the bottom of the page as an implied side-effect of a project scope that isn’t actually clear because the person interviewing doesn’t work at your company and so has no idea how impressive the thing you did actually was.

                        If you can share:

                        1. The skills you’ve seen listed, where you’ve said “I can do this!”.
                        2. Your resume.

                        then can probably give specific advice.

                        (I write a little bit about this here - https://codewithoutrules.com/2017/07/16/which-programming-skills-are-in-demand/ - but I should probably do a “here’s how you write a resume” blog post, since I have Opinions.)

                        1. 2

                          Yeah I subscribe to your website, really enjoy the articles :) I’ll PM you my resume info. I was hoping to learn other’s experiences in this thread, not ask for unsolicited career advice.

                          1. 1

                            BTW, from your blog post:

                            Learn the problem solving skills that employers will always need. That means gathering requirements, coming up with efficient solutions, project management, and so on.

                            Learning these skills is one thing. Demonstrating that you’ve learned them is another. Hiring managers don’t just want to see “project management” listed on your resume, they want to be sure that you can actually perform those skills (after all, their hiring decision is a multi-thousand-dollar bet on you, they want to be sure that their bet pays off). Could you speak to some techniques one could use to demonstrate these skills?

                            1. 2

                              I’ll try to write a some more when I have time, but here’s a quick example on the resume level. Let’s say you’re applying to a job where you don’t know the technology stack. And sadly it’s a cold application with no one to introduce you. You’re sure you can do the job, but you need to convince them. So:

                              • You probably want to say “I can learn new technologies quickly” in the first paragraph or two of the resume, because otherwise they might just skim your list-o-technologies, miss the thing they think they need, and drop your resume in the trash.
                              • You also want to give a concrete example.
                              • You want to demonstrate that the skill had real business value.

                              So e.g. you can have opening paragraph or bullet list at the top of the front page that has bit saying “I can learn new technologies quickly, as I did at a recent project where I fixed a production critical bug on day one, even though I hadn’t worked in Java before.”

                              1. 2

                                As someone who is at a startup that’s currently hiring, I when I’m skimming a resume, I’m looking for experience, not skill lists.

                                You can say “Project management” on your resume. But it’s far better to say “Was project manager for project x, successfully handling cross-team portions y and z. Project x shipped early and under budget”, and show me that you’ve managed projects.

                                If you want to convince me that you’re a senior developer, your resume should reflect that you’ve been doing the kind of work that people expect from a senior developer. Leading projects, mentoring more junior colleagues, shipping major features, etc.

                            1. 14

                              All of my upward moves have been internal, and of the form “well, we agree that I’ve been doing the job pretty successfully; let us make my title match what I’m actually doing”. IME, seniority is as much taken as it is given. (Not sure to what extent my experience is typical.)

                              (E.g. if you want to lead, mentor an intern/junior/…, or arrange to lead a small low-stakes internal project; if you want to architect, shadow an experienced architect, provide designs for your own components, and/or propose important refactorings; etc.)

                              1. 7

                                IME, seniority is as much taken as it is given.

                                Bingo. Show initiative in a polite yet assertive way, deliver results, and talk about those results to the right people.

                                1. 4

                                  seniority is as much taken as it is given

                                  This sounds like good advice. Perhaps it is more applicable to intra-company movements than moving to a new company. Hiring markets are probably be more efficient than intra-company hierarchies; that is, internally companies could be stifling a lot of value by not helping juniors move into seniority, and this inefficiency can be capitalized on by just taking the responsibilities of seniority for yourself.

                                  1. 3

                                    IME moving between companies is always where you move up

                                1. 8

                                  I appreciate the move, but “we’re paying wages based on a place and we found out it’s kind of arbitrary, so we now pay wages based on another, even more arbitrary place” is a weird argument.

                                  1. 25

                                    Not more than “we want to pay you less because you currently live in a cheaper place” as if any company has any business dictating what my appropriate level of living standard should be.

                                    I somewhat disagree with San Francisco being another arbitrary place. It is probably the most expensive city with significant number of well paid developers which seemed to be the reason why they picked it.

                                    1. 7

                                      They spend quite a bit of the blog post arguing that picking a place for a distributed company is a little arbitrary. Then they pick another place. They could have just placed themselves on the wage scale at the price where they want to be.

                                      That’s independent on why San Francisco wages are high. It’s just as much a place as Chicago is.

                                      To make it clear: the argument amuses me, nothing more, nothing less.

                                      I’m fully on board with the whole “wage depends on where you live, not the value you bring” stuff being completely off, I think the freedom to chose a different place of living also for financial reasons is important. Everyone talking “my employees should think business” and then pulling stuff like this is not practicing what they preach.

                                      1. 6

                                        We were sold the line that in the Real World, one’s salary is reflective of the value they bring to the company.

                                        Then remote work enters the picture, along with the opportunity for employees to take part in arbitrage, and the line suddenly changes to talk about standard of living and other nonsense. It struck me as odd how quickly the Real World changed once employees had the potential for an upside.

                                      2. 9

                                        I don’t think they’ve now chosen an arbitrary place. Remote work is steadily gaining in popularity. Bay area companies pay the most, and make their salaries increasingly available (or within 10%) to remote devs. Basecamp is not picking a city out of a hat, they’re putting themselves at the top of the American market they’re competing in. It used to be that the market rate for remote work included a location adjustment, but the market is moving. (Moving slowly and incompletely, of course, as wages are illiquid and sticky.)

                                        1. 1

                                          I would expect to see compensation regress towards the mean in a national or international labor market. If the supply of labor changes without a change in the demand, wages should decrease.

                                          1. 2

                                            There’s a bunch of factors and I tried not to nerd-snipe myself. I’d predict that on the balance that there’s enough increasing demand to pull up salaries outside of the bay area, but I didn’t run the numbers.

                                            1. 1

                                              Great list of factors in the third tweet.

                                            2. 1

                                              Sure - but this isn’t “the market”, it’s a founder-controlled company.

                                              The decisions are informed by the market, but not controlled by it.

                                              1. 1

                                                I would expect to see a decrease in compensation not because the market controls market actors but because free-ish markets tend towards economic equilibrium. I wasn’t referring directly to the actions taken by Basecamp but instead to “…the market is moving” in the parent.

                                          2. 4

                                            I’m with you. It’s nonsense trading place for place. I’ll add they have the better method built right into this article. Let me put it simply:

                                            Goal: Pay workers really well.

                                            Problem: Industry pays based on location. Capitalists also try to push wages down.

                                            Solution: Look at pay ranges in IT, identify a pay rate for various job positions that meets their goal for baseline, and set starting pay for those positions to those points.

                                            Done! Didn’t even need anything about location to pick a nice pay rate for programmers. Just need the national (or global) statistics on pay. They already did this by picking a number in the high end. They can finish by dropping the location part. Result is still the same.

                                            Personally, though, I find the approaches that combine cost of living with a base pay for a position to be interesting. Example here. They may be more fair depending on how one looks at it in terms of what people are keeping after basic bills in exchange for their work. I’m far from decided on that topic. Far most businesses’ goals, getting talent in areas with lower cost of living will let them invest that savings back into their business. That can be a competitive advantage with more people getting stuff done or better tools for those they have. If not needing more programmers, quite a bit of QA, deployment, and marketing goods can be bought for savings of a few programmers in cheaper areas versus expensive ones.

                                            1. 1

                                              Goal: Pay workers really well.

                                              I don’t think this is any real goal. The goal is more likely boost reputation and attract the best works.

                                              Goal: Happy (productive) and skilled workers.

                                              Actually, even then I don’t think it is right, if a company could operate effectively without staff it would.

                                              1. 2

                                                Their workers were already happy and skilled. Certainly a top priority for them. Although, the author writes as if having core principles about business on top of that. Putting their beliefs in practice to set an example is also a goal.

                                                I’m just using pay because it’s an objective value that can be measured. They wanted that value to go up. I proposed a different method to make it go up.

                                            2. 3

                                              If they don’t use SF as their template they miss out on anyone living there as a potential employee as they’ve priced themselves out

                                              1. 3

                                                Honestly, Basecamp doesn’t feel like the company to me that would actually care that much about that. They’ve managed to be highly successful without.

                                                1. 1

                                                  Really? Basecamp is all about making the best product possible. It’s not about SF per se; SF just happens to be the top of the market for developer pay. They explain in the article:

                                                  But in what other part of the business do we look at what we can merely get away with? Are we trying to make the bare minimum of a product we can get away selling to customers? Are we looking to do the bare minimum of a job marketing our business? No.

                                                  Do better than what you can get away with. Do more than the bare minimum. Don’t wait for the pressure to build. Don’t wait for the requests to mount. The best time to take a step forward is right now.

                                                  1. 2

                                                    I read the article. But if your point is “top of the market”, just say “top of the market” and be done with it.

                                                    IMHO, Basecamp is pretty good at giving their employees a fair share of their successes, and that’s fine. SF or not.

                                              2. 2

                                                I believe the logic here was “the place distinction is arbitrary, so we’ll take the most expensive place so that people can go anywhere with ease”

                                              1. 6

                                                I thought this was actually going to be about cold showers, which in fact do have a lot of awesome health benefits.

                                                1. 8

                                                  The literal interpretation given the tags was @hwayne was going to tell us the benefits of cold showers, the culture that’s developed around taking them, show his proposal on how to do it better, and ask for feedback from Lobsters brave enough to jump in one.

                                                  Presumably with a PlusCal spec of states ranging from SteppingIn to JumpingOutWithProfanity. Probably a two, state spec as I cant imagine much middle ground.

                                                  1. 1

                                                    We definitely need a category to add this one if you find any papers on it.

                                                  1. 4

                                                    Free trade is not a force for evil. It’s what people do when given the freedom to do so. Bad people with power will make bad-faith deals. Bad people with power will be worse for the common folk when they use men with guns to dictate who buys what from whom.

                                                    1. 14

                                                      How about you take a look at history and see what reality has to say about “Free trade is not a force for evil”. Bill Clinton, Ronald Reagan, and Margaret Thatcher all repeatedly bare themselves as nothing more than Hell unleashed on humanity. While you are looking, it is also easy to see how stupidly self-contradicting the mechanisms of the market are, working in all its power to eliminate the laborers that built it, or how inhumane capitalism is when given the power to do as it pleases.

                                                      To put it plainly: The market doesn’t give a fuck if you starve. The market doesn’t care what’s “right”. Its only will is to increase profits. And to increase profits it must increase productivity. And to increase productivity is to reduce the amount of labor required to create commodities. To reduce the amount of socially necessary labor is to create a surplus population of laborers. And routinely when asked what to do with a surplus population of laborers, which the market is fully capable of feeding and housing, the market has nothing to tell but “Die.”

                                                      Keynes’ solution to the self-destructive and inhumane tendencies of the market has obviously and miserably failed and what lays ahead for the market is little answer to intrinsic cycles of crisis from irreconcilable logical inconsistencies in the workings of credit, speculation, and trade itself but the horrific answer of austerity, whose handiwork can be found begging on the street, starving in the global south, and praying for hours in horrifically underpaying and inconsistent gig work through the most “Free” of all segments of the market, the domain of Uber, Lyft, and co, the internet.

                                                      The logic of the market, in some fantasy world, could possibly not hurt anyone. That fantasy world has eluded us, and it shows no sign of surfacing on the horizon. The fact of reality is that, when laid bare over history, the market is the force of destitution, alienation, and environmental destruction. And this is within its nature, as a force of history.

                                                      1. 7

                                                        To put it plainly: The market doesn’t give a fuck if you starve. The market doesn’t care what’s “right”.

                                                        But that isn’t putting it plainly. You’re anthropomorphizing the market in terms of only negative qualities. What is that supposed to tell me? I don’t know.

                                                        Its only will is to increase profits.

                                                        Looking beyond your language, this is trivially incorrect, which suggests your characterization of “the market” needs revision. For example, the other day, I traded an old computer monitor for someone’s spare space heater. Who profited? Answer: both of us. The “market” isn’t zero sum; both people involved in a trade can win, and trade is the fundamental thing on which a market is built.

                                                        Now… If you said something like, “a large firm’s only will is to increase profits” then maybe that’s OK. I could quibble over it, sure, but I do think it’s a fine first approximation. But this isn’t a fundamental truth that exists in all transactions in a market.

                                                        The logic of the market, in some fantasy world, could possibly not hurt anyone.

                                                        Online socio-poltical debate 101: the lowest form of criticism to lodge against a particular type of human organization is to pretend that its proponents think it is a panacea. (As a corollary, the lowest form of praise of a particular type of human organization is to pretend that it is a panacea.)

                                                        How about you take a look at history […]

                                                        Indeed. If you look at human history over the last few millennia, you’ll see destruction, genocide, slavery, rape, pillaging and so on. Were free markets around for all of that? No, no, I don’t think so. Does this imply free markets are somehow good? No, but it certainly implies that it isn’t the source of evil either.

                                                        Do we have it better today than we did 500 years ago? Seems like there’s an uncontroversial answer to that question: yes. What’s changed? More enlightened government? Technological progress? The ability to freely associate? Systems of currency? Increases in literacy rates? Overall increase in education? More interconnectedness? Better scientific understanding of the world around us? Who’s to say. But I know one thing: we’re still fundamentally the same sacks of meat that we were back then, and we did awful awful things even when there was no Evil Free Trade.

                                                        So what does this tell use about free trade? Honestly? Not much. But it certainly doesn’t lead us to your conclusions either. It says that there is more to the story.

                                                        The fact of reality is that, when laid bare over history, the market is the force of destitution, alienation, and environmental destruction. And this is within its nature, as a force of history.

                                                        You could basically replace the word “market” with “government” or even “humans” and the criticism would still be correct. This suggests your criticism is so vague as to be useless.

                                                        1. 1

                                                          You’re trying to ascribe human traits onto the market!

                                                          I’m doing the exact opposite. I’m describing the qualities of the market which are specifically inhumane, a market which currently fails regularly to feed millions of people around the world, while more than enough food is produced to do so. Explain that to me, please.

                                                          Some irrelevant BS about simple commodity exchange

                                                          Ah yes, the market. Which is when I trade Pokemon cards with my mates. My mind has changed about global poverty. Thank you for your sage input.

                                                          While you’re busy with your masturbatory hypotheticals and idiotic pedantry, the world exists outside your self-absorbed bubble, where capital accumulation functions, and businesses that don’t grow, die. When I say “logic of the market” I do not mean “this is what the barterer thinks” and I don’t know how you could not understand this. I’m describing the logic of a large-scale system, which can be observed through history, going back to simple commodity production and simple exchange, which (surprise) all flourished into a global system of generalized commodity production, where capital accumulation is centerplace.

                                                          Well I don’t think markets and their ideology are perfect, how dare you insinuate this!

                                                          So you admit that the current productive organization regularly starves and brutalizes the lower working class. That’s good.

                                                          Free markets weren’t even around for all of that other bad stuff throughout history!

                                                          Mostly, they were. Generalized commodity production and “capitalism” insofar as a system of capital accumulation didn’t exist until recently but simple exchange and commodity production have existed for an extremely long time, going back to even the earliest of civilizations. And where you find systems of commodities, you’ll find class and class society. And here, you’ll find that crime is concentrated in destitute lower classes, that wars are mostly waged by and for upper classes (whatever form they take), and that ideological systems nearly always directly reflect individuals’ productive orientation and relationship within society, which massively changed along the timing of each industrial revolution.

                                                          But… it’s not capitalism’s fault! You’re blaming all of this on capitalism it’s so unfair! Markets do so much for us you’re so ungrateful! People just always do bad things!

                                                          What a pitiful excuse.

                                                          My critique is grounded in a rigorous analysis of history, and nothing else. If I was interested in an ideology trying to find boogeymen of things I simply don’t like, I’d be an anarchist instead. I don’t think that restructuring our productive organization would suddenly fix every problem we have. However I do, among other things, think that it’d probably be massively beneficial for solving the problems of massive destitute surplus populations and organizing labor for what would otherwise be considered unprofitable activity. Now is a better time than ever, as the global banking systems run out of steam, and the economy sits in low flight, where participants are unprepared for the next bust to inevitably hit. I highly recommend the piece I had linked in the post above. I should’ve drawn more attention to it, and I’d hope at least some invest the hour or so it’d take reading it to absorb the work that was put into it.


                                                          I would continue editing and adding to this response but I feel I’ve worked on it for quite some time now, I’ll just post it as I have now and leave it to other participants to bring any mistakes in it to my attention.

                                                          1. 5

                                                            So… You misrepresented[1] every single one of my points while simultaneously being a gigantic asshole. Good for you.

                                                            EDIT: [1] - To clarify, I basically agree with several aspects of your rebuttals. There is perhaps not as much conflict between my comment and yours as you might think. Of course, there is vast conflict between the straw men you’ve set up (and even quoted, as if I wrote it verbatim, which is an asshole thing to do) and your response.

                                                            1. -1

                                                              I simply wrote what I read. Please correct me where I’m wrong.

                                                              1. 3

                                                                Please correct me where I’m wrong.

                                                                diff <(my comment) <(quotes in your comment)

                                                                (I am not going to write more just so you can continue to misrepresent and twist my words. If you want something from me, then you need to show a bit more good faith.)

                                                        2. 2

                                                          I look at history, and I see many terrible events. I also see a pretty solid correlation of centralised control of prices and production, with terrible outcomes for the people.

                                                          The answer to people starving isn’t controlling the market, it’s taxation and (some form of) welfare.

                                                          The answer to environmental destruction isn’t controlling the market, it’s using those men-with-guns to put people in cages when they cause it.

                                                          The market will adjust to that environment, and prices will change accordingly.

                                                          1. 0

                                                            Did a quick google for history. Love what I’ve seen from being told what to buy and make. Sign me up.

                                                          2. 4

                                                            Yeah, capitalism is fueled by people making consensual trades. I’m not saying it couldn’t get extremely ugly when powered by AI, but not as ugly as a superintelligence completely unconstrained by human values. I wish people wouldn’t try to help sell their own issues by framing AI risk as an absurdity.

                                                            It’s strange because I think Ted Chiang does understand the risk. I find both where our current society is heading with the power of AI as it is and the strawberry picker pretty terrifying.

                                                            edit: I say I think he understands because it seems clear from his story “Understand” in the stories of your life collection. He’s got another book that I haven’t read, “The Lifecycle of Software Objects” that deals with AI.

                                                            1. 6

                                                              Right. Moral arguments against capitalism are easily dismissed because they are a category mistake: capitalism is not in the category of moral systems.

                                                              However, specific capitalist societies can be implicated, like neoliberal capitalism for example, which has a specific moral agenda.

                                                              1. 1

                                                                Yet, we can evaluate the outcomes of capitalism within any ethical system we choose. From a Nicomachean standpoint, we might ask what the purpose of capitalism is. From a utilitarian standpoint, we might start examining to see if it truly does provide the greatest good for the greatest number, etc.

                                                                Economic systems are simply tools, like hammers. Using a hammer to drive in a nail and build a house is usually ethical. Using a hammer to murder someone is usually not. Then the real-world kicks in, and we have to start asking about using hammers to build prisons, or hammers to build gallows (under the authority of the state), or hammers to masturbate, and suddenly the ethical system we choose to evaluate the ethical implications of hammers is going to have a huge impact on how we draw conclusions about those questions.

                                                                All this is to say that: you absolutely can make ethical arguments about capitalism.

                                                                1. 2

                                                                  That’s not an ethical argument about capitalism, it is an ethical argument in which capitalism functions. The difference is subtle but not trivial. If we confuse capitalism with the ethical or moral system in which capitalism functions, then we risk concluding that capitalism is the problem, when in reality the ethical or moral systems are the problem. Of course, the function of capitalism within some moral system could be that it exacerbates the problems of the moral system, and I think this is the case with neoliberalism, but that does not mean capitalism is the problem, it means neoliberalism is the underlying problem and capitalism is not helping.

                                                                  1. 0

                                                                    I don’t think I quite follow your argument. If there’s a rash of hammer-based murders, the problem is not with the ethical system that tells me murder is wrong. It’s someplace between the hammer and the skull.

                                                                    1. 2

                                                                      Yes, and it is probably the skull, not the hammer; i.e. we should be looking into our mental health program. In this metaphor, the hammer is capitalism. So capitalism functions as the enabling weapon (the hammer), but the underlying problem is that our societal ethics are misaligned (we have been neglecting our mental health in society).

                                                            1. 16

                                                              I was just getting into GTD with Emacs org mode when I discovered Bullet Journals: http://bulletjournal.com/

                                                              With bullet journals, you keep everything in a small notebook in your pocket. It’s satisfyingly analogue, and less complex than GTD. I don’t do any of the fancy colouring or artistry. My journals are raw and scrawly, and don’t require batteries or a screen.

                                                              For everyday tech notes and writing, I still use org mode. But my personal and work stuff is now all tracked through bullet journals: a small pocket-sized Leuchturm 1917 for personal stuff, and a lined Blueline record book for work. I’ve been doing it for four months now, and it’s pretty decent. I think it’s worth a look-in if you would like an easy system to start with.

                                                              1. 5

                                                                I can’t enough good things about tracking my work with a bullet journal. I’ve been at it for almost three years and really appreciate the monthly (or weekly, as desired/needed) culling of unnecessary tasks.

                                                                1. 4

                                                                  I love the bullet journal approach, especially how it is specifically intended to be customized and improved upon. I discovered it about 3 months ago, and it’s the only productivity system I’ve ever used that I’ve managed to keep using for more than a couple of weeks.

                                                                  I personally use a dotted Moleskine notebook that is just small enough to stick in my back pocket so I can keep it with me everywhere I go.

                                                                  1. 2

                                                                    I use org-mode very heavily, but I don’t really like being tied to a computer 24/7. Given that you have experience with both, do you think there is a way to integrate Bullet Journals with org-mode? For now I have a pocket notebook that I will sometimes use to write lists of things that eventually just get transcribed to org-mode.

                                                                    1. 1

                                                                      After about a week of using a bullet journal I think org-mode serves a different but complimentary purpose. I’m using bullet journal for daily life tasks like dentist appointment and weekend plans with friends; org-mode for software, anything I do on the computer etc.

                                                                    2. 2

                                                                      Those who like bullet journals, but dislike the daily rewriting ritual / table of contents focus, should check out “final version perfected” by Mark Forster.

                                                                      http://markforster.squarespace.com/blog/2015/5/21/the-final-version-perfected-fvp.html

                                                                      This really helped me get out of a rut, and reboot my GTD workflow. Mind you, that happened in ~2012 or so, and only for a short period. I’m a full-time GTD person, and have been for a while. And i use org-mode and emacs to manage it.

                                                                      1. 1

                                                                        Been using a bullet journal here now for about 5 months, and absolutely agree! Mine’s not pocket sized, and I’ve recently teetered between using it for only work, or for work and other personal things. Seems to work best for just work, and I hadn’t thought of just getting another yet. Might give that a go!

                                                                      1. 1

                                                                        Somehow people discussing net neutrality are completely oblivious to the fact that ISPs are a state-enforced cartel everywhere. That’s the root problem here.

                                                                        If real competition were allowed, any ISP that tried to fleece people with a crippled connection would just keep losing customers to others that didn’t.

                                                                        1. 4

                                                                          ISP’s in America are part of the overall plutonomy of a system design to benefit the rich at the poor’s expense. They use bribes to politicians to keep that happening as much as possible. Taxpayer-funded competition is already banned or restricted in over half the states thanks to their bribes. They screwed up with Wheeler not being what they expected. One of rare times I was excited to see each move a regulator head would make. Short-lived given their and Trump’s recent pick for FCC, an ex-Verizon guy, is now trying to give them more control and financial advantage over their customers.

                                                                          Quite the opposite of state-enforced when a private-sector cartel is writing the laws and regulations more often than they’re not at the expense of their customers and the state (outside intelligence sector). The problem is voter apathy and malicious, private parties at that point.

                                                                          1. [Comment from banned user removed]

                                                                            1. 7

                                                                              I’m countering misinformation. Your comment read like this was a socialist or communist state instead of one controlled largely by interests of elites in private sector. I’ve seen pushback and votes help when lots of people did it. When that didn’t work, there were protests, lawsuits, and so on that sometimes helped. I just don’t have confidence enough people will push for it to matter. That doesn’t mean I won’t discuss the nature of the situation or potential solutions for the event someone might act on them.

                                                                              1. 0

                                                                                I’m not sure what part of “state-enforced cartel” or its implications could possibly be unclear to you.

                                                                                I’ve seen pushback and votes help when lots of people did it. When that didn’t work, there were protests, lawsuits, and so on that sometimes helped.

                                                                                The key word there is “pushback”, and protests. Politicians are completely free to ignore votes (and to count them in “desirable” ways).

                                                                                My point here is largely that we need to think outside the box of the political process, because it’s just a distraction meant to make you think you have a say in how you’re enslaved and ruled over.

                                                                                I’m countering misinformation too :)

                                                                          2. 3

                                                                            I wouldn’t be so sure. I have a feeling the majority pleasing internet (facebook and youtube riddled with mind altering ads) would become cheaper than ssh, github and a vpn in a heartbeat even with competition.

                                                                            1. 3

                                                                              Exactly. Optus in Australia offers “free social” packages (or they did back in 2013 when I used them) where Twitter, Facebook and a few others didn’t count against your mobile data usage. This is how companies will spin it. “Pay for what you want!” .. never mind that it breaks half the Internet (most Facebook posts are just links to other sites. So those people will be like “Well I can’t click on that” and will just stick to FB hosted content or links that go to YouTube .. if they have the YouTube package).

                                                                              Then when you want to get Network Neutrality going, big telecom will be like “the government wants to take your free Facebook!” (plus libertarian/don’t tread on me/free market/a company should be free to do what they want, forget that we don’t allow segregated bathrooms or smoking inside, blah blah .. bullshit)

                                                                              1. [Comment from banned user removed]

                                                                                1. 2

                                                                                  We don’t have to speculate. Portugal recently got a taste of what the ISP’s want and Republicans intend to give them:

                                                                                  https://boingboing.net/2017/10/28/warning-taken-as-suggestion.html

                                                                                  Whereas everything great about the Web today happened under terms of net neutrality. Everyone from Tier 1’s to 3’s made billions in the process. It was working for everyone with much of the financial benefit going to the ISP’s. So, they surely don’t need more protection or benefits from government. It needs to swing the other way if we’re looking out for the people with things such as forced sharing of physical lines with reasonable rates to whoever laid them down. And/or national investment in more of it under some government nonprofit that shares the lines itself. Or subsidies for ISP’s doing the same. I’m open to anything but current system of oligopolies extorting people.

                                                                                  1. 1

                                                                                    if we’re looking out for the people with things such as forced sharing of physical lines with reasonable rates to whoever laid them down. And/or national investment in more of it under some government nonprofit that shares the lines itself

                                                                                    This is what I meant earlier. You appear to be seeing government coercion as a solution to itself as the underlying problem here.

                                                                                    Instead of the government throwing its weight around even more, how about it just fuck off and let people start whatever ISPs they want to, connected the way they want to?

                                                                                    1. 3

                                                                                      The government isn’t the problem: the apathetic people are the problem. They could limit or punish this lobbying if they wanted on top of pushing hard for laws that benefit them more. They don’t.

                                                                                      Addressing the other concern, it’s been tried many times. The problem is that deploying high-speed Internet to neighborhoods with connections to backbones is very capital intensive. A local, project manager out here tells me they spend over $100,000k per neighborhood. The First Mover advantage lets the first ones in charging the default rates recover that. It can still take years. If they’re the second one in, the first can just cut rates on their stuff that’s probably already paid for to block the second one unless second is willing to make no ROI. Since it doesn’t happen a lot, there’s tons of places where the incumbent is making tons of profit. They can use that to soak up the losses charging almost nothing to the newcomer. Such tactics usually put newcomer out of business.

                                                                                      High cost of initial investment with long repayment is why infrastructure investments are typically done only by big companies or governments. Choosing between them, I’d rather go with government which has worked in foreign countries in some cases. Greedy businesses getting the infrastructure for themselves virtually never works to their targets’, err customers’, advantage. This doesn’t even include dirty tactics like digging up newcomers lines to make their service look unreliable like many ISP founders on Hacker News talked about. Even if they prove malice, the brand damage was already done. Need government intervention for that with at the least fines so large they’d not make money on an area with service loss for years. Even that wouldn’t be a guarantee.

                                                                                      1. 0

                                                                                        The government isn’t the problem: the apathetic people are the problem.

                                                                                        Government is always the problem. As I’ve kept saying here, there’s a state-enforced cartel of ISPs everywhere. That right there is government being the problem.

                                                                                        They could limit or punish this lobbying if they wanted on top of pushing hard for laws that benefit them more. They don’t.

                                                                                        That too is government being the problem.

                                                                                        You seem to think government should “fix” symptoms of government itself being the problem.

                                                                                        I get it. You’re looking at this from the perspective of the political process and the system we live in, because that’s how governments have brainwashed us all to think.

                                                                                        (Or, quite likely, you’re skillfully trolling me)

                                                                                        But thinking and acting in terms of the political process only serves to perpetuate it, which we don’t want to be doing, because it’s just a smoke-screen for the vehicle-for-mass-exploitation that is government.

                                                                              2. 2

                                                                                A solution to this problem is probably the most valuable thing that nobody seems to be working on.

                                                                              1. 6

                                                                                Seeing that Postgres makes working with JSON a completely seamless experience, I don’t see why you’d pick anything else. It’s best of both worlds. Make relational tables when you have relational data, store documents when you have documents. Meanwhile, Citus addresses the common complaint with scaling Postgres quite nicely.

                                                                                1. 4

                                                                                  Thanks for the mention. Us at Citus are also biased towards just starting with Postgres and not complicating things early on. And then today we just shipped some tooling to make it easy to move from existing Postgres (such as RDS) directly into Citus with essentially no downtime - https://www.citusdata.com/blog/2017/11/16/citus-cloud-2-postgres-and-scale-without-compromise/

                                                                                  1. 1

                                                                                    Fantastic work! :)

                                                                                  2. 3

                                                                                    Wow Citus is cool thanks for sharing! I had not heard about it before.

                                                                                  1. 3

                                                                                    So… what’s the plan to deal with expensive transactions? Are they ever going to increase the block size limit, or should we all just switch to Bitcoin Cash?

                                                                                    1. 3

                                                                                      lightning.network. “If we all just switch to Bitcoin Cash” would not make anything better. “All switching” would result in high fees on Bitcoin Cash. If they raise the blocksize to handle “all” it would simply be a very expensive version of PayPal, which is silly.

                                                                                      1. 1

                                                                                        Isn’t the lightning sidechain not yet ready? Bitcoin fees are going hockey-stick as of 2017, and the blocksize limit appears to be the obvious culprit.

                                                                                        With 1MB blocks, and six blocks per hour, you can only achieve about half a million transactions per day. Maybe sidechains are the future, but we need a solution to high transaction fees soon. Every other coin’s fees are way lower.

                                                                                        1. 2

                                                                                          Your hockey stick plot is outdated. Currently it swings wildly: https://bitinfocharts.com/comparison/bitcoin-transactionfees.html

                                                                                          If the blocksize limit is the culprit why does it swing so much? It should stay high, no?

                                                                                          1. 2

                                                                                            Here’s a chart where you can also see the fee for BCH: https://fork.lol/tx/fee

                                                                                            Here’s the current fee percentage collected by miners: https://fork.lol/reward/feepct

                                                                                            The “problem”[1] is that fees are set in token (BTC, BCH, etc) terms. If the token’s value in fiat appreciates, fees get proportionally larger, in a way that’s not always beneficial. So the fee increase is both a reflection of greater network utilization (=more transactions are vying for inclusion in blocks) and that the price of the token has increased dramatically - at least for BTC.

                                                                                            Because the transaction size of moving $3 worth of BTC isn’t appreciably smaller than moving $3,000,000, small transactions get hit by proportionally larger fees. In a traditional fiat economy, small transactions (whether by cash or checking account or just sending via a mobile) is “subsidized” by the larger economy (or borne by merchants and priced into the products they sell).

                                                                                            [1] “problem” in quotes because the system is working just as designed. After seigniorage ends fees are going to be the only incentive for miners to keep adding transactions to blocks.

                                                                                            1. 1

                                                                                              That is a better chart, thanks.

                                                                                              Volatility aside, transactions are way more expensive than they used to be. One year ago, transactions cost $0.25 apiece. Today they they cost well over $2, often as high as $6, even $9 in August.

                                                                                              I’d hypothesize that the average fee rises whenever there’s a backlog of transactions. Higher fees allow you to get higher priority in line. As the backlog diminishes, the fees go down again.

                                                                                              A larger block size would have greater maximum throughput, keeping the backlog short. The only downside I see to increasing the block size is that it would require faster internet to keep up to date.

                                                                                            2. 2

                                                                                              Isn’t the lightning sidechain not yet ready?

                                                                                              What? Lightning doesn’t have a sidechain. You’re probably thinking of Elements, which … is where the Bitcoin devs play around and experiment with new ideas. Since SegWit’s adoption Lightning is now fully compatible with the main chain.

                                                                                              1. 3

                                                                                                Oh, lightning allows on-chain scaling? How does that work?

                                                                                                1. 0

                                                                                                  Oh, lightning allows on-chain scaling? How does that work?

                                                                                                  No. Once you start trolling, I stop taking your questions seriously.

                                                                                                  1. 3

                                                                                                    I solemnly swear that I never intentionally troll, on this forum or otherwise. There’s a lot of conflicting information flying around, particularly with all the forks this year.

                                                                                                    Last year, there was only one Bitcoin chain, and fees were cheap. In 2017 the scaling debate intensified, and as far as I can tell there are basically two sides: “big-blockers” who want on-chain scaling, and those who want off-chain scaling with sidechains, which segwit is supposed to enable.

                                                                                                    Now, many of the big-blockers got fed up with Bitcoin development, and hard-forked to create Bitcoin Cash. In theory the 8MB blocks would allow it to support over 2 million transactions per day, but it’s hard to test that theory since BCH doesn’t have as many daily transactions as BTC.

                                                                                                    The canonical BTC project seems strongly against increasing the blocksize for reasons I don’t understand. I expected them to follow the “New York agreement” compromise: implement segwit now, and double the blocksize later. Apparently they’ve reneged on the blocksize doubling.

                                                                                                    What I don’t understand is, why would anyone want to cripple Bitcoin by limiting it to half a million transactions per day? It’s causing huge backlogs and fee spikes. What is so spooky about 2MB blocks? The paranoid answer is that the blocksize is intentionally being kept small in order to strangle BTC with high fees, or drive people into profiteering sidechains.

                                                                                                    I don’t know anything about Lightning except that it’s supposed to solve everything and doesn’t exist yet.

                                                                                                    Edit: I’m reading the link you posted in another comment, and I’m still left confused. The UI says “Lightning payments will be instant, while on-chain Bitcoin transactions will require at least one confirmation”. If lightning isn’t on-chain, doesn’t that mean it’s a sidechain?

                                                                                                    Edit2: Apparently this confusion (thinking Lightning is a sidechain) is common. https://bitcoin.stackexchange.com/questions/58064/does-a-segwit-based-side-chain-like-the-lightning-network-allow-for-fractional-r

                                                                                                    1. 0

                                                                                                      The main thing you are right about is “there’s a lot of conflicting information flying around”, and I can see it’s creating a lot of confusion.

                                                                                                      To help you understand what’s going on, I would have to spend like an hour with you, based on the reply you’ve just given. I’d be happy to do that … but I couldn’t justify the time given:

                                                                                                      • You’re probably not going to pay me for it
                                                                                                      • The core developers have answered your questions very clearly in multiple places across the web, and at this point it is not their fault for not being clear enough, but others fault for not putting in the effort to understand how Bitcoin (and decentralized consensus systems in general) work.

                                                                                                      So, if you want to pay for an hour of my time, send me a PM. Otherwise, I recommend spending a weekend on the subject.

                                                                                                      If it helps you get started, here’s what you’re confused about:

                                                                                                      • “off-chain scaling with sidechains” <- sidechains are on-chain (edit: on another chain)
                                                                                                      • “The canonical BTC project seems strongly against increasing the blocksize for reasons I don’t understand” <- at least you’re aware of what you don’t know, that’s better than many
                                                                                                      • “Apparently they’ve reneged on the blocksize doubling” <- they didn’t reneg on anything
                                                                                                      • “why would anyone want to cripple Bitcoin by limiting it to half a million transactions per day?” <- they are not crippling it, they are protecting it from attack
                                                                                                      • “The paranoid answer is that the blocksize is intentionally being kept small in order to strangle BTC with high fees, or drive people into profiteering sidechains.” <- just, no.
                                                                                                      • “I don’t know anything about Lightning except that it’s supposed to solve everything and doesn’t exist yet.” <- apparently you don’t know anything about Lightning, period. It doesn’t take much effort to READ
                                                                                                      1. 2

                                                                                                        I can work with a todo-list of topics, thanks :)

                                                                                                        1. 2

                                                                                                          Keeping up with blockchain news is harder than clearing out a Skyrim questlog.

                                                                                                          Here’s a collection of (hopefully correct) things I’ve learned today:

                                                                                                          • Increased blocksize is one way to scale, but comes with increased bandwidth and storage costs.
                                                                                                          • Increasing the blocksize above 1MB requires a hard-fork, whereas segwit was implementable with a safer soft-fork.
                                                                                                          • The terms “on-chain” and “off-chain” are muddled and there’s no real consensus on definitions.
                                                                                                          • A “sidechain” is a separate blockchain, attached to BTC using a 2-way peg to ensure no fraudulent coins are created, and the value remains stable across chains.
                                                                                                          • In a sense, sidechains allow off-chain transactions (not part of the main BTC chain), but they are settled on-chain.
                                                                                                          • Exchanges like Coinbase manage their own books. These are truly off-chain transactions and are not cryptographically secured.
                                                                                                          • Lightning attempts to provide scaling without using more bandwidth.
                                                                                                          • Lightning is not a sidechain. It uses conditional payments to tie-up BTC in hubs/channels which support cheap micropayments. It’s a pretty elegant hack.
                                                                                                          • Lightning does not support credit. You must deposit BTC into a hub before you can spend within that channel.
                                                                                                          • Lightning’s architecture benefits from large hubs. Too many hops between hubs will likely be prohibitively expensive.

                                                                                                          Still unclear:

                                                                                                          • How does limiting BTC’s transactions per day protect it against attack?
                                                                                                          • People say large blocks give more power to miners. How does that follow?
                                                                                                          • When will I be able to use Lightning?

                                                                                                          In short, there is more than one approach to scaling Bitcoin. Blocksize is the obvious approach but 1) requires a hard-fork to implement, and 2) isn’t a long-term solution to the scaling problem.

                                                                                                          1. 2

                                                                                                            Since you actually went out and researched stuff on your own (note: not endorsing all of your conclusions, but they’re considerably less problematic now), I will answer your remaining questions:

                                                                                                            How does limiting BTC’s transactions per day protect it against attack? People say large blocks give more power to miners. How does that follow?

                                                                                                            Read:

                                                                                                            When will I be able to use Lightning?

                                                                                                            Soon, hopefully. Since they’ve got software that they’re testing now on the test net (which you can download and test yourself), I assume it will be out sometime in 2018, but we’ll see.

                                                                                                            1. 2

                                                                                                              For posterity, I found a comment which explains the point well.

                                                                                                              [Big blockers] think all they have to do is plug a 10 tb hard drive into their miners and boom, problem solved right? The problem is that you would have to then be capable of validating more memory and it has to be done before the new block comes out. Eventually you will get to 1 gig blocks and for something to process 1 gig per block EVERY 10 minutes would need much more powerful hardware to validate the network. Making the network harder to validate reduces the network’s security and most importantly decentralization.

                                                                                                              People are easily fooled because increasing block size instantly relieves congestion in the network and speeds are fast again and fees are low which is what I want too but increasing the block size is no different from a bail out. Its going in the wrong direction. If possible we want to make the 1 mb smaller so more and more devices can validate bitcoin’s network thus making bitcoin’s security indestructible and way more decentralized. Sure this doesn’t relieve pressure to the network but increasing block size is very risky hoping our hardware will keep up and even if it does, that means EVERYONE would have to keep up to reduce centralization, and again you cant just go to your local Best Buy and buy a hard drive, your hardware would have to process all that memory in under ten minutes. 24/7. Eventually this will lead to only a few players being able to validate blocks and boom there’s your 51% attack.

                                                                                                              We have no choice to find another solution for the sake of decentralization. The network must become easier to run, not more demanding.

                                                                                                              1. 2

                                                                                                                Nice find, thanks for sharing that.

                                                                                            3. 3

                                                                                              The “plan” is the Lightning Network, which is completely unlike Bitcoin. It’s presently a two-year-old white paper, a byte-level protocol spec in progress and some sample code.

                                                                                              They don’t seem to have anything official documenting how the economics of it are supposed to work or feel from the user or merchant perspective. I’m still trying to make sense of the latter (the devs get very defensive when asked about it), but I’m pretty sure the hub nodes turn into something that’s functionally a bank, and you can get credit (the promise of money being approximately usable as money) out of the system, making it even more unlike Bitcoin. I have no idea why anyone will want to adopt this thing. But I eagerly await more details.

                                                                                              1. 0

                                                                                                but I’m pretty sure the hub nodes turn into something that’s functionally a bank, and you can get credit (the promise of money being approximately usable as money) out of the system, making it even more unlike Bitcoin.

                                                                                                No no no no!

                                                                                                Banks own your money.

                                                                                                Lightning Network preserves the ownership aspect of Bitcoin. Hubs cannot steal your Bitcoins (without a lot of extreme collusion and very sophisticated network attacks going on).

                                                                                                They don’t seem to have anything official documenting how the economics of it are supposed to work or feel from the user or merchant perspective.

                                                                                                Yes they do!

                                                                                                Here:

                                                                                                1. 3

                                                                                                  Banks own your money.

                                                                                                  If you make a deposit at a bank, the bank owes you money.

                                                                                                  Deposits are liabilities, loans are assets from a bank’s perspective.

                                                                                                  1. 0

                                                                                                    Yeah, that’s what the banks say. What is said, what is written, what is promised, is quite different from real ownership.

                                                                                                    In the real world, accounts are frozen, assets are stolen by the custodian, and banks, along with hundreds of companies, track and approve your every purchase. Bitcoin demonstrates the difference between “ownership” and ownership.

                                                                                              2. 1

                                                                                                Bitcoin Cash for sure

                                                                                                1. 2

                                                                                                  For a “cash” fork, BCH has put no apparent effort into merchant adoption, its supposed use case. Not even the drug market is interested in BCH.

                                                                                                  1. 1

                                                                                                    Why not both?

                                                                                                1. 60

                                                                                                  I’m pretty uncomfortable with calling software “sexy”.

                                                                                                  1. 27

                                                                                                    Agreed. And going to a website promoting ostensibly professional software only to see “sexy” in large type multiple times just doesn’t feel work appropriate.

                                                                                                    “the little sweet and sexy” is just not a phrase you should be using to describe software. It’s off-putting to people, and it’s generally (at least in pop culture) used by leachers old men.This feels like yet another example of how tone deaf men in tech can be.

                                                                                                    1. -5

                                                                                                      Glad to you took the time to insult and signal how much better you are than those leacher, tone deaf old men who wrote some free software for you. It’s really a great way to earn friends and show them the errors of their ways by shaming people publicly. /s

                                                                                                      p.s. I agree with the sentiment, and hwayne’s comment is far more appropriate than some of the others I have seen. He expresses his own opinion, not theoretical opinions of others, and doesn’t shame anyone.

                                                                                                      p.p.s The funny thing Is rereading my own comment, I see I am not even following my own advice! A better comment would be something like:

                                                                                                      I do not agree with calling potentially well meaning people “tone deaf”.

                                                                                                    2. 5

                                                                                                      Same for me, but that’s probably the sign of times. I have also the same feeling when people say that they love this company or that software.

                                                                                                      Of course when old established projects use such a lingo it may sound like when old people say something in teenage slang. It will feel off for teenagers and alien to other old people. Sort of uncanny valley?

                                                                                                      1. 3

                                                                                                        At some point you are reading way too far into things… It just means ‘stronger than like’ in that context.

                                                                                                        I love my pet dogs. I love good food. I love good software.

                                                                                                        1. 5

                                                                                                          It may be because I’m not a native English speaker. In my language love is mostly reserved to the top emotion. Then if you love something (your work or music genere) it means that it can literally compete with the feeling you have to e.g. your spouse. I guess it’s something that I can’t get over. Especially regarding purely profit motivated endeavours.

                                                                                                          1. 4

                                                                                                            Almost certainly a native/non-native speaker thing. In American English at least, ‘love’ is a pretty tame word that gets thrown around for everything. There really isn’t a specific word distinct for, e.g., the feeling one feels about their spouse; about their kids; etc. Usually ‘love’ is used there too, and context determines the level of effect.

                                                                                                            Occasionally you might see modifiers like, “brotherly love”, “fatherly love”, “familial love”, etc. That’s not super common though, mostly just context to delineate the quality of the usage.

                                                                                                            What is your native language? I know Greek has a few different words for different classes of ‘love’, and I imagine it’s not super uncommon, but I’m always curious about language related topics and the different quirks various languages have.

                                                                                                            1. 3

                                                                                                              I’m Polish. We say something like “brotherly love” or “fatherly love”. One can love their work, hobby and certainly their pet. But when someone says that he loves food or a thing it sound strange. “Like” is “lubić”. “Love” is “kochać”. “Love” in context of things would be more commonly translated to “uwielbiać”. It literally means “worship”, but in this context it is really more like “love” used as “stronger than like”. So maybe it is more crazy then in English.

                                                                                                              Love as a verb is “kochać”. But love as a noun is “miłość”. So “kochać” means that you feel “miłość” to somebody.

                                                                                                              I heard people from more pop part of younger generation saying such things, but it sounds for me like a literal translation from English. I heard it in movies and especially children movies. It almost always sounded off to me, but next generation is learning this foreign use. So I guess I’m doomed thanks to globalization ;).

                                                                                                              1. 1

                                                                                                                I’m also Polish and to be honest I find nothing strange in usage of “love” in context of “food or a thing” (both in Polish and in English). Considering that it seems from your linkedin profile that I’m older (32) than you I think your generalizations about younger generation is wrong :)

                                                                                                      2. 3

                                                                                                        Yes. Also: laptops, companies, fields of study, consumer electronics, genres of literature, fonts, cooking techniques…

                                                                                                        Unless you are literally indicating sexual attractiveness, please use a word such as “exciting”, “sleek”, or “fashionable”.

                                                                                                        1. 2

                                                                                                          I don’t think I have a problem with the sexy part, I have a problem with the screenshots make it not even look all that great. Those fonts are terrible. There’s nothing in the feature list that really even makes me want to try it out over the editors/IDEs I currently use.

                                                                                                          1. 3

                                                                                                            I filed an issue. Please consider +1

                                                                                                            https://github.com/geany/geany/issues/1672

                                                                                                            1. 10

                                                                                                              Is not “sexy” a gender neutral word, that can be used about both genders?

                                                                                                              1. 14

                                                                                                                It’s not about whether it’s gender neutral. It’s just kinda weird.

                                                                                                                1. 6

                                                                                                                  Agree, but linked issue mentions women as if word “sexy” offends women more than men.

                                                                                                                  1. 9

                                                                                                                    Yes, sexy is gender neutral. What makes it potentially offensive to women is the association with exploitation and objectification.

                                                                                                                    The word itself isn’t offensive. I can say that I find my wife to be drop dead sexy, but that’s because in that context it’s entirely appropriate.

                                                                                                                    1. 4

                                                                                                                      I completely agree that sexy in context of software sounds strange at best. I just don’t think that mentioning one particular gender in that issue was needed.

                                                                                                                      1. -2

                                                                                                                        Stop taking offense on behalf of others.

                                                                                                                        1. 10

                                                                                                                          Fascinating that you see it that way. When there is a gigantic groundswell of people saying “your behavior makes me uncomfortable” I try to change that behavior.

                                                                                                                          I for one value women in tech. I find their presence in my day to day working life improves my productivity and the productivity of the teams I work on, as does a diversity of backgrounds, opinions and characteristics.

                                                                                                                          So, for me this isn’t about offense, it’s about trying to make the industry I care deeply about a more welcoming place for a group of people I also care deeply about.

                                                                                                                          1. 10

                                                                                                                            Folks can play dumb about “sexy” alone, but when you address the complete phrase, “little, sweet, and sexy,” someone’s gotta be pretending to be reeeal oblivious to show up and say oh that’s neutral we’re not talking about software like we wanna talk about women.

                                                                                                                            Anyway keep speaking up, because yeah it’s not “taking offense on behalf of others” its paying attention to them and having consideration without them having to speak every time. And I sure as heck don’t like to wade directly into this kind of talk on lobsters very often, it’s rarely worth it.

                                                                                                                            1. 2

                                                                                                                              Thanks. I think that’s why it’s important for people in privileged situations like myself to at least try and raise awareness. I don’t let the negative comments get to me - I was donning my asbestos underwear and wading into email/USENET threads before most of these people were born :)

                                                                                                                              1. 1

                                                                                                                                I can’t imagine people talking about women that way. Would be super creepy to use a phrase like “sweet and sexy” about a person instead of a thing…

                                                                                                                                1. -1

                                                                                                                                  Maybe you are (or someone reading this is) not aware of the counter argument so I thought I’d share: the implication in your comment is that sex necessarily exploits women, which is false. The idea that sex necessarily exploits women reinforces the belief that we must protect women from sex as we do children. This is a defining aspect of anti-sex, Third Wave feminism, which I believe runs counter to the feminist goals of dismantaling fascist and patriarchal structures in society.

                                                                                                                                2. 6

                                                                                                                                  I am very rarely seeing a groundswell of people saying “Your behavior makes me uncomfortable”.

                                                                                                                                  What I actually see is people saying “I assume your behavior is making somebody else uncomfortable, and I am taking the credit for ‘fixing’ you”. I far prefer the original comment from hwayne where he was talking about his own opinions, rather than imagining those of other people.

                                                                                                                                  1. 6

                                                                                                                                    My upvotes usually mean “you speak for me also”. It’s quite a time saver. :) So, to clarify, I myself personally was made uncomfortable by someone describing software as “sweet and sexy”. So much so that I only skimmed the first page or so and closed the tab.

                                                                                                                                    I assume they had good intentions. If I were the author, I’d work a bit more to come up with some way to express my excitement at having written something cool, without sounding creepy.

                                                                                                                                    1. 4

                                                                                                                                      And I’d like to be very clear, I don’t disagree with the argument, I disagree with some of the methods used to enforce them.

                                                                                                                                    2. 3

                                                                                                                                      I for one value women in tech. I find their presence in my day to day working life improves my productivity and the productivity of the teams I work on, as does a diversity of backgrounds, opinions and characteristics.

                                                                                                                                      Non-native English speaker here. How does the term sexy offend only women and make them unwelcome to OSS? I mean, I understand the top comment (by hwayne) here saying how it would make someone uncomfortable, but why I don’t understand why it is only limited to women.

                                                                                                                                      1. 5
                                                                                                                                        Quoting a woman who’s a friend of mine from another context, unattributed at her request:

                                                                                                                                        The word “sexy” when used to mean that something is sexually attractive, is what it is. You may or may not be expressing something offensive when you use it. The word “sexy” when used to describe something that is not sexual - a car, an algorithm, a user interface - still evokes the idea of sex. It implies that you should feel sexually “turned on” by it, even if it is not literally a thing with which you would have sex. Given the cultural and historical context of our times, a professional environment where people are expected to feel sexually “turned on” by things, or where the idea of sex is constantly referred to when it is not technically relevant, is not an environment where many women will assume they are respected or even safe. You personally might go ahead and assume you are safe and respected. Many women won’t. This reduces the pool of women who are interested in applying for jobs at your company, or interested in staying once they have experienced it for awhile. The people who create the culture of a company either care about that, or they don’t.

                                                                                                                                  2. -1

                                                                                                                                    But you are the one drawing associating between “sex” and “exploitation” and “women”.

                                                                                                                            2. 7

                                                                                                                              For those who are about to read: note that geany.sexy is not managed by the maintainers of the Geany IDE, so the issue didn’t end up going anywhere.

                                                                                                                              1. 7

                                                                                                                                This seems like a silly thing to even care about. It’s like the whole master/slave IDE cable debate. Seriously, it doesn’t need to be a big deal. It’s not even the editors official site. There are more important things to spend time on.

                                                                                                                              2. -2

                                                                                                                                Are you uncomfortable with sexuality in general?

                                                                                                                              1. 4

                                                                                                                                Starting some free Clojure mentorship, details here. Got a lot of responses already and I plan to accommodate them all even if it costs me sleep, looking forward to it.

                                                                                                                                1. 7

                                                                                                                                  Finally a sober (i.e. non-ideological) take on the static vs dynamic discussion! Came here to post this because Jean-Louis Giordano (who I’ve never heard of until this article) expresses love for both Haskell and Clojure in a much more technically-sophisticated language than I can :)

                                                                                                                                  1. 13

                                                                                                                                    Insightful article!

                                                                                                                                    As private businesses, GOOG, FB, and AMZN don’t need to guarantee you access to their networks.

                                                                                                                                    Like a public service would? The author seems to think governments should be doing something to “guarantee” our access to these services, but in reality, the goal is the exact opposite.

                                                                                                                                    The problem here is centralization, and a lack of options. You’d need access to “the Trinet” to get stuff done in the real world, but as the author pointed out, anyone could easily be shut out from the services.

                                                                                                                                    You do not have a legal right to an account in their servers, and as societies we aren’t demanding for these rights as vehemently as we could, to counter the strategies that tech giants are putting forward.

                                                                                                                                    It’s not the tech giants’ “strategies” we should worry about.

                                                                                                                                    Have you seen the new “citizen score” system the Chinese dictatorship is working on: https://www.corbettreport.com/chinese-credit-dutch-points-afghan-ops-new-world-next-week/ ?

                                                                                                                                    Obviously, access to necessary, but centralized systems/services like “the Trinet” or the banking system can be withdrawn as a punishment for being a bad citizen.

                                                                                                                                    1. 7

                                                                                                                                      don’t need to guarantee you access to their networks.

                                                                                                                                      Like a public service would?

                                                                                                                                      The court system, public schools, public defenders, public utilities, the fire department, the national highway system… none of these have any issue being open to all. I’m not sure what you are getting at.

                                                                                                                                      withdrawn as a punishment for being a bad citizen.

                                                                                                                                      Isn’t that how it ought to work? If you routinely drive drunk, you aren’t allowed on the highway. As it should be.

                                                                                                                                      1. 6

                                                                                                                                        If you routinely drive drunk, you aren’t allowed on the highway. As it should be.

                                                                                                                                        The difference between this and a “citizen score” ranking system are not remotely trivial.

                                                                                                                                        1. 2

                                                                                                                                          The situation isn’t any better with Fb, Twitter, Youtube, etc. Your account can be shut down on a whim, and you’ll have no recourse.

                                                                                                                                          1. 3

                                                                                                                                            Yes I agree. While there is a huge difference between drunk driving (likely lethal) and text-driven social networks, societies of control are something very concerning. I’m hoping the “distributed web 3.0” stuff makes this better, but I’m not totally convinced it will yet.

                                                                                                                                            1. 3

                                                                                                                                              Heavy centralization in recent years is very concerning. I think projects like Mastodon are really important in that regard. I’m really glad to see that it managed to gain some critical mass. It shows that it’s still possible for an open and federated platform to succeed today.

                                                                                                                                        2. 2

                                                                                                                                          If you routinely drive drunk, you aren’t allowed on the highway. As it should be.

                                                                                                                                          While on the other hand if you routinely criticize either gatekeepers of public discourse or your government you should be allowed avenues to do that. The concern is that the notion of “bad citizen” doesn’t necessarily mean “citizen who’s doing harm through network access”, unlike the drunk driver case.

                                                                                                                                          1. 2

                                                                                                                                            none of these have any issue being open to all. I’m not sure what you are getting at.

                                                                                                                                            It seems you didn’t look into the linked material.

                                                                                                                                            Governments want to have absolute power over the masses, 1984-style, and that’s what the “citizen score” systems they are now working on are geared towards.

                                                                                                                                            It’s not only China being China either. If you look at the material, you’ll see Canada working on their own version. This hits closer to home, right?

                                                                                                                                            Centralization supports the goal, because if there’s only a handful of alternatives for something you need - or even just one - then it’s easy to make your life exceedingly difficult at the stroke of a button somewhere.

                                                                                                                                            Imagine your low “citizen score” leading to your bank account getting closed. No other bank will give you an account either, because they all see you’re a naughty little peasant, and the centralized banking system is the only game in town. Now you’re fucked.

                                                                                                                                            Suppose you’re looking for a job, and the potential employer sees you have a low citizen score. No job for you. The employer doesn’t want to risk his own score by employing a naughty thought-criminal!

                                                                                                                                            1. 5

                                                                                                                                              The linked material has a post about Canada where the author is very upset that we the readers didn’t listen to him — no supporting evidence. I already know about China doing some China things, but my local DMV is still pretty great last I checked.

                                                                                                                                              More importantly: America is an oligarchy run by a moron, we have an impending cultural crisis as our puritanical work-based-ethics get disassembled by automation, and we are driving our SUVs headfirst into an ecological disaster that may start to impact our food supply as early as 2030 (my son will be 13). And all of those merit centralized responses. I’m far more confident in the courts and the ACLU than I am about surviving war, civil unrest, drought and famine. Why don’t you start worrying about any of that instead of whether your credit score will incorporate how many likes you got on instagram?

                                                                                                                                              1. 0

                                                                                                                                                The linked material has a post about Canada where the author is very upset that we the readers didn’t listen to him — no supporting evidence.

                                                                                                                                                It’s like you two intentionally set out to find something, anything in James Corbett’s work you could use to discredit him.

                                                                                                                                                You’re probably smart enough to look further though, right? So maybe you already found out that usually everything he talks about is well sourced.

                                                                                                                                                America is an oligarchy run by a moron

                                                                                                                                                Do you genuinely think Trump is actually in charge? Do you think an actual moron would be able to climb atop the hierarchy of political power?

                                                                                                                                                impending cultural crisis as our puritanical work-based-ethics get disassembled by automation, and we are driving our SUVs headfirst into an ecological disaster that may start to impact our food supply

                                                                                                                                                For some education on this stuff, you should probably listen to James Corbett.

                                                                                                                                              2. 3

                                                                                                                                                It’s not only China being China either. If you look at the material, you’ll see Canada working on their own version. This hits closer to home, right?

                                                                                                                                                Assuming this is the article you’re referring to, I dare anyone to read it and take anything meaningful away from it.

                                                                                                                                                https://www.corbettreport.com/it-begins-canadian-gov-rolls-out-points-to-reward-good-citizens/

                                                                                                                                                It’s filled with self-citation and says nothing specifically about how Canada is working on a citizen score. It’s conspiracy theory nonsense.

                                                                                                                                                1. 0

                                                                                                                                                  It’s filled with self-citation and says nothing specifically about how Canada is working on a citizen score

                                                                                                                                                  Perhaps there’s more information (and sources) to be found behind the “self-citations”?

                                                                                                                                                2. 1

                                                                                                                                                  Who needs government-run citizen scores when the private sector already has credit scores?

                                                                                                                                              3. 1

                                                                                                                                                Like a public service would? The author seems to think governments should be doing something to “guarantee” our access to these services, but in reality, the goal is the exact opposite.

                                                                                                                                                Or, government could step in to guarantee fair opportunities among competing internet businesses, basically preventing a monopoly (trinopoly?) situation.

                                                                                                                                                And FWIW, I thought the article was written as a technical analysis only; I didn’t read any political implications in it.

                                                                                                                                                1. 1

                                                                                                                                                  government could step in to guarantee fair opportunities among competing internet businesses

                                                                                                                                                  An exaggeration to make a point: “The government could step in to make Usain Bolt a little slower”

                                                                                                                                                  I’m not saying FGOOAMABOOK represents fair competition, but it’s important to see the principles involved. Any problems we have with competition are actually caused by government intervention one way or another.

                                                                                                                                                  The purpose of forcefully intervening in other people’s economic activities is to benefit some at others’ expense. Whenever Comcast is the only ISP available, it’s because others weren’t allowed to open ISPs there. Imagine how easy it would be to compete with Comcast..

                                                                                                                                                  1. 5

                                                                                                                                                    Imagine how easy it would be to compete with Comcast..

                                                                                                                                                    Why imagine? We can look at the recent events. I have read multiple stories where people said that Comcast started offering better plans in some limited area immediately after Google had announced Google Fiber expansion to the area.

                                                                                                                                                    1. 3

                                                                                                                                                      The Usain Bolt metaphor doesn’t quite work because Usain is not the only athlete (monopoly), he’s just the best (or he was, in any case).

                                                                                                                                                      Any problems we have with competition are actually caused by government intervention one way or another.

                                                                                                                                                      Sorry, but this seems like a gross generalization. Competitive problems can also happen for totally orthogonal reasons to government intervention. Overall I get you’re point but defending such an extremist position as you are is difficult and, frankly, I’m not convinced.

                                                                                                                                                      1. 1

                                                                                                                                                        Overall I get you’re point but defending such an extremist position as you are is difficult and, frankly, I’m not convinced.

                                                                                                                                                        Feel free to settle for just getting my point then. Note also that calling a position “extremist” doesn’t mean it’s wrong.

                                                                                                                                                        Competitive problems can also happen for totally orthogonal reasons to government intervention.

                                                                                                                                                        That seems awfully vague. I’m not convinced.

                                                                                                                                                    2. 0

                                                                                                                                                      I thought the article was written as a technical analysis only; I didn’t read any political implications in it.

                                                                                                                                                      Yes, the original article didn’t bring up the police statey implications that are actually at play here. That’s why I commented.

                                                                                                                                                      See another response: https://lobste.rs/s/54rvap/web_began_dying_2014_heres_how#c_2a0i3g

                                                                                                                                                      The government is not your friend. In fact, it’s our greatest enemy.

                                                                                                                                                      1. 4

                                                                                                                                                        I think you’re moralizing government a bit much

                                                                                                                                                        1. 0

                                                                                                                                                          Nope, not at all.

                                                                                                                                                          “Citation needed!!!” ? :)

                                                                                                                                                          Here’s one: https://reason.com/archives/2014/05/15/be-antigovernment-and-proud

                                                                                                                                                  1. 5

                                                                                                                                                    The funniest (saddest?) thing in my opinion is, reading Scott Adams’ blog posts about WhenHub, you can see him using the persuasion tactics that he describes in other blog posts.

                                                                                                                                                    1. 4

                                                                                                                                                      The premise of this article is invalidated by the observation that “static vs dynamic” types are a false dichotomy

                                                                                                                                                      1. 1

                                                                                                                                                        Why is that a false dichotomy?

                                                                                                                                                        1. 6

                                                                                                                                                          There are many ways you could put a language’s type semantics into a category. You could say it is based on Hindley-Milner inference like Haskell, or sequent calculus like Shen. You could say it allows arbitrary side effects like OCaml or it supports managed side effects like Haskell. Even the differences between Purescript and Elm are enough to be two different categories of type systems. You could say it supports custom types like Clojure (deftype), or it supports classes like Python. You could say it supports objects as types like Ruby or as prototypes like Io.

                                                                                                                                                          Given the multiplicity of forms that a type system can take, why do we put all type systems into either a “static” or “dynamic” category? Are these specific categories useful? I really don’t think so. I love writing both Clojure and Haskell because I think both languages are well designed for very different reasons. Both languages have monadic abstractions as part of the standard library (which Python/Ruby/JS do not have), and when look at it from that perspective Clojure and Haskell seem a lot more similar than they do different.

                                                                                                                                                          1. 2

                                                                                                                                                            I definitely buy that there are other dimensions for evaluating languages, but existence of a rich static type system is a giant one. That said, I basically don’t see substantial similarity between static types and dynamic types. To my experience and understanding, types solve very different problems than classes or “tags” (like deftype).

                                                                                                                                                            Maybe not “false” dichotomy, more “one of many”.

                                                                                                                                                            1. 2

                                                                                                                                                              Whatever you want to call it I still don’t think “static” vs “dynamic” is that useful, it just doesn’t tell me much about the language. Also consider my second paragraph here: https://lobste.rs/s/l9foze/clojure_vs_static_typing_world#c_htqfpw

                                                                                                                                                              1. 1

                                                                                                                                                                We’ll have to agree to disagree. Fwiw, I don’t think Clojure captures a monadic interface at all. You can do it a little bit (see funcool/cats) but it’s difficult and doesn’t really capture the abstraction well. I’ve never seen a dynamic language talk about monads effectively.

                                                                                                                                                            2. 2

                                                                                                                                                              Certainly there are many different kinds of type systems. But that doesn’t mean static/dynamic is a false dichotomy. What it’s really getting at is “Can I know the type of this variable at compile-time? Or do I need to run the program in order to find out?”

                                                                                                                                                              There is some crossover. From the dynamic camp, Python and Clojure are experimenting with gradual type systems. From the static camp, C# has added the dynamic keyword.

                                                                                                                                                              1. 4

                                                                                                                                                                As long as you can construct a type hole, or use a similar trick, Dynamic can almost always be built in a “static typed” language even without a keyword.

                                                                                                                                                                1. 2

                                                                                                                                                                  Okay but, unless I’m reading you incorrectly, your implied definition of “type system” derives from assuming that static types are the “true” types, and dynamic types are just “static types that we call eval on” or something like that.

                                                                                                                                                                  This is why I mentioned Foucault in the other comment because the trueness of your static type system is only relevant in the context of your type theory. If you have a different type theory, your type system won’t have as much truthiness to it. This is why Shen is so interesting because the type system subsumes Hindley-Milner. Most static-type-fanatics only know HM type systems, and they perceive HM as the one true type system. If Shen’s sequent calculus type system can subsume HM, when what does that say about the truthiness of HM?

                                                                                                                                                                  The problem is the truthy claim of any type system over another, hence the false dichotomy. So forget about static or dynamic. Your question, “Can I know the type of this variable at compile- or run-time?” is a better question, though I would replace it with “When do types become relevant in this language? Is it only compile-time (Haskell), only run-time (Python), or both (Shen)?” In addition, I would encourage considering other aspects of type systems, such as whether or not they allow arbitrary side-effects, whether or not they are built around monads. Don’t just jump to “is it static or dynamic?”

                                                                                                                                                                  tl;dr focus on the functional qualities of type systems in languages, not whether they conform to the “true type theory”.

                                                                                                                                                                  1. 2

                                                                                                                                                                    I think there’s a huge distinction because “interpretation” or “reduction” or “runtime” has wildly different properties than static analysis. Even dependent types which “blur the boundary” don’t really, they bring small amounts of computational power to static analysis.

                                                                                                                                                                    What makes runtime so much more complex? The easy answer is “side effects”, but we can go further and consider the question even for entirely pure languages: what makes runtime so different?

                                                                                                                                                                    I like to view it in terms of abstract interpretation. Outside of runtime there are many sorts of approximations you could run and a wide variety of interpretations and expenses that are possible. Runtime collapses all of the “abstract” interpretation into a single concrete one. It feels topological: we’ve moved from discussions of opens to a single point.

                                                                                                                                                                    From one perspective this is nice or perhaps even not such a big deal, but those two worlds are different. The topology of abstract interpretations is rich with structure and can be related to other structures (model checkers, logical statements, etc). Runtime kills off all of this structure in favor of concreteness: this is the answer. Of course, as programmers we’re interested in the answer (but not everyone is: see proof checkers).

                                                                                                                                                                    It’s on basis of this that I see there to be a huge distinction between static and dynamic. Within the world of “static” there is a wide variation in capability (the entire topology of abstract interpretations) but it is all separated from the world of “runtime”. Within “runtime” there’s also a whole world of power, but each thing behaves totally differently from the elements of the static world.

                                                                                                                                                                    In some sense, I visualize this space as a giant general cone: http://philschatz.com/precalculus-book/resources/CNX_Precalc_Figure_10_04_001.jpg

                                                                                                                                                                    The spaces of static interpretation and dynamic interpretation are totally distinct touching only at the point of compilation. Each is rich, plausibly unboundedly so, and you can relate the two structures (hyperbola), but they also have their own unique perspectives (circles, ellipses).

                                                                                                                                                                    1. 1

                                                                                                                                                                      I don’t know what you mean by truth in this context. Are there any false type systems? If Javascript says typeof(2) is “number”, then that’s true in the Javascript context.

                                                                                                                                                                      Most static-type-fanatics only know HM type systems, and they perceive HM as the one true type system. If Shen’s sequent calculus type system can subsume HM, when what does that say about the truthiness of HM?

                                                                                                                                                                      In this case I would describe Shen’s type system as “more powerful” or perhaps “more descriptive”. It doesn’t make HM false by any means.

                                                                                                                                                                      I would encourage considering other aspects of type systems, such as whether or not they allow arbitrary side-effects, whether or not they are built around monads. Don’t just jump to “is it static or dynamic?”

                                                                                                                                                                      The trouble with not knowing your types until runtime is they are sometimes path-dependent. A dynamically-typed function might return a number now, and a string later. It’s much harder to analyze the program for problems. When types are known at compile-time, you have the opportunity to check for correctness, and it will apply to all possible runtime configurations.

                                                                                                                                                                      1. 2

                                                                                                                                                                        In this case I would describe Shen’s type system as “more powerful” or perhaps “more descriptive”. It doesn’t make HM false by any means.

                                                                                                                                                                        Yes, this is exactly my point. Truth and false aren’t a useful distinction for type systems. The problem is that the way that most static vs dynamic arguments are framed is by referent to type theory as “the one truth”. Then, a “good” type system is one that adheres to the One True Type Theory. Thinking about type systems in this way severely limits your perspective.

                                                                                                                                                                        The trouble with not knowing your types until runtime is they are sometimes path-dependent. A dynamically-typed function might return a number now, and a string later. It’s much harder to analyze the program for problems.

                                                                                                                                                                        Right, this is a problem that certain type systems have. Notice that, in the next sentence, the only solution you can think of comes directly from the static vs dynamic dichotomy that you already setup in your head.

                                                                                                                                                                        When types are known at compile-time, you have the opportunity to check for correctness, and it will apply to all possible runtime configurations.

                                                                                                                                                                        What if there was another way to check for correctness that doesn’t depend on static analysis? Clojure uses spec and test.check to do automated property testing; is this not correctness-checking? What if there was a different way to guarantee safety without analysis? I don’t know the answer, I’m just saying that your framing of the problem is limiting your possible solutions.

                                                                                                                                                                        1. 2

                                                                                                                                                                          Clojure uses spec and test.check to do automated property testing; is this not correctness-checking?

                                                                                                                                                                          This is testing. In contrast, a static type checker proofs correctness. Testing is a proof if it is exhaustive, but that is not feasible for most programs.

                                                                                                                                                                          1. 1

                                                                                                                                                                            Static type checkers don’t prove correctness of the code, only the correctness of the code’s types. It’s telling that one of the big innovations in testing, generative/property-based testing, came from Haskell.

                                                                                                                                                                2. 3

                                                                                                                                                                  Because it’s a continuum. Forth has one a total of one type; C pretends to have more than one type but isn’t particularly convincing about it; Ruby has dynamic types and nils are everywhere; Erlang has dynamic types with no nils; Racket can have dynamic or static types without any nils to be seen; Java has static types but every single type is unioned with null so you don’t get very good guarantees about runtime behavior, etc.

                                                                                                                                                                  1. 2

                                                                                                                                                                    The static v dynamic types themselves are still dichotomous: information exists either at compile time or runtime. Dependently typed langs screw with that but it mostly holds.

                                                                                                                                                                    A whole language can take part in both sides and use either side to try to give various kinds of guarantees of various strengths, but behind it all there’s still a strong distinction between dynamic and static.

                                                                                                                                                                    1. 2

                                                                                                                                                                      Yeah, that’s basically what I was saying. It’s a false dichotomy when you use it to categorize languages into one of two buckets, but it’s a valid criteria for describing a given language, as long as the description has room for more than a single bit.