Bluetooth on Linux

I have never used bluetooth in Linux before. I have a bluetooth headphone from work that works fine with my phone and macos but I wanted to try it in Linux.

So I give it a quick go last night. This was my initial link. I had already installed the driver:

# dpkg -l | grep bluez
ii bluez 5.70-1.1 amd64 Bluetooth tools and daemons
ii bluez-obexd 5.70-1.1 amd64 bluez obex daemon
#

I had to install “blueman” that is the frontend to manage your bluetooth devices later:

# dpkg -l | grep blueman
ii blueman 2.3.5-3 amd64 Graphical bluetooth manager
#

The service was already enabled:

root@athens:/boot# systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-01-06 11:58:33 GMT; 54min ago
       Docs: man:bluetoothd(8)
   Main PID: 1137 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 9334)
     Memory: 3.1M ()
     CGroup: /system.slice/bluetooth.service
             └─1137 /usr/libexec/bluetooth/bluetoothd

Jan 06 11:58:42 athens bluetoothd[1137]: Endpoint registered: sender=:1.43 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jan 06 11:58:42 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:42 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
Jan 06 11:58:44 athens bluetoothd[1137]: Failed to add UUID: Failed (0x03)
root@athens:/boot# 

Then I had to enable bluetooth:

# rfkill list
0: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
#
# rfkill unblock bluetooth
#
# rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
#

Then I can test it:

$ blueman-manager &

But once I paired the device…. I had an error:

br-connection-profile-unavailable

I found several links and this is the only things that worked for me: link1 and link2. So I had to install “libspa-0.2-bluetooth” and reboot:

# dpkg -l | grep libspa-0.2-bluetooth
ii libspa-0.2-bluetooth:amd64 1.0.0-1 amd64 libraries for the PipeWire multimedia server - bluetooth plugins
#

So I managed to paired the headseats without error but then a new issue… I lost internet connection…. And after checking several things, it was just enabling bluetooth that caused the lost of internet access. There was nothing in the logs saying anything about my wifi disconnecting or anything similar….

If I disabled bluetooth, my connection was back…. so more work to do. So it seems there is some interference between the modules or the drivers? Searched things about it. I checked this. But no luck yet.

To be continued.

TCP Port States – AI views – Prompt Engineering – 40s crisis – Unstoppable Motivation – 8 steps – Prisoners Dilema – Postgresql upgrade downtime

  • Interesting read about linux networking at TCP port level. It shows you how complicated can be but still amazing to understand Linux kernel.

  • Some views about AI:
    • 1) link1: Cory Doctorow about bubbles and AI. Models that run on commodity hardware will survive. He uses a 2×2 grid based on value (how much you will pay) and risk tolerance (how perfect the product needs to be)
    • 2) link2: Bill Gates views for AI. It is the word for 2023. And future for 2024. Still I think in link1, AI has to be democratic and easily available. I doubt most developing countries can afford NVDIA H200 in Azure…. I agree nuclear (fusion) energy is the only way forwards in the Western world until we have viable fision energy.
    • 3) link3: Prompt Engineering

  • Unstoppable motivation: This is an unexpected pearl. Intrinsic motivation is always preferred (more effective and energized) than extrinsic motivation (external elements: money, prizes, people opinion). But not always is so clearly binary. Extrinsic motivations can help too:
    • “Introjected Motivation. “I’m doing this because I’ll feel guilty or bad about myself if I don’t.” People who highly rated this statement have high introjected motivation.”
    • “Identified Motivation. “I’m doing this because I truly value the goal it’s helping me work towards.” People who highly rated this statement have high identified motivation.
  • Because having intrinsic and extrinsic will give you more tools to move forwards when one of them weakens.
  • “the only type of extrinsic motivation that corresponded with greater happiness was identified motivation. In other words, it was the hikers who motivated themselves by aligning their actions with what they truly valued and who not only completed the trail—but also felt happiest at the end of it
  • And the most important part of the article: How to get more intrinsic and identified motivation in your life:
    • Figure out what really matters to you: For me this is the most complex and scary part.
      • Long Term: The eulogy method
        • Medium Term: How will be your life in 5 years time if you follow Current path, alternative path and radical path? money, social obligations, and what people would think, are irrelevant. No excuses
        • Short Term: Wheel of life: measure your health, work and relationship.
    • Definitely I need to do the medium and short term. That would clarify many things…
  • 8 steps: i have read about rules but this keeps some basic into perspective:
    • Take care of yourself: shower, dress, etc
    • Order your room, kitchen, etc: your kingdom = yourself
    • Go outside – socialize
    • Sweat: work out
    • Money: control your economy.
    • Remove dependencies: sugar, diet attention (emails, youtube)
    • Strategy – create your action plan.
    • Execute: dont overthink
  • 40s crisis: I think we “overestimate” our cultural background, we think our lives are going the same phases as our grandparents or later. Quite wrong. This is a new phase and “recent” (half XX century). We are at the peak and we only see ahead the downwards of life. Likely our grandparents were already at 40. We have the social life cycle. That creates age-anxiety if we dont meet that cycle. Divorce increases along the years in XX century to reorient live. Min 31:25 is a pearl: We dont begin to live until we begin to die. And the real American dream (not based on materialism / radical capitalism) and moving to happiness in a hurry (consuming) created that crisis because you couldn’t achieve that American dream.
  • Application of Game Theory: Prisioners Dilema: Simplest win, tit for tat:
    • – nice (vs nasty): you dont defect first
    • – forgiving: you can retaliate but forgives
    • – retaliatory: strike back immediately, dont be a push over.
    • – clear: eye for eye
  • Interesting is that a small cluster of tip for taps can take over a population of nasty strategies. Most life is not zero-sum, try to find win-win.
  • PostgreSQL upgrade without downtime: Slides are ok, but would be nice to get the video for more details.

Is This Anything?

I never connected with the serie Seinfeld (never tried to watch it neither), I knew about it, I knew people who were superfans and took it as nearly religion, but still I never had the curiosity. I remember many years ago that when the show finished, it was a big deal, people launched parties to celebrate the long success of the serie.

One day I read about the work behind being a stand-up comedian, and they put as example this book I have just read. The point, the humor/jokes dont come out as art of magic, it is a constant job. The book is about “jokes” since he started in 70s until 2010s so that shows you that there is no magic bullet.

I like some jokes, they made laugh a lot and there were many I didnt get. I guess it is not the same reading a funny line that watching it.

The best ones I remember are the one about security guards and terrorists in airports, Wrestling referees, Fakebook and dual AC in cars, to name a few.

And another point that I realized that is very important and I skip, is the need of humor/laugh. Sometime I think that all is about Stoicism, Buddhism and other ideas but I noticed that missed something. A good laugh, with good friends, and you see the world in a different way.

Hope I dont forget it

How To Learn

From Andrew Huberman. Based on these two videos: 1 and 2

Get Alert: Deep Breathing

Get Focus: Focus in a point for 30s

Time Limit: 90 minutes. Batching.

Gap Effects: breaks of 10 sec doing nothing

NSDR: Non-Sleep Deep Rest: napping or meditation.

Black Spartacus

I just finished this book. Very interesting life from Toussaint Louverture from a slave to being the first to declare the end of slavery in the Caribbean and triggering the independence of Haiti (he died before that). I think he wouldn’t be proud of what happened to his country after all his efforts though. Haiti reminds me of this movie.

I didnt know Napoleon wanted to establish again slavery in Haiti once Toussaint declared the constitution. I always thought that after the French Revolution, freedom would be given for granted. You know all the “liberte, egalite, fraternite”… it seems only applied to France (and whites). Something we dont learn in Europe.

As well, the Haiti flag is like the French one without the white part. They removed it because they were angry with the French and whites after France tried to invade Haiti.

As well, for being the first colony to declare the end of slavery or trying independence, it is not as well know as the Cuban revolution or Simon Bolivar. Toussaint was ahead of his time and showed the path for the next generation. He declared the Haiti constitution in 1801. The American Civil War started on 1861.

It is interesting his Republican and Catholic credos. His constant show of discipline and how he became a great general winning and fighting battles. And he managed to take over the current Dominic Republic. And deal with the main power of the time: England, Spain, France and USA.

But again, I think power corrupts any soul, and the longer you have it the worse. The last years of Toussaint shows social issues. It is remarkable his view of a equal society, no matter the color of skin. Education and religion for all. Same opportunities for all. But it hit me when in the book mention that most of his generals owned big plantations but the normal black worked had no access to property or not was promoted. It seems workers were paid a 1/4 of the production that is not bad but at the end, you want the chance to be your own boss. He wanted to increase the agriculture production and that made to create laws that look more as dictatorship than anything else.

It is a pitty that he didnt have a (declared) successor that would be at his level.

BIND performance – LACP Troubleshooting – Chiplets – AI/HPC Networking – Spray ML/AI workloads

BIND: Interesting links about BIND performance and the lab setup. DNS is the typical technology that looks straightforward but as soon as you dig a bit, it is a world itself

LACP: Interesting blog about troubleshooting details. As above, this is the typical tech that you give for granted that works but then, you need to really understand how it works to troubleshoot it. So I learned a bit (although the blog is “old”)

Chiplets: Very good blog. Explaining the origin of getting to chiplets. Interesting evolution and good touch to mention the network industry, and not just CPU/GPU.

As the process node shrank, manufacturing became more complex and expensive, leading to a higher cost per square millimeter of silicon. Die cost does not scale linearly with die area. The cost of the die more than doubles with doubling the die area due to reduced yields (number of good dies in a wafer).

Instead of packing more cores inside a large die, it may be more economical to develop medium-sized CPU cores and connect them inside the package to get higher core density at the package level. These packages with more than one logic die inside are called multi-chip modules (MCMs). The dies inside the multi-chip modules are often referred to as chiplets.

AI/HPC Networking: Nice summery about AI vs HPC, and what each hyperscaler and vendors are doing. For me is quite interesting how to get proper loadbalacing of flows like AWS SDR. This should be an actual standard by any network vendor or software to aim to that goal. I guess it is not easy.

High performance requirements can create a vendor lock-in. Doesn’t matter if it is IB or Ethernet. So pick your evil.

Spray ML/AI worloads: Based on the above regarding the loadbalacing, this is an interesting article about how to generate loadbalancing in ML workloads when it is based in just one elephant flow. So you need Adaptive routing in your fabric/switches, NICs that support it and support from your code/library.

AWS Intent-Driven 2023- Groq – Graviton4 -Liquid Cooling – Petals – Google – Crawler – VAX – dmesg

AWS Reinvent Intent-Driven Network Infra: Interesting video about Intent-driven networking in AWS. This is the paper he shows in the presentation. Same note as last year, leaf-spine, pizza boxes, all home made. The development of the SIDR as the control plane for scale. And somehow the talk about UltraCluster for AI (20k+ GPU). Maybe that is related to this collaboration NVIDIA-AWS. Interesting that there is no mention to QoS, he said no oversubscription. In general, everything is high level, and done in-house, and very likely they facing problems that very few companies in the world are facing. Still would be nice to open all those techs (like Google has done – but never for network infra). As well, I think he hits the nail on the head how he defines himself from Network Engineer to Technologist, as at the end of the day, you touch all topics.

AWS backbone: No chassis, all pizza boxes

Graviton4: More ARM chips in cloud-scale

Groq: Didnt know this “GPU” alternative. Interesting numbers. Let’s see if somebody buys it.

Petals: Run LLMs bittorrent style!

Google view after 18 years: Very nice read about the culture shift in the company, from do not evil, to make lots of many at any cost.

GTP-Crawler: Negative thing, you need the pay version of chatgpt. I wonder, If I crawke cisco, juniper and arista, what would be nearly all network knowledge in the planet? If that crawler can get ALL that date.

Linux/VAX porting: Something that I want to keep (ATP).

dmesg -T: How many times (in even more years!!!!) I wondered how to make those timestamp to something I could compare with then debugging.

Team Topologies

I am reading this book as part of a book club at work.

The summary for the first part (chapters 1-3)

1 The problem with organization charts:

The software tends to match the organization charts (top-down) and that is not a good approach for software development because that doesnt cover (current) good software practices (devops, agile, lean, etc). This is based on Conway’s law: “Organizations which design systems . . . are constrained to produce designs which are copies of the communication structures of these organizations.”

So instead of using org charts, move to a “teams” organization approach that authors call “team topologies”: adaptive model for technology organization design that allows businesses to achieve speed and stability. Focuses on how to set up dynamic team structures and interaction modes that can help teams adapt quickly to new conditions, and achieve fast and safe software delivery.

Cognitive load can be a powerful tool for deciding on team size, assigning responsibilities, and establishing boundaries with other teams.

Dan Pink’s three elements of intrinsic motivation: autonomy (quashed by constant juggling of requests and priorities from multiple teams), mastery (“jack of all trades, master of none”), and purpose (too many domains of responsibility)

Personally, I think the org chart still has a point from HR perspective, at least I want to know who is who.And disagree when they say “there is a strong focus on the more immediate automation and tooling adoption, while cultural and organizational changes are haphazardly addressed”. People dont change tools that easily. And company culture hardly is checked out.

2 Conway’s Law and Why It Matters

The idea to become a high-performing organization is to reverse Conway law as a team-first software architecture. Then you need things team sized. The size needs to maximizes people’s ability to work with it. Important to define “team interfaces” to set expectations around what kind of work requires strong collaboration and what doesn’t (some type of communications are not needed). Tools selection is important, one doesn’t fit all. Unnecessary re-org (without any proper justification)/cut headcounts are bad (obviously).

3- Team-First Thinking

Follow: team-first architecture. Examples:

-US Army have adopted the team as the fundamental unit of operation. Based on scaling by Dunbar (5-7 people max)
-google: teams matter more than individuals.
-aws: team of size to feed with 2 pizzas)


Maximize trust between people on a team, and that means limiting the number of team members. Adding new people to a team doesn’t immediately increase its capacity (Fred Brooks – The Mythical Man-Month)

The best approach to team lifespans is to keep the team stable

Every part of the software system needs to be owned by exactly one team: no shared ownership

You need in the team:
– Team-First Mindset
– Diversity
– Rewards teams, no individuals
– Restrict Team Responsibilities to Match Team Cognitive Load more space for germane cognitive load (which is where the “value add” thinking lies).
team needs the space to continuously try to reduce the amount of intrinsic and extraneous load

Measure the Cognitive Load Using Relative Domain Complexity: mastering a single domain -> mission is clear, less context switching.

Limit the Number and Type of Domains per Team: simple, complicated, complex. Complex only one team,

Design the system and its software boundaries to fit the available cognitive load within delivery teams.

To increase the size of a software subsystem or domain for which a team is responsible:

  • team-first work env
  • minimize distractions
  • goals and outcomes (good) vs how (bad)
  • dev-exp

Teams need a team API and well-defined team interactions (aws: everything is an API): code, version, wiki/doc, principles, communication/information

As well, provide time, space, and money to enable inter teams collaboration

Explicitly Design the Physical and Virtual Environments to Help Team Interactions: I think the physical site is kind of clear (there are good notes) but for the virtual env they just mention group chats.

physical: office layout, whiteboards, standing desks?, noise, clear desk (lockers)
(squads -> tribes)

Summary: Limit Teams’ Cognitive Load and Facilitate Team Interactions to Go Faster

===

part2

In Part I, we saw the strong pull that Conway’s law exercises on system architecture by mirroring team structures and communication paths in the final product design. We also highlighted that efficient software delivery requires a team-first approach that relies on long-lived autonomous teams achieving fast flow. Part II will focus on how we put these two ideas together in a way that maximizes flow yet respects the cognitive limits of teams.

CHAPTER 4: Static team topologies

  • Instead of structuring teams according to technical know-how or activities, organize teams according to business domain areas.

Summary

  • Ad hoc or constantly changing team design slows down software delivery.
  • There is no single definitive team topology but several inadequate topologies for any one organization.
  • Technical and cultural maturity, org scale, and engineering discipline are critical aspects when considering which topology to adopt.
  • In particular, the feature-team/product-team pattern is powerful but only works with a supportive surrounding environment.
  • Splitting a team’s responsibilities can break down silos and empower other teams.

Notes:

  • team anti-paterns
    –Organizations must design teams intentionally by asking these questions: Given our skills, constraints, cultural and engineering maturity, desired software architecture, and business goals, which team topology will help us deliver results faster and safer? How can we reduce or avoid handovers between teams in the main flow of change? Where should the boundaries be in the software system in order to preserve system viability and encourage rapid flow? How can our teams align to that?
  • design for flow of change: Spotify: journey in progress, not a journey completed.
  • Shape team intercommunication to enable flow and sensing:
    — Organizations that value information feedback from live (production) systems can not only improve their software more rapidly but also develop a heightened responsiveness to customers and users.
  • devops and the devops topologies
    –A key contribution of DevOps was to raise awareness of the problems lingering in how teams interacted (or not) across the delivery chain, causing delays, rework, failures, and a lack of understanding and empathy toward other teams.
  • devops topologies
    –The DevOps Topologies reflect two key ideas: (1) There is no one-size-fits-all approach to structuring teams for DevOps success. The suitability and effectiveness of any given topology depends on the organization’s context. (2) There are several topologies known to be detrimental (anti-patterns) to DevOps success, as they overlook or go against core tenets of DevOps. In short, there is no “right” topology, but several “bad” topologies for any one organization.
  • successful team patterns
    –The success of different types of teams does not depend solely on team members’s skills and experience; it also depends on (perhaps most importantly) the surrounding environment, teams, and interactions.
  • Feature Teams Require High-Engineering Maturity and Trust
    –The feature team typically needs to touch multiple codebases, which might be owned by different component teams.
    –someone still had to keep oversight of the system as a whole and ensure subsystems integrated and interacted according to the desired user experience, performance, and reliability. –> create specific roles: system architects, system owners, or integration leads.
  • Product Teams Need a Support System
    –The key for the team to remain autonomous is for external dependencies to be non-blocking, meaning that new features don’t sit idle, waiting for something to happen beyond the control of the team –> Non-blocking dependencies often take the form of self-service capabilities
  • Cloud Teams Don’t Create Application Infrastructure
    — cloud team providing high-quality self-services that match both the needs of product teams and the need for adequate risk and compliance management.

-SRE Makes Sense at Scale
–The SRE model sets up a healthy and productive interaction between the development and SRE teams by using service-level objectives (SLOs) and error budgets to balance the speed of new features with whatever work is needed to make the software reliable.
–SRE is a dynamic balance between a commitment to operability from the application-development team and expertise from the SRE team. Without a high degree of engineering discipline and commitment from management, this fine balance in SRE can easily degrade into a traditional “us and them” silo that leads to repeated service outages and mistrust between teams.

-Considerations When Choosing a Topology

-Technical and Cultural Maturity

-Quadrant: Organization Size / Software Scale vs Engineering Maturity

-Splitting Responsibilities to Break Down Silos
–highlight the importance of thinking about teams’ capabilities (or lack thereof) and how that causes dependencies between teams.

-Dependencies and Wait Times between Teams
–three different categories of dependency: knowledge, task, and resource dependencies.
–Detect and track interdependencies.

-Detect and track interdependencies.

Summary: Adopt and Evolve Team Topologies that Match Your Current Context

CHAPTER 5: The Four Fundamental Team Topologies

  • The architecture of the system gets cemented in the forms of the teams that develop it
  • Four fundamental team topologies:
    –Stream-aligned team
    –Enabling team
    –Complicated-subsystem team
    –Platform team

There is no “Ops” team or “support” team in the fundamental topologies,

Summary

  • The four fundamental team topologies simplify modern software team interactions.
  • Mapping common industry team types to the fundamental topologies sets up organizations for success, removing gray areas of ownership and overloaded/underloaded teams.
  • The main topology is (business) stream-aligned; all other topologies support this type.
  • The other topologies are enabling, complicated-subsystems, and platform.
  • The topologies are often “fractal” (self-similar) at large scale: teams of teams.

Notes

-Stream-Aligned Teams
–A “stream” is the continuous flow of work aligned to a business domain or organizational capability. Continuous flow requires clarity of purpose and responsibility so that multiple teams can coexist, each with their own flow of work.
–The stream-aligned team is the primary team type in an organization, and the purpose of the other fundamental team topologies is to reduce the burden on the stream-aligned teams
“you build it, you run it” popularized by Werner Vogels, CTO of Amazon

-Capabilities within a Stream-Aligned Team
–This might mean having a mix of generalists and a few specialists.

-Why Stream-Aligned Team, Not “Product” or “Feature” Team?
–a stream should flow unimpeded.

-Expected Behaviors in an effective stream-aligned team
— several features:
–roduce a steady flow of feature delivery, uses an experimental approach to product evolution, expecting to constantly learn and adapt., minimal (ideally zero) hand-offs of work to other teams., evaluated on the sustainable flow of change it produces, must have time and space to address code quality changes (tech debt), proactively and regularly reaches out to the supporting fundamental-topologies teams (complicated subsystem, enabling, and platform).feel they have achieved or are in the path to achieving “autonomy, mastery, and purpose

-Enabling Teams
–An enabling team is composed of specialists in a given technical (or product) domain, and they help steam-aligned team with improving their capabilties (read, learn, practice new skills). It is a “technical consulting team” – gives guidance, not execution.

-Expected Behaviors
— proactivively seeks to understand needs of stream team, ahead of the tech curve, messenger of good/bad news, might act as a proxy for difficult services, promotes learning across teams
— Stream-aligned teams should expect to work with enabling teams only for short periods of time (weeks or months) in order to increase their capabilities around a new technology, concept, or approach.

-Enabling team vs Communities of Practice (CoP)
— Enabling teams and CoP can co-exist because they have slightly different purposes and dynamics: an enabling team is a small, long-lived group of specialists focused on building awareness and capability for a single team (or a small number of teams) at any one point in time, whereas a CoP usually seeks to have more widespread effects,

-Complicated-Subsystems Teams
–A complicated-subsystem team is responsible for building and maintaining a part of the system that depends heavily on specialist knowledge, to the extent that most team members must be specialists in that area of knowledge in order to understand and make changes to the subsystem.
–complicated-subsystem team is created only when a subsystem needs mostly specialized knowledge. The decision is driven by team cognitive load, not by a perceived opportunity to share the component.
–we expect to have only a few complicated-subsystem teams in a Team Topologies–driven organization

  • Expected behaviors
    –off-load work from stream-aligned teams on particularly complicated subsystems that need to be developed by a group of specialists.

-Platform teams
–enable stream-aligned teams to deliver work with substantial autonomy.
–The platform team’s knowledge is best made available via self-service capabilities via a web portal and/or programmable API — Ease of use.
–the platform can provide different levels of service.

-Expected behavior
–strong collaboration with stream-aligned teams to understand their needs.,fast prototyping techniques and involves stream-aligned team members for fast feedback

-Compose the Platform from Groups of Other Fundamental Teams
–ested or “fractal” teams within the platform—what we like to call inner topologies.

-Avoid Team Silos in the Flow of Change

-A Good Platform Is “Just Big Enough”

  • aim for a thinnest viable platform (TVP) and avoid letting the platform dominate the discourse.
  • Cognitive Load Reduction and Accelerated Product Development: The most important part of the platform is that it is built for developers.”

-Compelling, Consistent, Well-Chosen Constraints: Dev Experience (User experience UX)

-Built On an Underlying Platform (platform layers)

-Manage as a Live Product or Service: using software-product-management techniques

-Convert Common Team Types to the Fundamental Team Topologies

-Move to Mostly Stream-Aligned Teams for Longevity and Flexibility

-Infrastructure Teams to Platform Teams

-Component Teams to Platform or Other Team Types

-Tooling Teams to Enabling Teams or Part of the Platform

-Converting Support Teams: 1) support teams aligned to the stream of changes, and (2) dynamic cross-team activity to resolve live service incidents.

-Converting Architecture and Architects
–The most effective pattern for an architecture team is as a part-time enabling team (if one is needed at all)
–to help them achieve better outcomes and provide them the tools and technologies that will enable these outcomes.”

-Summary: Use Loosely Coupled, Modular Groups of Four Specific Team Types
–stream aligned, enabling, complicated subsystem, and platform.

CHAPTER 6

Summary

  • Choose software boundaries using a team-first approach.
  • Beware of hidden monoliths and coupling in the software-delivery chain.
  • Use software boundaries defined by business-domain bounded contexts.
  • Consider alternative software boundaries when necessary and suitable.

Notes

Beyond Order

After a bit, I finished this book. I didn’t read the first book that long ago but I felt sometimes it is was difficult to digest this one when he was very “technical”. I don’t remember that from the first.

One of my favourite things is the “Overture” where he gives you a bit of a summary about what has been ongoing with his own health and family health problems. Quite impressive. Then you still have a book.

Still I find quite impressive how much knowledge he can find from Religion (Old testament, New testament, etc), Harry Potter and other fairy tales.

There are rules that look common sense but you realized how easily you skip, ignore or dont notice them. I think it is a good guideline for Living.

1- Do not carelessly denigrate social institutions or creative achievement:

People depend on constant communication with others to keep their minds organized. We mostly think by talking. We need to talk both to remember and to forget. We outsource the problem of sanity. People remain mentally healthy not merely because of the integrity of their own minds, but because they are constantly being reminded how to think, act and speak by those around them.

I struggled to understand the title and although I highlight some lines. My take is that socializing is critical for our sanity. And that the social structures we have built during the last couple of millennia has help us to advance and keep sane. So institution is not just a physical building but our social rules

2- Imagine who you could be, and then aim singlemindedly at that:

Everybody requires a story to structure their perceptions and actions in what would be otherwise the overwhelming chaos of being. Every story needs a starting point that is not good enough and an ending that is better. Spirit eternally transcends dogma, truth transcends presupposition, creativity updates society. Those who break the rules ethically are those who have mastered them first and disciplined themselves to understand the necessity of those rules, and break them in keeping with the spirit rather than the letter of the law. The soul willing to transform is the most effective enemy of the demonics of ideology and totalitarianism, in their personal and social forms. Pick the best target you can currently conceptualize, stumble toward it. Somethinig profund, noble and lofty. If you can find a better path along the way, once you have started moving forwards, then switch course. Be careful, with giving up, if the new path appears more challenging, then you are not betraying yourself when changing your mind. You will zigzag forwards (amen), not efficient, but there is no alternative as the goals will change, as you learn what you need to learn while you are disciplining yourself. With will and luck, you will find a story that is meaningful and productive, improves itself with time and provides you with moments of satisfaction.

3- Do not hide unwanted things in the fog:

Do not pretend you are happy with something if you are not, and if a reasonable solution might, in principle, be negotiated, have the damn fight. Unpleasant in the moment, but it is one less straw on the camel’s back. Life is what repeats, and it is worth getting what repeats right. if you keep small things unresolved, as any compound interest, in the long run, it will be a disaster. Even if you try, you can fail. But if you dont try, for sure, you will fail. It is better to see the problems than keeping in the fog, because you can at least sometimes avoid the danger that you are willing to see.

Clean your room, and if possible, beautify it.

It is difficult to win an argument, or begin one, if you have not carefully articulated what you want (or do not) and need (or do not)

4- Notice that opportunity lurks where responsibility has been abdicated:

If you want to be invaluable in a workspace, just do the useful things no one else is doing. Learn more about the business and competition.

Difficult is necessary: It is a strange and paradoxical fact that there is a reciprocal relationship between the worth of something and the difficulty of achieving it.

By taking responsability, we can find a meaningful path, improve our personal lot psychologically and make what is intolerably wrong, better.

If you mistep while doing something, you can learn from it. You must risk something that matters.

You must sacrifice something of your manifold potential in exchange for something real in life. Aim at something. Discipline yourself or suffer the consequence = all suffering of life, with none of the meaning = better description of hell.

The voluntary confrontation with a feared, hated or despised obstacle is curative. We become stronger by voluntarily facing what stops our progress.

It is probable, inevitable, that the adventure of your life will frustrate, disappoint and unsettle you, but that is where the deep meaning that orients you and shelters you is to be found. That is where the life what is worth living is to be eternally found. (if only you are willing)

5- Do not do what you hate:

Part of moving Beyond Order is understanding that your conscience has a primary claim on your action, which supersedes your conventional social duty. If you device to stand up and refuse a command or do something of which others disapprove but your firmly believe to be correct, you must be in a position to trust yourself.

6- Abandon ideology:

Ideology is dead (like God as Nietzsche said).We should address and consider smaller, better defined problems. Start small so you can solve them (and not blaming somebody else), then get to bigger ones. Scale. Take it personally and take responsibility of the outcome.

Have some humility. Clean up your room. Take care of your family. Follow your conscience. Straighten up your life. Find something productive and interesting to do and commit. Rinse and repeat.

7- Work as hard as you possibly can on at least one thing and see what happens

The inability to decide among ten (ie) things, even desirable, is equivalent to torment by all of them. Clear goals limit and simplify the world, as well, reducing uncertainty, anxiety, shame and stress.

To move forwards with resolve, it is necessary to be organized – to be directed toward something singular and identifiable.

Aim. Point. All this is part of maturation and discipline, and something to be properly valued. if you aim at nothing, you become plagued by everything. If you aim at nothing, you have nowhere to go, nothing to do and nothing of high value in your life, as value requires the ranking of options and sacrifice of the lower to the higher.

Commitments with enduring value: character, love, family, friendship and career.

People who do not choose a job or a career commonly become unmoored and drift. The same for not committing to a single romantic partner or being loyal to friends.

If you work as hard as you can on one thing, you will change. You will become one instead of a multitude.

8- Try to make one room in your home as beautiful as possible.

Cleaning your room is not enough. Making something beautiful is difficult. If you do one thing beautiful in your life, then you can expand to other elements of your life and world. That is a reconnection with the immortality of childhood. Find one that speaks to you and make the purchase. Art is the bedrock of culture of itself. That unites psychologically and establish productive peace with others. “Man shall not live by bread alone” (Matthew 4:4). I always say that I just need bread and water… (and then I say to myself, I need/want company) When we become adults , we see the work differently: we want efficiency, accomplishment and order. A child is focus in the present and gets fascinated by that.

Artists are always transforming chaos into order. That happens a lot in cities where they relocated to rough areas and they transform them to nice places. Then the capitalism throws them away to a new place. Start again. They are the initial civilizing agents.

You are very creative when you are dreaming. Beauty leads back to what you have lost.

9- If old memories still upset you, write them down carefully and completely

Learn from the past. Or repeat its horrors forever. And for that, you need to understand it, and one of the best ways it is to write it down: reduces existential uncertainty, anxiety, improves mental health and boosts immunological function.

Your refusal or even inability to come to terms with the errors of the past expands the source of such error. So you must confess, repent and change (when wrong). You must humbly ask, and knock, and seek.

What is traumatic but remains inexplicable indicates that our “maps” world is insufficient in some vital manner. It is our destiny to transform chaos into order. If the past has not been ordered, the chaos is still haunts us.

10- Plan and work diligently to maintain the romance in your relationship

You need a strategy and that depends of a negotiation. You and your partner must know what the other wants/needs and you both need the will to discuss it. If you dont communicate, the other has to guess: recipe for disaster. Romance requires trust and that is based on truth. Still there will be bad times (and not short in time). So for that reason to you need to have that communication. In the bad moments, you have to past the tears to have a real conversation. Do not foolishly confuse “nice” with “good”. Dedicate team each week to talk to your partner purely about practical and personal matters. Dont skip it and make it count.

Assumptions that are not true: 1) there is somebody out there that is perfect and 2) there is somebody out there that is perfect for you.

The myth of spontaneity (I love this one). You are adults, both have (demanding) jobs, (demanding) family and other (demanding) duties. And you have to sleep, eat, commute, etc. Where do you fit that in that life schedule? And you dont settle for anything less than spontaneity??? Good luck.

Arrange some dates and practice. Negotiate and practice. Bloody communicate.

11- Do not allow yourself to become resentful, deceitful or arrogant

It is difficult to learn (X), because there is no story associated with it. If someone is telling you a story, it attracts your attention immediately (ie periodic table)

Malevolence exists in our hearts, mastering it constitutes the greatest and unlikeliest of individual achievements.

We are built, neurologically, to interpret the world in a dramatic manner due to the hypothalamus, our ancient/reptile brain. It is in charge of self-preservation and exploration. So the hypothalamic story is: drink, eat, reproduce (sex), watch out for monsters and explore to be able to the the beginning. We are driven to explore.

Sacrifice: discovery of the future. abandon impulse gratification (present), obtain something valuable in the long run (future)

Deal with problems is part of living. If you isolate from evil, you will end like the Disney movies. And like Buddha, he escaped a “perfect” life because it was not natural. And in Matrix whole crops of humans were lost because we can’t live in a perfect world…. That avoids resentment because you dont feel like a victim anymore.

We must listen to people who differ from us because they have the ability to see and react to what we can’t see/detect.

Encouragement (see the problems, analyze, divide, make a plan) makes people to face the problems head-on. That is voluntary. You become braver, stronger and more courageous. We have more of that than we think.

The alternative is resentment and that doesn’t make any good.

If you take your turn at the difficult tasks, people learn to trust you, you learn to trust yourself, and you get better at doing difficult things. You can’t get away with avoiding your responsibilities (problem with your partner, at work, etc). This is connected to with disbelief in our own capabilities (Adam blamed Eva for eating the apple….)

The right attitude to the horror of existence (the alternative to resentment, deceit and arrogance) is the assumption that there is enough of you, society and the world to justify existence.

12- Be grateful in spite of your suffering

You can’t be really grateful or thankful for what good you have and what bad hasn’t hit you until you encounter the darkness of living. You look in dark places to protect/prepare yourself, because they will come. Human race has been dealing with death forever. We are the descendants of those who managed it. So that is in all of us. You are morally obligated to manifest strength in the face of adversity to indicate to yourself (and whoever is around) that there is something in you enough to face the worst throw to you and still prevail. That can make a bad situation much less dreadful that it might be. And that’s something.

Gratitude is therefore the process of consciously and courageously attempting thankfulness in the face of catastrophe in life (this is something in which you can discover part of the antidote to the abyss and the darkness)