1. 4

    20 is a fantastic number.

    1. 1

      Well yeah, it’s god’s number. https://www.youtube.com/watch?v=AOMQxLrCI7A

      1. 1

        21 though, that’s where it’s at.

      1. 1

        That is pretty neat. Thanks.

        1. 2

          Work: API’s for a new client Home: Learning more Go, woodoworking

          1. 2

            Woodworking (currently a litter box enclosure), playing with my daughter, VainGlory, Dota 2

            1. 2

              well done!

              1. 2

                I’m finishing work on a magazine reader mobile application, and beginning an Android emoji keyboard. In my free time, I am wrapping up work on an iOS game, assuming the graphics come in from a friend.

                1. 21

                  Here’s my big one:

                  No one is ever right about anything, ever.

                  Object oriented programming isn’t bad, good, or ugly. FP isn’t the one-true-way. Exceptions aren’t evil. GOTO is just fine. Mutability and Immutability are both reasonable choices in context. Everything has it’s place and anyone who tells you otherwise is asserting surety in a situation which demands only doubt. No paradigm, no mode of thought, no set of rules is ever wholly correct. Including this one. In essence, Dogma is the only thing which is dogmatically evil, and the right answer is always to choose what is best for your team based on the people working in it. You should try many different approaches both alone and with your team, be open to change, and when you find a better way to do something, embrace it fully.

                  As the wise man once said – you can hoot and hollar about how FP/OOP/Patterns/Go/Haskell/whatever is going to save my developer life and that it’ll make me ten times more productive, and in the time it takes you to make that argument, I’ll have made 30 apps in PHP and Java and be making money hand over fist using whatever hodge-podge of techniques seem to work at the time. A bad app that makes money is better than a platonic-ideal that exists only in your mind.

                  1. 7

                    No one is ever right about anything, ever.

                    What about things that have physical limits? Such the CAP Theorem? Or what about things with formal proofs?

                    1. 4

                      At the cost of equivocating a bit – stuff like the CAP theorem is so commonly misapplied or otherwise misunderstood (aphyr’s posts about distributed systems bear this out – as he looks at more systems that claim certain properties, when he clearly shows they demonstrate others) that I feel comfortable saying that the theorem may be true, but the application is usually wrong.

                      That said, it is a bit of hyperbole. It’s probably better to say, “No one is ever right about anything (when it comes to philosophy of/approach to programming), ever.” But that doesn’t read as well.

                      1. 8

                        As an engineer, I prefer a well worded and precise statement. I would just say “No one’s opinion is ever right, and if it is, it’s a proof not an opinion” or something.

                        There are things you can be fundamentally correct about. IMO, the “no one is every right about anything”-sentiment is a problem in technology now. People try to create the very systems you are pointed out because they don’t realize when someone is telling them that the system they want to build is impossible that they should listen.

                        1. 4

                          For the record, this ends up having a bit more of a rant-y tone, that rant is not directed at anyone in particular, it’s just an expression of frustration with the phenomenon I am ranting about. apy makes a solid point above and is, I think, a lovely human being who should not take my ranting personally.

                          EDIT: This double posted, apologies.


                          Alright, let me hedge, there is a class of things which you can be assured hold true given some set of assumptions. Mathematics is, indeed, pretty difficult to argue with. However, I assert this set is relatively small in the context of what I was (probably not very effectively) trying to get at.

                          My argument is this – there are a lot of people who make very strong statements about things for which they have no evidence or proof to rely on. I’m speaking about the OOP and FP zealots. I’m talking about the language ideologues. I’m talking about the sort of high-minded verbal flatulence that some people sputter out about every damn thing. Yes, CAP is an unassailable theorem. It is capital-T True. But for the most part, people don’t operate in a world of capital-T Truth. They live in a much muddier world of little-T truths. Where everything is subjective and the points don’t matter. The folks spouting these baseless assertions that dynamic programming is better than static is better than this that or the other are basically just noise obscuring the signal – nothing is ‘right’ here, it’s just about what works. I’ve worked with a number of teams who get focused trying to figure out the ‘right’ way to do something – whether how-to Agile, or choosing some tool, or whatever. Equally many have been pretty hamstrung by being caught up in a sequence of bad practice decisions that they are inextricably committed too because someone once claimed they were ‘right’ and thus were beyond reproach. It’s dogmatic thinking, and I have a strong allergy to dogmatic thinking.

                          Unfortunately (and even apparent in my OP) – dogmatic thinking (‘no one is ever right about anything, ever’) is pretty endemic to the class of people who hang out in these sorts of circles (and I think more generally of the engineering type). I do not consider myself an engineer, at least not like you do. Well – that’s disingenuous – I’m a different sort of engineer, I’m a contractor (like the kind that builds, or, especially, renovates houses). Not every house (app/program/whatever) is necessarily newly built and designed perfectly (legacy code), not every approach will work well – yes, there are some fundamental laws of physics to follow (CAP theorem), and often you’ll have to improvise (do something hacky) to meet both code (quality requirements) and deadlines (… deadlines). In my world, well-worded and precise statements are a liability. I live in the grey area I can give to the people above me demanding new features, and the hardware below me demanding maintenance and refactoring. In this metaphor, you get to be the architect, you have the luxury of surety. That’s not a bad thing – we need architects too – but like the guy writing PHP, or adding the extra wallbracing because snow-load has been high this year and you’d rather belt-and-suspenders the whole thing then have a collapsed roof on your record, I’m not here to be precise and build pristine apps. I’m here to make my employer money. I don’t get to feel like any one direction is the one-true-path, because reality rejects such simplicity.

                          Anyway, I guess what I’m saying is. Yes, sure, there are unassailable true things. There are also a plethora of quite assailable things, these are what I have a problem with, and – for better or worse – our community seems fixated on the idea that there is a ‘right’ way to do things, and I just don’t think that’s true. It’s not a particularly pleasant idea – as it means I’m basically arguing that a lot of folks (including, often, myself) who hang around places like lobste.rs and HN and reddit are basically blowhards, but OP didn’t ask for a pleasant opinion that everyone would like. :)

                          1. 2

                            I agree with the overall point you’re making: that people are too quick to think their opinion is a fact. But I disagree with how you’re presenting it. There are many things that are Truth.

                            In my world, well-worded and precise statements are a liability. I live in the grey area I can give to the people above me demanding new features, and the hardware below me demanding maintenance and refactoring.

                            You’re drawing a false dichotomy here. Precise statements are what make the grey zone identifiable. Knowing that you are, in fact, unable to make a precise statement about something you’re doing means you know you have a lot of freedom there.

                            So my point is:

                            There are things with capital T truths. You better be able to identify and understand them. Otherwise the greyzone you think you’re in may not be greyzone and you’ll end up with something that not only makes no sense but could never make sense.

                            1. 2

                              You’re drawing a false dichotomy here. Precise statements are what make the grey zone identifiable. Knowing that you are, in fact, unable to make a precise statement about something you’re doing means you know you have a lot of freedom there.

                              I can see that – it’s definitely not a strong argument. I think we probably fundamentally disagree on how much stuff is ‘Truth’ (which maybe are better called ‘Laws’ like gravity), or at least, how much Truth is relevant to the day-to-day process of making software which makes money; but I suspect that our respective perceptions of how much there is not only isn’t material, it’s actually probably valuable (since different approaches, in my experience, make for better software).

                    2. 2

                      I really like this one. I’m a sucker for the dramatic hyperbole.

                    1. 19

                      Building a photo booth for my wedding next month! Raspberry Pi, DSLR camera, python and Flask.

                      1. 4

                        Are you going to be publishing the source anywhere? It occurs to me that I have both a Raspberry Pi and a DSLR I’m not using, would be fun to setup a semi-permanent photo booth at my house. :D

                        Also, congratulations in advance!

                        1. 2

                          Yes, good luck with the project and your photo booth too! :)

                          1. 1

                            That sounds fun! Good luck with all the less nerdy details and I hope you enjoy the big day :)

                            1. 1

                              Good luck with the project! We had a (rented) photo booth at our wedding, and it was a huge it. Many months later, we still enjoy going over the pictures.