1. 1

    This seems really cool. I’d love to have email more under my own control. I also need 100% uptime for email though, so it’s hard to contemplate moving from some large hosted service like Gmail.

    1. 4

      If email is that important to you (100% uptime requirement), then what’s your backup plan for a situation where Google locks your account for whatever reason?

      1. 1

        Yeah, that’s true. I mean I do have copies of all my email locally, so at least I wouldn’t lose access to old email, but it doesn’t help for new email in that eventuality.

      2. 3

        Email does have the nifty feature that (legit) mail servers will keep retrying SMTP connections to you if you’re down for a bit, so you don’t really need 100% uptime.

        Source: ran a mail server for my business for years on a single EC2 instance; sometimes it went down, but it was never a real problem.

        1. 1

          True. I rely on email enough that I’m wary of changing a (more or less) working system. But I could always transition piece by piece.

        2. 3

          If you need 100% delivery, then you can just list multiple MX records. If your primary MX goes down (ISP outage, whatever), then your mail will just get delivered to the backup. My DNS registrar / provider offers backup MX service, and I have them configured to just forward everything to gmail. So when my self hosted email is unavailable, email starts showing up via gmail until the primary MX is back online. Provides peace of mind when the power goes out or my ISP has outages, or we’re moving house and everything is torn apart.

          1. 1

            That’s a good system that seems worth looking into.

          2. 2

            Note that email resending works. If your server is unreachable, the sending mail server will actually try the secondary MX server, and if both are down, it will retry half an hour later, then a few more times up to 24 hours later, 48 hours if you are lucky. The sender will usually receive a noification if the initial attempts fail (and a second one when the sending server gives up)

            On the other hand, if your GMail spam filter randomly decides without a good reason that a reply to your email is too dangerous even to put into the spam folder, neither you nor the sender will be notified.

            1. 1

              And I have had that issue with GMail, both as a sender and a receiver, of mail inexplicably going missing. Not frequently, but it occurs.

          1. 2

            I’ve heard a great deal of buzz and praise for this editor. I’ve got a couple decades’ experience with my current editor – is it good enough to warrant considering a switch?

            1. 3

              What do you love about your current editor?

              What do you dislike about it?

              What are the things your editor needs to provide that you aren’t willing to compromise on?

              1. 2

                It probably isn’t, but it’s maybe worth playing around with, just to see how it compares. It’s definitely the best behaved Electron app I’ve ever seen. It doesn’t compete with the Emacs operating system configurations, but it does compete for things like Textmate, Sublime, and the other smaller code-editors. It has VI bindings(via a plugin) that’s actually pretty good(and can use neovim under the hood!). I still don’t understand Microsoft’s motivation for writing this thing, but it’s nice that they dedicate a talented team to it.

                It’s very much still a work in progress, but it’s definitely usable.

                1. 3

                  Here’s the story of how it was created[1]. It’s a nice, technical interview. However, the most important thing about this editor is that it marked an interesting shift in Microsoft’s culture. It appears that is the single most widely used open source product originating by MS.

                  https://changelog.com/podcast/277

                  1. 1

                    Thanks for linking that show up.

                2. 2

                  It’s worth a try. It’s pretty good. I went from vim to vscode mostly due to windows support issues. I often switch between operating systems, so having a portable editor matters.

                  1. 1

                    It’s pretty decent editor to try it out. I’ve personally given up because it’s just too slow :| The only scenario in which I tolerate slowness, is a heavy-weight IDE (e.g., IntelliJ family). For simple editing I’d rather check out sublime (it’s not gratis, but it’s pretty fast).

                    1. 1

                      It doesn’t have to be a hard switch, I for example switch between vim and vs-code depending on the language and task. And if there is some Java or Kotlin to code then I will use Intellij Idea, simply because it feels like the best tool for the job. See your text editors more like a tool in your toolbelt, you won’t drive in a screw with a hammer, won’t you? I see the text editors I use more like a tool in my toolbelt.

                      1. 1

                        I do a similar thing. I’ve found emacs unbearable for java (the best solution I’ve seen is eclim which literally runs eclipse in the background), so I use intellij for that.

                        For python, emacs isn’t quite as bad as it is with java, but I’ve found pycharm to be much better.

                        Emacs really wins out with pretty much anything else, especially C/++ and lisps.

                        1. 1

                          VS Code has a very nice python module (i.e. good autocomplete and debugger), the author of which has been hired by MS to work on it full time. Not quite PyCharm-level yet but worth checking out if you’re using Code for other stuff.

                    1. 5

                      While I have personally not used it, is this not something orgmode (emacs) does?

                      1. 4

                        Org could be one component of a solution for this, but on its own it lacks: a way to edit via mobile/other devices, any means of uploading images, a blessed rendering path (there are many ways to render/export org files into something for display).

                        For instance, one solution might be to use Org’s “publish” feature. You could render to HTML, push that to some web host somewhere with rsync (that handles viewing on other/mobile devices). For editing you could sync your org source files (and any org-rendered images via things like plantuml, as well as static images) with something like syncthing/git/Dropbox/Box/iCloud/OneDrive etc. in combination with a non-Emacs editing app like Beorg (iOS) or Orgzly (Android).

                        That would be a workable and powerful system, but I think we have to admit it’s not as simple to use as just clicking “edit” in a wiki page from something like dokuwiki/mediawiki :-)

                        1. 2

                          I’ve found I don’t do any significant note editing on the phone - just capture.

                          So I use Google Photos + Orgzly + Syncthing + emacs. It used to be MobileOrg, and I started with org ~2005, so these files got bones.

                          1. 2

                            I have been looking for something like beorg for a long time. Thanks!!

                          2. 1

                            I love orgmode and use it on and off but last I looked sharing it was read-only and meant exporting the static document or running something (node, ruby) that parses the format on the fly.

                          1. 10

                            Relatedly, if you have linked a Twitter account on your settings page, you will be added to this Twitter list in a few minutes.

                            If Mastadon has a similar feature, I’d take a PR for it.

                            1. 3

                              Groups equivalents (bangs) are available on gnu-social but are sadly not yet implemented on Mastodon.

                              Related github issue

                              1. 2

                                Lists are being implemented though.

                                1. 1

                                  I agree with Gorgron. Hashtags should be enough. Subscribing to hashtags would be the next logical step.

                                  For everybody in here: Use the #lobsters hashtag ;)

                                  1. 2

                                    Hashtags don’t really seem usable for this particular case; it’s not as if the people in the Twitter list pushcx made of lobsters users are going to tag every single tweet of theirs with the #lobsters hashtag.

                                    1. 3

                                      I honestly don’t see the use in being able to see who uses what websites… is there a more compelling use case for groups/lists?

                                      1. 3

                                        Lists are useful on Twitter because I can follow people I know or am interested in generally, and add other more specific accounts to a list. Because I don’t follow them they don’t show up in my main timeline, but I can (for instance) switch to viewing a list-as-timeline for my hometown list (mostly local news + some local businesses) or my “China journos” list (for when I want to see what’s happening with China news). I don’t want to see this content all the time, and I do want it silo’d; thus lists are useful (to me).

                                        1. 1

                                          it sounds like you’re using two different notions of list. the ability to view posts from only a certain set of people makes sense, but i don’t see why this couldn’t be implemented in a fashion similar to email clients (which can support any arbitrary filtering you like).

                                          as for the ability to find people on mastodon who you also know on lobsters, implementing lists as a separate feature on mastodon seems like a poor solution. it still requires lobsters users to add themselves to the list, and there’s the unresolved problem of mapping lobsters id’s to mastodon id’s. the most sensible solution seems to be what people on lobsters already do: list your handles on other sites from your lobsters profile.

                                      2. 1

                                        Mass-subscribing and mass-unsubscribing is not a good use case either? Well, I never understood why Twitter lets you subscribe to other peoples lists. Cloning lists would be useful, because then I can mass-subscribe and adapt it to my needs.

                                      3. 1

                                        Subscribing to hashtags would be the next logical step.

                                        Just discovered that this is kind of possible already: Search for the hashtag, then “pin” the column with its settings top right.

                                  1. 2

                                    I don’t really post much, and almost nothing tech-related. https://mastodon.sdf.org/@halfmanhalfdonut

                                    1. 2

                                      Hello fellow SDF-er :-)

                                      1. 2

                                        Hey! Love seeing other SDF-ers in the wild :D

                                    1. 3

                                      I’m @hjst@mastodon.sdf.org, where so far I’m mostly posting pics of food, but I’m looking to replace more of my Twitter usage with it. Hopefully this thread will help with that :-)

                                      (Tusky is a nice native client for Android, in case you’re looking.)

                                      1. 6

                                        This is a very nice idea, and like issues, ties you into the infrastructure.

                                        The problem I have with this is that - like issues - it now separates out the code from the discussions about the code in not a nice way.

                                        Ideally, the infrastructure would be a nice GUI on top of a data structure either embeded in git (like commits, tags, etc) or closely allied with it such that when I mirror the code to other infrastructure, or to my local machine, the issues and discussions come with it.

                                        Currently, for example, I will have commits in the code that reference issue #12 and github’s infrastructure does a wonderful job of cross-linking and tooltipping and what not. I move to gitlab. BOOM! All gone.

                                        One could argue that when github disappears we will all be pretty old, and our antique code will only be seen in museums because all the kids are using AIs to program, or the AIs are programming the kids, either way.

                                        But, you know, I have a code base from sourceforge (yeah, remember that, kids?) that is now 15 years old. The commit messages have survived just fine (migrated from CVS or SVN I forget) but not the issues. Were there any important design decisions based on the issues and the discussions around the issues. Yeah, yeah, I should have put them in the commit, but I’m human. And why must I repeat information?

                                        -Yours in elderly (not that elderly!) rantiness

                                        1. 3

                                          I have not used it myself, but Fossil has issues, a wiki, etc. built in and might be worth checking out.

                                          1. 2

                                            Similarly, Red Hat’s Pagure does much the same on top of git.

                                          2. 2

                                            I hear you.

                                            Ideally I think issues/bugs can be handled by something like bugseverywhere - they live in git/hg/etc so updating/closing and committing is synced. It needs a decent web UI though. One of these days…

                                            Notes/discussions I’m not aware of anything but it would be an interesting problem to solve.

                                            Long form docs can be handled as markdown/similar in a directory and rendered via something like Gollum or even a static site generator if you don’t need browser based updates.

                                          1. 4

                                            If you’d like to try it on your live production database

                                            Good one :-)

                                            1. 9

                                              None of this is shell-specific other than the final paragraph on filtering, wherein the author tells us nothing other than “my system is great”.

                                              1. 2

                                                Does anyone happen to know if it’s now possible to “get into” the Linux subsystem from anything other than the MS bash.exe? I failed to get the Windows version of Emacs to spawn a bash shell, for instance.

                                                1. 8

                                                  Am I the only person that uses Slack but really refuses to use the desktop app in favor of their web interface?

                                                  It just seems to work better.

                                                  1. 2

                                                    Same. I fire up the electron app on my mac for voice calls (it seems to be the most reliable option, but still worse than skype for connect times + success rate) but everything else is a browser tab. Using Slack in a safari tab on my macbook makes the difference between ~10h of battery or ~4h of battery.

                                                    1. 1

                                                      Interesting to hear. I use the dedicated Slack application on Linux because it seems to use fewer resources than when loading Slack inside Firefox or Chrome.

                                                  1. 1

                                                    This is like the first time I’ve heard about the Model F. I knew everyone liked the Model M, and it’s like the IBM keyboard. There’s even a TrackPoint version which is pretty cool.

                                                    1. 2

                                                      I managed to…ahem…liberate an IBM Spacesaver II from $ORK[-2].

                                                      1. 1

                                                        While I can’t condone… liberation, I am still very jealous. A TKL-layout board with a trackpoint nubbin is ideal for me. Shame they’re so rare/pricey.

                                                    1. 3

                                                      If it’s at all reasonable, don’t travel by air.

                                                      If you must, never carry meaningful data on your person. Encrypt it and ship keys and encrypted data separately (and preferably separately from yourself).

                                                      Note that “shipping encrypted data” is incredibly easy for low volumes: put it on the Internet. Keys are a little harder; it probably suffices to check the device that contains them, but shipping them entirely separately (e.g. via international post) is preferable.

                                                      Alternatively, carry burner devices with no interesting personal info on them; but this may be infeasible depending on the purpose of your travel. (I flew to Europe in May for a vacation and took this approach—my phone has only contacts and a very boring call and text message history, and I prepped a laptop with a temporary password and useful credentials that couldn’t be exploited for further credentials: my travel agent, for instance, and lobste.rs, but not my primary email. Of course, I’m thoroughly uninteresting, so none of this was needed, but it made me feel better, so eh.)

                                                      1. 1

                                                        If it’s at all reasonable, don’t travel by air.

                                                        If you are going cross-border, then you don’t really have many options besides air.

                                                        What are they expected to find anyway? They think pedos/terrorists are gonna have illegalplan.pdf sitting on their computer?

                                                        1. 3

                                                          If you are going cross-border, then you don’t really have many options besides air.

                                                          Depends on where you are. In the mid-west, I wholeheartedly agree. In Europe you can cross 3-5 countries in 2 hours of driving, in and outside of the EU/Schengen area.

                                                          1. [Comment removed by author]

                                                            1. 1

                                                              I’ve yet to go through FRA without being stopped and searched, and occasionally having the Polizei go through my bags.

                                                              I tend to carry a lot of electronics hardware, dupont cables and breadboards, and most of the time they just don’t know what they’re looking at on the scanner.

                                                          2. 2

                                                            I regularly cross the US border on foot. Depends on where you live, I guess.

                                                            1. 1

                                                              What are they expected to find anyway? They think pedos/terrorists are gonna have illegalplan.pdf sitting on their computer?

                                                              I believe disk imaging is the main concern. I’m not sure how realistic that is, but I don’t have a hard time imagining that there are off-the-shelf systems that can clone the majority of consumer phones/laptops. Does this actually happen? Who knows. If you were actually a “person of interest” there are far more worrying things that could happen to you at a border than having your laptop’s SSD cloned.

                                                            1. 2

                                                              if it was a wider shot, I would say it was featured on http://minimaldesks.com/ :-)

                                                              1. 1

                                                                Oh boy, there are some nice setups on that site. Maybe I’ll take a better shot when the sun is up.

                                                              2. 1

                                                                Why do your Chrome tabs look different to mine? Is that a Chrome theme of some sort?

                                                                1. 2

                                                                  Because I’m using Firefox. I have the Compact Light theme enabled which can be found in about:addons > Appearance. Signal, the desktop client which is technically a Chrome app is the reason you’re seeing it in my dock.

                                                                  1. 1

                                                                    That’ll be why then! Never noticed that Firefox setting before, thanks o/

                                                              1. 1

                                                                I don’t understand why many programmers want to use the terminal. The whole PHP community now seems to be infested with this legacy way of interacting with programs. I find it really cumbersome to work with.

                                                                Is a GUI really that bad for the tasks performed in a terminal? Why?

                                                                1. 5

                                                                  You can easily automate a CLI-based interface.

                                                                  1. 2

                                                                    I don’t all the specifics, but wp-admin interfaces exposed to the internet have been an absolute shitshow in the past. If you restrict admin powers to an alternative interface, that limits how badly things can do. Gating admin access through ssh seems like a good reduction in attack surface. Assuming this isn’t a just CLI to a still exposed web API.

                                                                    1. 2

                                                                      It can work any mix of 3 ways AFAIK: run on the box with with the WP install (point it at a local file path), run via SSH (point it at a hostname/port/path combo) or run via HTTP (point it at a URL). So yeah, in addition to making it much easier to automate admin tasks you can lock off admin functions to be only accessible via SSH.

                                                                    2. 2

                                                                      I prefer a terminal interface for things that I need to do often. I find it much easier to achieve muscle memory with typing (moving my fingers over a physical space) than pointing and clicking (moving my virtual finger over a virtual space). With muscle memory I don’t need to think about how to do a task - I can just do it.

                                                                    1. 12

                                                                      When it comes to Electron I mostly just wish the Slack team would take some notes from the Visual Studio Code team. As the author here says: “is Electron the problem, or is your code slow?”

                                                                      (I still think Electron is an odd choice for an IDE, but somehow MS are making it work)

                                                                      1. 9

                                                                        Why on earth is it an odd choice for an IDE? The graphics layer is a GPU accelerated cross-platform scene graph, optimized for 2d, using platform native fonts. Then there’s a scripting engine with a finely tuned JIT and a framework for cross-platform native C++ code. Both the scripting engine and graphics have an API that’s common across multiple vendors who compete vigorously on performance.

                                                                        I’m not sure why you’d chose any other platform for desktop software.

                                                                        1. 3

                                                                          When you put it like that… I only mean that it seems an odd choice for things which aren’t “web first” that you want to deploy a local version of (Slack being a classic example here: build a web interface, ship desktop versions for multiple platforms “easily”).

                                                                          However you’re quite right — and the folks building VS Code are clearly no fools — so I’m forced to reconsider that although it seemed so to me, Electron is perhaps not that odd a choice after all.

                                                                        2. 4

                                                                          As far as Slack, there is a chat server called Synapse, the point of the server is you bridge it to other servers like Slack’s API or freenode. I set it up for internal use but I haven’t bridged it anywhere at this time.

                                                                          That way you can use a very simple chat client on desktop and mobile to your server and the server handles all the complicated stuff. Plus the servers are federated so if somebody else already uses Synapse then you don’t need to bridge at all.

                                                                          For the client: https://matrix.org/docs/projects/try-matrix-now.html

                                                                          For the bridging programs: (To set one up you will have to setup your own server, or see if someone else is running a bridge on their server and provides public access to those rooms) https://matrix.org/docs/projects/try-matrix-now.html#application-services

                                                                        1. 5

                                                                          It’s not in the article, but the emerging term for this style seems to be “chromatic fonts”. I think it’s interesting that the ubiquity of cheap color displays is making a rare design into a cheap tool.

                                                                          1. 1

                                                                            Thank you — I was wondering if/how the colouring was being included in the font.

                                                                            1. 2

                                                                              It is and it isn’t. If you click through to the font’s website, they do have both a color version and a black and white version available for download, but the color version is in OpenType-SVG format and is apparently only compatible with the newest Photoshop.

                                                                              Which, to be honest, is okay with me. While the colour version of this font is striking as a design element, I wouldn’t want to see it used for body text.

                                                                          1. 16

                                                                            What would be more interesting is a list of ways in which it differs from the heaps of existing open-source federated social networks.

                                                                            1. 18

                                                                              The key difference right now is people are using it, or at least have started to use it in the last few days. So if I were to draw a Venn diagram of “people I follow on twitter” and “people who have mastodon accounts”, it wouldn’t just be two distinct circles, which I can’t say for any of the other federated networks.

                                                                              Whether they’re all still using it next week, well, we can be optimistic.

                                                                              1. 8

                                                                                I suspect part of it is that the people running Mastodon instances tend to have specific anti-harassment policies at a time when Twitter is getting a lot of flak for ignoring their harassment problems.

                                                                                Icosahedron (a Mastodon instance) specifically calls out that “Fascism is incompatible with a free exchange of ideas”: https://icosahedron.website/about/more which is a breath of fresh air after the way Twitter has been avoiding admitting there’s even anything wrong.

                                                                                I have a gut feeling that enforcing such policies would be easier on a federated network.

                                                                                1. 8

                                                                                  Not sure how much of a factor it is, but I did notice that the majority of the instances (including all the big ones) are run by either Germans or French, which provides a different cultural and legal background compared to American-run services like Twitter. For example, whether to allow overt Nazism isn’t even really a debate in the German or French context, because it’s illegal.

                                                                                  1. 3

                                                                                    Disallowing ideas seems a bit less compatible with a free exchange of ideas to me.

                                                                                    1. 4

                                                                                      you’re free to think that, doesn’t mean you’re right though, and I guess with Mastadon you’re also free to pick a host that agrees with you rather than being up to the mercy of a totally centralized model.

                                                                                  2. 1

                                                                                    or at least have started to use it in the last few days.

                                                                                    Any idea why that is?

                                                                                    I’ve had an account for ages, but I’m seeing Mastodon everywhere today and can’t figure out why it’s suddenly a thing.

                                                                                    1. 3

                                                                                      Twitter changed how replies work and that’s became a sort of last straw for some people. Some high(ish) profile folk tweeted they had made mastodon accounts, others followed, and it’s gained traction.

                                                                                  3. 2

                                                                                    For those of us with less knowledge on this subject, can you share some examples that you have in mind?

                                                                                    1. 12

                                                                                      Some that immediately come to mind upon reading about Mastodon:

                                                                                      • Diaspora
                                                                                      • Tent.io
                                                                                      • Pump.io
                                                                                      • Friendi.ca
                                                                                      • Identi.ca (now GNU social?)

                                                                                      Edit: seems there are quite a few more I didn’t know about!

                                                                                      1. 3

                                                                                        Identi.ca is a pump.io node; it used to be based on StatusNet which is now GNU social.

                                                                                        1. 15

                                                                                          Mastodon is compatible with GNU Social fwiw. It’s an alternate server and web-UI implementation, but speaks the same protocol and can federate with GNU Social instances. The linked article doesn’t make this clear, but the GitHub repo does.

                                                                                          I think the linked article is targeted at Twitter users looking to switch who don’t already know anything about the history of open-source / federated networks, so avoids going into too much digression there. There’s been a huge spike in people signing up on mastodon.social the past 2-3 days, it seems due to a dislike of some recent Twitter changes that somehow it was in the right place at the right time to capitalize on. So I think this post is an attempt at writing a “hello, welcome to this new option” article for people who are seeing people on Twitter post about it and are wondering what this is all about.

                                                                                        2. 1

                                                                                          Here’s someone’s attempt to provide a short history of how all this stuff came about, and how it relates.

                                                                                      2. 2

                                                                                        The Github repo has more technical infos. Mastodon should federate with the others.

                                                                                      1. 5

                                                                                        Specifically, a MongoDB exposed publicly with no password.

                                                                                        1. 6

                                                                                          That was ransomed three times already.

                                                                                          1. 6

                                                                                            Once is a mistake, twice is carelessness, three times is they’re secretly fronting for the extortion ring.

                                                                                          2. 1

                                                                                            Yeah, the headline is little unfair – the fact that the datastore happens to be MongoDB is not really relevant. Any unsecured datastore would cause similar problems. You could argue that it’s a bit irresponsible for MongoDB’s default configuration to be insecure, but ultimately the responsibility lies with the developers of the application(s).

                                                                                            1. 4

                                                                                              Well, MongoDB does ship with unsafe and insecure defaults. I can see an argument that it’s fair to call out a product that is unsafe by default.

                                                                                              1. 1

                                                                                                It’s the job of the person using the tool to understand the tool and operate it safely.

                                                                                                That’s like buying a knife, accidentally cutting somebody and then claiming that the knife is faulty for being sharp by default or for not coming with a sheath.

                                                                                                1. 2

                                                                                                  But we’ve accepted that you can take simple precautions to prevent really terrible damage by selling them in sheaths or at least wrap it in some wad of news paper. There’s a certain level of basic protection you can provide so those who are new and ignorant won’t just accidentally kill themselves or others.

                                                                                                  It’s like saying well, Windows XP ships with all ports open to the network, but you should know that as a manager and you should understand you need to change the default settings to be safe. It’s standard industry practice. You’re probably right, they should know this, but this is useless garbage they shouldn’t need to know if they were all closed by default.

                                                                                                  1. 1

                                                                                                    It’s the job of the person using the tool to understand the tool and operate it safely.

                                                                                                    Of course.

                                                                                                    That’s like buying a knife, accidentally cutting somebody and then claiming that the knife is faulty for being sharp by default or for not coming with a sheath.

                                                                                                    No it’s not. A knife must be sharp to be useful. A database does not need to have an insecure configuration to be useful. It’s a purely unnecessary hazard to users.

                                                                                                    1. 1

                                                                                                      A knife doesn’t need a sheath to be useful.

                                                                                                      1. 1

                                                                                                        What I was trying to say is this: the reason a knife can cut you is the exact same reason that it is useful: it’s sharp. Take away the danger and you take away the utility. Nobody would ask for that.

                                                                                                        But a database is useful for storing data. Giving it insecure defaults does not make it more useful, it simply adds hazard.

                                                                                                        So to go back to your analogy, it’s more like if you buy a knife, and when you get it out of the package, the handle is wrapped in razor wire. That’s still not a perfect analogy because insecure defaults are presumably due to laziness or inattention, and the razor wire would be active malice. But it’s closer.

                                                                                                2. 1

                                                                                                  The Register is known for tabloid-style headlines; rather surprised to see two articles from them on the homepage currently…

                                                                                              1. 9

                                                                                                This is one of the most compelling features of magit, and what made me actually use it over the git cli.

                                                                                                M-x magit-status launches a window that contains all your staged and unstaged code, and you can highlight individual lines of the diff to remove or add them to your staged changes. It also includes a stash UI as well.

                                                                                                1. 6

                                                                                                  God yes, that and +/- to expand/decrease where the hunks start (be careful getting it too close to one line). s/u to stage/unstage things (can even do this if you highlight stashed hunk as well, soooo nice).

                                                                                                  It really is the best git ui i’ve used.

                                                                                                  1. 5

                                                                                                    Funny you should mention magit. So, I’m learning Common Lisp, and I was using Atom + Slime. Then I got really annoyed by Atom (I’m sure I could have reconfigured it given some study, but the Slime integration started to get wonky too). I took the plunge and have started using emacs (which isn’t that bad, once I figure out what M-x meant :P) Then I read a thread on HN about altassian buying trello (comments are hillarious) but ran into magit, and learning about magit I learned about hunks which seems to me one of those things about git that should be advertised more prominently.

                                                                                                    1. 2

                                                                                                      magit is really well done… shows the power of emacs customization.

                                                                                                    2. 4

                                                                                                      Or use @andrewshadura’s git-crecord.

                                                                                                      I do this workflow all the time using mercurial, trying to keep my commits as atomic as possible.

                                                                                                      1. 4

                                                                                                        I remember the first time I needed to stage split chunks of a file and thought “I wonder if I can just highlight these lines and hit s… I can!” Bravo magit devs.

                                                                                                        1. 2

                                                                                                          For years, magit was the only piece of emacs that I kept on using. It is great.