The long way through Software Craftsmanship

Self-Study in April 2019

Apr 1, 2019 - 4 minute read - Comments - self-study-aggregationapril20191973actoractor-modeladadvicealexanderalgorithmalternativearchitectureb-treebatch-the-simple-stuffbluekaibookbusycc-langcareer-managementcarnegie-mellon-universityclassicclonecmucodecomparisoncontiguous-time-blocksconversioncoursecreatecstackcursordata-management-platformdatabasedbdelegatedmpdonald-littledrop-unimportant-tasksefficacyefficiencyethicalethicsfeedbackfeedback-loopgitlabgood-enoughgroupgroupthinkhewitthighlightindexirving-janisjames-kilejames-seibeljust-startlewis-carrolllook-aheadmanifestomemsqlmongodbnuodbpasswordpatterpattern-languagepdpplannerploppresentationprioritizeproductivityprojectput-it-offquoteregexregular-expressionremoteremote-workreplresourcesamir-shahseek-clarificationseminalsingle-task-important-itemsslideslides.comsqlsql-serversqlitestartupstrike-when-you-are-hotstructured-programmingtask-jarteamteam-dynamicteam-managementtechniquetooluniversityvalidationvoltdbwalkthroughworkworkshopycombinator

How to validate password with regular expression

Explains the ‘?=’ character in a regex, to validate conditions. Make it ‘.*’ to ‘contain’, rather than ‘startWith’

Tags: password, validation, look-ahead, regex, regular-expression

Id: 2ed5999a-555f-11e9-8bf8-0242ac110005 Read: Tue, 02 Apr 2019 15:51:30 +0000

Unlock honest feedback from your employees with this one word

I’ve read this article about asking for advice instead of asking for feedback and how that helped.

Tags: comparison, advice, feedback

Id: 3ca65d4c-577c-11e9-88ac-0242ac110005 Read: Fri, 05 Apr 2019 08:24:31 +0000


I’ve read this article explaining the dangers of Group think, some solutions.

Defined in 1972 by Irving L. Janis in a book by the same title, it’s more present when the group exhibits these behaviors:

  • A strong, persuasive group leader.
  • A high level of group cohesion.
  • Intense pressure from the outside to make a good decision

Tags: groupthink, team-management, book, group, team, team-dynamic, technique, irving-janis

Id: 6c90065c-577c-11e9-8741-0242ac110005 Read: Fri, 05 Apr 2019 08:25:52 +0000

Busy Person Patterns

This is a book of patterns (related to ‘A pattern language’, by Alexander et al) about Busy People (in a good way).

This is a collection of patterns to help you achieve productivity, efficiency, efficacy.

Explains how the patterns relate to one another, how they interact. Also, a quick reference based on the mood you’re experiencing

Tags: patter, pattern-language, alexander, busy, productivity, efficiency, efficacy, plop, just-start, contiguous-time-blocks, single-task-important-items, put-it-off, seek-clarification, batch-the-simple-stuff, task-jar, strike-when-you-are-hot, feedback-loop, prioritize, delegate, drop-unimportant-tasks, good-enough, james-kile, donald-little, samir-shah

Id: bcd32324-59e3-11e9-9acf-0242ac110005 Read: Mon, 08 Apr 2019 09:50:27 +0000

Data Management Platforms Demystified

This whitepaper explains what a DMP is, how does it convert, etc.

Tags: dmp, data-management-platform, bluekai, ad, conversion

Id: fecb0a0a-5ab8-11e9-b7b7-0242ac110005 Read: Tue, 09 Apr 2019 11:17:00 +0000

Ethical Alternatives & Resources

Some 300 hundred links of ethical products & services

Tags: ethics, ethical, alternative, resource

Id: cbf45e14-5ae6-11e9-a6ff-0242ac110006 Read: Tue, 09 Apr 2019 16:44:52 +0000

Code highlights in

This article explains how to highlight code in the software/site

Tags:, slide, code, highlight, tool, presentation

Id: 81d8a6ee-5c3c-11e9-9583-0242ac110006 Read: Thu, 11 Apr 2019 09:30:55 +0000


This course by the CMU (Carnegie-Mellon University) explains 7 databases in 7 weeks, one per talk.

Talks about SQL, NoSQL (key-value), about speed, about data management

Tags: database, book, cmu, carnegie-mellon-university, course, university, db, mongodb, index, memsql, voltdb, nuodb, sql-server

Id: 683816f6-5c3d-11e9-aadc-0242ac110006 Read: Thu, 11 Apr 2019 09:37:22 +0000

Startup Stock Options – Why a Good Deal Has Gone Bad

An interesting quote:

Valid reasons to work for a startup:

  • You are a cofounder.

  • You have little experience and you are using this to break into the industry, and get experience on many different > technologies (“wear many hats”).

  • They are working on a very specific problem or using a specific technology that you strongly desire to work on and it’s > difficult to do it anywhere else.

  • You want to work a certain way (remote, on the beach, whatever) and they are willing to go this route.

Invalid reasons for working at a startup:

  • Getting rich off stock options.

  • Making a lot of money in salary.

  • Work / life balance.

  • Stability.

Tags: quote, startup, career-management, ycombinator, james-seibel, work

Id: d074c386-5c3d-11e9-a6ce-0242ac110006 Read: Thu, 11 Apr 2019 09:40:17 +0000

Let’s Build a Simple Database

This is walk-through guide to create a database, in C

Tags: database, create, workshop, walkthrough, c-lang, c, sqlite, clone, project, cstack, repl, sql, algorithm, b-tree, cursor

Id: 8b8ea88e-5848-11e9-b07b-0242ac110002 Read: Sat, 06 Apr 2019 08:47:01 +0000

A Universal Modular ACTOR Formalism for Artificial Intelligence

In this seminal paper, Hewitt describes the actor model.

Full of quotes from Lewis Carroll.

Tags: actor, actor-model, hewitt, quote, lewis-carroll, planner, 1973, pdp, structured-programming, classic, seminal, architecture

Id: b60f9642-6098-11e9-bbfd-0242ac110003 Read: Tue, 16 Apr 2019 22:41:01 +0000

All Remote

The remote manifesto by gitlab.

  • All-remote work promotes:

  • Hiring and working from all over the world instead of from a central location.

  • Flexible working hours over set working hours.

  • Writing down and recording knowledge over verbal explanations.

  • Written down processes over on-the-job training.

  • Public sharing of information over need-to-know access.

  • Opening up every document for editing by anyone over top-down control of documents.

  • Asynchronous communication over synchronous communication.

  • The results of work over the hours put in.

  • Formal communication channels over informal communication channels.

Some tools to make this happen:

  • Faster internet everywhere - 100Mb/s+ cable, 5GHz Wifi, 4G cellular
  • Video call software - Google Hangouts, Zoom
  • Mobile technology - Everyone has a computer in their pocket
  • Evolution of speech-to-text conversion software - more accurate and faster than typing
  • Messaging apps - Slack, Mattermost, Zulip
  • Issue trackers - Trello, GitHub issues, GitLab issues
  • Suggestions - GitHub Pull Requests, GitLab Merge Requests
  • Static websites - GitHub Pages, GitLab Pages
  • English proficiency - More people are learning English
  • Increasing traffic congestion in cities

Tags: tool, gitlab, remote, remote-work, manifesto, work

Id: d71b9822-6b38-11e9-9973-0242ac110003 Read: Tue, 30 Apr 2019 11:12:28 +0000

Books read in 2019Q1 Self-Study in May 2019