1. 1

    I thought this was a pretty awesome talk. I do wish he would have expanded on some points he made especially at the start when he called out STONITH in passing.

    1. 4

      Oh, hey, there’s my name on lobste.rs.

      I can handle questions here, if you’d like to ask some. I’ll be in and out today, so responses may take a while.

      1. 1

        Specifically on STONITH I was hoping you could expand on why it’s a bad practice? We currently use it today with our postgresql cluster and at least on the surface it seems like a good way to manage clusters of dbs that don’t have built in cluster mechanics.

        1. 3

          The shortest answer is that machines lie, and they lie often, and if your system doesn’t have reconciliation strategies (which it doesn’t, or else you wouldn’t need STONITH), you’re asking for the machines to knock each other out. Or for the unhealthy machine to knock out the healthy one.

          This happens a lot and if you haven’t seen it, yet, you’ve gotten lucky.

          By the way, lying here can take many forms. Maybe there was a temporary network problem (when both think the other is being too slow or refusing connections, what happens?), or maybe the metric used to determine “health” were out of date (one machine is rejecting all normal requests, but is happily serving the heartbeat while the other one is handling more than its share and struggling to) and so on.

          It’s really just broken. Leader election or manual intervention is much preferred.

    1. 1

      It’s always interesting to me how people deal with confirming a payment has taking place. I wonder what the advantage is of waiting to receive a push notification of success vs sending the request to Stripe and waiting for a successful response. I’ve also heard of people sending off async requests for payment and assuming it’s successful which seems like the worst approach if you want to actually make sure you’re paid.

      1. 1

        For most scenarios, I’d say wait for the acknowledgement from the payment processor. In this case, when his server is getting a massive amount of traffic and people are happy to give him money, I think he would have been better suited to just assume the after-payment landing page means the payment was successful and upgrade the account. Paying customers stay happy and at night when the load is lower, he could reconcile the upgraded accounts with what the payment processor says and turn off the small percentage that didn’t actually pay. What’s the worst that happens in his situation when a non-paying member gets accidentally upgraded to a paid account for 1 day?

        1. 1

          100% agree. I’ve seen some of our customers and Braintree do the same thing where they do batch checks at night to make sure all payments were successful.

      1. 1

        why is this better / different than downloading the list from a web server?

        1. 1

          From my very limited understanding of BGP, it would effectively be the same but when you download the list it will download it from the closest accessible server to you. That would allow servers to go down and come up without making the list inaccessible.

        1. 2

          I have been using this for a while, window managers that are configured via a language (xmonad, subtle, dwm) are awesome as they allow for you to customize the actions to no end.

          1. 1

            Have you run into any problems? I’m very interested in Subtle but I’m using dwm currently. I’ve had a hard time switching from dwm since I feel dwm has few bugs and is relatively simple compared to most wms.

            1. 2

              I still use xmonad on some computers, subtle doesn’t have the depth of snippets out there that dwm and xmonad have, but being configured with a proper programming language has made it easy to add functionality. In terms of stability, it has been fine, there are a few times when things kind of act up, but that is sometimes due to bugs in my config.

          1. 2

            I would tag this with “clojure” but there is no tag for it currently.

            1. 1

              Has anyone used Braintree payments? Thoughts? complaints?

              1. 3

                I’ve used them for handling subscription payments for my SaaS and for receiving payments for my consulting business, for about 4 years. For most of that time, they were charging $59 a month plus the usual transaction fees, which was a bit much. A few months ago, I tried to switch to Stripe for the lower cost, only to have Braintree come back and say they’d match Stripe’s pricing, so I didn’t switch. They’ve since changed their pricing for everyone to no monthly fee and only a per-transaction fee.

                Their customer support is pretty good, although recently I had a situation where a scammer was running a bunch of stolen CC authorizations through my SaaS and I got hit with hundreds of dollars in authorization fees, which Braintree didn’t notice and was unable to help me recover. I’m not blaming them for it, but I was a bit surprised that no security measures on their end considered it suspicious to have a small account suddenly processing hundreds of authorizations and no payments.

                I think Braintree is (or at least has been up until very recently) setup more to handle larger accounts and the instant setup and no monthly fees of Square and Stripe have made a big dent in Braintree’s status among startups and smaller companies. They used to be touted as the merchant of choice but it seems like Stripe stole a lot of that thunder.

                1. 2

                  I’m a developer at Braintree. You’re definitely right that Braintree hasn’t been the obvious choice for startups since companies like Stripe and Square joined the mix. There are a lot of entrepreneurs among us and we’re working hard to build tools to help smaller companies succeed. Over the past year we’ve been working on addressing a lot of problems that smaller merchants have with using us such as pricing and instant underwriting. It’s absolutely our goal to make payments as simple as possible for everyone from startups to larger companies.

                  We’re also a Chicago based company and if you ever have any questions feel free to swing by our office. Shoot me an email anytime ben@braintreepayments.com

                  1. 2

                    John from Braintree here. Sorry to hear you had trouble with people abusing your service for carding. One of the features we are actively focused on is providing better fraud tools and preventative alerting to our merchants. This has been a big problem for some of our customers and we are constantly looking for better ways to help them defend themselves.

                1. 2

                  Using homebrew and cask allowed me to bootstrap a dev box in ~30 minutes. If you enjoy homebrew you will love cask.

                  1. 4

                    Only somewhat related, but I always wondered why homebrew insisted on compiling things for every user, when every user is on the same exact platform and hardware. Bootstrapping an OpenBSD server or workstation takes me all of 3 minutes with pkg_add zsh vim ruby ... because there’s no slow download servers, no compilation, minimal dependency downloading/installing, and no random build failures that I seem to get often with homebrew.

                  1. 1

                    Anyone else getting a 404?

                    1. 1

                      It’s loading fine for me.

                    1. 3

                      Currently there is no erlang tag otherwise I would use it.

                      1. 2

                        I was disappointed with this article. Based on the title I expected a dive into refactoring old code and how to maintain a legacy code base. What I got from this was a guide on how to contribute to open source projects.

                        1. 1

                          Do you happen to have any links to resources like this? I spend about half my time dealing with “startup” code held together with duct-tape and papier-mâché. It’s a constant battle between writing code for new features and trying to refactor old code so it is less crusty.

                          1. 2

                            I know of two books that hit a little bit on this topic. Working Effectively with Legacy Code by Michael Feathers and Refactoring: Improving the Design of Existing Code by Martin Fowler. I haven’t personally read them (I’m about to start Refactoring) but multiple people have spoken very highly of them.

                            1. 1

                              Awesome, thanks! I’ll check these out.

                        1. 1

                          Proposed tag: erlang

                          1. 6

                            This could just as easily be titled “How to get anyone to help make your open source project awesome.”

                            If I can’t tell what your project does from its homepage/Github repo, I’m probably not going to try it out. Link to a demo or show some screenshots or something.

                            If your project is hard to install or has lots of hidden dependencies, I’m probably going to give up halfway through reading about it. I resisted using Graphite because the setup seemed really daunting.

                            If your project has some arcane bug tracking system that makes me jump through hoops of creating an account, waiting for a verification e-mail, filling out captchas, and then filling out tons of form fields just to report a bug, guess what, I’m not going to bother reporting the problem.

                            1. 1

                              I agree. It’s important to at the very least provide links to tutorials or project pages for the languages/tools used to develop the project so others can get a development environment setup. I do think this point is more important for designers since more often than not they are unfamiliar with the tools used to build open source projects.

                              1. 1

                                I do think this point is more important for designers since more often than not they are unfamiliar with the tools used to build open source projects.

                                @b this is exactly what I was getting at in the blog post, but I agree with @jcs that things that make it easier for designers to get involved with a project should make it easier for anyone to get involved.

                            1. 3

                              Is this on topic for lobsters? Seems too general tech-news-y.

                              1. 2

                                I will venture to say that one link is reasonable. I don’t need a repost of every blog about the most disappointing iPhone ever, but an anchor where people can talk about it seems useful. The HN discussion is wholly useless.

                                For my part, to say something, I plan to upgrade. Looking forward to a lighter phone.

                                1. 1

                                  I can’t believe my own pair would call me out.

                                  In all seriousness I think you might have a point. The main reason I posted this was I saw the new Amazon Kindle announcements hit the top on Lobsters.

                                  1. 1

                                    Isn’t that what voting takes care of? If people are interested, they will upvote it and it will rise to the top.

                                  1. 1

                                    Nice. Looks like compile-buffer on Emacs. ;)

                                    1. 2

                                      The major driving force behind vimux was emacs envy!

                                      1. 1

                                        Yes and? ;–)

                                    1. 3

                                      I just posted a story (https://lobste.rs/s/wymtvw/why_do_successful_tech_companies_fail_so_often) about the business of tech companies. Other than “news” I saw no other worthwhile tag. Would a “business” tag be useful?

                                      1. 3

                                        I feel like lobsters will be better if we stick to news just for hackers, which should help keep content quality high. Not having a business tag will probably help keep people who aren’t interested in new for hackers away.

                                        1. 1

                                          I feel like lobsters will be better if we stick to news just for hackers, which should help keep content quality high. Not having a business tag will probably help keep people who aren’t interested in new for hackers away.

                                          Fair enough. So news about businesses that hackers may be running falls outside the scope of the site?

                                          1. 1

                                            I feel like it’s a slippery slope. Some businesses are clearly of interest to hackers, like Red Hat. But is news about Hipster or Sonar of the same importance? Not sure. That might be something it’s best to leave to TechCrunch, but of course I’m sure I’m not the only person with an opinion on this.

                                            1. 3

                                              I actually think this comment right here sums up the way that lobste.rs can actually become more useful than HN for a pretty big subset of HN readers; that is, those of us that aren’t really interested in the world of startups (at least, not as it pertains to home page stories). HN’s roots in Y Combinator mean that we get a lot of stuff about working with VCs, angel investment, and, of course, updates on the companies that have gone through YC. Some of it’s interesting, some of it’s not; but to many of us it’s not particularly useful.

                                              I’d really love to keep it focused on technical / scientific topics; I suppose it’s up to us early adopters to set the tone.

                                              1. 3

                                                I’m generally not even all that interested in stories about specific companies, but about broader ideas and principles in starting or running certain kinds of companies. There are already many sites that will serve up details of this or that company’s latest events and offerings, and usually the information offers little to say beyond, “Gee, that’s cool.”

                                                1. 3

                                                  I agree. I run a small business and appreciate reading things related to it, including how others run their business (even those self-congratulatory articles that 37signals posts would be acceptable even if no one reads or upvotes them). But “how I run my business” does not mean “let TechCrunch tell you what my business does”.

                                                  What about “smallbiz” or something? Or just “business” with the description set to something that says all of this in a few words.

                                                  1. 1

                                                    Maybe there’s some way of writing a tag name and suggests that the link/post will be about those broader ideas. Maybe “hacker business” or something along those lines.

                                            2. 1

                                              Would it be helpful to include this guideline somewhere? I realize that the lack of a business tag is a good deterrent but I think this might be a common mistake.

                                              1. 2

                                                It would help get newcomers going in the right direction (however defined). It might also help if there was something to guide when to apply certain tags.

                                                For example, there was a post that was basically about best practices in coding that was labeled “compsci”. Perhaps a tag of “programming” would apply there. (To me. a “compsci” tag would be more for something about, say, implementing the Lambda Calculus, or irreducible complexity.)

                                                Now, maybe I’m right, and the post was wrong, or the reverse. Or something else. But something that helps clarify when certain tags are appropriate might help make sure they are at least applied consistently, and people aren’t surprised when they get down-voted for inappropriate labels.