| Random Link ¯\_(ツ)_/¯ | ||
| Dec 16, 2022 | » | Productivity for Software Engineers
8 min; updated Nov 16, 2024
Measuring ProductivityDevs’ Diverging Perceptions of ProductivityGot interested in measuring it two years into my SWE career. Initially rated myself based on % of completed daily objectives. The objectives didn’t necessarily correspond to work items. Stopped because the numbers were high even on days when I didn’t feel productive. Switched to “stuff that affects others” (later came to know these are “function points”). More intuitively captures non-code objectives, e.g., aligning folks on feature specs. Numbers seem low; never a double digit month. Open question on how to incorporate code reviews into my daily rating. ... |
| Jan 15, 2022 | » | Software Engineering Journal Reviews
9 min; updated Feb 12, 2023
Formal Software DesignAlloy is an open-source language and analyzer for software modeling. An Alloy model is a collection of constraints that describe a set of structures, e.g. all possible security configurations of a web application. Alloy’s tool, the Alloy Analyzer is a solver that takes the constraints of a model and finds structures that satisfy them. The Alloy Analyzer leverages a SAT solver, and this precludes Alloy from analyzing optimization problems. propose AlloyMax, an extension of Alloy that can analyze problems with optimal solutions, soft constraints and priorities. AlloyMax adds new language constructs for specifying optimization problems, and uses an analysis engine that leverages a Maximum Satisfiability (MaxSAT) solver. also provide a translation mechanism from a first-order relational logic into a weighted conjunctive normal form (WCNF) that the MaxSAT solver expects. ... |