@jmoironIf you're new to Go and using sql, https://t.co/bZygzEN9d1 is an excellent dive into the nuances and behaviours of database/sql. Just the "Common Pitfalls" section will likely save you hours of frustration.
@jmoironRT @davidcrawshaw: @_rsc @peterbourgon @goinggodotnet @davecheney @markbates @NataliePis There's lots of feedback you won't get until you s…
@jmoironThis document, prepared in 1979, contains within it the seed for nearly every "modern" software practice: encapsulation, a separation of unit, integration and contract testing, code review, automated deployment, cost estimation strategies, software observability.
@jmoiron"as individuals and managers became more experienced, schedule estimations became more and more reliable. No panacea was ever discovered except that of better familiarity with the tasks to be accomplished."
@jmoiron"even though a particular design already may have been implemented successfully somewhere, a team with little background related to that design should recognize that their activities will contain a large component of uncertainty due to the research they must do [to learn it]"
@jmoiron"It is now obvious that the Multics development would have been much easier if a simpler language had been chosen for implementation. [..] However, having been successfully developed, PL/I is now one to the strengths of the system." -- https://t.co/wUgtiFXwXH
@jmoiron"The language chosen was PL/I partly because of the richness of its constructs and partly because of the enthusiasm of those planning to implement the compiler. The [...] language implementation became an inadvertent research project."
@jmoiron@dayorbyte @copyconstruct @mattklein123 If try makes code harder to read, then your ability to abstain doesn't prevent it from being potentially a bad change. I don't understand this argument; surely we should avoid a situation where everyone has non-overlapping approved subsets...
@jmoiron@carmatrocity @davecheney People need to adopt the moiron score for software dependency cost modelling and also to learn how to pronounce my name.
@jmoiron@bryanl @IanMLewis I do agree in the small, but I think how comments get better the larger their scope. The Go gc/vm and map implementation have lots of how in them. I also think we overestimate our ability to understand systems just from reading code.
@jmoiron@bryanl @IanMLewis I often do give this feedback on how comments. If you're taking time to give the reviewer some context, why leave it out for future readers?
@jmoiron@pmbauer @jamiealquiza You could make a case that it is a cosmetic change that is not a real improvement, but IMHO it's a legitimate addition (it's a new way to return, so that's a big change) that accomplishes its objectives but undermines the strengths of its platform.
@jmoiron@jamiealquiza What is so frustrating about Go is that everyone knows what its biggest strength is (it's easy to read), and everyone agrees why (it's very simplistic and limited), but people nonetheless think you can sacrifice one and retain the other.
@jmoironGo PL change discussions: "The Rolls Royce Phantom is great; quiet, comfortable... but it's a bit slow. Let's fix that by stripping out the heavy soundproofing, adding a supercharger, sports suspension, recaro racing seats, run-flat tires, and a racing exhaust."
@jmoiron@calebspare 20+40 is 60, 7+8 is 15, 60+15 is 75
@jmoironRT @dgryski: Strong recommend here. These people really know their stuff. https://t.co/R4Df29j0sR
@jmoironThe LiNK paper finally hit "the morning paper" today; hot takes on twitter are (predictably) glib. Do y'all like, SELECT * FROM table, and then sort it out in the app? Pushing the app to the data is a no brainer for some types of systems.
@jmoiron@DanielMorsing @dgryski These details never really materialized for the slicer paper, either, although there was enough there to put a fuller picture together, eventually.
@jmoiron@chimeracoder 🤔
@jmoironRT @berenyi_miki: This is why I don't go on Facebook https://t.co/0HZmME43Sq
@jmoironThere's more to learn in software development than programming languages.