Saturday, January 9, 2021

Some ideas for 2021, books to read or to get, stuff to plant, exercise to do

Here are just some ideas of what I would like to do in 2021, these are all non professional goals if you will


Run 800 miles

I ran 800.3 miles last year, this should be easily doable, it's about 4 miles 4 times a week


Read 50 books

Last year I read 60 books.. I assume at some point, I will be back in the office two times a day or so, this will maybe bump it down to 50 books from 60 books


Books in the queue

These are  books I or my kids already own, some of these I have gifted to them this Christmas season (Masters of Doom, 1984, Brave New World, Infinite Jest, Pirate Latitudes)

I have not read any of these except for 1984 and Brave New World, I will re-read those, it's been 20 years or more since I last read those

Here is a picture of some of these books.....

Books to read in 2021



Here is the full list, the titles link to Amazon so you can read the reviews there



18,300 pushups

Do about 100 pushups every other day.. this adds up to about 18,300 pushups for the whole year


10,000 in dividends

Last year I received 9551 in dividends, since companies increase the dividend payout usually every 4 quarters and since I reinvest them, I should be easily able to get 10K


300 Hours of Pluralsight watching

I plan to watch about 6 hours a week of Pluralsight content. About 1 hour at lunch time and then 1 hour over the weekend


Get 10 of these book in 2021

Get at least  10 9 books of the "wish list" below

I have heard about these from friends or family. I also might have heard about these books from the various podcasts I listen to


Plant all these peppers

We got the following seeds in December

Spicy Peppers For 2021

The 3 packs on the left side are the Carolina Reaper, Trinidad Scorpion and Apocalypse Scorpion. These are some of the hottest peppers.... these things just look menacing, you can see they look spicy

Last year we planted 31 plants, you can those in the 2020 in Numbers... post

I am excited about the chocolate habaneros, those look pretty cool



Progress so far



Activity Count %
Pushups 370 2.02%
Run 22.17 2.77%
Pluralsight Hours Watched   2.13 0.711%
Books Read 1 2%
Dividends $63.89 0.6389%


Done


Book Finished

Date    Title
-----    -------------------------------------------------------
Jan 3    St Petersburg


Pluralsight Course Finished

Date    Title
-----    -------------------------------------------------------


Saturday, January 2, 2021

2020 in Numbers...

I am glad 2020 ended and hopefully 2021 will be much better.  A couple of items on my list for this year got either postponed or will never happen.  I planned to go to the PASS Summit in Texas in 2020, that obviously didn't happen and it looks like it won't happen in the future either. PASS is no more :-(



Here are some numbers for 2020 that I put together looking at some sheets and journals


123,116
Calories burned running. I ran a little over 800 miles this year and burned what seems like a lot of calories. But since we are all home, the wife and kids did a lot of baking, this evened out the calories :-)






Rugelach


13,930
Pushups.  I try to do 100 pushups every 2 or 3 days, this is the total for the year

9,551 
Dividends. This is the total amount of dividends I received this year. All of these have been reinvested. Until I retire, I am doing a reinvestment into the same security

800.3
Miles run. My goal was 800 and I stuck to it... It's nothing major, about 4 miles 4 times a week

300
Days since I was last in the office
I told my wife when the office is open again, you won't see me for a month :-)


60
The number of books I read
Since there is no commute, I had some more time to read this year, I read about 5 books per month

Some of the book I read

Image

Will have my 5 favorite books after the numbers list


40
Longest bike ride. 
Did this bike ride with my oldest son. We left around 6:40 AM because it went up to 95 degrees that day. I Also managed to get a flat tire 30 miles in :-(
After we came home we just sat on the couch for the rest of the day



Bikeride




31 
Number of pepper plants planted
We planted 31 spicy pepper plants. We picked a lot of the peppers, gave away a bunch, made pepper flakes etc etc

Here are some pics
The first one is the ghost pepper


Ghost Peppers

Picked Peppers

Spicy Peppers


Pickled Peppers



11
Seasons of shows I watched and finished with my wife
Narcos Mexico II
Mr Robot I
Mr Robot II
Mr Robot III
Mr Robot IV
The Crown I
Succession I
Succession II
Succession III
Ozark III
Curb Your Enthusiasm X

0
Number of tables I dropped on the production database server



Best item purchased
Since I am working from home constantly, I decided to invest in a universal docking station. We got new laptops from work, they only come with 2 USB ports, and of course these are right next to the HDMI port. Using this USB docking station makes live so much easier



USB docking station


And here is what it looks like, I included a mouse for scale (sorry didn't have a banana)





As you can see it comes with a nice pouch, it's really small and fits easily in your bag.



Best 5 books

Here are my favorite 5 books I read last year, I did not include books I re-read like The Stand and Fellowship of the ring

This is even more relevant now after the SolarWind hack


Alexander Hamilton by Ron Chernow 
I admit I did not know much about Hamilton, this was recommended by my brother in law. This is a fantastic book about a man who was part of the beginnings of the US

The Terror by Dan Simmons
I watched the show 2 years ago on AMC, the show is really good... but the book is even better


Permutation City by Greg Egan
Will this be us in 100 years?

There are two ways to go about things... either conserve.. or use technology to fix things.....


That's it for 2020......  I will be back in a couple of days to show my list of things for 2021....

Have a good 2021





Friday, May 15, 2020

TWID May 16, 2020: random potpourri of things

This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label TWID for these

In last week's post I mentioned that the pepper and tomato plants were ready to be planted outside. This was done yesterday and the plants are outside now

In front of the house we have put them in pots


In the back of the house we have transferred the plants to a raised bed




It is over 80 degrees today, hopefully the plants will love this weather and grow big

For Mothers day... we didn't do much because we are still under lockdown.. my oldest son made this crumb cake.. it was delicious




This Week I Tweeted


US video game sales have record quarter, as consumers stay at home 

New numbers from NPD confirm what we’ve known for a while: The first quarter of 2020 was a very good one for gaming companies. The new report notes that sales hit a record $10.86 billion in the States between January and March of this year, marking a 9% increase over a year prior; $9.58 billion of that figure was from video game content.

The primary driver is, you guessed it, COVID-19. As stay at home orders have been enacted on the federal and state levels, people are coping with the ongoing daily horror that is life in 2020 by playing video games. Lots and lots of video games.


Some cool stuff you might enjoy


The Rijksmuseum is today publishing the largest and most detailed ever photograph of The Night Watch

Most detailed ever photograph of The Night Watch goes online  

The Rijksmuseum is today publishing the largest and most detailed ever photograph of The Night Watch on its website, making it possible to zoom in on individual brushstrokes and even particles of pigment in the painting. Work on Operation Night Watch will resume on Wednesday 13 May in the glass chamber in the museum.

I have seen this painting many times, the reason is because I grew up in Amsterdam and my neighbor worked for the Rijksmuseum. I always got complementary tickets. The interesting part is that I have been to the Rijksmuseum more times when moving to the US than I did when I lived in Amsterdam  :-(

This does looks pretty cool,  you can just keep zooming. Direct link  http://hyper-resolution.org/Nightwatch



Why millennials have fallen in love with stamp collecting

Covid has increased the number of people getting interested in stamp collecting. Here are 3 articles I happen to see in the past couple of weeks

Hyperinflation stamps Weimar Germany


Post modern: why millennials have fallen in love with stamp collecting

Philately is gaining popularity with younger hobbyists, who are drawn to its vintage - and Instagram - appeal

It was once a byword for boring, but it seems stamp collecting is finding a new – young – audience, despite the fact that some hobbyists have never actually posted a letter.

Philately is gaining popularity among millennials, many of whom see the creative pursuit as an escape from their screen-based lives, says 37-year-old Suzanne Rae, from North Yorkshire.

“Philately is tangible: it’s relaxing and unplugged. It’s also very Instagrammable,” says Rae, who is only the second female chairman the Philatelic Traders Society has had in its 91-year history. “Twitter and Instagram enable young collectors to find people like them, and see that it’s not only a geeky old man’s pursuit.”

Covid-19 Virus Affect On The Stamp Market

The strong reaction of the US Government to the Covid pandemic has resulted in the self-isolation and self-quarantining of millions of Americans as well as people worldwide. While this is having a devastating effect on the economy, it has been a real boost to the stamp market. Stamp collectors around the world suddenly have many hours of time to fill since they can't go out, go to work or watch sporting events. Hence, they spend time buying stamps. The dealers I spoke with all report a surge in orders, many from customers they have never had before.

COVID-19 a shot in the arm for stamp collecting

Well, if you’d asked me a few months back what was needed to give stamp collecting a kick up the backside, my first answer would probably not have been “a global supervirus pandemic.”

But it sure feels like that’s what has happened. The enforced worldwide recreation break has existing collectors burying their heads into their albums, lapsed collectors dusting cobwebs off old shoeboxes, and curious novices taking their first tentative steps into a mysterious world.

New philatelic blogs and Instagram feeds are starting up, and online viewers are devouring YouTube clips. Philatelic magazines have even been offering free access to an edition or two.

Even the mainstream media have noticed. Stamp dealers report rising sales. Kids are writing letters. Even before the COVID-19 crisis kicked in, both the BBC and the Observer were reporting the growing popularity of stamp collecting among younger collectors.


Bavaria Ring Cancellations

Some Progress

Books finished so far/in progress

In progress


Done with these


Book Completed
Stealth War: How China Took Over While America's Elite Slept 01/04
Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin's Most Dangerous Hackers 01/25
Alexander Hamilton 02/12
The Quick Python Book, 3rd Edition 02/13
The Gene: An intimate history 02/17
Moonwalking with Einstein 02/27
The Somme 02/25
The Art of Learning 02/16
Ready to Run: Unlocking Your Potential to Run Naturally 03/08
The Tudors, a very short introduction 03/17
South: The Illustrated Story of Shackleton's Last Expedition 1914-1917  03/18
The Body: A Guide for Occupants 03/30
The Great Sea: A Human History of the Mediterranean 04/07
Tiny Habits: The Small Changes That Change Everything 04/11
Lifespan: Why We Age – and Why We Don’t Have To 04/27
The Stand 04/30
Fellowship of the ring 05/07
The Two Towers 05/15


Books in the queue
These are next... in no specific order

Books to get
Here are the books I plan to get. These were either mentioned on more than one podcast, recommended by friends, or are new books from authors I like, for example Eric Larson's latest book about Churchill and the Blitz





Running progress
My goal is to run 800 miles this year, this means about 4 runs of about 4 miles per week

Miles        Percentage
296.81 37.10%

So far that burned a bit under 45,600 calories


Saturday, May 9, 2020

TWID May 9, 2020: Books and Plants

This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label TWID for these


It has been a while since I posted here.. but I decided to bring back the TWID posts again

I have been reading a lot lately, since I am already home for 60 days, I decided to read some of the big books I own or re-read them.  I already finished the Stand, almost done with Gotham and I am 35% done with the Lord of The Rings book.

I read 10 pages per day of the Gotham book and then I usually have a book I read at home and one while I commute. Since I am home now, I read the commuting book in the morning

Here is a pic of the books I owe but never read (except for the Lord Of the Rings book)

Image

At the end of this post, you can see all the books I finished, what I am reading now and also what is in my backlog/queue to read.


Here you can see some of the seeds my son and I purchased


Image

That's right.. the second one from the left in the top is a ghost chile... not sure yet what I will do with those.  Maybe make pepper spray or some extremely hot sauce   :-)

This is what the plants looked like a couple of weeks ago

Image

This is what it looks like today


As you can see they are ready to be planted outside. It still cold at night but after Wednesday May 12th, these should be fine to be transplanted


Here you can see what the plants look like 2-3 weeks ago with a fan blowing on them


The reason you use a fan inside is to strengthen the the plants, this way they don't break when you put them outside and it is a little windy on the first day


This Week I Tweeted


As a result, crude was actually trading at a negative $3.70 a barrel when Shah’s screen had it at 1 cent; the reason: Interactive Brokers never displayed a subzero price to him as oil kept diving to end the day at minus $37.63 a barrel.
At midnight, Shah some very bad news: he owed Interactive Brokers $9 million. He’d started the day with $77,000 in his account, expecting that his biggest possible loss was 100%, or $77,000.

Ouch that is so bad, who knew oil could go negative....


Can't quit Excel

This happened to me.. pasted a lot of data into Excel on a VM and then tried to cancel it and quit.... nope.  So I just used task manager to kill it

Image

Some cool stuff you might enjoy


You know about waitfor delay but did you know there is a waitfor time?

You may or may not know that WAITFOR has TIME in addition to DELAY

When I sold kinderzegels as part of school (semipostal stamps that benefit child welfare)

Mindmap Diagram Codes

This is pretty cool, you can create a mindmap, code on left.. output on the right, you can share it as well

Looks like this


Some Progress

Books finished so far/in progress

In progress

The Two Towers 21% done


Done with these


Book Completed
Stealth War: How China Took Over While America's Elite Slept 01/04
Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin's Most Dangerous Hackers 01/25
Alexander Hamilton 02/12
The Quick Python Book, 3rd Edition 02/13
The Gene: An intimate history 02/17
Moonwalking with Einstein 02/27
The Somme 02/25
The Art of Learning 02/16
Ready to Run: Unlocking Your Potential to Run Naturally 03/08
The Tudors, a very short introduction 03/17
South: The Illustrated Story of Shackleton's Last Expedition 1914-1917  03/18
The Body: A Guide for Occupants 03/30
The Great Sea: A Human History of the Mediterranean 04/07
Tiny Habits: The Small Changes That Change Everything 04/11
Lifespan: Why We Age – and Why We Don’t Have To 04/27
The Stand 04/30
Fellowship of the ring 05/07


Books in the queue
These are next... in no specific order

Books to get
Here are the books I plan to get. These were either mentioned on more than one podcast, recommended by friends or are new books from authors I like, for example Eric Larson's latest book about Churchill and the Blitz






Running progress
My goal is to run 800 miles this year, this means about 4 runs of about 4 miles per week

Miles        Percentage
279.57 34.95%

So far that burned a bit under 43 thousand calories




Interesting quote....heard it on a podcast... don't remember which one  .. sorry  :-(

A fool never learns
A smart man learns from his mistakes
A wise man learns from the mistakes of others

Tuesday, April 30, 2019

A quick and easy way to count the percentage of nulls without a where clause in PostgreSQL


This came up the other day, someone wanted to know the percentage of NULL values in a column

Then I said "I bet you I can run that query without using a NULL in the WHERE clause, as a matter of fact, I can run that query without a WHERE clause at all!!"

I created a SQL Server version of this post here: How to count NULLS without using IS NULL in a WHERE clause, this is the PostgreSQL version


To start, first create this table and verify you have 9 rows

CREATE TABLE foo(bar int);
INSERT INTO foo values(1),(null),(2),(3),(4),
 (null),(5),(6),(7);

SELECT * FROM foo;

Here is what the output should look like



To get the NULL values and NON NULL values, you can do something like this


SELECT COUNT(*) as CountAll FROM foo WHERE bar IS NOT NULL;
SELECT COUNT(*) as CountAll FROM foo WHERE bar IS  NULL;

However, there is another way

Did you know that COUNT behaves differently if you use a column name compared to when you use *

Take a look

SELECT COUNT(*) as CountAll, 
  COUNT(bar) as CountColumn
FROM foo;

If you ran that query, the result is the following

CountAll    CountColumn
----------- -----------
9           7

Here is what it looks like in pgAdmin3




Let's see what the PostgreSQL documentation has to say


COUNT(*) number of input rows

COUNT(expression) number of input rows for which the value of expression is not null

This is thus indeed documented behavior, count(*) counts all rows, count(column) skips the rows with NULLS

So now, lets change our query to return the percentage of non null values in the column

Here is what the query looks like

SELECT COUNT(*) as CountAll, 
  COUNT(bar) as CountColumn, 
  (COUNT(bar)/COUNT(*))*100 as PercentageOfNonNullValues 
FROM foo;

Running that gives us this output

CountAll    CountColumn percentageOfNonNullValues
----------- ----------- ---------------------------------------
9           7                  0

Here is what it looks like in pgAdmin3



As you can see, we have a 0 in the percentage column. The reason is that if you do math with integers, you will get an integer back


We can fix this easy by multiplying one of the integers by 1.0, this will convert the integer to a numeric data type . So instead of this line

 (COUNT(bar)/COUNT(*))*100 as PercentageOfNonNullValues 

We will change it to be like this

(COUNT(bar)*1.0/COUNT(*))*100 as PercentageOfNonNullValues


Here is the changed query

SELECT COUNT(*) as CountAll, 
  COUNT(bar) as CountColumn, 
  (COUNT(bar)*1.0/COUNT(*))*100 as PercentageOfNonNullValues 
FROM foo;

Here is the output

CountAll    CountColumn percentageOfNonNullValues
----------- ----------- ---------------------------------------
9           7           77.7777777777800


Here is what it looks like in pgAdmin3



Instead of doing * 1.0, you can also explicitly cast the integer like this

(CAST (COUNT(bar) as numeric(20,10))/COUNT(*))*100 as PercentageOfNonNullValues

The query now looks like this


SELECT COUNT(*) as CountAll, 
  COUNT(bar) as CountColumn, 
  (CAST (COUNT(bar) as numeric(20,10))/COUNT(*))*100 as PercentageOfNonNullValues
FROM foo;

Here is what it looks like in pgAdmin3






That's it for this short post.. hopefully you knew this, if not, then you know it now  :-)

Wednesday, April 17, 2019

The Vessel, a honeycomb shaped structure that will be a great tourist destination at Hudson Yards in New York City

I took a stroll at the high-line in NYC yesterday and noticed that the Vessel was open to the public


The Vessel is a  copper-colored steel structure comprises 54 interconnecting flights of stairs, 2,500 steps, and 80 landings, it was designed by Heatherwick Studio's. The Vessel rises to a height of 150 ft (45 m) offering views of the city and the Hudson River.

Here is what it looks like

The Vessel From a distance


Here it is on the map, it's right at the end/start of the highline and also just a block or so from the Jacob K. Javits Convention Center. I think a lot of visitors to the Jacob Javits Center will stop by




The first thing you will notice is how shiny the Vessel is... in place when the sun hits it..it's like hitting a mirror. I wonder how soon before it turns green because of oxidation. I wouldn't want to be the person who has to polish this copper behemoth

Shiny vessel


The second thing you need to know is that you can't go inside the Vessel without a ticket. Tickets are free, I picked one up in front of the Vessel near the building right in front of it. I did have to wait 30 minutes to get in, the tickets are only valid for 1 hour



The third thing you will notice once you enter the Vessel is a blue light and a crowd of people near it

You will see something like this

  Selfies at the Vessel

Or something like this


  Taking selfies at the vessel

That spot with the blue light is the selfie station, you put your phone down in the middle, then you stand there while a selfie is taken

I decided not to do that since I don't take selfies, but here is the view from the bottom when you take a normal shot


Looking Up From The Vessel



Here you can see all the stairs, it's nice to walk all over the structure, you get nice views of the city.


  The Vessel

If for some reason, you can't take the stairs, there is an elevator as well. The thing you see in the middle in the pic below is where the elevator travels


Here is a pic I took of people on the top of the Vessel, it was very windy yesterday, I stayed on the one below the top

On top of the Vessel

I took a picture of these path trains

  Trains as seen from the Vessel

Saturday, March 30, 2019

TWID March 30, 2019: Tsundoku, DevOps, robots, turing award,gps drifting


This is a post detailing some stuff I did, learned, posted and tweeted this week, I call this TWID (This week in Denis). I am doing this mostly for myself... a kind of an online journal so that I can look back on this later on. Will use the label TWID for these



This Week I Learned

Tsundoku
Tsundoku (積ん読) is acquiring reading materials but letting them pile up in one's home without reading them. The term originated in the Meiji era (1868–1912) as Japanese slang. It combines elements of tsunde-oku (積んでおく, to pile things up ready for later and leave) and dokusho (読書, reading books). It is also used to refer to books ready for reading later when they are on a bookshelf. As currently written, the word combines the characters for "pile up" (積) and the character for "read" (読).

OK, so I have a bunch of books that I bought years ago and never finished. Some of these I never started. So what I decided to do is take 1 hour each day before going to work, grab 3 books and read 20 minutes per book.  I also have some books in the office, I am reading 20 minutes each time when I go to the office, this is currently twice a week. The book I am reading in the office is Pragmatic Thinking and Learning, I am 40% done with that book

I already finished the book War Of Art, am 25% done with Tools of Titans and just started Python Tricks

Here is a pic of the books

Tsundoku (積ん読) is acquiring reading materials but letting them pile up in one's home without reading them


The books in that picture are the following

Tools of Titans: The Tactics, Routines, and Habits of Billionaires, Icons, and World-Class Performers (started)
Tribe of Mentors: Short Life Advice from the Best in the World
War Of Art  (finished)
Wired To Eat
Python Tricks the book: A Buffet of Awesome Python Features (started)
Fluent Python: Clear, Concise, and Effective Programming
Book of Five Rings
How Linux Works, 2nd Edition: What Every Superuser Should Know


I continued my DevOps training and like last week, I decided to put my note at the end of this post, this way I can easily look it up again


This Week I Tweeted

Three ‘Godfathers of Deep Learning’ Selected for Turing Award

Three computer scientists who laid the foundations for many of the recent advances in artificial intelligence are being honored with this year’s Turing Award, considered the field’s highest accolade.

Geoff Hinton, an emeritus professor at the University of Toronto and a senior researcher at Alphabet Inc.’s Google Brain, Yann LeCun, a professor at New York University and the chief AI scientist at Facebook Inc., and Yoshua Bengio, a professor at the University of Montreal as well as co-founder of AI company Element AI Inc., will share this year’s award, which is given annually by the Association for Computing Machinery.

The three winners will split a $1 million prize that comes with the award, which is currently underwritten by Google

For a list of previous winners see here: https://en.wikipedia.org/wiki/Turing_Awardhttps://en.wikipedia.org/wiki/Turing_Award



Was MongoDB Ever the Right Choice?

I was reading a post recently about Red Hat removing MongoDB support from Satellite (and yes, some folks say it is because of the license changes). It made me think how often over the last few years I’ve seen post after angry post about how terrible MongoDB is and how no one should ever use. However, in all this time, MongoDB has become a much more mature product. So what happened? Did all of the hate truly come from mistakes made in the early implementation/marketing of MongoDB? Or is the problem that people are blaming MongoDB for their own lack of efforts when evaluating if it was a good fit?

Read and find out.....



Australia Is Drifting So Fast GPS Can't Keep Up

Australia is not quite where you think it is. The continent has shifted by 4.9 feet since the last adjustment was made to GPS coordinates in 1994, reports the New York Times.

A significant correction must be made by the end of the year for navigation technology to keep working smoothly.

This is interesting, I  about drift because undersea cables will break, but never had an idea that it was this fast that they have to adjust GPS



Boston Dynamics’ new robot stacks boxes 

It’s a “mobile manipulation robot” designed for the logistics sector. It can autonomously stack and unstack boxes onto and off pallets, and shift them onto conveyor belts. It uses an onboard vision system to track which objects go where, and to judge how to grasp and place each box. It uses a robotic technique called “force control” to nestle each box up against its neighbors. It can handle weights of up to 15 kilograms (33 pounds.)

And that is how it all starts... wondering when they will rename the company to SkyNet  :-)

Some cool stuff you might enjoy

Awesome Newsletters
A curated list of awesome newsletters.

Inspired by the awesome-* trend on GitHub.

There is something here for everyone




The most populous cities in the world from 1500 to 2018   

This is amazing, make sure to watch the whole animation..it's like a race....





Some DevOps notes

This is for me.. not for you.... but feel free to take a look...although it won't probably make a lot of sense if you see these terms for the first time



Top 10 books  from 10 to number 1
Visible Ops
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
Release It!: Design and Deploy Production-Ready Software
Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale
Lean Software Development: An Agile Toolkit 
Web Operations: Keeping the Data on Time
The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
Leading the Transformation: Applying Agile and DevOps Principles at Scale
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win


Devopsweekly.com mailinglist


Wall of Confusion
Impedance mismatch between teams

Blameless postmortems
---------------------------------------
It's a meeting
within 48 hours of incident
run by a 3rd party

Have everything in a timeline. Not here to blame a person but making sure this doesn't happen again

Trasnparent Uptime
-------------------------
Admit failure
Sound like a human.. no doublespeak
Have a communication channel
Be authentic


Trust blockers
--------------------
Lack of Context
Conflicting goals


Open it Up
-----------------------
Chat rooms
Wiki pages
Source code (to read)
Infrastructure
Monitoring Tools
Ticket Tracker

Chatops
USe something like chat or teams instead of emails


Shared responsibility
-------------------------------
Feedback
Automation
Team culture
No Silos



Shadow IT/Bimodal IT
Groups deliberate bypassing processes to get things done

Devs responsibe for failed deployment after code checkin

Changing your ways of how you do work.... might be hard..but it will pay off


Conway's law
----------------------------
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

Eric S. Raymond, an open-source advocate, restated Conway's law in The New Hacker's Dictionary
James O. Coplien and Neil B. Harrison stated:

If the parts of an organization (e.g., teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the relationships between product parts, then the project will be in trouble ... Therefore: Make sure the organization is compatible with the product architecture.


Westrum Model
--------------------------------
Pathological (Power Oriented)
Bureaucratic (Rule Oriented)
Generative (Performance Oriented)



Management Best Practices
-----------------------------------
Independent, cross-functional teams
People first
Agile, lean processes



Kaizen
---------------------------
Small change  aka continues improvement
Good processes bring good results
Gemba (Go see for yourself).. (the real pace or Locus).. meaning look at the code or the system or factory floor
Speak with data, manage by facts  (scientific method)
Take action to contain and correct root causes (The 5 whys, people don't fail processes do)
Work as a team
Kaizen is everubody's business



======================================================
------------------------------------------------------
======================================================


Waterfall --> Iterative
DevOps has strong roots in Agile but is not just agile


Lean, 7 principles
1 Eliminate Waste
2 Amplify Learning
3 Decide as late as possible
4 Decide as fast as possible
5 Empower the team
6 Build in integrity
7 See the whole picture


Waste
Muda: work that absorbs resources but adds no value
Muri: Unreasonable work imposed on workers and machines
Mura: Work coming in unevenly instead of a constant or regular flow


The 7 Wastes Of Software
1 Partially work done
2 Extar features
3 Relearning
4 Handoffs
5 Delays
6 Task Switching
7 Defects


Build Measure Learn
-----------------------
Build minimum viable product
Measure the outcome and internal metrics
Learn about you problem and your solution
Repeat, go deep where it's needed


Concept to cash: from idea to it's realization, including everything needed to get it to customer



ITSM (Information Technology Service Management)

ITIL (Information Technology Infrastructure Library)
1 Service  Strategy
2 Service  Design
3 Service  Transition
4 Service  Operation


ITIL 2007... 2000 pages long...  The Visible OPS handbook (only 100 pages)




Use ITIL but make it lean



======================================================
------------------------------------------------------
======================================================



Infrastructure as code
Everything programmatically, no UI, same code runs on test, stage, UAT and production



Servers are cattle not pets.. deploy in mass, not handcrafted



Provisioning: Making a server ready for operation..including OS, network connectivity and system services
Deployment: Automatically deploying and upgrading applications on a server
Orchestration: Performing coordinated operations across multiple systems
Configuration Management: Management of change control after initial provision, maintaining and upgrading apps and app dependencies

Imperative/procedural: Commands necessary to produce a desired state are defined and executed
Declaritive/Functional: A desired state is defined, relying on the tool to configure a system to match that state
Idempotent: The ability to execute repeatedly, resulting in the same outcome
Self Service: The ability for an end user to initiate a process without having to go through other people



Canary (staged) Deployment Pattern
Upgrade 1 server, see how it works before upgrading the rest

Blue Green deployment
Two environment, code is pushed to one, then environments are swapped, variant like cluster immune system deployment

Containers making things easier to deploy, golden image is coming back now since you can just packe it up as a container.

Terraform.. used so that you can use setting across Azure and AWS



---------------------------------------------------------------

Continuous Deploy
Continuous Delivery
Continuous Integration


Time to market goes down... high performing IT orgs can deploy on demand, some 10 or 100 times a day

“Cease dependence on inspection to achieve quality. Eliminate the need for massive inspection by building quality into the product in the first place.” quote by W. Edwards Deming


With Continuous Delivery you can much easier see what change caused a degradation of an application, with a quarterly release there are so many changes, it is difficult to find out what caused the degradation

The goal of continuous integration is that working software is in a working state all the time quote by Jez Humble

6 practices
Builds should pass the coffee test (should be less than 5 minutes)
Commit really small bits
Don't leave the build broken
Use a trunk based development flow
No crappy tests, fix your tests
The build should return a status, a log and an artifact


Only build artifacts once..immutable, should not change... this creates trust.. underlying bits did not change
Stop deploy if a step fails, notify teams


Test Unit testing
Code hygiene  linters, formatters, banned functions check
Integration testing



TDD/BDD/ATDD

TDD
State desired outcome as test
write code to pass test
Repeat

BDD
Work with stakeholders
Describe business functionality
Tests are based on natutal language descriptions

ATDD (acceptance test driven development)
End user perpective
Use case automated testing
testing is continous during development


3 ways to get around slow tests... so you don't violate your coffee rule
use nonblocking tests
use time scheduled tests
use monitoring


MTTR
Mean Time To Recovery


Cascading failure pattern: Cascading failure is number one threat to stability, one layer can choke out other layers
Circuit breaker pattern: If app see an issue with one specific set of calls redirect to other part.. minimizes outage risk



The twelve-factor methodology
https://12factor.net/

I. Codebase
One codebase tracked in revision control, many deploys

II. Dependencies
Explicitly declare and isolate dependencies

III. Config
Store config in the environment

IV. Backing services
Treat backing services as attached resources

V. Build, release, run
Strictly separate build and run stages

VI. Processes
Execute the app as one or more stateless processes

VII. Port binding
Export services via port binding

VIII. Concurrency
Scale out via the process model

IX. Disposability
Maximize robustness with fast startup and graceful shutdown

X. Dev/prod parity
Keep development, staging, and production as similar as possible

XI. Logs
Treat logs as event streams

XII. Admin processes
Run admin/management tasks as one-off processes



If it hurts, do it more often. The best way to avoid failure is to fail constantly

Monitoring
------------------
Service performance/uptime
software component metrics
system metrics
app metrics
performance
security

5 Principles of log data
Do not collect log data if you never plan to use it
Retain log data for as long as it can be used
Log all you can, alert only what you must respond to, define log levels
Don't make logging more available than production stack
Make log changes as needed




Future
Containers and Serverless (serverless might only run 1 invocation)

Security
100:10:1  (Dev:Ops:Sec)
100 developers, 10 Ops, 1 Security person


The Rugged Manifesto: https://ruggedsoftware.org/

I am rugged and, more importantly, my code is rugged.
I recognize that software has become a foundation of our modern world.
I recognize the awesome responsibility that comes with this foundational role.
I recognize that my code will be used in ways I cannot anticipate, in ways it was not designed, and for longer than it was ever intended.
I recognize that my code will be attacked by talented and persistent adversaries who threaten our physical, economic, and national security.
I recognize these things - and I choose to be rugged.
I am rugged because I refuse to be a source of vulnerability or weakness.
I am rugged because I assure my code will support its mission.
I am rugged because my code can face these challenges and persist in spite of them.
I am rugged, not because it is easy, but because it is necessary and I am up for the challenge.