Свежие публикации

Здесь собраны все публикуемые пикабушниками посты без отбора. Самые интересные попадут в Горячее.

20 Декабря 2022

СИМПСОНЫ.ГОМЕР И ЧЕРЕПАХА.ЧАСТЬ-3.(16+)

Мультфильм - пародия на американский уклад жизни.

------------------------------------------------------------------------------

Озвучено: Интересным.ру.(Дублированная одноголосная).

=====================================

Хитрый сынок

Хитрый сынок

Advent of Code 2022: Day 14

Advent of Code 2022: Day 14

Да, «тетрис» был определённо приятней вчерашних «скобочек». И концептуально, и в реализации. Старые-добрые циклы-в-циклах — что может быть лучше!? 🙂
Только циклы, приправленные щепоткой стримов, конечно! Впрочем, попытки решить вторую часть через стрим — не увенчались успехом, увы. Приступ стримоза отступил и циклы вошли в свои права.
static int drawRock(String scanLine, boolean[][] gameField) {
int maxY = 0;
String[] XY = scanLine.split(" -> ");
for (int i = 0; i < XY.length - 1; i++) {
int[] rocks = IntStream.rangeClosed(i, i + 1).mapToObj(idx -> XY[idx].split(","))
.flatMap(Arrays::stream).mapToInt(Integer::parseInt).toArray();
for (int j = Math.min(rocks[0], rocks[2]); j <= Math.max(rocks[0], rocks[2]); j++) {
for (int k = Math.min(rocks[1], rocks[3]); k <= Math.max(rocks[1], rocks[3]); k++) {
gameField[j][k] = true;
}
}
maxY = Math.max(maxY, Math.max(rocks[1], rocks[3]));
}
return maxY;
}

static boolean pourSand(int maxY, boolean[][] gameField) {
if (gameField[500][0]) return false;
int x = 500;
int y = 0;
while (y <= maxY + 3) {
if (!gameField[x][y + 1]) {
y++;
continue;
} else if (!gameField[x - 1][y + 1]) {
x--;
y++;
continue;
} else if (!gameField[x + 1][y + 1]) {
x++;
y++;
continue;
}
return gameField[x][y] = true;
}
return false;
}

static void day14(String puzzleInputUri) throws IOException, InterruptedException {
boolean[][] gameField = new boolean[1000][1000];
var maxY = client.send(request.uri((URI.create(puzzleInputUri))).build(), HttpResponse.BodyHandlers.ofLines())
.body()
.mapToInt(scanLine -> drawRock(scanLine, gameField))
.max().orElse(0);

int answer = 0;
drawRock( "0," + (maxY + 2) + " -> " + (gameField[0].length - 1) + "," + (maxY + 2), gameField);
while (pourSand(maxY, gameField)) {
answer++;
}
System.out.println(answer);
}

Капля стримоза
Первая часть загадки через стрим решилась без особых проблем, и даже выглядела не слишком страшно:
var sandCnt = client.send(request.uri((URI.create(puzzleInputUri))).build(), HttpResponse.BodyHandlers.ofLines())
.body()
.mapToInt(scanLine -> drawRock(scanLine, gameField))
.max()
.stream().mapToObj(mY ->
IntStream.rangeClosed(0, gameField.length)
.mapToObj(i -> pourSand(mY, gameField))
.takeWhile(Boolean.TRUE::equals)
.count()
)
.findAny()
.orElseThrow();
System.out.println(sandCnt);
А вот со второй — возникли проблемы. Попытки подсунуть в стрим «пол пещеры» в таком виде:
.peek(maxY -> drawRock( "0," + (maxY + 2) + " -> " + (gameField[0].length - 1) + "," + (maxY + 2), gameField))
не приводили к успеху — ответ никак не сходился. Пришлось вернуться к циклам.

#adventofcode #adventofcode_2022 #программирование

--- Ссылка на запись ---
https://dimio.org/advent-of-code-2022-day-14.html

Показать полностью

Трудоголика достала работа

Всегда считала себя трудоголиком, вся в маму. Люблю свою работу, могу и вечерами удаленно трудиться и по выходным. Муж относится с пониманием, посидит с ребенком без проблем, потому что я объясняю ему это тем, что моя работа - это мое хобби. Мне нравится ковыряться в табличках, наводить красоту в эксель, придумывать сложные формулы для автоматических расчетов, люблю 1Ску, набивать циферки, заполнять текстовые поля, проверять контент на ошибки. Пол года назад меня повысили, сделали старшей среди коллег, подняли оклад и дали «под контроль» двоих сотрудников. Как же я была рада тогда! Но сейчас.. я так устала все контролировать, подчищать таблички за невнимательными и неаккуратными сотрудниками. Если ошибся кто-то из них, прилетает и мне. Твержу с лета своему руководителю, что нам нужен еще сотрудник, мы не вывозим втроем. Наше направление стремительно развивается, объем задач неумолимо растёт, но руководитель считает, что все беды от того, что у нас у троих есть дети и мы часто ходим по больничным, что мы вот-вот соберёмся все втроем и дела наладятся. Я периодически перегораю, но потом прихожу в себя и с новыми силами беру все под контроль. Октябрь-ноябрь выдались тяжелыми, сначала у меня отпуск, потом больничный с ребенком, но тут звонок от руководителя со словами, что девочки там не вывозят вдвоем, помогай. Пришлось спасать команду удаленно из дома почти пол месяца. Как итог, работа сделана в срок, но получила я, как водится, сильно меньше желаемого, так как отпускные и больничные - это все же не оклад и премия.

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

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

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

Показать полностью

Про рабочую ответственность или дёшево сердито

Приветствую, давненько хотел написать историю с нашими смежниками по проекту одного частного дома. Но всё лень было)

Я пришёл работать архитектором в небольшую компанию в середине лета этого года. Посадили меня за сложный проект частного дома в 4 этажа.

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

Сам проект вёлся уже полтора года как и побывать рабочий файл успел уже у 7! архитекторов.
Соответственно всё его наполнение напоминало винегрет. Разбирался я в нём с месяц, исправляю его до сих пор.

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

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

Прикол был, когда я узнал что договор с ними был подписан 2 мая и в нём значился срок в "10 рабочих дней с момента подписания договора" - я уже в осадок выпал.

Дальше больше.
Началось рабочее общение, выяснение объёмов и правок.
Объем составлял меньше 40 изделий, обмеры они произвели.

Запросил их обмеры - шок контент. Никаких нужных размеров нету - только нарисованный от руки эскиз каждого элемента схематично и его планируемые размеры. Высот самих конструкций здания нету. Вот просто нету - не померили "а зачем вам?".

Запросил таблицу в экселе с их изделиями - получил бессвязную кашу, где окна (ОК) и двери (ВТ) шли в перемешку без соблюдения порядковых номеров, назначенных ими же. Части информации тупо нет.

Но и это было не самое страшное.
По запросу, мне были предоставленный, прости Господи, чертежи.

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

Важное дополнение для понимание уровня моего заеба - каждое изделие или маленькие группы изделий отправлялись мне в контексте всего файла. Выглядело это следующим образом - мне скидывают около 10 файлов в каждом из которых есть всё элементы по проекту, но они в хаотичном порядке с разными масштабами, с предоставлением видов изнутри помещений, а у некотрых их фасадный вид. К каждому такому файлу шла приписка "в этом файле смотрите изделие (пример) ОК-02, ОК-19, ВТ-03", к следующему файлу другой набор к ознакомлению.

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

Делать нечего, я взялся.
Сначала я 2 месяца требовал у оконщиков навести порядок в своих собственных чертежах, упорядочить и дополнить информацию и произвести адекватные замеры. Бестолку.

Меня кормили завтраками и пропадали на неделю-две, потом возвращались и накидывали ещё чертежей в которых опять были ошибки. Частенько просто отправляли файл, который был забракован мною при проверке ещё в прошлый-позапрошлый раз (по видимому создать папки на компьютере у себя "актуальное" и "устаревшее" оказалось выше мастерства менеджера).

Как итог время начало поджимать и мне пришлось подготовиться к встрече на объекте с ними. И для упрощения этого гемороя пришлось брать всё в свои руки.

Мною были отредактированные и упорядоченные всё их чертежи, составлена таблица в эксель (при этом обнаружилось, что господа ещё не знакомы с порядковым счетом, (после 19 идёт 20, а не 23 в нескольких местах).

Предоставил им собственные обмеры объекта и пакет чертежей, где был указан пунктиром проём каждого окна и собственно само окно с указание ошибок по каждому изделию.
Наглядно, для дебилов.

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

Две недели спустя мне звонит менеджер, которой я всё передал и подробно объяснил суть проблем, и на белом глазу говорит "я только вчера поняла, что ничего не понятно из ваших чертежей".
Уфф... Я человек не конфликтный, даже миролюбивый, но после того, каким тоном я начал всё объяснять - в моём офисе всё стихли и прислушивались, а потом сказали мне, что ссориться со мной никто из них не будет никогда:)

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

Показать полностью

Мощная сцепка

30 лет назад...

Поиграем в бизнесменов?

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

СДЕЛАТЬ ВЫБОР

Знакомство со зверем невиданным

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

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

Открываю глаза - на часах три часа ночи. Как говорила моя бабушка: «Самое время вольным духам на шабаш слетаться!» Поворачиваю голову на звук, а надо мной мышь летучая висит; серая, шерстяная, в растопыренном виде смотрится сантиметров на двадцать пять в полный рост, глазки кругленькие таращит, пасть открыта, зубки ровненькие показывает, выглядит как маленький вампир, но не шипит.

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

Затем я подбежала к дальнему окну со стороны лесочка, мышь прилетела вслед за мной, я открыла форточку и говорю ей: «Лети, дурёха, пока я тебя не поймала!». Мышка застыла в вертикальном положении на несколько секунд, не выключая моторчик, пискнула что-то вроде: «Размечталась, я ещё завтра приду поиграть!» и упорхнула на чердак.

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

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

Знакомство со зверем невиданным Истории из жизни, Воспоминания, Летучая мышь, Страшные истории, Авторский рассказ

Зарисовка мышки по памяти.

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

Отличная работа, все прочитано! Выберите