After reading Atlassian worflow comparison and Vincent Driessen original post about GitFlow I have come to realise a couple of worrying things:
- I incorrectly assumed GitFlow was the same thing as GitHub flow (fork project, do work then pull request)
- This model appears to be popular but it seems totally archaic to me
- Requires lots of merging especially if you refactor at lot.
- Doesn’t do CD
- Requires lots of manual work
- Master and develop seem the wrong way around to me
- How many branches?
- I use pull requests but don’t use feature branches which the Atlassian article implies requires feature branches
- Most places I’ve seen, feature branches do live on origin (unlike the original post)
GitHub flow is so nearly right except for the last two steps are the wrong way round (Deploy then Merge!):
Now that your changes have been verified in production, it is time to merge your code into the master branch.
This is my prefered workflow:
- Master is always trunk or head where all new development happens
- Every single check-in triggers a build (and tag with auto increment minor version) and is expected to be production code
- If possible every build is automatically released but if not then a single click by an authorised user would make that release public
- If old major versions are supported by team they are on branches (but the rest is the same, i.e every check is a release etc)
- Hot fixes are just another commit to either master or the branch. i.e nothing special
- Done means in production and you have monitored it with your own eyes! You don’t start new work until you have seen your old work live
- If you are on the core team:
- If you pair you can commit to master or branch directly
- If you solo you should get code review or pull request
- If you are not on core team you pull request from your fork
Is it just me that thinks GitFlow doesn’t look very “flow” based, more like a lot of manual busy work like the old days. Please report your counter experiences or alternate workflows…
alias json='xclip -o | jq -C "." | less -r'
By default Ubuntu does not install the EWS (Exchange Web Service) plugin for Evolution
sudo apt-get install evolution-ews
Then go into Evolution and choose the following settings:
- Server Type: Exchange Web Service
- Username: WINDOWS-DOMAIN\username
- Host URL: https://webmail.company.com/owa/
Now click “Fetch URL” and it should ask you for a password and populate the Host and OAB Url correctly.
It will then try and launch Evolution but for me I had to restart for it to correctly work and then it asked me a couple of times for my windows password.
Related to my QCon talk and original blog post, I’m soft launching my 10second.build project.
I had to switch to using proprietor AMD drivers as the open source ones don’t support audio via display port, but after switching, Chrome was tearing and just going completely black.
The chrome GPU page reported no hardware acceleration enabled.
So I went to Chrome Flags page and forced GPU acceleration and rasterisation
Override software rendering list -> Disabled
Enable GPU rasterization -> Force enabled on all layers
Smooth Scrolling Linux -> Enable
The Limits to Growth
The Limits to Growth is a 1972 book about the computer simulation of exponential economic and population growth with finite resource supplies.
EdX offers free online courses and classes. Find the latest MOOC from the world’s best universities including MIT, Harvard, Berkeley, UT and others.
Part innovation lab, part business incubator, and part community center, It offers a unique ecosystem of resources, inspiration, and collaboration opportunities to grow impact.
The Global Alliance for Banking on Values is an independent network of banks using finance to deliver sustainable economic, social and environmental development.
The Theory of Moral Sentiments
Adam Smith’s Theory of Moral Sentiments is a text of central importance in the history of moral and political thought.
Happiness, welfare or human flourishing
4 Platonic Virtues
The Culture Creatives
“Values are the best single predictor of real behavior”
Gallup Strenghts Finder
Entrepreneur First helps Europe’s best technical individuals build world-class, high growth startups.
The Growth Mindset
The Impossible just takes a little longer
How to live every day with purpose and passion
The Spirit Level (Book)
Why do we mistrust people more in the UK than in Japan? Why do Americans have higher rates of teenage pregnancy than the French? What makes the Swedish thinner than the Australians? The answer: inequality.
Kennedy on GDP
Great speech by Kennedy on what’s wrong with GDP as a measurement
The Lost Generation
Another moving video
Growing unequal – OECD report
Divided we stand – OECD report
Gross Domestic Problem (Book)
In Gross Domestic Problem, Lorenzo Fioramonti takes apart the ‘content’ of GDP – what it measures, what it doesn’t and why – and reveals the powerful political interests that have allowed it to dominate today’s economies.
Genuine Progress Indicator
Genuine progress indicator, or GPI, is a metric that has been suggested to replace, or supplement, gross domestic product (GDP) as a measure of economic growth. GPI is designed to take fuller account of the health of a nation’s economy by incorporating environmental and social factors which are not measured by GDP.
Service Space is an incubator of gift-economy projects.
Imagine a restaurant where there are no prices on the menu and where the check reads $0.00 with only this footnote: “Your meal was a gift from someone who came before you. To keep the chain of gifts alive, we invite you to pay it forward for those who dine after you.”
Works and Conversations
A collection of in-depth interviews with artists from all walks of life.
The Hard Thing About Hard Things
Have bought the book, looks very applicable to me at the moment.
War Games – Simulate worse case scenario
Haven’t found a good link for this with regards to IT
Service recovery paradox
Evans Phoenix – Structured Logging
Sign those curl | sh installs
GRSecurity patches to Linux
These are my random links from the excellent 2 day conference Operability.IO. These are all links mentioned in different talks.
Worse is Better
Much to the shock of my collages I had not read about this before. Now I have!
OSV / Capstan
I’ve been using hyper.sh which is very similar except it uses Docker images inside the hypervisor. OSV looks very interesting especially the REST API for inspecting a running image.
This is a unikernel for compiling OCaml to Xen hypervisor
Google Borg Paper
Interesting paper but I’m not working in this space so hard to appreciate all the details.
Notes on Distributed Systems for Young Bloods
Lots of great bits of advice. Question: When would knowing the 50th percentile ever be valuable?
Common Ground and Coordination in Joint Activity
Engineering for the Long Game – Astrid Atkinson
Antifragile – Things That Gain From Disorder