Mac & Greens

I have a good friend that is vegan and some time ago bought a book to find some recipes so I had some to cook when arranging a meal at home.

So last week, I had a broccoli in the fridge and I wanted to do some nice with it. So checking the book I found a vegan version of “Mac & Cheese”. I didnt follow the recipe to the dot as I used real butter for the white cream.

Ingredients:

  • 1 head of broccoli, cutting the florets
  • 1 onion, chopped
  • Good splash of olive oil
  • 300g mushrooms, chopped
  • 350g macaroni (or any small pasta)

White sauce:

  • 500ml milk
  • 70g butter
  • 50g flour
  • garlic powder
  • 1 tsp mustard (optional)
  • salt, pepper
  • 5-6 tbsp of nutritional yeast (or just Parmesan cheese)
  • 60g breadcrumbs

Marinade

  • 5tbsp soy sauce
  • 20ml honey (or maple syrup or similar)
  • 20ml apple cider vinegar
  • 20ml olive oil

Process

  • Preheat oven at 180C. Prepare two baking trays. Prepare a large saucepan with boiling water. Lasagne dish
  • Put the broccoli florets and chopped onion in a baking tray, drizzle some olive oil. Season with a bit of salt and pepper. Put the tray in the top shelf of the oven
  • Mix all ingredients of the marinade, add the mushroom chunks to the marinade. Be sure all it is coated. Spread the mushrooms over the second baking tray. Put the tray below the broccoli tray in the oven.
  • Check all veggies are brown/golden after 15 minutes.
  • While veggies are roasting, put the pasta into the boiling (and salted) water. Cook as per instructions (until al dente). Then drain and put in the lasagne dish
  • Prepare the white sauce. In the saucepan, melt the butter, then add the flour. Now at low heat, combine with a wooden spoon until you have a paste. Then start adding the milk bit a bit keeping a creamy sauce. Add the garlic powder, mustar, salt, pepper, yeast (or cheese). Taste it.
  • In the lasagne dish, add the veggies, mix well. Add the white sauce, mix well.
  • Add the breadcrumbs, a bit of salt/pepper and put back in the over at high temperature until golden the breadcrumbs.

Happy with the result.

To be honest, the marinade gives all the flavour!

NLP

After some time, managed to finish NLP. This is Neuro-Linguistic-Programming. First time I read about it was in The Game as a technique for picking girls. From that book, I learned only one thing, you have to go for it, everything else, it is just glittering, it doesnt matter it is about a girl, a job, whatever. And just several weeks ago, in a email from Edmond Lau, he mentioned he was learning about it. I have read Edmond’s book and it was good and most of his emails are interesting. But I dont think I am putting his advice into practice. Anyway, I was curious about NLP, and bought a book that had some positive references.

The first part made reference about our cognitive process: the part we are not conscious, the amigdala, the flee-or-fight response. Concepts similar to “Think Slow, Think Fast“. A lot of concept relay in “anchoring” positive experiences and increase them. I struggled with that part.

As well, there is another part about social interaction. That is more about body language and how to communicate and understand the position of the other person. These concepts are useful for negotiations. The Disney example is quite good. It seems Disney followed the below process, taking the role of each character one at each time, to define his new ventures.

  • The dreamer: The one for whom all things are possible
  • The realistic: The one who sort things out
  • The critic: The one who picks up the pieces that don’t fit.

One thing I found interesting was about the SEAL training. Dr Eric Potterat introduced some modifications in the training to increase the graduation rate. It seems it worked. His technique was:

  • Focus on RIGHT NOW: Something I am trying to do. Create small steps, complete, next.
  • Imagine how good it will feel: This is something difficult to digest as it sound too “positive” but yes, I am think it could work. Based on the above, create mini-victories with each step.
  • Breathe Deeply: Totally agree with this since I read the book from Win Hoff.
  • Cheer yourself: I take this one too. I used to be too negative, but if you are honest with yourself, this is actually positive.

In general, it took me a bit to finish it but I think I learned a couple of things.

Good2Great

I finished this book during the week. It is about how good companies became great ones. They set some tough requirements as 15y performing below market and then after a transition point, 15y performing three times above market. The book was completed by 2000 so just in the middle of the .com bubble so I would be curious what the result would be now (and after the subprime crisis in 2008). And all of them are companies trading in USA and public markets. As well, for each candidate there is a counterpart to demonstrate how two companies in similar circumstances, became one great and the other not.

To be honest, from the eleven companies passing the exam, I knew five: Gillete (shaving stuff), Kimberly-Clark (paper based things), Phillip Morries (tobacco), Fannie Mae (mortgages, that collapsed in 2008 crisis..), Wells-Fargo (bank). And I was surprised for the lack of other big names.

It is interesting the history of each company and most of them related to very different sectors. So there is no really lucky strike as the study covers nearly 30y history of a company.

So the goal is to identify the traits that all these great companies had to made that transition.

The book treat the following points in each chapter:

  • Level 5 leadership: Leaders no super-stars. They are ambitious about their company and not just during their tenure. I like the example of those CEOs, people who didnt have big head and just looked through the window to explain their success. So it is that mix of humility and will that “create” them.
  • First Who, then What: Your biggest asset is the good people, no just people. So having the best ingredients and knowing how to use them, you will get a great meal. As well, you need to get rid of the no good people. This is something the level5 leader has to accomplish. So hiring is a critical part (or have the process to form these people) and dont hire until you have your candidate. And looks like money wasnt the main thing to get or maintain the good people in your bus, comparing with the counterpart companies.
  • Stockdale Paradox – Confront the brutal facts, yet never lose faith. This is based on the experience of a Vietnam war prisoner. “The optimistics” were the ones who didnt make it out. All these companies faced a challenge that after passing it, became great. They didnt ignore the reality but believed they could go through.
  • Hedgehog Concept: This is the concept I struggled more to understand. This is based in the hedgehog and fox paradox. In summary, the fox tries many different things to hunt the hedgehog, but the hedgehog always sticks with the same plan (become a spiky ball) to defeat it. So this is based on Keep It Simple Stupid (KISS) from my point of view. So see the complex world and simplified it, you focus in the essential and ignore the rest. From the business perspective this translate into the three circles:
  1. What you can be the best in the world at (and what you can’t be the best too)
  2. What drives your economic engine:
  3. What you are deeply passionate about: This is not just get passionate about something, you need to have it before. Wrong example.
  • Culture of Discipline: If you have that, you dont need hierarchy and motivation. This is based on disciplined people, disciplined thought and disciplined action. Two interesting points in this chapter are
  1. Budgeting: Based on the hedgehog concept, it is just decide what areas to be fully funded and what not at all.
  2. “Stop doing” list: Again, this is another point in just focus in the important thing.
  • Technology Accelerators: You would think that technology made some companies great. But the summary here is, technology was just a tool. You buy the technology or develop it to stick with your hedgehog concept.
  • The Flywheel: “Revolution means turning the wheel”. So you need to push the flywheel. At the beginning is hard, but with time, once it gets momentum, get easier. So this is based on a compound investment of effort, and there is no miracle involved. And the results will speak by themselves. This contrary to the doom loop where you avoid the buildup, just implement big/radical programs, without thinking.

And what after being great? It is to last as great. This is another book from the author that was written before this one about this concept.

So, based in the book, all these concepts make a great company, but it is not the recipe to last forever.

Gillete was merged by P&G in 2005. Fannine Mae didnt do very well during the mortage crisis in 2007/8. Tobacco is not healthy business, etc.

In summary, interesting book, as I used to think only the “big” corporations, famous CEOs were great companies (at revenue level) and here you can find more successful companies (at revenue level) with much less glitter around beating them very badly those for long runs.

The Antidote

During this holidays, I finished “The Antidote“. I think I bought it based on some article from Mark Mason. I was a bit sceptical because I didnt really understand the concept of “Positive Thinking”. In the first chapter, got the point quickly.

Main subject is focused on the wrong approach to extreme positivism and how could be better to focus in the negative, because the way we are defining happiness, we are sabotaging ourselves. That can be difficult to swallow and even more difficult to explain for me. But it is mainly based on the concepts of Stoicism and Buddhism. You are not your feelings, you are not thoughts, and you can’t control others or anything external to yourself. We can’t remove suffering from the world.

As well, there is another chapter for goals. I think it is important to set goals, meaningful ones, for your life but the some extreme (again) goalsetting is counterproductive.

One thing I liked is how we put in a pedestal successful people, how we write and read about them, how we try to find the magical formula for that. But we never read about the failure. And it was quite interesting to read that there is a museum for failed products, that is rarely visited from product managers, marketing executives, etc. The older I get, the more I realised that the kind of success we cheer and read in our cut-throat capitalism, it is just a mere coincidence and probability. I am pretty sure we could find hundreds of examples from people who have the same treats as those successful ones, followed the same process, and failed miserably. So yes, embracing failure and being comfortable with it, is something I believe (and I need to put in practice more often)

As well, the book talks about insecurity and death (memento mori). For the insecurity subject, he makes a lot of references to the “Wisdom of Insecurity” that I have already read but to be honest, I struggled with it. And again, the extreme obsession with security, it is counterproductive, and it is a return again to Stoicism/Buddhism concepts. And for the obsession with death, we are missing the point of leaving the current moment, and accept that is part of “life”. The book mentions “The power of Now” although not directly in this chapter. I have that book in my pile but struggled with it in the very beginning and had to put it back. I will have to give it another go.

In general, I liked the book, it was better than I expected. It touches a lot of subjects that are important for me and I want to follow and I needed a refresh, as I think I lost track lately.

Scotland

This week I have been on holidays. I needed a break nearly after a year from last one. I decided going to Scotland as I didnt have to fly, deal with COVID restrictions and because it was so close that I am ashamed of not visiting after so many years being around. And a good friend joined me.

My main goal was being outside, seeing the highlands, trekking a bit. And visit Edinburgh as many people has recommend it.

Firstly visited Isle of Skye. I drove from Edinburgh and it was a bit of a challenge as I am not used to drive with the wheel on the right and it was long drive too. But the views were amazing, so many mountains (some with snow) and so many lakes.

I visited the Talisker distillery as my friend was keen of whiskey. It was interesting to learn that most whiskey distilleries in Scotland are managed by Diageo group. The tour wasnt very good as it was too quick and didnt have time to see the whole process but I realised that this is not an artesanal product anymore. It is like a car factory chain process. A part of the process is done in the distillery and the others in some parts of Scotland. Still I was nice to “taste” different kind of whiskeys. I learn that each year in the barrel, it loses around 2% alcohol. So the longer it stays, the lowest alcohol content it has. And with each distillation, you remove some % of alcohol, as it is toxic for human beings. I am not good at drinking alcohol but was interested in the flavours. The “smoky” flour comes from burning “peat” when drying the barley. And “peat” is only found in some parts of Scotland. As well, the smokiness relates to the colour too. The ingredients are water, barley and yeast.

The main trekking we did was the The Storr. I really enjoyed. It was the best part of the trip for me, when returning, we stopped to enjoy the silence and the rain. I wish we could have walked the whole day.

We tried to walk in other places but it seemed the car parks were closed until June. At the end we drove the whole north part of the Isle stopping in some other places.

We stayed in a typical cottage and it was really good, very cosy.

Then we went to Glencoe to hike somewhere else before sleeping in Oban. It seems Glencoe was featured in Skyfall movie although the house is not real. I lost GPS/4G when getting close to Aonach Eagach and by mistake we did a totally different route, the “hidden valley” or Coire Gabhail in the Three Sisters. And it was nice, we climbed via a river birth with some nice waterfalls until a small valley. Although the best part was eating our “bocata” in the car park facing the mountains after the trekk.

Oban is a small city but it was nice. We visited Oban distillery (part of Diageo) and it was better experience, although the tasting crashed me one hour after… Here is where it was better explained the process and the different types of whiskey. We tried whiskey from a barrel (aprox 10y), that was over 60%… We learned about the blends, single malt and why it is difficult to state the age of whiskey when you change to a different barrel to give a last kick in flavour. As well, it seems all barrels comes from USA bourbon production because they can’t reuse them. It seems it was an initial rule to keep the production of barrels.

Our last trek was around Callander, as I failed to find a route to Ben Vorlich. It was heartbreaking to see “forest works” cutting trees, many trees…. And it is something we saw in several places in our trip. I thought the typical Highland mountains without tries it was normal, but it is not. We saw many mountains with trees in several parts regardless the height and others totally empty. This was clearly the low light of the trip. In Callander, my friend tried a pie of haggies and it was very tasty!

Our last stop was Edinburgh. I returned the car in one piece!!! \o/

We didnt stay much but I learned some interesting facts. In Saint Cuthbert church, John Napier is buried there. And Agatha Christie married in the church.

David Hume lobbied the town council for building public walks in Calton Hill.

We visited St Giles church. Learned about him and his deer 🙂 As well, St Andrew who is the patron saint of Scotland, never reached it.

I would have liked to visit the Castle and Holyrood, next time.

By the way, I will not never understand why so many “branches” of religion….

In general, I am glad I visited Scotland.

Braiding Sweetgrass

Tonight I finished reading this book. I had some expectations. I though it was going to be similar to other book I read about forests. But this one goes deeper. It is history of human culture, in this case North America Indian Natives, and the bonding with Mother Earth, with Skywoman. The dark past, trying to remove their identity, the struggle to recover that connection to your roots and to Mother Earth.

I really understood the real Thanksgiving. I always thought it just was a new way to sell more. But the reality, it is our appreciation to the gifts we receive by Nature: air, water, food, shelter, etc. Everything. It is a recognition of equals. It is a dependency. Nature is not it. We are the same entity, we are alive. We need to look after ourselves. And we need to show gratitude. And gratitude is more and more a very important word. I started to understand it with meditation, and I realize that is more important that I initially thought.

And this is a further example of how much disconnected we are from Mother Nature. I have read in other books of psycology about depression that the disconnection we find in our current society is partly our lost link with our natural surroundings.

We can learn so much from Nature if we make the effort. I liked a lot the example of the Three Sisters: corn, bean and squash. How these different plants work together.

And the constant fight against Windigo, the greed, our dark side.

There is hope to get better. But we need a big wake up call to do really something. I doubt the current cut-throat capitalism, religions will really help.

At least, keep the covenant of reciprocity that is at our reach. But I wonder, I am really doing something about it?

Almond Croissant

I learned most of my baking from these courses. I baked croissants later last year so last week I decided to give it another go. I was quite happy with the result. I realised that it was easier than donuts. So I enjoyed croissants the whole week. But yesterday, still had some leftovers so I decided to try something that was in my to-do list: almond croissant. The main steps are the filling called frangipane and soaking the croissants in a syrup. But checking this video, I decided to use a typical Portuguese almond liquor, amarguinha.

Frangipane:

  • 100g butter
  • 100g caster sugar (you can use less)
  • 2 medium eggs
  • 100g ground almonds
  • 20g plain flour
  • zest of 1/2 lemon

Soaking:

  • 100ml (aprox for 5 croissants) of almond liquor or sugar syrup.

Decoration:

  • sliced almonds
  • sugar powder

Process:

  • Slice your croissant horizontally. Soak the inside parts in the almond liquor. Just a bit and this is alcoholic and you dont want a strong liquor flavour. The goal is the almond touch.
  • Join the croissants again and put them in a tray with baking paper.
  • Prepare the frangipane. Cream the butter and sugar. I do it manually.
  • Then add the eggs, bit a bit, and keep mixing.
  • Then add the almond flour and plain flour, and keep mixing.
  • Finally add the lemon zest.
  • With a kitchen spatula, take the croissant and add a good frangipane layer in the middle.
  • Once you have all croissants filled, spread more frangipane in the top of the croissants.
  • In a bowl, add the sliced almonds, then take the croissants and press the top into the bowl of almonds. The almonds should stick into the frangipane.
  • In a pre-heat oven at 210C, bake the croissant for 15 minutes or the almond get golden.
  • Once ready, taken out of the oven and spread some sugar power. Wait a bit to cool down and enjoy!!!

Foundation

I finished Asimov’s Foundation yesterday and I really enjoyed it. I had zero expectations, I knew it was something about sci-fi but that’s all. I have heard from Asimov before but never had the change or interest to read anything from him as sci-fi wasn’t one of my favourite topics in the last years. But I am glad I did. To be honest, I didnt have the feeling that it was sci-fi. It seemed to me that all the issues plotted in the book (that was written in the 40s) belonged our current time. It is a small book and hook you quickly. I am planning to read the rest of the books and see how it goes.

Another thing it impressed me was the amount of books (nearly 500) he wrote in his life based in the intro and wikipedia. He was really focus in his craft!

BGP AIGP and BGP churn

I have read BGP churn before, I find the meaning and then forget about it until next time.

BGP churn = the rate of routing updates that BGP routers must process.

And I can’t really find a straight definition.

As well, I didnt know the actual meaning of churn was. So it s a machine to produce butter and the amount of customer stopping using a product.


I read at work something about AIGP from a different department. I searched and found that is a new BGP optional non-transitive path attribute and the BGP decision process is updated for that. And this is from 2015!!! So I am 6 years behind…. And there is a RFC7311

Note: BGP routers that do not support the optional non-transitive attributes (e.g. AIGP) must delete such attributes and must not pass them to other BGP peers.

So it seems a good feature if you run a big AS and want BGP to take into account the IGP cost.

grep multiline

I want to count the number of interfaces that have some specific configuration in my router. I want to use the most basic tools found in linux (so dont have to assume anything else is installed) and I want to use as less commands as possible.

So this is my config:

frr version 7.5
frr defaults traditional
hostname R2
log syslog informational
no ipv6 forwarding
service integrated-vtysh-config
!
interface ens6
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo1
 ip router isis ISIS 
 isis passive
!
interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo2
 ip router isis ISIS 
 isis passive
!
mpls ldp
 router-id 172.20.15.2
 !
 address-family ipv4
  discovery transport-address 172.20.15.2
  !
  interface ens6
  !
  interface ens7
  !
 exit-address-family
 !
!
router isis ISIS 
 net 49.0001.1720.2001.5002.00
!
line vty
!

And I want to count the number of interfaces that have “isis network point-to-point” regardless of any other config.

In this example, we have just two interfaces.

interface ens6
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point

interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point

The pseudo-pattern should be something like:

^interface ens.*point-to-point$

So something that starts with “interface ens”, it can have anything after that and then it ends with “point-to-point”

Ideally I want to use just “grep” and it is a standard and common tool

But grep mainly works in one line each time. And my pattern covers multiple lines.

So I searched for some help and found this that uses “perl compatible regular expressions” (PCRE). I have no idea about perl but let’s give it a go:

$ grep -Pz '(?s)interface ens.*point-to-point\n' r5.txt
frr version 7.5
frr defaults traditional
hostname R2
log syslog informational
no ipv6 forwarding
service integrated-vtysh-config
!
interface ens6
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo1
 ip router isis ISIS 
 isis passive
!
interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo2
 ip router isis ISIS 
 isis passive
!
mpls ldp
 router-id 172.20.15.2
 !
 address-family ipv4
  discovery transport-address 172.20.15.2
  !
  interface ens6
  !
  interface ens7
  !
 exit-address-family
 !
!
router isis ISIS 
 net 49.0001.1720.2001.5002.00
!
line vty
!

Let’s explain the parameters provided to grep so far:

  • -P: Use perl compatible regular expressions (PCRE).
  • -z: Treat the input as a set of lines, each terminated by a zero byte instead of a newline. i.e. grep treats the input as a one big line.
  • (?s): activate PCRE_DOTALL, which means that ‘.’ matches any character or newline.

But if I count, we dont have the expected answer of 2:

$ grep -Pzc '(?s)interface ens.*point-to-point\n' r5.txt
1

The “z” parameter is treating the file as a single line so for grep, there is one match only. The initial command shows in bold just one block.

We notice that the pattern is matching “interface lo1” and that is not what we want, it should be ignored.

So our pattern should match the smallest string. So we want a non-greedy matching regex. So searching again, found this. It seems for Perl regex, we need to use ? after *

$ grep -Pz '(?s)interface ens.*?point-to-point\n' r5.txt
frr version 7.5
frr defaults traditiona
hostname R2
log syslog informational
no ipv6 forwarding
service integrated-vtysh-config
!
interface ens6
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo1
 ip router isis ISIS 
 isis passive
!
interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
!
interface lo2
 ip router isis ISIS 
 isis passive
!
mpls ldp
 router-id 172.20.15.2
 !
 address-family ipv4
  discovery transport-address 172.20.15.2
  !
  interface ens6
  !
  interface ens7
  !
 exit-address-family
 !
!
router isis ISIS 
 net 49.0001.1720.2001.5002.00
!
line vty
!

So now, we can see two blocks highlighted. So now let’s print only the matched strings using -o:

$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt
interface ens6
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point

So this looks correct but still counting (-c) doesnt work properly because -z is treating the entry as one big line.

I haven’t been able to find the solution with just one command so at the end, I have to pipe another grep. The initial grep matches the pattern, so the second one should just count a specific pattern like “point”. It should be that simple:

$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt | grep point
grep: (standard input): binary file matches

Weird, I thought this was pure text but seems the ouput of the first grep has some binary data:

$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt > r55.txt
$ vim r55.txt
interface ens6
 ip router isis ISIS
 isis circuit-type level-2-only
 isis network point-to-point
^@interface ens7
 ip router isis ISIS 
 isis circuit-type level-2-only
 isis network point-to-point
^@

But we can tell grep to read binary data too using -a as per this blog and then count.

$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt | grep -a point
 isis network point-to-point
 isis network point-to-point
$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt | grep -ac point
2

Funny enough, if I just want to count, I dont need -a:

$ grep -Pzo '(?s)interface ens.*?point-to-point\n' r5.txt | grep -c point
2

So not sure if this is the best solution but it took me a bit to find it. It seems to work:

grep -Pzo ‘(?s)interface ens.*?point-to-point\n’ r5.txt | grep -ac point