excepttheweasel | 4 years ago | on: Taking sex differences in personality seriously (2019)
excepttheweasel's comments
excepttheweasel | 5 years ago | on: The FBI is secretly using Sabre as a global travel surveillance tool
excepttheweasel | 7 years ago | on: Things I Enjoy in Rust: Error Handling
excepttheweasel | 7 years ago | on: CityBound – An open source city simulation game in Rust
excepttheweasel | 9 years ago | on: 3.5 Years, 500k Lines of Go
But I wonder how it really scales on a large code base like this? Some of the best projects I've worked on leverage usability more effectively to create a sort of vocabulary. They're far more concise, there is rarely more than one source of truth, they're far easier to change and improve. Does this hold true for 540,000 lines of go code?
excepttheweasel | 10 years ago | on: After ‘The Biggest Loser,’ Their Bodies Fought to Regain Weight
Importantly for me, this diet drastically reduces cravings and reduces the impact of hunger, making it far easier to keep to vs other diets. But it can be quite restrictive, you'll likely find that eating out severely limits your options and it is tricky to keep to if you're traveling.
excepttheweasel | 10 years ago | on: Rust for Web
excepttheweasel | 10 years ago | on: Warming up to Go
I believe this sounds attractive in part because programmers are so excited by the idea of solving problems, and it's true that a specialized implementation can always beat a general one. But it does not sound particularly sustainable.
A language that doesn't provide adequate abstractions often results in requiring its users to develop those missing abstractions over and over again. With the requisite possibility of bugs or implementation naivety. As both a Rust and Go user, I do find the talk of generics a little over played. Go has great facilities for code reuse that often mean you won't miss generics as much as you might think. But I also see Go projects growing in size quicker than I can appreciate. The increased volume of code, each piece being specialized for its particular purpose - harder to fit in my head at one time. The cost of changing the code becomes more severe, each instance of an abstraction in the code being different enough to warrant specialized attention, rather than fixing code in a single place.
In every organization I've worked at, as the size of a code base grows, so does the cost of change. A language that doesn't scale well is only going to exacerbate that problem. Perhaps Go seems great now because we've yet to really see any projects written in it at this scale.
excepttheweasel | 10 years ago | on: All evidence points to OOP being bullshit (2013)
Can you find anyone who agrees on what "correctly executed OOP" is? I don't think there is a consensus on this idea, nor any particularly objective criteria for how to achieve good OOP.
excepttheweasel | 10 years ago | on: All evidence points to OOP being bullshit (2013)
Does the presence of inline assembler make C++ a machine language? I don't think so. Similarly I don't think the presence of primitives in Java make it less of an OO language. They're a leaky abstraction meant to improve the language's performance, which arguably make the language less ergonomic to use.
excepttheweasel | 10 years ago | on: All evidence points to OOP being bullshit (2013)
excepttheweasel | 10 years ago | on: All evidence points to OOP being bullshit (2013)
My intention was to point readers to some of the good ideas that were emerging (more accurately: had emerged some time ago) from alternative paradigms and how they could be used to make OOP programs better. Agreed that its certainly more about the team than what syntax you use to push bytes around, but tools do matter.
excepttheweasel | 10 years ago | on: The Manual That Dictates Every Detail of the NYC Subway
excepttheweasel | 12 years ago | on: Ask HN: Who is hiring? (November 2013)
We're building an Android education platform for K through 12 which includes mobile device management, interactive tools and classroom content. We live and breathe agile development, we test drive, we pair and we continuously deliver. Our technology stack includes Android applications (Java) a rich Coffeescript and AngularJS front end and a service oriented architecture using the Play framework (Java / Scala).
We're growing fast and we're looking for developers with an eye for elegance and simplicity, who appreciate good software design and who want to get involved in solving lots of challenging problems. If you're interested, send me an email: [email protected] or take a look at our careers page: http://amplify.com/careers
excepttheweasel | 12 years ago | on: Rails autoloading – how it works and when it doesn't
I think the same can be said of any abstraction. The Ruby programming language as an abstraction over C. C as an abstraction over assembler. etc. Yet few people write code in assembler. I don't find this a very compelling argument.
excepttheweasel | 12 years ago | on: High costs and negative value of pair programming
The cost of these has been completely externalized. Does the 85% reduction in defects come from a casual code review? Or are 3 senior developers doing Fagan inspections?
When an inspection reveals bugs, do we take into account the increased time to fix the bug because developers are informed about them after having forgotten some context?
Is static analysis incompatible with pairing?
Where does the 1.5 vs 1.6 defect rate come from? What about the rest of the numbers?
If a pair produces less LoC than someone soloing, couldn't this actually be a good thing? I know that the most productive coders I work with actually tend to delete more lines of code than they introduce.