1. 1

    A very interesting set of icons, but can someone explain to me what or how they can/should be used? Maybe I’m not the target market for these, but I fail to see that.

    1. 2

      I agree, but as I’m programming in C# which doesn’t have anything like traits I need inheritance, sadly. I hope we’ll get traits someday.

      1. [Comment removed by author]

        1. 1

          Sadly, I can’t. I’m working on a Visual Studio Extension, so I have no choice. I really love C# though, the missing traits are one of the only things I truly miss. But as there are only very few languages that offer them, I’m happy enough as it is. Maybe they will be included in a future version, there is still hope. :)

        2. 2

          I work in C# for my day job too. Why do you need inheritance? A little refactor and your super class subclass tree becomes a nice class composed with another class instead. Traits may make composition a little easier in some cases but not having it doesn’t suddenly make inheritance a requirement.

          1. 1

            I sometimes find it to be the only / best way to prevent clones. If I understand you correctly, you suggest that I should rather include the now parent class in the child classes and refer to it directly? I might, but I don’t see how that is any different to inheritance. I actually feel like it results in more boilerplate code with the same dependency problems. Why do you prefer it?

            1. 1

              I prefer it because it makes the contract between base class and subclass explicit and enforceable by the compiler. It allows the compiler to enforce invariants in that contract that inheritance does not. In fact I just recently debugged an issue caused by this very thing where the subclass was violating the contract in a way that would have been trivially prevented by the compiler if composition had been used instead. The compiler is much better at remember than me and way better at forcing me to be correct than documentation is.

        1. 1

          Nice tutorial! Is there something similar for F#?

          1. 4

            Is anyone using Mercurial instead of Git? I thought about switching to Mercurial once, but now it seems the project is slowly dying. Are there benefits?

            1. 13

              Mercurial development is not dead at all:

              https://selenic.com/hg

              http://news.gmane.org/gmane.comp.version-control.mercurial.devel

              http://news.gmane.org/gmane.comp.version-control.mercurial.general

              The userbase is dwindling, but the development, if anything, is speeding up.

              1. 9

                I use it almost exclusively for my personal projects.

                1. 7

                  I’ve found that Mercurial’s plugin system lets you build any workflow you want straight into source control. I also don’t think Mercurial is dying off, just that Github has really pushed Git up and nobody has tried to do something similar for Mercurial.

                  1. 5

                    There’s a couple of people at bitbucket who care about really pushing the envelope with what Mercurial can do. Sean Farley is rolling out Evolve for select bitbucket beta-testers upon request.

                    1. 1

                      Any public information on this change?

                      1. 1

                        I don’t think so, no. Feel free to stop by the #bitbucket or #mercurial channels on freenode to ask questions.

                      2. 1

                        That’s good to hear. I use Mercurial on all my personal projects and strongly prefer it to Git, but reading the blog posts and announcements from Atlassian, it’s really felt like the development velocity there has much more been on the Git side of Bitbucket.

                    2. 5

                      I started using Mercurial for work, and have since grown to prefer it over Git. In large part because of it’s extensibility, but also ease of use. Mercurial makes more conceptual sense to me and is easy to figure out from the cli/help alone. I rarely ever find myself Googling how to do something.

                      I still like Git though, and it’s likely better for people who don’t like tinkering with their workflows.

                      1. 3

                        Lots of people, including some big names (e.g., Facebook). I find git’s merging more reliable, but prefer hg’s CLI. They both get the job done.

                        1. 8

                          I’d love to know about cases where you find git’s merging to be more reliable. Samples would be awesome, so we can figure out what’s tripping you up.

                          1. 4

                            It’s a known issue.

                            1. 3

                              Sort of. It’s not a known issue that BidMerge (note that we’ve shipped BidMerge, which is an improvement over ConsensusMerge as a concept) produces worse results than Git. I really meant it when I said I’d appreciate examples, rather than handwaving. :)

                              1. 2

                                I was using hg pre-3.0 (via Kiln). The problem that BidMerge is intended to solve is the problem which gave us so much trouble. I can’t speak to how well BidMerge would have fixed that, as the company is no longer in business.

                                1. 5

                                  Fair enough. It should be pretty well solved then. Thanks for responding!

                        2. 2

                          It may well have technical advantages, but if you’re working on a project that other people will one day work on, I’d strongly urge you to use git. Being able to use a familiar tool will be far more valuable to other contributors. Look at e.g. Python, which chose mercurial years ago but has recently decided to migrate to git.

                        1. 1

                          Very interesting insight. Makes me want to start working on the project as well!

                          1. 3

                            I didn’t even know about Persona and reading about it made me want nothing else but this. Just recently livestream was hacked and I had to change my password. I decided to delete my account, the effort seemed to high for me only consuming on their site. I didn’t want to risk another password to be compromised, as I like to reuse them for less important sites. Persona would have solved this problem for me and for livestream.

                            1. 3

                              I’m sure you’ve seen this before, but start using a password manager. I also used to reuse a password on less important sites. Only ended up being a pain in the ass, having most unimportant sites using the same password, but a few using some other password because I had to change or the unimportant password wasn’t “secure” enough.

                              1. 1

                                I love pass, it is really simple, intergrates easily with git and is simply part of your filesystem. It works really well with something like dmenu

                            1. 1

                              I’m amazed how many of these examples I could relate to. Apple Mail for me is the worst offender. I never click the real “Compose” button first. As I start looking from the left, I always first click the “Fetch new mail” button and only then the button I was looking for. It’s horrible and I really dislike it. Luckily I don’t work on the Mac a lot. But I would expect better from Apple, to be honest.