?

Log in

No account? Create an account

Пт, 10 окт, 2025, 23:14
Заглавное Сообщение

These blog posts are my own and don't represent my clients or my employer.
Эти посты в блоге являются моим личным мнением и никак не связаны с моими клиентами или работодателем.



I'll be more enthusiastic about encouraging thinking outside the box when there's evidence of any thinking going on inside it.
— Terry Pratchett


Во всем ищи более тонкие градации качества, не теряя из виду целое. И в чем вчера различал два-три качества, завтра увидишь массу новых (для себя) тонкостей. Нет мелочей - есть подробности. Эти "чуть -чуть" в сумме отличают Мастера от дилетанта.
— Сунь Лутан


Я постиг, что Путь Самурая — это смерть. В ситуации «или — или» без колебаний выбирай смерть. Это нетрудно. Исполнись решимости и действуй.
— из Хагакурэ

Чт, 22 июн, 2017, 14:20

По телику показывают Технопром-2017. На сцене собрался круглый стол великих мыслителей русской промышленной революции.

Ведущий разражается речью про мощь сибирской школы алгебраистов, и объявляется слово ученику академика Ершова (на самом деле Герасимова, но что не сделаешь для понта), который якобы смог использовать алгебру на практике (sic!)

Названный сэр открывает рот и начинает говорить что-то внезапно разумное про отличие Искусственного Интеллекта и человека. [я готовлюсь выслушать Себрант-like спич и сыто улыбаюсь] Речь внезапно прерывается невнятными всхлипами о психологических комплексах на тему "друзья свалили за бугор, а я нет, но почему?" и вопросами патриотического воспитания. Докладчик завершает мысль следующим: Человек отличается от ИИ тем, что в нём воспитана любовь к России и Новосибирской Области в частности.

Следующий докладчик пытается рассказать о дистанционном образовании, но его спешно прерывают, кажется из-за недостатка времени. Ну или потому что ведущий чувствует недоброе в свете Рособрнадзора, пачками закрывающего дистанционные вузы (интересно, кем это проплачено).

Дальше Технопром-2017 продолжается вручением призов на два конкурса, наиважнейших для смены российского технологического уклада:
- Менеджер года
- 3D-технологии (команды из студентов? Что такое 3D-технологии не объяснили, но скорей всего это про 3D принтеры).

Дальше я не смог смотреть, они должны мне новую пару глаз

WAT
Што это было

Пт, 16 июн, 2017, 23:54

Шипилёв подался в стримеры :)
Вот так должна выглядеть документация для новичков
Респектище

https://www.twitch.tv/videos/152244095

Пт, 16 июн, 2017, 04:48

Лайфхак. Релизный Шланг только четвертой версии, и не работает на свежей вижуалке.
Можно последовать инструкции и собирать руками из SVN.
Но оказывается, у них уже есть ночные сборки, которые таки работают на свежей вижуалке.

http://llvm.org/builds/

Ср, 14 июн, 2017, 01:25

Стадии знакомства с любым опенсорцным проектом

1 стадия – Отрицание (ну не может такого быть, наверное я что-то не понимаю и для Настоящих Профессионалов в этом коде всё отлично. Ух сейчас заберусь в пещеру на три месяца и разберусь!);

2 стадия – Гнев (бля, и здесь тоже понаписано говна, никакой документации, комментариев, какие-то куски залочки на проприетарщину приклеены, бэк зависит от фронта а фронт от бэка, чтобы понять как устроено здесь надо перечитать документацию от всех других проектов этой компании, явно всё посреди Большого Рефакторинга, всё выбросят через месяц и вот нахуй я это ковырял, блядь блядь блядь!);

3 стадия – Торг (ну допустим, понимание этих принципов поможет мне в будущем при создании своего проекта. Да и на этом можно вполне жить, если придумать - как. И в резюме строчка, опять же. И вообще я исследователь, это инженеру важно чтобы работало, а мне - чтобы было в чем копаться.);

4 стадия – Депрессия (на данном этапе человек может круглые сутки находится в депрессивном состоянии. Суть такова, что жизнь проходит зря, а ты ковыряешься в говне мамонта технологий 60-х годов прошглого века, и даже с этим не можешь разобраться. В то время как вокруг искусственный интеллект и не нужно больше программистов и компиляторов, блокчейн, диджитализация, аджайл);

5 стадия – Принятие (согласие с неизбежной участью, последовательное чтение всех исходников подряд в алфавитном порядке, в иллюзорном стремлении закэшировать в мозг как можно больше).

Пн, 12 июн, 2017, 19:14

Начал разбираться в Котлине.

Проект состоит из двух частей – Kotlin и Kotlin/Native.

По идее мне нужно в Native, но с ним всё печально (хотя казалось бы, куда еще хуже), т.к. я не разбираюсь в LLVM, да и C++ для меня глубоко чужое пока. В очередь на изучение добавляется LLVM, т.к. уже очевидно, что без него жить нельзя.

Чтобы познакомиться, взял для начала джавовую часть. Процедура установки простейшая – пойти на гитхаб, форкнуть и выполнить несколько команд на Apache Ant и Maven. Вначале несколько покоробило использование Анта, но в конце концов, наверное, на это есть причины (начиная с нехватки времени на мимимишные плагины).

Добавим еще печальных известий: комментариев в исходнике практически нет. Код написан довольно ясно, но его объем поражает воображение. Поражает вот в каком смысле: когда ты пишешь очередное веб-приложение, у тебя есть скорей всего стандартная структура типа MVC фреймворка с контроллерами и сервисами, ты сразу идешь в сервисы и читаешь, что происходит. Дальше нужно прошарить, как устроена БД, и начать писать свои сервисы и методы в контроллерах, выставляя их наружу для фронтендщиков. В целом, код неважен, важна бытовая логика, лежащая за манипуляциями с глобальным состоянием. Здесь же код важен. (Наверное, потом его можно будет легко разделить на важное и мусор, но не сейчас).

На всякий случай я связался с Димой и Андреем и получил ту инфу, что никакой дельной документации о дизайне компилятора не существует. Всё что тут остается делать – это читать весь исходник подряд и комментировать. Дельные комментарии можно пул-риквестить.

По-моему, правильным подходом было бы аккуратно документировать всё что видишь, чтобы в результате через несколько месяцев как раз получилось бы что-то типа architecture reference guide

Сб, 10 июн, 2017, 20:30

Забавно, что в фейсбуке у любого поста (даже унылейшего) тысячи просмотров и десятки комментариев, в то время как в ВК нет почти ничего. 78 просмотров, 104 просмотра, wtf, это синонимы нуля в пределах погрешности. В Живом Журнале всё еще печальней.

Ср, 7 июн, 2017, 03:28
Новосибирск <-> Кудряшовский Бор

Трек на Страве:



Фоточки на Имгуре:



Заметки:

  • Посередине закончилась вода, всё дальнейшее путешествие было в полусонном состоянии. Киосков нет, заправка Лукойла случилась только при въезде в город. Брать с собой больше воды!

  • Страва строит маршруты "minimum elevation" через лютые ебеня. Иногда это забавно, но сегодня из-за этого накрылась важная срезка (дорога уткнулась тупо в непролазный лес), пришлось давать крюк. Просматривать маршрут со спутника!

  • До Новомарусино стоит чудовищная пробка. Тротуар не везде пригоден для проезда. Нахер ехать по этой дороге. (а есть другая?)

  • В Бору на дороге такой асфальт, что хуже грунтовки. Весь облез до предыдущего слоя (или его изначально таким "облезшим" положили?). Ничего с этим не сделаешь, плакать.

  • Но в некоторых мест таки есть хороший асфальт. Проклятые олигархи.

  • На Р-254 асфальт отличный. Ехать по нормальному асфальту в горку проще, чем по облезшему под горку.

  • Рядом с обью есть гостиница с домами в виде мельницы и корабля. Но въезд туда закрыт. Проклятые олигархи.

  • Родники стали выглядеть офигенно! Интересно, почем там квартиры

Вт, 6 июн, 2017, 12:38

Какими решениями/библиотеками/фреймворками вы пользуетесь для сборки мусора в C++?

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

Сылышал только о древнючем как создание жизни на Земле Boehm-Demers-Weiser. Есть всякие пулы типа того, что есть в Apache Portable Runtime, но это слишком убого - современные коллекторы типа G1 или Shenandoah в той же джаве умеют на пару порядков больше. То же касается велосипедных слаб аллокаторов и другой забавной копипасты со stackoverflow (кстати, есть где готовый продакшен-реди?). Думаю, что даже без прямой поддержки в синтаксисе языка, реализовать это на готовых инструментах возможно, собирая по кусочкам пулы, кастомные аллокаторы, трейсеры и раскрашиватели ссылок, итп

Так как в предыдущем вопросе о RTTR люди жаловались на отсутствие постановки цели, то вот Лекс лет так 7 назад описал Логику Неизбежности. Каждый кто начинает писать свой мемори менеджмент в конце концов доходит до написания GC в том или ином виде.

В качестве причин можно рассматривать как чистый перфоманс (перемещение выделенных объектов в куче, отложенное пакетизирование удаление с приоритетами), подкрепленный безумной сложностью реализации в одно рыло некоторых вещей (например многопоточности с учетом отсутствия приятной модели памяти), так и вопросы архитектуры приложения (лень писать поэтому вот цитата Донского из «Жизненного цикла программиста»):

«есть общие методические принципы создания программ, не вполне осознаваемые даже хорошими программистами. Примером может служить проблема принадлежности объектов друг другу, а также совмещение двух структур любой программы – иерархии вызова подпрограмм вместе с объектами, принадлежащих подпрограммам, и иерархии объектов по принадлежности друг другу. Примером отказа от самой идеи справиться с этими проблемами является наличие в некоторых языках механизма сборки мусора, что является молчаливым признанием возможности присутствия в среде объектов, не принадлежащих ни подпрограммам, ни другим объектам.»

Да, можно взять какой-нибудь Garbage Collection Handbook и пару пейперов, потратить два месяца (или два года?), и закодить велосипед - но зачем? Я уже видел эту дорогу (не на чистых крестах, а на крестах + джава, но это неважно), и не хочу ходить по ней второй раз, поэтому прошу достойных сэров экспертов Лора подобрать мне уже готовую GC-подобную систему для C++.

Подскажите что-нибудь? Шпасибо!

Вс, 4 июн, 2017, 23:39
04.06.2017 - P-255, Снегири

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



Фоточге единым ольбомом

Еще фоточгиСвернуть )

Пт, 19 май, 2017, 19:50

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

Пн, 24 апр, 2017, 00:16

Нашел таки скан 98ого года "Theory of Objects" (Абади, Карделли) на каком-то безвестном файлообменнике на задворках интернетов. Завидуйте, жучары! Чуваки заморочились и написали краткие минимальные формализмы для ООП, не используя код на реальном ЯП. Удивительно как всякий шлак типа "освой реакт за 3 часа 33 минуты" заполоняет торренты, а градообразующие труды киснут в мягких обложках на задворках амазона

Ср, 19 апр, 2017, 12:55

"– Как же победить третьего врага, дон Хуан?
– Человек должен восстать на него, понять, что сила, которую он якобы покорил, на самом деле ему не принадлежит. Он не должен расслабляться, осторожно и добросовестно относясь к тому, чему он научился. Если он поймет, что ясность и сила при отсутствии самоконтроля хуже, чем заблуждение, все снова будет в его руках. Он узнает, когда и как применять свою силу, и таким образом победит своего третьего врага.
К этому времени человек приблизится к концу учения и совершенно неожиданно встретится с последним своим врагом – старостью. Это самый жестокий из врагов, победить которого невозможно, но можно отогнать.
И вот наступает пора, когда человек избавился от страха, преодолел ясность, подчинил силу, но его одолевает неотступное желание отдохнуть. Если он поддастся этому желанию лечь и забыться, если усталость убаюкает его, то он проиграет последнюю схватку – четвертый враг его повергнет. Желание отдохнуть пересилит всю ясность, все могущество, все знание.
Но если человек сумеет преодолеть усталость и пройдет свой путь до конца – тогда он станет человеком знания хотя бы на то краткое мгновение, когда ему удастся отогнать последнего, непобедимого врага. Этого мгновения ясности, силы и знания – достаточно."

Вс, 16 апр, 2017, 17:39

Наглядное пояснение, почему люди в Новосибирске живут ажно в 4 раза меньше (23/6), чем в более благополучных местах

Сб, 15 апр, 2017, 21:57

Если бы у меня была компания, это точно было бы L3C.
(https://en.wikipedia.org/wiki/Low-profit_limited_liability_company)

Правильно жить так (с)(тм): делать добро, выкладывать его в опенсорс, и чтобы после этого всего оставалось немного бабла чтобы пожрать, сделать ремонт и починить велосипед.

Стремление к максимальной коммерческой эффективности в ущерб социальной пользе порочны по своей сути. Это стремление не стоит своих жертв.

Мы не обязаны вести себя как рациональные потребители. Мы не обязаны вести себя как модельные менеджеры из формул.

Главное - чтобы всем было хорошо, приятно и спокойно, всё остальное вторично. Да, чтобы заработать на личные замки и яхты, возможно, нужно что-то большее. Можно просто принять за данность, что у тебя нет и не будет нескольких замков, и всё будет хорошо.

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

Пн, 10 апр, 2017, 09:17

Самая большая проблема с тренажеркой - это сумка :(
Иногда начинаешь собирать сумку, и уже идти всё желание пропало

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

Не в каждую сумку всё это влезет. Единственное куда всё влезает без проблем - это большой туристический рюкзак, но и он неудобен - внутренности рюкзака имеют линейную скорость доступа, а не константную как у наплечной сумки. На больших N распаковка нужной мелочи может так затянуться, что от злости хочется порвать всех на клочки.

Грязную мокрую одежду нужно держать отдельно от чистой свежей. Полотенце мокрое для душа - отдельно от полотенец для подкладки на тренажер и протирки лица. Отдельно от щетки и геля для душа. Отдельно от кроссовок. Значит всё нужно расфасовывать по герметичным пактам, которые завязывать туда-сюда. Как изолировать планшет, телефон, наушники и прочую электродрянь - вообще хз, они ведь кроме воды еще и к давлению и царапанию очень неустойчивы.

Ах да, все эти вещи нужно собирать по чек-листу, написанному на бумаге, т.к. запомнить все мелочи нереально (у меня очень маленькая память ;). Забыл замок от кабинки - всё было зря. Забыл ключ от замка для кабинки - всё было зря.

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

Пн, 10 апр, 2017, 08:54

Марк "шаттл-в-рот" Шаттлворт порвался, несите следующего!
Нещастная Шляпа, теперь ей придется самой рисовать морды для линукса.

I used to think that it was a privilege to serve people who also loved the idea of service, but now I think many members of the free software community are just deeply anti-social types who love to hate on whatever is mainstream. When Windows was mainstream they hated on it. Rationally, Windows does many things well and deserves respect for those. And when Canonical went mainstream, it became the focus of irrational hatred too. The very same muppets would write about how terrible it was that IOS/Android had no competition and then how terrible it was that Canonical was investing in (free software!) compositing and convergence. Fuck that shit.

Пн, 10 апр, 2017, 08:46

Москва - это как тренажерный зал.

За последние годы многое изменилось: если раньше в центре я просто не мог найти, где бы пожрать, то теперь можно использовать 2ГИС.

Но чтобы добраться до кафешки (в очередном удобном собеседнику месте на другом конце города) - нужно либо ебашить ногами 100500, либо на личном автомобиле рассекать пробки, либо адово слэмиться с бабушками в метро. Две произвольно близко расположенные на карте точки Москвы можно ехать до двух часов, даже несмотря на визуальное отсутствие Адских пробок

Бабушки это вообще такая жесть. Первые же секунды в городе были удивлены существом, которое доказывало мне, что я не умею ездить в метро. Признаться, до этого момента я и не знал, что в метро нужно *уметь* ездить. В общем, она была права, потому что в это время по левой части экскалатора на спринтерской скорости ломанулась толпа других бабушек, чуть не оторвав мне неплотно прижатую руку. Руки надо прижимать, пальцы, голову втягивать в куртку, анус плотно сжимать - искусство езды в метро. А на следующий день другая бабушка врезала мне в чан с таким импульсом, как будто в челюсть врезался товарняк - и это не специально, а просто с рюкзаком развернулась неудачно.

Так вот.

Когда ты добрался до кафэшки, количество калорий от сжирания еды совершенно не покрывает количество шагов.

Секчас после будильника в 6 утра, 2 часа не мог проснуться. Потому что мышцы болят как будто танцевал вальс с соткой на штанге.

Наверное, вечером заеду в Академ. Теперь это вообще не кажется расстоянием

Вс, 2 апр, 2017, 17:39

Оказывается, Нуки заявилась в "Голос"
(для тех кто не в курсе - это такая старпёрская передача на 1м канале, где люди поют русские народные песни, и в лучшем случае - слащавую попсятину)
Жюри сделало вид, что не знает, кто это.
Нуки сделала вид, что это не автоматический выигрыш.
Не очень честный вышел конкурс, но уровень толлинга впечатляет.
Я влюбился, Нуки - королева.

Чт, 30 мар, 2017, 00:07

"Я только что видел какой-то сон? Утро пришло… День – не мое время. Днем живет нечто далекое и чужое: оно просто, исполнительно и результативно, и это касается не только меня, а вообще всего живущего под ярким светом. Утром оно начинает свою бурную радостную активность, днем громыхает, ревет, мечется, суетится, нагромождая одни плоды своей суеты на другие и запирая себя в лабиринте в конечном счете беспричинной и бесплодной деятельности. А к вечеру удовлетворенно умирает в гробу идеи о непрерывности своего существования изо дня в день, не зная, что с его воспоминаниями назавтра проснется уже кто-то другой.

Но ночью стены сходятся под другими углами. В потолочных углах комнат видно больше стен, чем должно быть. Лишние стены выходят в такие комнаты без комнат, что дальше самой дальней звезды, так что я всегда ношу их с собой под сердцем, они умещаются в нагрудном кармане (проветривают сердце). В тех комнатах я нахожу многих своих знакомцев, с которыми там сильно интереснее говорить, чем когда у стен обычные углы… У спящих знакомцев, суетящихся днем, ночью тоже совсем иначе сходятся углы, так что стены пускают их в комнаты без комнат.

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

Сначала они становятся жирными, как свиньи, и потешными до карикатурности; их черты насыщаются и вываливаются из них, как жирные животы, рвущие корсеты. Им самим от себя так смешно, что они лопаются, как мыльные пузыри, а я молчу, молчу.

Скоро я вспоминаю… Мне снова, в который уже раз становится понятно, что на самом деле я – огромное кладбище, на котором похоронены поколения и поколения разных незнакомых мне якобы меня. Смерти во мне все множатся, каждое следующее поколение «меня» все более жирное и дурное, и к самому темному часу они уже напоминают попытку душевнобольного нарисовать своих демонов.

Такие дохнут скорее всех.

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

Я только что видел какой-то сон? Утро пришло… День – не мое время. Днем живет нечто далекое и чужое…"

Пн, 27 мар, 2017, 10:53

xxx: проще убить месяц на написание своего языка программирования на xml'е
xxx: и это будет выгоднее компании, потому что завтра они наймут еще сто хомяков
xxx: которых посадят править эти xml'и
xxx: и гори оно огнем
xxx: рэпид разработка, мать её
yyy: кодь, как будто никто не ревьювит
yyy: комментируй, как будто пишешь на бересте
yyy: проектируй, как будто на все воля Божья

Сб, 18 мар, 2017, 17:51

Посмотрел запись доклада Алименкова про ООП и ненужность наследования, надо бы прокомментировать что-то.
Вот ссылка на его видео: https://www.youtube.com/watch?v=G6LJkWwZGuc

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

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

Вместо этого для большинства коллег сейчас ООП - это кода ты в IDE протыкал кнопочку "отнаследоваться от класса и переопределить вот такие методы", когда функциональности существующего класса не хватает. Особенно хорошо видно на собеседованиях: тебя спрашивают какую-то чепуху типа "всех методов ArrayList" (вероятно чтобы потом нажать кнопочку "доопределить"), а о самой сути работы, которая как раз есть ООП моделирование, почему-то не спрашивают.

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

В качестве примера, мне кажется важным: ООП в Java есть продукт теории типов, и она хорошо решает ситуации, когда нужно разобраться с чем-то типа полиморфизма подтипов. Отсюда принципы SOLID, в частности принцип подстановки Лисков.

Но как только люди начинают задавать вопросы типа "а вдруг в этом классе добавятся-убавятся методы" (типичный пример про хэшмеп, в базовый класс которого добавился метод addAll, реализованный как попало), это уже объект внимания совершенно другой по структуре и сложности области. Например, темпоральной логики. И в Java нет никаких встроенных методов решения проблем темпоральной логики.

Есть модель памяти и конкаренси, но это про другое, она отвечает на вопрос, какое в данный момент значение имеет символ, и это не вопрос высокоуровневого дизайна программы, а вопрос разряда "ой, ёпть, чота всё сломалось". У меня есть ощущение, что джава - это скорей о снапшотах, и создании ощущения что мир состоит из снапшотов, чтобы скрыть от глаз страшный реальный мир.

И понимая это, ты приходишь к проблеме конструирования мета-языка поверх Java. Например, правил SOLID (одно из которых говорит, что на каждое мажорное изменение нужно создавать новый класс), или специальных фреймворков (не знаю специальных, наверняка есть, но например в Spring есть своя особенная внутренняя философия на эту тему). Или решать вопрос выходя из границ языка, с помощью пакетного менеджера Linux. Или что-то гибридное, версии бандлов в OSGi. И всё это обмазать системой деплоя, которая реально будет работать в настоящем времени, например, Ansible.

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

И вот к чему это. Утверждение "наследование - это плохо" - это немного неверно. Наследование не нужно без всего остального. Слепым мастерам, джедаям всех методов класса ArrayList, придется ознакомиться еще с сотнями кусочков, прежде чем осознать свой путь к выходу :3

(Кстати о видеозаписях докладов. Приходите на джава-конференцию JBreak 2017, сможете набить мне морду за эти еретические мысли. Нет, я не докладчик по проблемам ООП, а вот какой-нибудь Бугаенко там точно будет)

Пт, 17 мар, 2017, 11:05

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

Пт, 17 мар, 2017, 01:56

Имеется полувоенный девайс, который хотелось бы похакать и превратить в man in the middle.

На матери есть только USB2 вход (1шт), внутри установлена винда, доступ только под гостевой учеткой (но флешки и клавиатура работают), типичные эксплоиты на эскалацию на винде не работают. Запустить экзешник из C:/temp можно.

Я как раз хотел симулировать работу сети с помощью USB, для достижения цели этого хватит.

Поэтому вопрос. Как сделать, чтобы ноутбук с линуксом (или виндовсом, или маком - но это печальней), при подсоединении по USB компьютеру, начал выглядеть для него как флешка? Или еще какой-то источник данных, для использования которого не нужно прав администратора, но соединение - именно по USB

Мы пока придумали подключить андроид смартфон: на ноутбуке включить вайфай свисток в режиме роутера, данные на телефоне получать по вайфаю, к девайсу подключаться как usb mass storage, а данные пропихивать с помощью самописного андроид-приложения. Вариация того же самого: чуть более дорогой телефон, чтобы у него был рут доступ и тетеринг (режим wifi точки доступа) - тогда дорогого вайфай-свистка не нужно, пушить файло с ноута. Но как-то всё это тяжело. Есть ли более простой способ?

Чт, 16 мар, 2017, 23:18

Как правильно сделать зеркало для сайта с плагинами Jenkins для использования без интернета?

Я сегодня полдня с этим продолбался, написал скриптятину для скачивания плагинов с зависимостями (либо без зависимостей но вообще всё), скачал весь репозиторий, и сейчас хачу официальный докер дженкинса чтобы он без изменений подхватывал плагины из кэша. Проблема в том, что скрипты в докере написаны хипстотой, считающей что у человека, собирающего докерфайл, обязательно есть интернет. И интернет не простой, а золотой - ему не нужно кэша, и он заново вытягивает все плагины заново, а плагинов там - полторы тысячи штук объемом несколько гигабайт. (Плюс у них тормозный сервак, который запросы на отдачу файлов делает ну очень долго, плюс у меня мобильный интернет - еще дольше). Можно сильно поправить эти скрипты, но не хочется поддерживать, надо как-то хитро подпихнуть. Наверное добью завтра утром. Но в целом решение выглядит печально, если бы я сделал докер с зеркалом плагинов - было бы лучше.

Ср, 15 мар, 2017, 01:38
Про собеседования на вайтборде

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

Вот тут можно посмотреть сумму срачей со ссылками: https://jug.ru/2017/02/bugayenko-recruiters/

Вот про сам вайтборд - это интересно! Я не использовал ручку с бумагой уже лет, наверное, десять. Если нужно вести конспект живой речи, обычно это делается с ноутбуком, в котором открыт софт для Mind Mapping (типа Mindjet MindManager - там удобные хоткеи и вообще). Если надо нарисовать диаграмму - то она рисуется мышкой в Визио (или чем-то получше типа Magicdraw UML, если на него есть деньги). Если нужно нарисовать график, то это точно будет эксель и кальк, но никак не тетрадка в клетку.

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

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

Также вайтбордом полностью игнорируются типичные практики формирования этих мыслей. Например, я года два (в общей сложности) использовал PHP, но не знаю в точности его синтаксиса. Да и что там знать, он за всё это время поменялся несколько раз. Когда я пишу, подсознание автоматически мониторит подсказки от IDE и выхлоп компилятора, и в режиме test driven development выдает результирующий код. Проще перезапустить тесты и увидеть косяк, чем разбираться в нем с помощью своего мозга. Таким образом ноутбук с компилятором и IDE становятся частью мышления, самых базовых низкоуровневых рефлексов. Ты не думаешь как дышать и моргать. Ты не думаешь, когда нажимаешь кнопку "перезапустить тесты" или корректируешь подчеркнутое красным. Оно происходит само, совершенно отдельно от твоего сознания.

Что происходит, когда у тебя внезапно исчезает воздух? Случается паника, острая необходимость найти источник воздуха, совершенная неспособность что-либо делать без дальнейшего поступления воздуха. Точно такая же аника случается, если забрать у человека нормальную IDE типа Эклипсы и заставить писать код в vim или notepad.exe. Если вообще забрать ноут и заставить чертить рисунки на доске - то пиши пропало.

По сути, на собеседовании человека лишают основного его средства выражения мыслей (ноутбука), и заставляют писать какой-то немыслимой херней. Что же в этом плане могло пойти не так?
Людям, которые любят вайтборды, возьмете меня рекрутером? Только что придумал несколько забавных испытаний для соискателей:
а) Написание кода под водой, ногами на песке.
б) Написание кода под бутиратом.
в) Написание кода под ЛСД. Десять стандартных доз.
г) Написание кода на эстонском языке, сделав вид что это Java, и что в окружающем мире не выполняется транзитивность.
д) Написание кода кровью на обоях. Представляя себя Есениным. Сложность в том, что Есенин не умел кодить.
е) Методично избивать соискателя каждый раз, когда в голове забрезжит идея. Не давать глазам сфокусироваться.

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

ж) ну и на вайтборде рисовать, как же это можно забыть

Вс, 12 мар, 2017, 18:23

Теоборос - "Носитель Слова", - он касается своей шляпы.

TLC: "Зиобе сказала, что один из вас, ветеранов, — психическая проекция. Это ты?"

Теоборос - "Психическая проекция. Интересно ты это называешь, Зи", - он поворачивается к Зиобе. "Мы все в той или иной мере проекции, разве не так?"

Он наклоняется: "Давай подумаем вот о чем... ты всегда выглядишь так, как я тебя представляю? Меняется ли твое поведение от моих мыслей?"

TLC: "Да. Все зависит от формируемого образа. Может, я и изменю мнение".

Теоборос - "Итак, мои мысли формируют тебя. Но в полной ли мере? Если так, то ты мое воображение, а я - твое. Можно сказать, что мы суть единое сознание, субъективно воспринимающее само себя, а значит каждый из нас, и все мы вместе - психические проекции друг друга". Он медленно задумчиво вздыхает.

"Но мы ведь все равно отделены друг от друга, да? В какой-то степени. Ты ведь существуешь и тогда, когда я на тебя не смотрю. Мне ведь вовсе неинтересно представлять кого-то вроде тебя".

"Также можно утверждать, что все мы связаны изначально. Все наши мысли и действия влияют на остальных. Может, это и не является реальностью, которая и есть та самая правда, о которой у каждого из нас свое представление. Для нас она как путеводная звезда в жизни. Это реальность, в которой живем мы, но не остальные. Это наша история".

Даама из Цветения - Он закатывает глаза. "Ну вот, Зиобе. Теоборос снова за свое".

Теоборос - "Тихо ты. Сейчас я говорю".

Он оборачивается к вам. "Даже если нам не дано понять реальность, мы понимаем истории. Так что, видимо, единственным мерилом, которым мы можем пользоваться для познания друг друга, являются истории, которые мы знаем, и слова, что мы используем, чтобы их рассказать".

Он смеется: "Я лишь хочу сказать, что я не проекция Зиобе. Послушай наши истории и докопаешься до правды. Своей правды."

Сб, 11 мар, 2017, 16:40

Посоветуйте современный стек технологий для реверсинга
(кейводы: бинари аналитика, логическая защита, легкая криптография, сетевые протоколы и всегда онлайн, реконструирование ценных алгоритмов и медиа-контента)

Для начала, свободные/открытые аналоги IDA и PVS-Studio. Которые еще и могут работать не только под винду, но и под линукс. И под 64 бита. Неплохо бы из асма какой-то си-подобный псевдокод или прям си. А для поисковщика ошибок ориентацию на C++.

Гугл у нас общий, но там куча каких-то полудохлых проектов, IDEшек на тикле 98ого года производства от одного вида которых задница перекусывает чугунный лом, какие-то шеллскрипты для аппликух от которых уже и исходников не осталось... Вообще получасовое гугление протащило как будто по задворкам начала 2000х, хаос ужос и запустение. Я из Java и Javascript мира с няшными глянцевыми IDEшками, и все эти остатки ушедших в небытие цивилизаций создают тягостное ощущение..

30 most recent