Pinboard (jm)
https://pinboard.in/u:jm/public/
recent bookmarks from jmGo best practices, six years in2016-05-03T09:46:21+00:00
https://peter.bourgon.org/go-best-practices-2016/
jmgo golang best-practices coding guidelineshttps://pinboard.in/https://pinboard.in/u:jm/b:70efe4056af7/The problems with forcing regular password expiry2016-04-19T16:55:31+00:00
https://www.cesg.gov.uk/articles/problems-forcing-regular-password-expiry
jm
The new password may have been used elsewhere, and attackers can exploit this too. The new password is also more likely to be written down, which represents another vulnerability. New passwords are also more likely to be forgotten, and this carries the productivity costs of users being locked out of their accounts, and service desks having to reset passwords.
It’s one of those counter-intuitive security scenarios; the more often users are forced to change passwords, the greater the overall vulnerability to attack. What appeared to be a perfectly sensible, long-established piece of advice doesn’t, it turns out, stand up to a rigorous, whole-system analysis. CESG now recommend organisations do not force regular password expiry.
]]>cesg recommendations guidelines security passwords expiry uk gchqhttps://pinboard.in/https://pinboard.in/u:jm/b:17124f78ef0e/A Guide to Naming Variables2016-04-15T12:50:52+00:00
http://a-nickels-worth.blogspot.ie/2016/04/a-guide-to-naming-variables.html
jmguidelines rules naming variables coding stylehttps://pinboard.in/https://pinboard.in/u:jm/b:b40265d44024/Google Java Style2015-02-02T12:12:15+00:00
http://google-styleguide.googlecode.com/svn/trunk/javaguide.html
jmstyle java google coding guidelines formatting coding-standardshttps://pinboard.in/https://pinboard.in/u:jm/b:e40eb53b8829/JPL Institutional Coding Standard for the Java Programming Language2013-03-25T11:26:31+00:00
http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_Java.pdf
jm
compile with checks turned on;
apply static analysis;
document public elements;
write unit tests;
use the standard naming conventions;
do not override field or class names;
make imports explicit;
do not have cyclic package and class dependencies;
obey the contract for equals();
define both equals() and hashCode();
define equals when adding fields;
define equals with parameter type Object;
do not use finalizers;
do not implement the Cloneable interface;
do not call nonfinal methods in constructors;
select composition over inheritance;
make fields private;
do not use static mutable fields;
declare immutable fields final;
initialize fields before use;
use assertions;
use annotations;
restrict method overloading;
do not assign to parameters;
do not return null arrays or collections;
do not call System.exit;
have one concept per line;
use braces in control structures;
do not have empty blocks;
use breaks in switch statements;
end switch statements with default;
terminate if-else-if with else;
restrict side effects in expressions;
use named constants for non-trivial literals;
make operator precedence explicit;
do not use reference equality;
use only short-circuit logic operators;
do not use octal values;
do not use floating point equality;
use one result type in conditional expressions;
do not use string concatenation operator in loops;
do not drop exceptions;
do not abruptly exit a finally block;
use generics;
use interfaces as types when available;
use primitive types;
do not remove literals from collections;
restrict numeric conversions;
program against data races;
program against deadlocks;
do not rely on the scheduler for synchronization;
wait and notify safely;
reduce code complexity
]]>nasa java reference guidelines coding-standards jpl reliability software coding oo concurrency findbugs bugshttps://pinboard.in/https://pinboard.in/u:jm/b:5892be45c902/Notes on Distributed Systems for Young Bloods2013-01-14T17:21:34+00:00
http://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/
jmsystems distributed distcomp cap metrics coding guidelines architecture backpressure design twitterhttps://pinboard.in/https://pinboard.in/u:jm/b:1f6c84e7ef47/