Posts

Mocks and Code smells

Great article on Testing and mocking

VM Migration Woes on Virtualization

https://www.cockroachlabs.com/docs/stable/operational-faqs.html#what-happens-when-node-clocks-are-not-properly-synchronized The one rare case to note is when a node's clock suddenly jumps beyond the maximum offset before the node detects it. Although extremely unlikely, this could occur, for example, when running CockroachDB inside a VM and the VM hypervisor decides to migrate the VM to different hardware with a different time.

Ballast file to free up disk space when full

What happens when a node runs out of disk space? When a node runs out of disk space, it shuts down and cannot be restarted until space is freed up. To prepare for this case, place a  ballast file  in each node's storage directory that can be deleted to free up enough space to be able to restart the node. If you did not create a ballast file, look for other files that can be deleted, such as log files.

Recommender Systems

https://www.analyticsindiamag.com/5-open-source-recommender-systems-you-should-try-for-your-next-project/ 1. Raccoon Recommendation Engine 2. easyrec 3. LensKit 4. Crab 5. PredictionIO

audio control missing ubuntu 14.04 flashback

From terminal execute gsettings set com.canonical.indicator.sound visible true

Ubuntu sorts files differently than OSX

Ubuntu 14.04 default locale sorts files differently then OSX. The db scripts are order dependent on the order of the scripts executing. It a terminal, type locale to see the currently set locales, the LC_ALL may be blank Set LC_ALL=C so that ubuntu sorts the same as OSX This can be set in .profile, .bashrc, and /etc/environment

GPU vs CPU for AI

https://people.duke.edu/~ccc14/sta-663/CUDAPython.html

NVIDIA cores Ubuntu

https://askubuntu.com/questions/5417/how-to-get-the-gpu-info sudo apt-get install clinfo nvidia-settings
Image
( Node.js ) => { Do More With Less } After 18 years of hardcore Java, I gave Node.js a serious test-drive. I've now been using it for about a year. Node is more productive than Java in  nearly  every single respect for building JSON based microservies. While the individual benefits are not game-changers by themselves, when taken together, the overall productivity boost is overwhelmingly compelling. With the increased productivity and the  significant advancements  in Node, especially over the last year, it has become a much more capable and production worthy platform. For those who haven't tried Node or used it recently, you might want to give it a whirl. I'll present industry data, from the trenches advantages and disadvantages, metrics, and compare Javascript and Node with Java and Spring Boot, et. al. There are even a few simple examples showing significantly less code is required with Javascript/Node. Industry Data It was stated by Mikeal Rogers...

Disagree and Commit

Disagree and Commit Bezos described it this way: Have Backbone; Disagree and Commit. “Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.” I’ve heard management teams describe particular members of their team as toxic to their culture. Toxic is a broad but barbed word. It describes those who disagree and don’t commit. An employee’s lack of commitment spreads to others, depletes morale and saps the sense of teamwork and common mission to achieve a singular purpose. This works against the interests of the leadership and the company, confounding progress.

First mover advantage - runaway leaders

First mover advantage - runaway leaders

Ubuntu flash drive larger than 2 GB need exfat

Install exfat sudo apt-get install exfat-fuse exfat-utils

Cleanup old kernels Ubuntu

Cleanup old kernels and headers Ubuntu Ubuntu 15.10 and below: I find this to be the easiest and quickest way. It keeps the latest kernel as well as two more: sudo apt-get install bikeshed sudo purge-old-kernels To change the number of additional kernels that are kept: sudo purge-old-kernels --keep 3

Top Web Design Mistakes

Top 10 web design mistakes

HTTP headers, logging, audits

Common Headers access log potentially PII requiring sensitive handling x-forwarded-for - client/firewall/proxy host/IP (potentially PII) x-request-id - correlation id x-user-id - the user id optionally from JWT (potentially PII) x-org-id - the org optionally from JWT  timestamp - UTC endpoint path app log ideally no PII, some will contain PII and requires sensitive handling x-request-id - correlation id timestamp - utc endpoint path audit log potentially PII, some audits will contain PII and requires sensitive handling org Id user Id timestamp UTC action (CRUD) data

Node.js

4 Ways to Install Node.js installing node NVM downloads, installs, upgrades, and switches between multiple version of Node.js/NPM nvm Completely remove node, npm, nodemon Ubuntu 14.04 sudo apt-get remove nodejs npm node nodemon sudo rm -rf ~/.npm Best Practices Async / Await patterns Debugging debugging options - Rising Stack chrome inspector docs chrome debugger  - profiler, memory node inspector  - Medium Complete breakpoint debugging, stepping w/ blackboxing Source maps for transpiled code LiveEdit: JavaScript hot-swap evaluation w/ V8 Console evaluation with ES6 feature/object support and   custom object formatting Sampling JavaScript profiler w/ flamechart Heap snapshot inspection, heap allocation timeline, allocation profiling Asynchronous stacks for native promises

UI tester

SmashTest Chrome plugin UI Tester

NewRelic UI

Angular and more recently React Dashboard layout uses Gridster Built their own charting library

SAM !BFF & !MVC

Interesting read: Why I don't use MVC Frameworks SAM pattern

Retrospective - Google Docs Drawing

Facilitating Retrospectives with Remote Attendees