1. 10

    I am most curious why the response to an “invalid” host header would be a 418 error.

    1. 1

      So do you folks tend to keep accounts on multiple instances, or use one instance and ‘remote’ around to chat with others?

      1. 3

        I just have one account & remote-follow a bunch of people. I find the remote aspect transparent enough that I never really think about it, actually.

        1. 3

          Personally, I set up a few accounts and settled on an instance with a bunch of interesting users and a theme I liked. It was witches.town. Remote follows work pretty well. I don’t think that’d be an issue with most instances.

          I would like to see more apps/api level support for one user with multiple accounts, since there are instances I really liked but not as much as witches.town. It does let you import/export account data as a CSV if you want to move or your instance shuts down, though.

          1. 1

            I use compatible protocols on my website and aggregator, and interact without an account at all :)

          1. 2

            I’m reading “Dialectic of Enlightenment”. I’m trying to read more philosophy, especially leftist stuff. Finding it a bit of a challenging read, but very enjoyably provocative.

            1. 4

              It would be interesting to see if the developer base becomes more diverse.

              1. 14

                Hypothesis: no one with a positive expected contribution cares if something is named “bro”.

                Other hypothesis: some people with a positive expected contribution are put off by pointless time-sink PC publicity efforts.

                1. 24

                  I don’t really care, but I’ve read 1984 and didn’t get the reference… so it’s sort of a bad/ineffective name?

                  “BigBro” would clarify for me.

                  1. 11

                    Oh. Yeah, same. I was wondering how the hell is “Bro” “Orwellian”. I know the phrase “Big Brother” and yet “Bro” just flew over my head completely.

                  2. 21

                    Are those hypotheses based on anything other than you personally not caring?

                    Personally I’d be far more likely to 1) pay attention to something not called “BroWhatever” and 2) want to be involved with a project that understands that language is important & cares about inclusion.

                    1. 11

                      I have a strong anti-bro personal leaning. I would feel sort of grossed out working with a group that I thought may be a bunch of folks that fall under that blanket category. Symbolic pollution is a real thing. Would you want to tell your friends and family that you worked for this awesome company named ButtHole? (I would actually sort of count this example as a perk if the gig was right, and my family would understand and be similarly amused, but you get the point, some symbols are not appealing to everyone)

                      Symbols matter. Our brains work by associations. It’s nice to have positive associations with things you invest in. I just renamed a database from rsdb to sled because I don’t want to compete with the racial slur database on google. Sled feels fast and fun to ride on top of (to me).

                      1. 2

                        Would you want to work on a product called BackOrifice?

                        1. 2

                          good times :)

                      2. 4

                        “PC” is criticized as a movement to remove all those who don’t think alike– but isn’t your second hypothesis exactly that?

                        1. 0

                          I think there’s a big difference between the stated goals of PC (which nominally contain inclusivity) and the actual effects of PC.

                        2. 0

                          I’m pretty strongly anti PC publicity efforts but I have it admit the name bro rubs me the wrong way. It sounds dumb.

                      1. 1

                        Is there a compelling reason for a Vim user to switch?

                        I really don’t want to start an editor flame war here, but I’m genuinely curious about the advantages it might bring if I switch.

                        1. 3

                          I was a vim user for around 15 years. I still “think” in vim motions. I switched to Spacemacs using the vim-style keybindings afforded by evil-mode. I had a very extensively customized .vimrc and .vim (you know it’s serious when you use a directory) and used various “slime” modes over the years (vim-slime was my last one) to integrate a copy/paste into other tmux panes. I maintained a lot of custom code to enable an integrated repl experience for the languages I used the most (editing sql and testing with psql/sqlite3; editing python and interacting with ipython; editing clojure and interacting with the clojure repl). I had a fancy Unite-based workflow for file-finding and project management.

                          In short, everything I had customized was implemented out of the box on Spacemacs. I enabled modes for the languages I used (clojure, python, sql, html, javascript) and it all just kinda works. git/gist integration just works. The motions I used worked. It was very easy to figure out how to make an evil operator for executing code and then use that + motions to emulate the fine-grained selection I had become accustomed to with vim-sexp/vim-sexp-mappings-for-regular-people/surround.vim + tmux. The best thing was a ton of functionality was unlocked for clojure/python thanks to modes already being integrated and built. I could stop maintaining my vim installation and focus on other issues.

                          Some highlights for Spacemacs for someone whose only experience with emacs was knowing how to kill it (the wrong way mind you; C-z into pkill -9 emacs).

                          • Spacemacs is discoverable. The leader key is Space and once you hit that, a menu pops up with completions. In fact, these completions pop up whenever you start a key chord. They default to waiting 0.4 seconds, but I overrode that in the .spacemacs config file to be 0.1 second. This is awesome when you don’t know emacs. (This functionality is called helm and which-key).
                          • Spacemacs is curated. I didn’t know what the git interface in emacs is (magit if you’re curious). If I would have had to spend months copy/pasting/tweaking elisp I found online to get half of what I spent 15 years acquiring in vim, I would have never switched. In Spacemacs SPC shows that g is for git and then you see a bunch of actions explained. This is easy.
                          • Spacemacs is a very complete vim experience. Registers work. Macros work. The motions you expect work. You can use operators and define new ones. Your chords will basically work. The difference is that you can jump to the source code and use an elisp debugger inline in Spacemacs. This is pretty awesome for discovering/tweaking once you find something you want to change. elisp is in a lot of ways similarly high level like Python, Ruby, or Lua. You don’t have to “grok Lisp” to make some useful changes
                          • Spacemacs has decent documentation. In addition to SPC h which has a bunch of emacs builtin help/documentation, there is a full Read the Docs and each layer documents its shortcuts.
                          • Spacemacs has “Layers” which make it easy to add more curated sets of things so you can learn a piece at a time and have nice entry points for extension and learning the underlying system. Layers are sets of emacs packages and associated configuration/integration into the spacemacs ecosystem.
                          • Spacemacs is easy to configure. Most of what you need to do is encompassed in editing a heavily commented .spacemacs file that is well documented on the read the docs website. You can largely avoid copying/pasting random elisp snippets.
                          1. 2

                            I’ve been using vim very heavily for about 10 years now and I’m currently a week into trying out a switch to emacs.

                            The main thing I like is honestly that things look way nicer - my switch was fed mainly by frustration with weird terminal UI issues, but has been sustained by 1) evil-mode means I can keep my vim editing ways, 2) plugins like magit that are just so much more feature-rich & polished, and 3) Emacs lisp is much nicer to use than vimscript.

                          1. 2

                            A lot of the points here are why my cofounders & I have been building Braid. Haven’t really started promoting it yet, but we’ve been using it for 100% of our (100% remote) team communications for a couple years now and greatly prefer it to the Slack model.

                            1. 9

                              There are always two perspectives on a system….

                              …the implementers and the users.

                              Often they coincide in the sense if the user has closely related concepts X and X’, the implementation of X and X’ overlap.

                              Sadly, what is happening in these cases, the user has strongly differing concepts X and Z… but the implementation detail is such that the implementation for X shares a lot with the implementation for Z.

                              Thus the implementation perspective is X and Z are (almost) the same thing, make them the same command.

                              The user’s perspective the choice is, WTF!?

                              Equally it can happen that the users concepts of Y and Y’ appear closely related….and would expect Y’ just to be a switch on Y….. but find under the hood the implementations are wildly different.

                              Thus the implementer may have chosen to given them completely different commands and names. Again, the user goes WTF!?

                              As an implementer I understand this view… but try to be conscious of it and present the users view only.

                              An excellent way of gaining “A Users View” is write the documentation first.

                              Not Test First, but Document First.

                              If a concept is hard to explain…. your users is going to find it hard to understand and use. So documenting first forces your to pare it down, simplify it to it’s basics.

                              So now you have the core concepts from the users perspective…. Start thinking in terms of inverses. ie. Do and Undo, forward and back, ….

                              ie. If the user of your system knows how to do X, she never needs to look at the doc or help to know how to undo X.. it’s consistent across the system for all X.

                              When ever I work with a DB, the first thing I create is a data dictionary.

                              A list of field names and types and meanings.

                              Every use of a field name in my sql has the same type and meaning across my code.

                              Same with options… create a table of options for all commands….

                              Every option must have the same abbreviation, long form and meaning across all commands. NEVER overload them.

                              1. 2

                                Excellent distinction. Like many things, I think being able to use git effectively relies on having a good conceptual framework for the tool. Unfortunately for git, that means you kind of need to know all about how it works internally (i.e. be able to put yourself in the implementer mindset) while “better” tools allow you to have a simpler or more easily-explained mental model (i.e. maintain a user mindset).

                              1. 6

                                My IKEA shelf standing desk: https://goo.gl/photos/SMmcJ9vvYLYTSbJ6A

                                Setup has been much improved by borrowing my cofounder’s HiDPI monitor while he’s abroad :D

                                Using i3wm, tmux, PragmataPro Mono, neovim.

                                1. 3

                                  I am very curious what people mean by “hipster-free” development. It always seems like elitism to me.

                                  1. 9

                                    The biggest reason I don’t use Heroku anymore isn’t addressed here though – money. It certainly is much easier & more convenient, but oh boy, do costs start to mount quickly…

                                    1. 4

                                      What were your largest costs? If it’s number of dynos, you can sometimes spend time working on performance to speed up your code enough where you can decrease dynos. Even if you end up moving off it’s never a bad thing to have a faster app.

                                      If it’s database, that’s hard to work around. Though if you are going to run your own DB somewhere else you could connect to it from your Heroku app. I would argue that our (I work for Heroku) DB service is killer though. I know some apps who run their own servers but connect to our DBs since it gets them so many things like fork/followers/point-in-time-recover.

                                      A basic app setup is one hobby dyno ($7) and a hobby DB ($10). Then maybe some addons, Redis is a must have for many apps these days ($15 if you’re going to bump to “premium” right away). That’s $32. If you were going to run those three services on DO, that would be three droplets or about $15. So you’re saving about $17 on DO. Alternatively if you’re running free version of Redis then you’re saving $2 on DO.

                                      As you grow your hobby dyno needs to be replaced by a “standard” dyno. If you’re running 2 then you’re now at $82 a month. I think that’s the biggest hit, the jump from hobby to “standard”. Most Rails devs in the freelance world I know are charging between $150 - 200 an hour. So if Heroku can save you a little more than half an hour a month, it’s paid for its price.

                                      If this is a passion project or a “for fun” app then, I realize the math doesn’t always work that way. It can also be fun to do your own “full stack” setup, and get your hands dirty in nginx config and postgres backup daemons and administration.

                                      I’m obviously biased and as an employee I get my dynos for free. I’ll be curious to hear more about your specific situation and setup to see if I could help optimize things.

                                      1. 3

                                        I use DO for my hobby project mainly because I can put a bunch of ‘em on one server. I don’t have enough traffic on any of them to require a box for the server, a separate one for the DB, another for Redis or something, etc. I can stick a dozen things on one box, and it’s fine because the traffic is low. I’d need a lot more instances to host those things on Heroku.

                                        That said, I do recognize the value of Heroku, and have hosted things on it when it made sense. If something becomes a real business that absolutely needs to be up 24/7/365, even if it costs a little more, then I’m happy to reach for Heroku. Even if I was available fulltime as sysadmin for it, I probably wouldn’t be able to get the uptime against heavy traffic that I could on Heroku.

                                        1. 2

                                          If this is a passion project or a “for fun” app then, I realize the math doesn’t always work that way.

                                          That’s it for me. Also I would like HTTP/2 server push support, and more control over the routing layer, but I am not the typical customer

                                          1. 2

                                            As you say, it’s the addons & database that got me; I like how when I do things with a VPS, I can add things like Redis, background jobs, cron task, and whatever other services I want to experiment with without having to incur additional expenses. Plus, I can typically have a few services running on one VPS, which skews the price difference even more.

                                            The dashboards Heroku offer are indeed very nice, but I’m comfortable enough with dealing with CLI interfaces that it’s not worth the cost for me.

                                            I am a co-founder of a bootstrapped company & am generally very leery of spending money though; I imagine that if I was in a position where money wasn’t as much of a looming concern, the calculus might be a little different.

                                            1. 1

                                              Do you happen to know when private spaces will be GA?

                                              The ability to access external services with a whitelisted IP address is unfortunately a must have in many situations.

                                          1. 2

                                            There are a lot of cool analyses that can be written based on this data.

                                            Some interesting paths I saw:

                                            Haskell -> Erlang -> Python

                                            Haskell -> Scala -> Java

                                            R -> C

                                            One thing that doesn’t quite make sense in this analysis is that it implies that Objective C will be more popular than Swift.

                                            1. 4

                                              One thing that doesn’t quite make sense in this analysis is that it implies that Objective C will be more popular than Swift.

                                              I’m guessing that’s from people that tried to jump right into Swift, but got bitten by immaturities in the language/toolchain & are switching back; plus, Objective-C → Swift is probably such an obvious transition that there aren’t many blog posts about it.

                                              1. 7

                                                On the last point, that’s definitely something any use of this data set needs to take into account: it’s not a measurement of how often people are switching languages, but of how often people are blogging about switching languages, which may or may not be a good proxy.

                                                It’s odd to me that the post didn’t at least acknowledge that confounding factor in its list of caveats. In fact it seems to sort of state the opposite:

                                                We can actually treat this as probabilities from switching between languages and say something about what the future language popularities will be.

                                            1. 8

                                              There is, of course, the ever classic alternative: Caps Lock! Specifically, rebinding Caps Lock to Escape, or have it pull double-duty as both a control key and escape.

                                              1. 1

                                                I used to use seil and karibiner on a mac to dual map caps lock - hold for ctrl, tap for esc - but those stopped working in Sierra.

                                                Has anyone got those working?

                                                1. 1

                                                  I haven’t upgraded to Sierra yet, but Karabiner Elements may work although a “double setup” for a key may not be supported. Am curious to hear how you get on.

                                                  1. 1

                                                    All the current solutions are hacky and haven’t worked very well.

                                                    I just map it to Ctrl and make Crtl-] my new Escape key.

                                                    1. 1

                                                      Mind sharing your configuration? I don’t see a preset for that behaviour in Karabiner or Seil. (And I’m still using El Capitan :)

                                                      1. 2

                                                        See here.

                                                      2. 1

                                                        You can remap caps lock to escape directly in the settings in Sierra, no need for third party extensions.

                                                      3. 1

                                                        That works pretty well, but I prefer to Control on Caps (with Backspace on left control, and Caps moved across to Backspace). Makes both chord-ing and editing easier in general. Still haven’t found a good place for Escape instead. Maybe switch with tilde? Just close enough to reach without moving my entire hand, far enough away to not knock?

                                                        1. 1

                                                          pull double-duty as both a control key and escape.

                                                          is there a way to do this on gnome?

                                                          1. 1

                                                            There’s a little program called xcape that does this.

                                                          2. 1

                                                            That’s what I do, I never use caps lock anyway. :)

                                                          1. 2

                                                            I compete in powerlifting and strongman. Just had a strongman competition yesterday where I got to pull a truck, carry stones and fire hydrants, and generally have fun in a field. I find it very satisfying to contrast the very mental world of software development with the very physical world of strength training.

                                                            1. 2

                                                              This comports with my own feelings on that previous post very well. I’ve had issues on the clojure(script) JIRA that were closed, sometimes with brusque comments, but I assume that the clojure maintainers are busy people that don’t have the time to provide a massive exegesis on why something is ‘wontfix’ everytime someone opens an issue. Assuming that everyone acts with the best of intentions is very good advice!

                                                              1. 3

                                                                I had high hopes for FACTOR but it seems to have kind of gone dormant of late.

                                                                1. 1

                                                                  They haven’t made a stable release in a while, but it looks like Factor is still quite active. Their Github repo is buzzing with activity.

                                                                  1. 1

                                                                    I really liked Factor – it was the first open-source project I got involved in. I believe Slava is working on the Swift compiler team now though.

                                                                  1. 2

                                                                    Toronto, Canada

                                                                    1. 1

                                                                      Toronto

                                                                      Same here.

                                                                    1. 2

                                                                      Why is orgmode never mentioned in these discussions?

                                                                      1. 5

                                                                        I would guess because it requires that everyone be using Emacs (at least, that’s my impression; I would love to be mistaken). I really enjoyed Org for personal projects when I was an Emacs user, but for documents that I wanted everyone to be able to read-and-write I would be leery.

                                                                        1. 2

                                                                          I would guess because it requires that everyone be using Emacs (at least, that’s my impression)…

                                                                          It doesn’t. There are Vim and Sublime Text plugins to take advantage of org-mode.

                                                                          …but for documents that I wanted everyone to be able to read-and-write I would be leery.

                                                                          A big point on org-mode is that you’re still dealing with plain text, just that there are special interactive additions when used in a compatible platform. Then again, your mileage may vary since I just got started learning how to use it. It probably isn’t mentioned that much since it seems to make for better note-taking and outlines than normal documents.

                                                                          1. 3

                                                                            The Vim plugin – last I knew – did not handle most of org’s extended functionality (e.g. code evaluation). Ditto for ST. The Vim plugin also depends on Emacs to do exports, which just adds another dependency that can cause breakage (actual real-life example: one system had emacs updated, which included a new version of org-mode. The other didn’t. Export results were different). Org is still very Emacs-centric to the point that you’re basically SOL for any but the most basic features outside of Emacs.

                                                                      1. 34

                                                                        This seems like a sort of programmer hipster/macho-ism, like writing on a typewriter. I first learned to code without syntax highlighting, wrote (and still sometimes write) code ideas with pen-and-paper, but syntax highlighting is just plain easier to read for me. Things like vim-clojure-highlight that add semantic information make it even more useful.

                                                                        EDIT: I also think there’s something to be said for your environment making you happy to work in - if you enjoy having a nicely-coloured editor, I think you’ll be a more productive programmer with highlighting and vice-versa if you find the colours distracting.

                                                                        1. 9

                                                                          It seems to me (being the author, so biased) a bit unfair of you to write off my experience this way, but take it as you will. I find it sincerely beneficial, and as for it being hipster / macho-ism – wouldn’t someone have to notice for those things to be applicable? Until this article (and nofrils) randomly caught someones eye yesterday, it had like 5 views and nofrils had like 3 stars on github.. for months.

                                                                          When I started, I was actually fairly sure I would hate it – I was challenged by a friend to do it for a week and ended up liking it. 20 years of development with 0 of those days being without syntax highlighting prior to that. I had written my own schemes (yes, plural) for vim. Heck, the reason I initially was drawn to vim was due to syntax highlighting being relatively consistent between languages.

                                                                          I even tried Emacs (with Evil) for a bit mostly for rainbow-identifiers.

                                                                          1. 4

                                                                            It seems to me (being the author, so biased) a bit unfair of you to write off my experience this way, but take it as you will.

                                                                            I apologize, I came off as overly dismissive, I don’t wish to discount your experience. I personally prefer syntax highlighting, but I am sure that different people will have different experiences with it.

                                                                          2. 5

                                                                            I first learned to code without syntax highlighting, wrote (and still sometimes write) code ideas with pen-and-paper, but syntax highlighting is just plain easier to read for me.

                                                                            Came here to say this. At least for me, the benefits of syntax highlighting vastly outweigh the cognitive overload it purportedly causes. Also, I’m not completely sold on the Stroop Effect theory about syntax highlighting.

                                                                            Also, I would say it depends on your colorscheme. Some are definitely garish and hard to read, but schemes like solarized, gruvbox, and whatever GitHub uses seem to be easy to read.

                                                                            1. 3

                                                                              I agree, but sometimes there is a thing like too much syntax highlighting though. At some point, adding an extra color for another type of element is just like adding noise.

                                                                              1. 3

                                                                                Pretty much!

                                                                                “Hey look at me; my brain evolved sections which are capable of assigning meaning to color subconsciously, but I’m going to offload all the work they’re doing to my conscious mind because it makes me feel tough.”

                                                                                1. 4

                                                                                  Color is not the only subconscious mechanism for assigning meaning.

                                                                              1. 5

                                                                                I’ve been switching between acme (no highlighting, proportional fonts) and vim (highlighting, fixed fonts) regularly for a little over a year now, and I really like syntax highlighting off, too. It would occasionally save me from an easy mistake (eg, “return” didn’t turn green) but I often found myself hunting for colors to understand code instead of reading it, which felt like the same thing for a long time.

                                                                                1. 3

                                                                                  I wonder if how distracting the highlighting is depends on what language you’re using. I mainly write Clojure, so the structure is more explicit, with the colours pretty much only indicating the type of elements (e.g. numbers are purple, strings are green, functions are yellow). Maybe if you’re writing in a more C-like language the highlighting is less useful or more distracting?

                                                                                  1. 2

                                                                                    I think it is most distracting for those who switch languages often, I am in that camp (average working day touches 3-5).

                                                                                  2. 2

                                                                                    When I spent time in Eclipse, I used proportional fonts and absolutely loved it. Now I’m back in vim and it’s the only thing I miss.

                                                                                  1. 3

                                                                                    Hmm reading shougo’s entry, I had no idea unite.vim was so flexible, I’ll try it later tonight.

                                                                                    1. 1

                                                                                      I really like Unite; I switched to it a month or two ago and was able to replace several other plugins I’d been using with just the one.