thg
29 subscribers
76 photos
9 videos
6 files
87 links
О жизни и не только
Download Telegram
#philosophy

Программирование — это новые книги. Программист — современное чудовище. Мы пишем тексты, но они отличаются от предыдущей подачи. Если использовать, в качестве и количестве, код, как книги, то мы получаем научный метод во всей его красе.

Результаты воспроизводимы.
Вы можете писать на сухом языке математики функторы, но стоит потерять из уравнения e=mc и про квадрат догадаться будет сложнее.
Запутанный код такой же.
Чистый код понятен, потому что он слегка избыточен и дублируем.

Банальная сигнатура функций позволяет даже при потере информации, в следствии той же энтропии, позволяет понять что там было сказано.

Описывайте культуру кодом и она будет жить вечно.

Жизнь слишком коротка, потратьте её на программирование.
#programming #articles

Написал еще одну статейку на хабр про опен-сорс решение для видео, голоса, текста и файлов, а также шаринга экрана

Причем это решение зашито под http access + не имеет бекенда, так как соединяется peer-to-peer, в общем штука вышла годная, постепенно отучу всех от дискордов

https://habr.com/ru/articles/805889/
👍4
#softskills #books

По объему на статью на хабре не тянет, пока пусть будет частью драфта тут

Soft skills - это не "мягкие" навыки, это впервую очередь удобные навыки

Для тех, кто совсем в танке все ваши навыки делятся на три типа:

- Soft skills
- Hard skills
- Company skills

Самые понятные тут - "Company skills" - это на сколько Вы знаете компанию, в которой работаете, умеете вносить туда business value; тоже самое и с кредитом доверия и опытом принятых ранее в компании решений, а также понимание мышления коллег

Чуть менее прозрачно выступают - Soft skills, это всё про "как быть максимально удобным к собеседнику"

Если вспоминать Ницшианское мышление, восходящему к Библейскому, то человек - это, действительно, - канат между обезьяной и сверхчеловеком

Навыки удобства - это возможность мыслить не животным началом, а сверхчеловеческим излишним неморализированным сознанием.

То есть на любую агрессию использовать формальное поведение, умение выслушать, умение не перебивать и так далее и тому подобное, от навыков признания и благодарности, до прощения и обучения.

И вот почему "Hard skills" в самом конце, потому что это всё то, что вы наработали большим трудом углубленного изучения вашей доменной области.

Книга не требует от вас навыков коммуникации, документация или обучающий YouTube-ролик тоже

Разделение достаточно всратое только из-за того, что soft skils - про ваши "hard" навыки при коммуникации с людьми, а вот hard skills - про ваши "hard" навыки при взаимодействии с доменной областью на уровне взаимодействия с системой.

Следует понимать, что в soft возложено не только умение красиво говорить, это лишь ораторское искусство, но если пробовать выделить какие-то категории, то выйдет нечто следующее:
- Ораторское исскуство (умение ясно и четко излагать свои мысли)
- Формальная логика (ваши мысли должны следовать базису открытому человеческому миру, на котором строится, что наука, что компьютер, что лямбда-исчисление), да не страшно, что в потоке нейросетей, машинного обучения и прочего говорят про "нечеткую" логику, основанную на вероятностном подходе, только вот любой ML сводит всё к функциям, а у них есть четкая математическая подоплёка, просто вы не понимаете весов, а логика там по прежнему формальная
- Умение играть в Теорию Игр в стратегическом общении (вам не нужно постоянно выигрывать, чтобы, действительно, выигрывать, так как tit for tat)
- Умение отделять полученный опыт в эвристики hard skills (когда вы научились говорить "Нет", или настраивать standups/летучки/daily meetings и вообще всё что угодно, то теперь "это" - Ваш hard skill и его просто стоить точить
- Умение в self-discipline
- Умение в self-management (вы обязаны понимать, что никто не должен детерминировать вашу деятельность, чтобы вы могли за ней работать, это про умение работать в неопределенности в том числе, когда информации минимум и её нужно уметь "вынимать" из людей, а люди, как агенты разных информационных систем - имеют свой набор полей и методов, и к каждому из них нужен свой "ключик", и если вы его не подбираете, то у вас нет никакого права, в этом самом поле навыков, говорить, что кто-то там что-то там не делает
- Умение в передачу контроля (про это наверное написано максимум всего, что не нужно бояться доверять работу, даже если её сделают некачественно, то это будет значить плохую постановку задачи, однако это же исключает self-management, тут вилы 50/50)
- Умение в MVP-логику, вы должны понять RAD (rapid development) модель, это не классический Agile или PMBOK, это умение адаптироваться в любых условиях и уметь slice-ить features и срезать углы, умение декомпозировать и умение предиктить изменения, опять же всё это превращается со временем в ваш hard-скилл
- Умение в делегирование (вам не нужно делать 100% от вашей работы, отделяйте отделимые вещи и отдавайте их куда-либо, потому что на самом деле примерно 80% будут рутиной, поэтому они и делаются за 20% времени, а для кого-то эти самые 80% будут 20% из Парето правила, пусть это и байка, но зато какая)
- Умение читать художественную литературу - это тоже превращает ваш язык в hard skill

Почему так? Почему soft skills превращаются в hard skills?

Всё просто, когда вы понимаете как из коммуникации с человеком выстроить информационную среду, с некоторым функционалом, который работает как часы - для Вас это и есть сигнал, что вы освоили этот soft skill. Когда это навык применяется к любому человеку, просто потому что поверху вы накидываете модель по взаимодействию.

Для программистов проще всего сказать так: term Soft skills - является "удобные навыки" потому что это процесс выстраивания УДОБНОГО API по взаимодействию с людьми, как с информационными системами, отбрасывая эмоциональную часть в коммуникации, и, преследуя только формализовать всё в знания для накопления артефактной базы.

И можно ещё много всего сюда воткнуть, но я просто хочу дать первую книжную базу на 10 книжек для проращивания коммуникативных навыков, что мне помогало однажды их добирать, потом скину более расширенное продолжение:
0. Аристотель - Риторика (научит пониманию каким образом речь показывает логику ваших суждений и как вы говорите с точки зрения логики)
1. Мартин - Идеальный программист (хорошо понятная для кодеров, помогает узнать некоторые эвристики как говоритть "Нет" например)
2. Харари - Sapiens (разница между человеком прошлого и нынешнего)
3. Харари - Homo Deus (разница между человеком нынешнего и будущего)
4. Карнеги, Как выработать уверенность в себе и влиять на людей, выступая публично (название говорит само за себя
5. Карнеги - Как завоёвывать друзей и оказывать влияние на людей (про утопичный вид взаимотношений между людьми, можно набрать кучу практи коммуникации)
6. Карнеги - Теория эффективного общения Дейла Карнеги (позволяет посмотреть на мир не со стороны веченого критика)
7. Мрочковский, Толкачёв - Экстремальный тайм-менеджмент (множество техник по управлению самим собой и немного порвет ваш шаблон)
8. Достоевский - Сон смешного человека (взгляд на солипсизм в чистом виде)
9. Хокинг - Высший замысел (поверхностная, но для точки входа пойдет)

Как было сказано у Карнеги:


Люди называют меня гением.
Секрет моей гениальности заключается в следующем: если я держу в руках некий предмет, то глубоко изучаю его.
День и ночь.
Я исследую его во всех проявлениях.
Им заняты все мои мысли.
Результаты затраченных мною усилий люди склонны называть плодами таланта.
На самом деле это плоды труда и мысли.



Вселенная детерминирована, в основе всего стоит колесо, не изобретайте велосипедов, всё константно)
🔥3
#languages #формальныеязыкиииграмматики

Очередные инсайты на темы лексики,

Слово — «абзац» звучит крайне интересно,

В немецком есть “Satz” и “Sagt”
Что-то вроде «предложение» и «говорил»

То есть предложения — это исходящие говорение, приставки «ab» как раз о местоположении

Получается вроде как Absatz, а-ля движение «сверху вниз» плюс + «предложение»

Гуглим этимологию и, действительно, есть некоторое понимание

«
Происходит от нем. Absatz «уступ,отступ,абзац», далее из нем. absetzen «отставлять в сторону». Заимствовано в 60-е гг.
«

А в немецкой вики — это вроде части непрерывного текста, ну, как, я и предполагал «движение сверху вниз предложения»

In der Textgestaltung beschreibt ein Absatz, lateinisch passus,
#vim #development

Нашел интересный плагин для Vim-а, там всего 7 звезд на гитхабе, но хорошие keybindings

https://github.com/inkarkat/vim-ConflictMotions

Что дает?

К примеру породим конфликт из master, branch-a, branch-b
Тут мы будем редактировать один и тот же файл index.c, в котором простейший возврат из функции
Добавим в одном случае вывод Hello, в другом случае World

Дальше ребейзим master от branch-b, а потом хотим branch-a и получаем конфликт

Обычно можно резолвить конфликт на уровне vim-gitgutter, либо просто с прокаченным git diff, но есть vimdiff,

Работает он следующим образом:

- Открываются буффера на разные типы изменений


+----------------------------+
| LOCAL | BASE | REMOTE |
+----------------------------+
| MERGED |
+----------------------------+


Но вот навигация у них такая себе, чтобы спокойно закрыть конфликт можно использовать vim-ConflictMotions, который даёт набор полезных хоткеев (закреплю в комментарии):

Логика следующая:


git config merge.tool vimdiff
git config mergetool.prompt false


А дальше докидываем плагин vim-а через удобный вам, и радуемся хоткеям


Plug 'tpope/vim-repeat'
Plug 'bogado/file-line'
Plug 'inkarkat/vim-visualrepeat'
Plug 'inkarkat/vim-CountJump'
Plug 'inkarkat/vim-ConflictMotions'
Plug 'inkarkat/vim-ingo-library'


Из недостатков - разработчик не сделал авто-установку многих требуемых плагинов, оставил ему PR https://github.com/inkarkat/vim-ConflictMotions/pull/2, да и просто vimdiff удобнее, но в one-file mode ConflictMotions удобен
Forwarded from Digitable: Channel
#development #git #svc #pullrequests #documentation #decomposition #taskbehaviour #selfmanagement #selforganisation #problemsolving #transperancy #roadtosenior
#juniors #middles

Крайне часто нам приходится сталкиваться с тем, чтобы открывать Pull Requests / Merge Requests и прочее,

Однако мысль разработчика "моя работа заканчивается после того как я сделал пуш" в корне ошибочна,

Представьте себя в роли доставщика продуктов.

Вы пришли в магазин взять продукты, прошлись по списку блюд, которые нужно приготовить, заказчик сделал пометку:


- Борщ
- Чай (если нет зеленого, то взять черный)
- Хлеб (если нет черного, то не брать вообще)


И вот от того как Вы будете подходить к решению этой задачи многое зависит и Ваш mindset в том числе.

Как с этим всем работать и правильно оформлять Pull Requests и работать с задачами? 👇
Полный разбор подхода в закрепленном комментарии к этому посту.
Для доступа к нашим публикациям нужно купить подписку через бота @digitable_sub_bot


Ставьте Ваши реакции и задавайте вопросы в комментариях, они помогают стать нам лучше! 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
Я тут канал свой завёл профессиональный, кому надо собс-на он по подписке, периодические анонсы постов будут тут в том числе, так что не пугайтесь) это не спам, это монетизация рабочих навыков)

Попасть в него можно тут @digitable_sub_bot

А сюда я весь мысленный поток сгружаю)
#philosophy

До меня только дошло, что воду в вино превращал Христос с помощью своей крови

Ранее утверждение воспринималось мной метафорично, что речь лилась так, что опьяняла воду, но теперь это даже логично

Осталось понять где был взят ховерборд, как в «Назад в будущее», чтобы ходить по воде 🤔
Forwarded from Digitable: Channel
#development #warcraft #ai #voiceover #addons #habr #articles #python #games #tts #pytorch

На хабре новую статью написал, можно почитать, о том как я World Of Warcraft по-русски заставлял говорить

https://habr.com/ru/articles/818513/

Здравствуйте-здравствуйте, играю я значит в классический World of Warcraft и понимаю, что игра тосклива из-за отсутствия более-менее озвученных квестов. Конечно, инди-студия Метелица не способна озвучить всю свою игру, да и понятно, что сюжет развивается, а люди имеют свойство менять работу или, да это печально, физической гибели, как например случилось с озвучкой Артаса Менетила в Warcraft III: Frozen Throne.

В общем, заваривайте чай, как и все мои предыдущие публикации, эта статья в формате (б|в)лога.
🔥2
#philosophy #psychology #books #reviews #audibooks

Освоил еще один материал, на этот раз Карл Густав Юнг - Человек и его символы

#### Wiki: Юнг, Человек и его символы

- Почему стоит читать: это базовый набор философии психологии

- В каком виде читал: Аудиокнига ч.1, Аудиокнига ч.2

- Сколько времени я потратил: ~ 1-2 месяца небольшими сессиями

- Оценка:

- Произведение: сложно, позволяет понять вообще каким образом устроена психология глазами Фрейда и Юнга, и о том, что вроде бы прошло с сотню лет, а наверное только 60% от этого начало повсеместно применяться инфоцыганами. Исчерпывающее описание символизма как такогого. В целом интересный взгляд на коллективное бессознательное. Пугающее правда.
- Чтец: чёткий и выстроенный женский голос с паузами и интонациями, передача всех необходимых смыслов, однако местами в аудио просадки звука, местами неверные ударения или остановки в ненужных местах

- Почему захотел прочитать: появилось в рекомендациях, пополняю философский кругозор, давно хотел почитать что-то у Юнга

- Где взял: YouTube

- Один из любимых моментов: анализ сна Генри

- Одна из любимых цитат:


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



Если читатель почувствовал стимул к дальнейшему постижению бессознательного, которое всегда начинается с самого себя,
то цель этой небольшой книги можно считать исполненной


- Самонапоминание: ознакомиться с остальными трудами автора

Мини-рецензия тут
Forwarded from Digitable: Channel
#development #design #uiux #itten #colors #theory #web #mobile #colortheory #csharp

Работа с цветовой палитрой - одна из важнейших частей при разработке клиентских приложений.


Лет 8 назад, я хотел как-то избавиться от дизайнеров, изучив, каким образом, они подбирают согласованность в цветах. Репозиторий найти сложно, но кусок кода под подбор цветов Иттена остался.

Как это работает?

В начале 20-ого века швейцарский художник Иоханнес Иттен создал ощутимый вклад в изучение колористики. Написанная книга "Искусство цвета" делится принципами работы с цветом и was ist цветовой круг.

По сути это схема из 12 цветов с определенной иерархией.

Первичные - синий, желтый и красный, перемешивая которые, можно получить любые оттенки, что может воспринимать человеческое зрение.

Вторичные - зеленый, оранжевый и фиолетовый, что являются результатами смешения первичных цветов.

Третичные - смешивание первичных и вторичных

Итог: 3 первичных, 3 вторичных, 6 третичных

И как с этим работать?
Выберите или придумайте алгоритм.


Вариант А (Complementary pairs): Берем противоположные друг другу цвета (т.е. те, что находятся напротив друг друга, например зеленый и красный)

Вариант Б (Contrast triadic): Также как и А, только берем 2 цвета напротив вместо 1

Вариант В (Classic triadic): Также как и Б, только треугольник будет равносторонний

Вариант Г (Analog triadic): Берем просто три цвета подряд по дуге

Вариант Д (Tetrad): Как и В, только квадрат и теперь цветов 4

Вариант Е (Rectangle): Как и Д, только прямоугольник


Имхо, можно и самому навыдумывать тьму, выше только популярные

В комментариях:

- лайфхак-алгоритм для поиска комплементарных пар с примером кода на C#
- картинки для каждого из вариантов выше
- полезные ссылки

А если хочешь чаще читать наши публикации и быть в курсе вообще всего, то для доступа к нашим публикациям нужно купить подписку через бота @digitable_sub_bot (мы добавили бесплатную подписку)

Ставьте Ваши реакции и задавайте вопросы в комментариях, они помогают стать нам лучше!
У нас тут микро-подкаст вышел про AI от вуза 🙂

Можете послушать, если интересно 😄

https://vk.com/video-35647046_456239167

Совместно с замечательным руководителем и преподавателем и моим первым тимлидом там про нейросети рассказываю) это пилот) но зато вы узнаете чуточку больше из научно-практических уст, чем просто от любителей :)

#подкасты #ai #нейросети #игхту
🔥3👍2
👍1
#languages #формальныеязыкиииграмматики

Только что дошло, что в слове «window» есть слово «wind» — ветер

🥱
elibrary_75147696_15240151.pdf
967.9 KB
#articles #science

Статейку опубликовали, про новую метрику "fatigue", будет полезно для engineering managers и teamleads

Аннотация:

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

Ссылка на e-lib: https://elibrary.ru/item.asp?id=75147696
Написал небольшой лайфхак как вести заметки в своей бд знаний, юзайте, принцип старый, а работает как часы
Forwarded from Digitable: Channel
#zettelkasten #knowledgebase #logseq

Один немецкий статист прошлого столетия оптимизировал свою систему ведения заметок таким образом, что в итоге за жизнь написал примерно 70-80 книг и около 900 научных статей.

Весь прикол в том, что он писал заметки особым образом и использовал строгую концепцию по их ведению.

По-факту, эта история называется сейчас как "Второй мозг"

Идея проста, Ваше сознание должно быть максимально разгружено от активных задач, идей и дел.

Помните байку про "Подумал о чём-то? Запиши, а то забудешь!"?

Ну так вот, многие из нас ведут заметки или записи хрен пойми как. Кто-то в Notion, кто-то в Google Docs, кто-то в Notes, кто-то по-умнее и скачал Obsidian, кто-то еще умнее и поставил Logseq.

В целом, систем-то очень много. Вопрос как в них писать эти самые заметки?

Поехали по порядку.

Зачем?

Создание Zettelkasten в Logseq – отличный способ организовать знания. Это мощный метод, который поможет связать идеи, создать структурированную сеть знаний и упрощать поиск информации.

Основные принципы Zettelkasten:

- Связывайте заметки: Каждая заметка должна быть связана с другими заметками через контекст или тематику.
- Уникальные идентификаторы: Можно использовать временные метки (например, 202412181230) или просто имена, связанные с содержанием.
- Минимальная структура: Создавайте заметки с одной ключевой идеей, чтобы избежать перегрузки информации.

Структура работы:

- Используйте Daily Notes как рабочий инструмент:

1) Каждый день фиксируйте идеи, задачи, мысли.
2) Выделяйте важные части для превращения их в отдельные страницы/узлы.

- Создание страниц (atomic notes):

1) Ключевая идея = одна страница. Например, вместо "Заметки по книге" сделайте страницы вроде: Как внедрить привычки или Роль мотивации в обучении.
2) Оформляйте короткие заметки и связывайте их через [[ссылки]].

- Хештеги:

1) Хештеги полезны для широких категорий (например, #психология, #проект_А).
2) Не заменяйте связи ссылками – это разные механизмы. Хештег создаёт контекст, а ссылка – глубокую связь.

- Ссылки между заметками:

1) В новых заметках ищите, к чему они могут относиться.
2) Например, если заметка связана с уже существующей идеей, добавьте ссылку на неё.

Как работать с TODO в Zettelkasten:

- Не перегружайте TODO-список:

1) Если задач много, создайте страницу вроде #TODO или Задачи, и перемещайте туда все задачи из Daily Notes.
2) Уточняйте действия: вместо Сделать отчетПодготовить слайды для отчета (дедлайн 20.12).

- Проверяйте задачи ежедневно:

В конце дня просматривайте TODO и переносите невыполненные задачи вперёд. В Logseq для этого даже плагин есть.

Рекомендации по оптимизации:

- Используйте "Би-линки" (Backlinks):

В конце заметки добавляйте ссылки на страницы, где эта идея упоминается. Например: См. также: [[Привычки]].

- Создавайте индексы:

Сделайте страницу "Индекс", где вручную соберите ссылки на ключевые темы и группы заметок.

- Автоматизируйте хештеги и TODO:

Используйте запросы (queries) Logseq, чтобы видеть все задачи, связанные с проектами или тегами.

- Рефакторинг заметок:

Регулярно пересматривайте старые заметки, добавляйте связи, уточняйте идеи.

Соб-сна шаблон для заметок:


# Заметка: [[Название заметки]]

## Ключевая идея
Здесь кратко описывается основная мысль.

## Связи
- Связано с: [[Другая заметка]], [[Идея Х]].
- Категория: #тема.

## Развитие идеи
Здесь можно уточнить детали, добавить аргументы, примеры и цитаты.


Сделайте свой второй мозг :3
🔥3
#видеозаписи

Слова «Функциональное программирование» и «JavaScript» нечасто оказываются рядом. Но тем интереснее об этом послушать!

В первый #ТяжелыйПонедельник года открываем запись для всех, кто готов расширить кругозор.

YouTube | VK Видео

Скачать презентацию с сайта HolyJS
🔥3