2024 Sessions - SoCraTesUK/socrates-uk GitHub Wiki
Ivan (notes by Anita)
- just-in-time slicing (better than fortnightly meeting)
- no estimates Vs each slice is unit 1
- no projects?
- usually fixed start-date/end-date/scope is fiction. Concept of products and features is useful.
- TBD - trunk based development
-
https://slap.pm/
- sweary lightweight agile planning
Let's talk about the challenges and joys of knowledge work (using words).
Here is the annotated photo of the panel (click for full size):
The session was awesome!
Many thanks to everyone for showing up & participating!
Text interpretation of the annotated panel:
The point of BDD is having conversations with the client (customer/stakeholders, etc.) and capturing the ideas in those conversations.
A nice agile-like cycle to do BDD with is:
- Discovery: conversation with clients to get their ideas out*
- Formulation: transforming those ideas into concrete & specific format (e.g. examples)
- Automation: make the examples runnable by a test runner
- Implementation: duh
If you do this for a small enough piece of the software, you can get early feedback from customers.
However, you can get feedback from the client even sooner if you show them the formulation (2) and see if they understand it and if it's correct.
-- Marko
* Usually clients don't have time to sit with developers through formulation, let alone automation & implementation.
Violent communication is acting towards your needs without considering needs of others affected by the action
There are needs, and there are strategies meeting these needs Strategies can meet many needs; A need can be meet by many strategies
Conflicts are not of needs, but of strategies
If we are from similar culture and language we often have similar needs / we often prioritise them similarly
Sometimes it's enough to be seen / heard.
NVC can be a way to communicate; But more in exercises than real world - sounds stilted, for some it sounds manipulative; observation, non-judgement, solution, statement...
I recommend to use it as a tool to look at conflict - where did we propose strategies, where did they clash, what could be the need behind it?
NVC as a way to look at past conflict - bar too high to use it in the present; a tool to reconnecting to another person after a conflict; otherwise a bar too high;
When you feel unpleasant feelings - sad, angry, lonely - a sign that some needs are not fulfilled; If you feel pleasant feelings, happy, elated, inspired, warm, right in this moment an important need of yours is fulfilled;
Seeing yourself as too emotional - means you are disregarding your needs; Feel all your feelings
If you get into storytelling, mix thoughts and feelings, you feelings persist;
If you pay attention, short meditation - your feeling is gone;
Breakdown of communication; The need to see each other was not recognised on both parts;
Opening up about your feelings and needs: I'm shocked and very sad, because I value kindness a lot, and it looks very unkind to me;
So first have time out that you need time to reconnect with yourself;
Introspection and reflection;
Where does this sit in my body, what part of my body is reacting; observing your body can give you rough outline - what you feel;
On internet lists of feelings and needs, helpful - lists of needs;
Lists of feelings - nuances, expressiveness;
Developing better sense of what you feel is part of non violent communication;
=========
Reaction to idiocy different - I don't have anything to say to that, so I won't say anything; I'd like a way to connect with people that have different views but that's not a thing I do very well;
Kindle curiosity - what circumstances, what chain of events lead to this person saying this thing; What makes you say this; What need could that person fullfill with that obviously false statement; What could the value be to them;
Two parts - when smalltalk involved I feel uneasy - what need not met? Is it authenticity? Or need to perform? Fear if I don't do it well? Triviality? Others need - small talk a way to connect - a need - how I can meet it differently?
A course - how to small talk. Helped understand what it is and how to do it, but still not good at it.
Fisk - tv show, a lawyer, doesn't understand small talk; gets advice, performs;
=========
Recommendations:
Classic book by Marshall Rosenberg - Non Violent Communication - Language for life; Then took a course - trainer was very eloquent, sounded natural; that hooked me for life;
Will dig up Youtube videos;
A podcast into NVC?
Connect to another person instead of trying to convince them; Do you want to be right or do you want to be happy? The only way to convince people is to connect to them and understand them; "How to change your mind" and "You're not so smart"; Best way to change minds is long conversations; Practising NVC is expressing what goes inside yourself;
Asking other person about their needs and feelings - being interested - separating their strategies / judgements from their needs; Maybe xenophobic people concerned about safety and belonging;
Polis - people with different political opinions but things in common - from the same group; expressing yourself and listening to needs of the other person - that creates a connection; doesn't mean you have to agree - just that you are interested;
When is it worth it to try and change someone's mind? Depends how much energy you can expend, how much it affects you; The more there's at stake, the more pressure there is;
=======
It helps to deflect the situation - ok they're not idiots, they do these things for good reasons; This stupid strategy helps them go through daily lives and be heroes of their story; But what if it affects me? At which point do you empathise? Become more clear about needs - whenever I interact with them these needs are not met (for example valuing my time, need for structure); TRy to understand them, have healthy boundaries; Being transparent;
Two branches - empathic connection and honest self-communication; your feelings and needs on the table; There is a lot of kindness, wanting to cooperate, regard for others feelings;
Why htmx:
How Did REST Come To Mean The Opposite of REST? and other essays
HTMX web site: https://htmx.org/
80% of what you'll ever need in a web app: https://htmx.org/examples/click-to-edit/
Good presentation of real-world htmx: https://htmx.org/essays/a-real-world-react-to-htmx-port/
Thread: https://x.com/EskoLuontola/status/1793950013816713691
Basic html visualisation with regex:
https://martinfowler.com/articles/tdd-html-templates.html#BonusLevelStringlyAsserted
https://github.com/xpmatteo/tdd-html-templates/blob/e9de5c6872d6273b19fa62d8df19762bfbd0e37b/java/src/test/java/org/example/HtmUtil.java
https://github.com/xpmatteo/tdd-html-templates/blob/e9de5c6872d6273b19fa62d8df19762bfbd0e37b/java/src/test/java/org/example/HtmUtilTest.java
More advanced html visualisation with html parser:
https://github.com/luontola/territory-bro/blob/2024-09-13/src/territory_bro/ui/html.clj#L81
https://github.com/luontola/territory-bro/blob/2024-09-13/test/territory_bro/ui/html_test.clj#L12
- Resolution
- from 2000x2000 to 4000x4000 per eye
- Panels
- LCD, QLED, OLED, micro-OLED (OLED on silicon)
- brightness
- mura
- screen door effect (on low resolution headsets)
- Field of view
- typ. 100-120 degrees
- prototype with up to 240 degrees: https://youtu.be/y054OEP3qck?t=295
- Pixels per degree (PPD)
- human eye resolution: 60 PPD
- Varjo XR-4: 55 PPD
- Meta Quest 3: 25 PPD
- Lenses
- lens types: fresnel, pancace, aspheric, dual aspheric
- edge-to-edge clarity
- size of the sweet spot
- distortions
- glare
- efficiency (up to 90% brightness may be lost)
- IPD (interpupillary distance)
- manually adjustable, automatic adjustment, fixed (BigScreen Beyond)
- Face mask
- same for all, many options (Apple Vision Pro), custom 3D printed (BigScreen Beyond)
- Weight
- the lightest: Bigscreen Beyond, 127 g without headstrap
- front-heavy (Meta Quest 3, Apple Vision Pro) vs balanced (Varjo XR-4)
- Face fan
- avoid sweat and the lenses fogging up
- Microphone quality
- Bigscreen Beyond & Valve Index good; Meta Quest bad
- Speakers
- over the ear, in the strap, external headphones
- Video passthrough (XR/MR/AR)
- Eye tracking
- enables dynamic foveated rendering (improves performance, a must at 4K+ resolution)
- Hand tracking
-
Full-body tracking
- Lighthouse-based (most accurate), IMU-based (cheaper), camera-based (can do at least half-body tracking, maybe some day more)
- Haptic feedback
- Infinite desktop space, floating windows in 3D space
- Infinite whiteboard
- Infinite meeting rooms; room layout adjustable as needed
- you could have the office as a doll house inside a room, so you can see where the other people are, and then teleport there: https://youtu.be/eLoVnZZWwEM?t=1099
- All people sitting on the same seat, overlapping, to easily see the same screen/perspective
- Spacial audio
- Go over to somebody's desk to gain attention
- Radiators, physically spaced
- People will see when you go look at the board
- Go to lunch together (?)
- I go to my kitchen, you go to your kitchen; they would show up in the same virtual location
- Haptic feedback, so you can feel any virtual buttons
- Good hand tracking (instead of VR controllers), so you can still use a physical keyboard and mouse