Friday, November 16, 2018

Причины которые могут заставить Вас начать отношения

За свои пролетевшие в одно мгновение 34 мне удалось пожить на 2х континентах и одном острове. Увидеть и услышать сотни людей и прикоснуться к разным ментальным моделям отношений. И конечно же я порой создавал и строил отношения, а как-то раз даже стал их заложником. Но, обо всем по порядку.

Вопрос отношений начинает возникать в голове каждого из нас с момента самоидентификации и понятия своей гендерной принадлежности. Уже в садах начинают появляться первые пары, мальчики учатся ухаживать за девочками, понимают разницу и хотя бы немного прикасаются к тонкому и прозрачному миру особенностей женского поведения. Родены учатся носить рюкзаки Эвелинам. Брутальный уже с трех лет Хулио переходит к главному и начинает дергать за неокрепшие еще косы Меланью. И это хорошо если не Геральта и только за косы. Да-да, именно так сейчас называют детей и я не знаю повлиял ли на выбор имени Трамп или просто игравшие в ведьмака мальчики и девочки уже выросли и стали родителями.

И почти наверняка каждый из вас, да-да и ты, уважаемый читатель, играл в далеком прошлом в доктора или хотя бы дочки-матери и еще много игр которые моделируют отношения в обществе. И именно в формате безобидной симуляции мы приходим к тому что для нас приемлемо в отношениях, а что - нет. Делиться, общаться о том что чувствуешь, каким должен быть идеальный или, более частое сегодня, "настоящий" мужчина и женщина. И именно так день-за-днем мы слышим мы впитываем множество стереотипов и точек зрения каждая из которых может стать частью нашей личности.

После возвращения в Киев у меня появляется все больше знакомых мужчин которые делятся своими историями личной жизни. Я бы выделил несколько основных групп:
  • гармонично общаются с женщинами и со временем создают отношения которые доставляют много радости обеим
  • считают что без женщины их жизнь была бы пуста как вкус воды без всем известной юпи из рекламы
  • стараются отстраниться и абстрагироваться от прекрасного пола и возможно даже дистанцироваться от общения с девушками в виду прошлых обид и шрамов
В детстве мне очень хотелось конструктор LEGO, но до какого-то момента в нашей семье не получалось давать мне то что я хотел, а когда я уже сам стал достаточно зарабатывать конструктор LEGO перестал быть столь желанным. Несмотря на это я все равно люблю разбирать вещи на части 🙂 Давайте же попробуем приоткрыть завесу и разберем каждую пару и постараемся понять чем обусловлен развод одних и успех других.

Абстрагаторы - эти замечательные люди которым почти наверняка когда-то крепко досталось в жизни и они не хотят вступать в новые отношения, знакомиться да и вообще общаться с новыми людьми. Одним из основных мотиваторов такого поведения может быть страх боли или разочарования. Они довольно часто успешны во всех внешних жизненных проявлениях. Но внутри у них словно клубок нервов переплетающихся между собой. Так вот, страх - это еще один повод идти вперед. И он заставляет их становиться еще успешнее, богаче, популярнее и в то же время делает их все более одинокими. Зачем такому мужчине вступать в отношения? Чтобы доказать себе и другим что он не хуже, что он тоже может, чтобы реализовать свои амбиции и показать что рядом с ним находится аттрибут его успешности. Маловероятно что в таких отношениях мужчина сможет реализовать свои страхи и через доверие и открытость и доверие со своей спутницей сможет стать более целостным и гармоничным. Причина прозаична - он еще не научился доверять себе и не обрел своего собственного счастья, и уже пытается разделить его с другим человеком.

Юпиисты - каждому из нас внушали или пытались внушить что семья обязательно нужна всем. Что она сделает вас сильнее и мудрее и еще много всяких "ее". Возможно также когда-то в детстве им пытались внушить что любовь родителей обязательно надо заслуживать. "Если не помоешь посуду - мама не будет тебя любвить". И конечно же это все бабушкины сказки. Любовь она или есть или ее нет. Но когда ты маленький и тебе все взрослые кажутся авторитетами - привить привычку "выпрашивать" любовь очень легко. А вот понять впоследствие что она так же далека от реальности как Калифорния от моей деревни - сложно. И вот мечутся такие люди от одной полной луны к другой пытаясь поделиться своим умением любить. Вот хоть ты меня полюби, а я тут тебе уберу в доме, куплю айфон, создам уют в доме (нужное подчеркнуть). И мечутся такие вот мужчины и женщины в поисках того кому же они могли бы предложить хоть какой-то товар из имеющихся в обмен на любовь. И разочаровываются раз за разом понимая что нельзя выменять чувства и эмоции в обмен на то что легко получить.

Легко собрать и закрыть в бутылки дикий виноград. Но чтобы получить купаж вкусного и ароматного вина потребуется выбрать и вырастить сорта обладающие определенными свойствами. Дать им впитать солнце и влагу в количестве нужном для того чтобы оно вошло в чертоги своего вкуса а не стало уксусом. Смешать в некоторой пропорции и хранить в бочках определенной формы и из определенного дерева. Возможно даже вывезти куда-то под лучи палящего солнца и дать там набраться крепости. Да и потом, подавая к столу, не забывать о том что хорошее вино полностью раскроется только при правильной температуре и поданное в бокале подходящем этому вину.
Хочется подытожить цитатой князя Голицына о виноделии - “в наше тяжелое время практичность, коммерческая постановка дела убивают стремление сделать лучше, убивают идеализм, убивают в этом деле то, что было создано раньше”.

Гармоничные - скорее редкость в наше время. Впрочем я не знаю как много их было раньше. Взрослые духовно и психологически несмотря на свою кажущуюся молодость. Чаще всего они знают о своих внутренних и внешних границах. Готовы развиваться и расти день за днем. Уже не страдают идеализмом и переросли как инфантилизм так и психологические проблема детства с помощью психологов или жизненных передряг. Такие создают отношения для того чтобы создавать эмоции или делиться своими с человеком который так же ярко или же наоборот тихо переживает все то что нас окружает. С человеком который готов в трудную минуту быть рядом или ждать тебя из последних сил бегущего свой первый марафон и вытирать пот со лба и каждого миллиметра твоей кожи когда ты наконец-то финишировал. Готового разделить с тобой радость любования северным сиянием сквозь стеклянное окно юрты где-нибудь в Рейкьявике или наслаждаться The Phantom of the Opera, который крутят уже без малого сотню лет в театре ее королевского величества в центре Лондона. Или совершенно без обиняков сказать - извини дорогая, сегодня мне надо побыть одному.

И вот здесь удивительным лично для меня является тот факт что одни бегут от отношений, близости, доверия. Оказываются в них будучи поставленными при помощи социального давления, инстинктов, попыток друзей и близких наладить их жизнь. И потом всю жизнь учатся и исправляют свои ошибки. А другие наоборот открыты им и смело идут вперед не стесняясь своих желаний и принимая как данность тот факт что людям свойственно ошибаться. Делают каждый свои выводы и наслаждаются жизнью день-за-днем.
И все же, что же может заставить современного мужчину начать отношения? Да все что угодно... начиная от того что он увидел у кого-то в руке бутылку пива на которую ему не хватало и заканчивая тем что он выбрал именно вот эту женщину которую выбирал последние 25 лет начиная со своего столь запомнившегося ему первого похода в школу или сад. Но лично мне хотелось бы чтобы этой причиной были эмоции и моменты которые подстегивают вас к свершениям несколько большим чем утром свалиться с дивана и чтобы вы эти эмоции создавали вместе.

ТЧК

Thursday, June 22, 2017

Scrum vs Kanban

From my own experience these days a lot of companies in UK associate Agile with Kanban practices a lot. Lets try to think though it. Agile methodologies emerged in attempt to manage uncertainty in a (not only software) project lifecycle. The essence of Agile Methodology is described by Deming Cycle:

  • Plan
  • Do
  • Check
  • Act
  • Repeat

This process applies to projects, teams, iterations and pretty much every bit of interaction we have with a system called a software project. Any Agile ceremony should be tailored to add some value to one of the bullet points from the list above. Now, Scrum and Kanban are the Swiss army knives under the umbrella of Agile Methodologies. Both provide a toolset if you know how to use those properly. However, it depends heavily on a project and a Team which tool would fit better. In my understanding Scrum is optimizing the process for transparency and predictability when Kanban is optimized for bandwidth and resolving bottlenecks.

Scrum

  • push culture (nurtures management)
  • promotes transparency which imparts teams commitment
  • pushing hard for predictability and constant improvement over iterations
  • fits younger teams (less established) and provides sufficient guidance to avoid common pitfalls
  • fits greenfield projects more when the amount of work is well defined and there's plenty of it

Kanban 

  • pull culture (nurtures leadership)
  • from my experience after pushing for some time and without being reminded of the uber goal people relax a bit. So we need some way of measuring where we're at with respect to the project as a whole
  • operates from a prospective that the system's cost is as high as the cost of the slowest chain
  • fits well established projects with senior teams more
  • fits maintenance with non well-defined backlog when there're spikes of work

However, I don't think we need to prioritize one over another. Scrum suits perfectly fine when you're developing in a goal-centric environment. Kanban suits you much better when you're working in a one-by-one task environment (operations mode) and there's no clear end-goal. Just improvements along the assembly line.

Tuesday, November 15, 2016

Speed Reading

I always considered speed reading as a major way to improve one's overall performance. Especially in brain related activities.
So I read this book and here is a brief outline of it:
  1. In a world that speeds up all the time reading faster without loosing meaningful information is vital.
  2. There must be a goal (reading speed increase, ratio of speed to understanding) to aim and a time span to achieve it. 
  3. Speed Reading Techniques:
  • Reading the table of contents
  • Meta-Guiding (pointing what to read next with you finger)
  • Visualization (not a standalone technique still very helpful skill)
  • Keyword search
  • Chunk Reading
  • Skimming (if you want to grasp the overall idea)
  • Scanning (if you have an idea to scan for)
Gymnastics to widen up your sight area:
  • Fixate your sight at a dot in the middle area of a text. Try to read from outer areas with your sight.
  • Thumb-to-thumb glancing.
  • Eye Writing
  • Hooded Eyes
  • Eye Squeezes
Exercises to increase your comprehension:
  • Self-assessment
  • Questionnaires, crossword puzzles
  • Meta Cognition
  • Extensive learning
  • Communicate
  • Contemplate
Other exercises:
  • Push - up
  • Push - down
  • Alarm clock reading
  • Timed reading
  • 3-2-1 Drilled
  • Chunks reding
  • Speed Reading Comprehension tests

Additional considerations

  1. Calming environment: light, noise ratio, smells
  2. Focus: low level of distraction
  3. Physical Exercise
  4. Bad Food
  5. Good Food
  6. Sleep
Also discussed your tips to improve and fix major issues standing in your way and the overall benefits of speed reading.
I liked the book overall. It's a concise recap of good old technique with some more examples and ways to work it out.

Monday, October 24, 2016

Is AI a good or a bad thing

The history of the human race is a history of love and warfare.
A lot of things have been developed with no other application but fighting one alike.
We've got a whole lot of highly technological things such as nuclear submarines, jet carriers, interceptors, tanks and so on that can not really do anything but war.
Now, in regard to the most stunning examples of warfare I do want to give you some rough numbers on mortalities in the world wars:
World War I - 15,486,153 to 18,423,970
World War II 70,000,000  to 85,000,000
It's not just numbers. It's all people. Someone's fathers, sons, mothers and daughters. Every single one was a person with his own history, aspirations and ideas. Lots of those people died not for themselves but for the countries, families and nations they were part of.



Now, with artificial intelligence coming to the scene I am considering a few major transformations of the world we know now:
  • AI is to push a lot of people out of their professions. Today it sounds like only proles are at risk, but I'm quite confident that the next aim is white collars. IBM Watson can already diagnose patients better than the majority of MDs and considering more facts such as genomics. So in a medium term there's going to be a lot of people devastated by being pushed off from work they know without a plan to handle it. Consequences of this misfortune are not hard to imagine.
  • AI is to set the bar high in the quality of care / farming / etc. But it will be very hard for people to catch up with all the knowledge computers can process on a factor of magnitude faster than any human being. And so lots of young professionals will simply give up on professions without even trying. The overall degradation of the educated people will commence across the globe.
  • AI (at least the way it looks now) will learn from the examples provided by humans. Not only the results of the learning can be askew and we will get a nazzi AI but it will not really introduce any creative ways of doing things. And the society driven by AI will head towards promoting mediocracy. There will be no trial and failure loop or inventions made by failure. Tell me how many times great things started for you while thinking of something on a piece of napkin in a bar?

Now on the existential threat end

  • If a passenger jet is hit by a missile, is it the fault of the missle or the one who launched it? Now, all the missiles of the world nuclear ones included are just a scratch on the surface what AI can become in a matter of days if not hours once it is born. Considering that AI learns so much faster than any of the best brains on the planet ever could will we be able to stop it if something goes wrong? 
  • AI is tought from the examples provided only by us with our fallacies and weaknesses. Will it be fallable by design then?
  • Can anybody give me a rational explanation why we need to exist on the Earth? If we don't have it, why would you think AI invented by us should have one?


I think the mejor fallacy of gAI is it has no emotions and empathy to human beings. If built on a pure rational basis I don't see a good reason for it to treat us as necessary addition to its wellbeing. Thus I think we need not only how to teach it learn, but how to teach it feel as well.

Sunday, October 20, 2013

Multithreaded programming in layman's terms

Multithreading is a software concept that allows several programs run in parallel. While getting my head around it and talking to lots of folks about it I conveyed that we can compare multithreading with the real world.
Let's map concepts from the world of threading to the real world concepts.
OS is an enterprise. There're many different departments working at the same time. They can interact to each other in some way but it's not necessary.
Processes are rooms for the employees. Effectively rooms do not do anything. They are just compartments for the employees to work in.
Threads are employees. They are the ones doing any job we have whether it's designing a new marketing strategy or wiping out the streets.
Every enterprise can create rooms when it has a project to work on and assign employees to it. Usually you start with one thread per process and create more as you need.
Now, synchronization is a concept that can take a while to grasp. It is a way to allow different threads to interact with a shared resource.

Let's assume we have a single bathroom. If we were to allow multiple folks inside it would be hard to cope with the aftermath. So there can be only one person at a time. And that's what we achieve with synchronization. The simplest synchronization mechanism is mutual exclusion. Effectively it's closing the door from the inside once you're in. And nobody but you can unlock it.
Now there's another synchronization concept also described by Dijkstra called semaphore. It's a mutex with a counter assigned to it. Let's assume we have a bathroom with four standalone rooms. Once all the rooms are occupied the entry automatically gets locked out. Once there's a vacancy the door gets open again.
So far it's the simplest metaphor I came up wth. But it works while explaining it to newbies.

Sunday, May 26, 2013

Why Lean

Why does it even matter?
Because we, as people building software, usually forget that the piece of software we're building is not the end goal. The profits, public awareness, social growth is. And the tool is not the driver of the business. You can cook delicious pastries in an ancient oven or in a high-end one. It's not going to make it better if you have screwed up with the recipe.
The recipe.
Figure out what is important. What are the most relevant flows for the customer. Which ones give you the highest conversion. Get metrics for the operation. How often do you need to click 10 times to get a report of one variable? How often does a human have to check tire pressure? What is the time waste? What is the effort to fix it? Count both in hours and dollars spent. Can we automate the process? Where does deficiency come from? Can we just remove the inefficiency? Can we make it semi-automated?
Improve if the ROI is high. Act on it! Do one thing at a time.
Validate what the result metrics are. Did you actually improve the process? Did you eliminate the waste? Does it work better now? Did customers appreciate the experience?
Apply the same approach to new products. Come up with the idea. Try it out. Make the implementation as simple as possible. Google search page still has only one input field and two buttons. But it's probably the most visited web site in the world. See if people buy into the idea. Get metrics around it. Groom it based on the metrics you have. Don't make the customer wait too long.
Measure what you do and what is the outcome of every feature you deliver. Save your time by not doing low-value frictions. Do high-value things. Now!

Thursday, March 21, 2013

Does Java lack auto generated properties?

Is Java that bad in compliance to OOP pillars?
I had a few conversations with OOP developers in my community just recently and often it sounds like people want to have some new features as a part of the programming language they are using.
So we have auto properties as a part of C# 3.0, attribute accessors in Ruby and simple old getAttribute() methods in Java.
Now, we often expose internal state of the object to the outside world which I don't think is a good pattern for most cases. And as far as we're tired of writing those getMethods and setMethods all over we're trying to increase the productivity while writing those. Without consideration that most business actions affect a few properties at a time.
My take is we should expose methods that represent a business action like add two bags of potatoes to my shopping cart. The number of items, item type, SKU is integral for the action. 
So what if we change the process of adding an item to the shopping cart? For instance now we need to change the last update date of the shopping cart object every time we add something to it. If we were to encapsulate the change logic around the shopping cart object we would get a one line code change. Otherwise we are to change all the consumers of the object. Which I consider is a code duplication. Bad smell it is.
In this case I think languages such as Ruby and C# provide you both the toolset and the responsibility to make decisions on how to implement the solution. Java on the other hand gives you the only way to implement it property. But relies on the tools (all Java IDEs can generate property stubs) to make the development productive.