Жить стало лучше, жить стало веселее
Когда покупаешь одни и те же продукты в одних и тех же магазинах, то процент инфляции рассчитывается в голове как-то сам собой – не нужно иметь ни эконмического образования, ни даже калькулятора...Ещё несколько месяцев тому назад я стал брать сметану 15% – стоила меньше 100руб, да и зачем этот избыток жира в организме – и вот, сегодня она 127руб. Подорожание масла сразу на 100 руб (500 руб за пачку весом 400 грамм) – не прокомментировал только ленивый. Я специально оставил тут эти цифры – вернусь к ним на следующем "апдейте" цен.
В целом, уже несколько лет при посещении продуктовых супермаркетов возникает вопрос: а что тут вообще можно купить, ну вот кроме бакалеи или молочных продуктов? Овощи и фрукты, как правило убитые, даже в сезон. Мясо сомнительное...заводской хлеб давно уже перестал даже напоминать хлеб.
Оставим анализ ситуации экспертам, благо их сейчас много.
#today #flood #observation #everydaylife
Когда покупаешь одни и те же продукты в одних и тех же магазинах, то процент инфляции рассчитывается в голове как-то сам собой – не нужно иметь ни эконмического образования, ни даже калькулятора...Ещё несколько месяцев тому назад я стал брать сметану 15% – стоила меньше 100руб, да и зачем этот избыток жира в организме – и вот, сегодня она 127руб. Подорожание масла сразу на 100 руб (500 руб за пачку весом 400 грамм) – не прокомментировал только ленивый. Я специально оставил тут эти цифры – вернусь к ним на следующем "апдейте" цен.
В целом, уже несколько лет при посещении продуктовых супермаркетов возникает вопрос: а что тут вообще можно купить, ну вот кроме бакалеи или молочных продуктов? Овощи и фрукты, как правило убитые, даже в сезон. Мясо сомнительное...заводской хлеб давно уже перестал даже напоминать хлеб.
Оставим анализ ситуации экспертам, благо их сейчас много.
#today #flood #observation #everydaylife
😐1
Не формат
К сожалению, за минувшую неделю нет продвижений по статье, которую я хотел написать, в том смысле, что нет совсем – есть даже небольшой регресс, а вернуться к этому нужно...не пропадать же начатой работе.
Вот уже которую ночь приходится спать с кондиционером, работающим на охлаждение – такой вот интересный ноябрь.
Несколько дней назад посмотрел интервью, с известным преподавателем английского, благодаря которому, несколько лет назад я сдвинул этот вопрос с мёртвой точки. Просмотр оставил двойственное впечатление: с одной стороны – я не могу ни разделить, ни воспринять серьёзно все эти многочисленные религиозные отсылки, преподносимые как мотивация к созидательной деятельности...с другой стороны – человек действительно преуспел в своём общественно полезном деле...На мой взгляд, это достаточно редкое явление в современном обществе – вокруг сколько угодно людей, занимающихся условно полезным трудом: что-то перепродающими, распространяющими рекламу, названивающими с выгодными предложениями и так далее. Я не собираюсь громко и всех скопом покрыть их матом – все они жертвы нашей структуры экономики – люди вынуждены работать хоть где-то, но счастья это тоже не приносит.
Можно считать это пищей для размышлений. Если что – заголовок отражает тот факт, что я решил в одном посте отразить немногочисленные "события" последних дней, вместо того, что б написать нормальные заметки, посвященные чему-то одному
#today #flood #superflood
К сожалению, за минувшую неделю нет продвижений по статье, которую я хотел написать, в том смысле, что нет совсем – есть даже небольшой регресс, а вернуться к этому нужно...не пропадать же начатой работе.
Вот уже которую ночь приходится спать с кондиционером, работающим на охлаждение – такой вот интересный ноябрь.
Несколько дней назад посмотрел интервью, с известным преподавателем английского, благодаря которому, несколько лет назад я сдвинул этот вопрос с мёртвой точки. Просмотр оставил двойственное впечатление: с одной стороны – я не могу ни разделить, ни воспринять серьёзно все эти многочисленные религиозные отсылки, преподносимые как мотивация к созидательной деятельности...с другой стороны – человек действительно преуспел в своём общественно полезном деле...На мой взгляд, это достаточно редкое явление в современном обществе – вокруг сколько угодно людей, занимающихся условно полезным трудом: что-то перепродающими, распространяющими рекламу, названивающими с выгодными предложениями и так далее. Я не собираюсь громко и всех скопом покрыть их матом – все они жертвы нашей структуры экономики – люди вынуждены работать хоть где-то, но счастья это тоже не приносит.
Можно считать это пищей для размышлений. Если что – заголовок отражает тот факт, что я решил в одном посте отразить немногочисленные "события" последних дней, вместо того, что б написать нормальные заметки, посвященные чему-то одному
#today #flood #superflood
👍1
Накрутили
Прошёл не онлайн RPG – Pillars of Eternity II: Deadfire. Прежде чем продолжить изложение, хочу сразу заметить, что играю я редко и мало: Ведьмак – слышал, видел, но прошёл только первого, остальных – не собираюсь, о других современных RPG или MMORPG – даже толком не знаю. Поэтому мнение моё будет абсолютно дилетантским, и, очевидно, содержащим спойлеры. И, да – первую часть этой игры я тоже не видел, поэтому сравнения будут приводиться с её идейными вдохновителями – Icewind Dale I/II, Baldur's Gates, Planescape Torment.
Итак, после столь пространной преамбулы можно перейти к делу: главное и несомненное достоинство – это действительно изометрическая командная RPG, при этом визуально очень впечатляющая, а многие механики из вышеупомянутых игр были переосмыслены и улучшены. Например, во время отдыха на неспокойной локации вы больше не можете быть прерваны толпой врагов, от которых вы собственно и пытаетесь отдохнуть, чтобы воспополнить запас здоровья. Также, несомненно, улучшился режим невидимости – сделали индикаторы полей зрения врагов – стало понятнее что нужно делать. Сюжет и диалоги тоже на высоте – про это чуть позже.
Что не понравилось: переусложненная механика с кораблями – мало того, что у вас команда из 5 персонажей, со своими сюжетными линиями и так далее, вдобавок к этому вам необходимо нанять кучу матросов, чьи навыки и специализации не пересекаются с обычными персонажами и постоянно обеспечивать их едой питьём и деньгами, а так же оснащать корабль пушками и прочими парусами, а взамен вы получите лишь очень занудную полутекстовую механику корабельных боев, которые проще всегда закончить абордажем, сводящимуся к бою в обычном геймплее. На мой взгляд, авторы излишне детализировали момент морских путешествий, ну да ладно: сама идея странствия по крупному региона мира на корабле, несомненно, довольно интересна.
Плавно перейдём к миру: игра сосредоточена в одном его регионе – Архипелаге мёртвого огня – множеству разрозненных островов с парой достаточно крупных городов. И тут было бы всё хорошо, если б авторы не решили населить его самобытными расами – классические эльфы, гномы и огры тоже присутствуют, но где-то очень в стороне – основное население островов это раса Амуа, внутри которой есть свои племена и ещё касты. Сложилось впечатление, что авторы ушли от европоцентричности, пытаясь изобразить регион Океании/Полинезии, в пользу сего говорит и факт наличия пары конкурирующих между собой капиталистических компаний, чьи бенефициары проживают в других регионах мира. Компании добывают адру – драгоценный минерал, связанный с движением душ и загробным миром...
Вот, собственно, поэтому я и говорю – накрутили – а это я ещё не подошёл к сюжету. Он, в принципе, разноплановый: есть бодание торговых компаний, племен и пиратов, а есть часть связанная с богами. Самое интересное: боги не настоящие, они довольно прямо об этом сообщают главному герою, один из народов Архипелага в древние времена наловчился использовать адру для своих нужд, построил специальные механизмы и смог перевоплотиться в пантеон местных богов. Теперь одно из божест приняло физический облик гигантской статуи, путешествующей по архипелагу и приносящей беды и разрушения тут и там. Основная его цель – разрушить колесо перерождения, непосредственно связанное с адрой, движением душ, перерождением смертных и могуществом богов. После чего и боги и смертные должны будут заново что-то придумать, что делать с этим всем...но станут "свободными". Остальным богам это не нравится, но почему-то вместо деятельных попыток его остановить – посылают вас, как протагониста.
Отдельное важное для меня достоинство игры: почти всех боёв можно избежать. Даже главного босса за вас могут прибить другие, хотя это не очевидно в тот момент, когда нужно принять решение. Часто бывает, что есть одинокий небольшой остров с одной маленькой локацией, попав туда вы видите монстра размером с половину этого острова, при этом никто не просит с ним расправиться – можно быстро убежать и поплыть дальше. Так же нет огромных многоэтажный бесконечных подземелий – всего в меру.
Прошёл не онлайн RPG – Pillars of Eternity II: Deadfire. Прежде чем продолжить изложение, хочу сразу заметить, что играю я редко и мало: Ведьмак – слышал, видел, но прошёл только первого, остальных – не собираюсь, о других современных RPG или MMORPG – даже толком не знаю. Поэтому мнение моё будет абсолютно дилетантским, и, очевидно, содержащим спойлеры. И, да – первую часть этой игры я тоже не видел, поэтому сравнения будут приводиться с её идейными вдохновителями – Icewind Dale I/II, Baldur's Gates, Planescape Torment.
Итак, после столь пространной преамбулы можно перейти к делу: главное и несомненное достоинство – это действительно изометрическая командная RPG, при этом визуально очень впечатляющая, а многие механики из вышеупомянутых игр были переосмыслены и улучшены. Например, во время отдыха на неспокойной локации вы больше не можете быть прерваны толпой врагов, от которых вы собственно и пытаетесь отдохнуть, чтобы воспополнить запас здоровья. Также, несомненно, улучшился режим невидимости – сделали индикаторы полей зрения врагов – стало понятнее что нужно делать. Сюжет и диалоги тоже на высоте – про это чуть позже.
Что не понравилось: переусложненная механика с кораблями – мало того, что у вас команда из 5 персонажей, со своими сюжетными линиями и так далее, вдобавок к этому вам необходимо нанять кучу матросов, чьи навыки и специализации не пересекаются с обычными персонажами и постоянно обеспечивать их едой питьём и деньгами, а так же оснащать корабль пушками и прочими парусами, а взамен вы получите лишь очень занудную полутекстовую механику корабельных боев, которые проще всегда закончить абордажем, сводящимуся к бою в обычном геймплее. На мой взгляд, авторы излишне детализировали момент морских путешествий, ну да ладно: сама идея странствия по крупному региона мира на корабле, несомненно, довольно интересна.
Плавно перейдём к миру: игра сосредоточена в одном его регионе – Архипелаге мёртвого огня – множеству разрозненных островов с парой достаточно крупных городов. И тут было бы всё хорошо, если б авторы не решили населить его самобытными расами – классические эльфы, гномы и огры тоже присутствуют, но где-то очень в стороне – основное население островов это раса Амуа, внутри которой есть свои племена и ещё касты. Сложилось впечатление, что авторы ушли от европоцентричности, пытаясь изобразить регион Океании/Полинезии, в пользу сего говорит и факт наличия пары конкурирующих между собой капиталистических компаний, чьи бенефициары проживают в других регионах мира. Компании добывают адру – драгоценный минерал, связанный с движением душ и загробным миром...
Вот, собственно, поэтому я и говорю – накрутили – а это я ещё не подошёл к сюжету. Он, в принципе, разноплановый: есть бодание торговых компаний, племен и пиратов, а есть часть связанная с богами. Самое интересное: боги не настоящие, они довольно прямо об этом сообщают главному герою, один из народов Архипелага в древние времена наловчился использовать адру для своих нужд, построил специальные механизмы и смог перевоплотиться в пантеон местных богов. Теперь одно из божест приняло физический облик гигантской статуи, путешествующей по архипелагу и приносящей беды и разрушения тут и там. Основная его цель – разрушить колесо перерождения, непосредственно связанное с адрой, движением душ, перерождением смертных и могуществом богов. После чего и боги и смертные должны будут заново что-то придумать, что делать с этим всем...но станут "свободными". Остальным богам это не нравится, но почему-то вместо деятельных попыток его остановить – посылают вас, как протагониста.
Отдельное важное для меня достоинство игры: почти всех боёв можно избежать. Даже главного босса за вас могут прибить другие, хотя это не очевидно в тот момент, когда нужно принять решение. Часто бывает, что есть одинокий небольшой остров с одной маленькой локацией, попав туда вы видите монстра размером с половину этого острова, при этом никто не просит с ним расправиться – можно быстро убежать и поплыть дальше. Так же нет огромных многоэтажный бесконечных подземелий – всего в меру.
🔥2🥰1
Не формат (опять)
Поздняя осень плавно перетекает в зиму: с утра идёт мокрый снег, разбавляя серо-коричневую гамму пейзажа неуверенными клочками белизны. Предыдущие же недели были теплыми и дождливыми – одиноко и неуместно на этом фоне смотрелись устанавливаемые тут и там новогодние елки. Я же, ничтоже сумняшеся, решил, что, пройдя вторую часть Pillars of Eternity, можно поиграть и в первую. Но об этом как-нибудь в другой раз, или, и вовсе, никогда.
Также, наконец, добил код для планируемой статьи (или он меня добил): вроде, вещь и несложная, но требующая много внимания к деталям. Учитывая мой темп, вероятно она выйдет в следующем году, хотя не буду ничего загадывать. Имею твёрдое намерение закончить эту работу с одной единственной целью – не дать пропасть усилиям втуне.
За сим, pretty much all that I'd like to say, looking forward to Xmas mood.
#today #flood #superflood #plans
Поздняя осень плавно перетекает в зиму: с утра идёт мокрый снег, разбавляя серо-коричневую гамму пейзажа неуверенными клочками белизны. Предыдущие же недели были теплыми и дождливыми – одиноко и неуместно на этом фоне смотрелись устанавливаемые тут и там новогодние елки. Я же, ничтоже сумняшеся, решил, что, пройдя вторую часть Pillars of Eternity, можно поиграть и в первую. Но об этом как-нибудь в другой раз, или, и вовсе, никогда.
Также, наконец, добил код для планируемой статьи (или он меня добил): вроде, вещь и несложная, но требующая много внимания к деталям. Учитывая мой темп, вероятно она выйдет в следующем году, хотя не буду ничего загадывать. Имею твёрдое намерение закончить эту работу с одной единственной целью – не дать пропасть усилиям втуне.
За сим, pretty much all that I'd like to say, looking forward to Xmas mood.
#today #flood #superflood #plans
Наблюдение
Пару недель назад, сидя дома, и занимаясь своими повседневными делами в Интернете, я начал задумываться: а зачем мне так называемое широкополосное подключение? – Действительно, сейчас вопрос уже не в скорости, а в "жонглировании" текуще-включенным набором расширений Chrome, чтобы нужные ресурсы наконец заработали хоть как-то.
Теперь я знаю что отвечать на предложения очередного провайдера.
#today #flood #superflood #humor #blackhumor #observation
Пару недель назад, сидя дома, и занимаясь своими повседневными делами в Интернете, я начал задумываться: а зачем мне так называемое широкополосное подключение? – Действительно, сейчас вопрос уже не в скорости, а в "жонглировании" текуще-включенным набором расширений Chrome, чтобы нужные ресурсы наконец заработали хоть как-то.
Теперь я знаю что отвечать на предложения очередного провайдера.
#today #flood #superflood #humor #blackhumor #observation
🥰1
Немое кино
Сегодня, как, впрочем, и в обозримом будущем, технических постов не будет: пока температура за окном падает, накал рабочих будней лишь возрастает, и долгие зимние вечера не выдаются продуктивными. Из забавного: взялся пройти игру, в которую последний раз играл на ЭЛТ-мониторе (все ли сейчас знают, что это такое?) – полёт нормальный, впечатления положительные.
Посмотрел несколько полнометражных фильмов, выбранных по хитрой авторской методике, называемой в быту – от балды. Среди оставивших впечатления: Индокитай, Общество мёртвых поэтов, Пролетая над гнездом кукушки. Более-менее разные жанры, страны, годы выпуска и актеры. Что их всех объединяет, на мой взгляд, – сильная актерская игра и наличие сюжета, прорисовка деталей, делающая картину объёмной.
Так, например, Общество мёртвых поэтов я вообще после первых 15-ти минут стал смотреть вполглаза, решив про себя, что это (лайтовое в сравнении с более поздними фильмами) кино о подростковой жизни. И вот, в определенный момент, я поймал себя на стойком ощущении, что один из юных героев фильма в данный момент врёт – чисто логически в этом невозможно было быть абсолютно уверенным, значит дело именно в игре актера – мимика, жесты, интонации. Минут через 10 всё это нашло своё трагическое отражение на экране – я понял, что был неправ…сюжет обрел целостность.
Индокитай, должно быть относится к мелодрамам, что не помешало мне его посмотреть – ходил после него, как и после “Пролетая над гнездом кукушки” пришибленным... Фильм сопровождается закадровым голосом, но большую роль играют детали: изначальная репрезентация главных героев, сцены добычи природного каучука…многое другое. Буду честным – изначально я и слова такого не знал, что это за страна такая…
Пожалуй, последний фильм оставлю без комментариев.
#today #flood #superflood #leisure #movies
Сегодня, как, впрочем, и в обозримом будущем, технических постов не будет: пока температура за окном падает, накал рабочих будней лишь возрастает, и долгие зимние вечера не выдаются продуктивными. Из забавного: взялся пройти игру, в которую последний раз играл на ЭЛТ-мониторе (все ли сейчас знают, что это такое?) – полёт нормальный, впечатления положительные.
Посмотрел несколько полнометражных фильмов, выбранных по хитрой авторской методике, называемой в быту – от балды. Среди оставивших впечатления: Индокитай, Общество мёртвых поэтов, Пролетая над гнездом кукушки. Более-менее разные жанры, страны, годы выпуска и актеры. Что их всех объединяет, на мой взгляд, – сильная актерская игра и наличие сюжета, прорисовка деталей, делающая картину объёмной.
Так, например, Общество мёртвых поэтов я вообще после первых 15-ти минут стал смотреть вполглаза, решив про себя, что это (лайтовое в сравнении с более поздними фильмами) кино о подростковой жизни. И вот, в определенный момент, я поймал себя на стойком ощущении, что один из юных героев фильма в данный момент врёт – чисто логически в этом невозможно было быть абсолютно уверенным, значит дело именно в игре актера – мимика, жесты, интонации. Минут через 10 всё это нашло своё трагическое отражение на экране – я понял, что был неправ…сюжет обрел целостность.
Индокитай, должно быть относится к мелодрамам, что не помешало мне его посмотреть – ходил после него, как и после “Пролетая над гнездом кукушки” пришибленным... Фильм сопровождается закадровым голосом, но большую роль играют детали: изначальная репрезентация главных героев, сцены добычи природного каучука…многое другое. Буду честным – изначально я и слова такого не знал, что это за страна такая…
Пожалуй, последний фильм оставлю без комментариев.
#today #flood #superflood #leisure #movies
👍2
Тик
Самый короткий день года оказался неожиданно солнечным и теплым. Низкое зимнее солнце прошло по небосклону, окрашивая кромку перистых облаков, отражаясь оранжево-жёлтыми сполохами в окнах высоток. Сугробы, ещё пару дней назад лежавшие величественными белыми барханами, осунулись, посерели и покрылись прогалинами, уступив место лужам и тонкой ледяной корке. Пейзаж в окнах стал необъясним – что это? – Холодная оcень, зима, ранняя весна?
Однако календарь неумолимо диктует свою волю, и в темное время суток, округа заливается другим светом: сияют теплые огни гирлянд в окнах квартир, заманчиво переливаются богато декорированные фасады торговых центров, манят музыкой и весельем катки.
Магазины тоже преобразились: жестяные банки горошка весело теснят бутылки игристого, торопящийся народ наполняет корзины подарочными наборами конфет и соком. Рыночные торговцы сулят небывалые явшества, которые наполнят их прилавки ближе к той уже совсем недалекой порубежной дате, которая и наводит всю эту радостную суету. Сами собой вспоминаются строки и строфы рождественских мелодий.
В эти предновогодние дни, кажется, что время – нечто больше, чем абстрактная физическая величина, скучно обозначаемая буквой t, с вменённой ей обязанностью течь одинаково и равномерно повсюду – нет, эти сжатые короткие дни и длинные ночи текут по каким-то своим, предпраздничным законам, отгорая один за одним, проводимые в предвкушении и подготовке к встрече Нового года.
#today #flood #observation #weather #winter_is_coming #new_year
Самый короткий день года оказался неожиданно солнечным и теплым. Низкое зимнее солнце прошло по небосклону, окрашивая кромку перистых облаков, отражаясь оранжево-жёлтыми сполохами в окнах высоток. Сугробы, ещё пару дней назад лежавшие величественными белыми барханами, осунулись, посерели и покрылись прогалинами, уступив место лужам и тонкой ледяной корке. Пейзаж в окнах стал необъясним – что это? – Холодная оcень, зима, ранняя весна?
Однако календарь неумолимо диктует свою волю, и в темное время суток, округа заливается другим светом: сияют теплые огни гирлянд в окнах квартир, заманчиво переливаются богато декорированные фасады торговых центров, манят музыкой и весельем катки.
Магазины тоже преобразились: жестяные банки горошка весело теснят бутылки игристого, торопящийся народ наполняет корзины подарочными наборами конфет и соком. Рыночные торговцы сулят небывалые явшества, которые наполнят их прилавки ближе к той уже совсем недалекой порубежной дате, которая и наводит всю эту радостную суету. Сами собой вспоминаются строки и строфы рождественских мелодий.
В эти предновогодние дни, кажется, что время – нечто больше, чем абстрактная физическая величина, скучно обозначаемая буквой t, с вменённой ей обязанностью течь одинаково и равномерно повсюду – нет, эти сжатые короткие дни и длинные ночи текут по каким-то своим, предпраздничным законам, отгорая один за одним, проводимые в предвкушении и подготовке к встрече Нового года.
#today #flood #observation #weather #winter_is_coming #new_year
👍2👏2
Почти
Рождество. Точнее, сегодня канун католического Рождества. Но у меня, ровно как и у большинства наших сограждан праздника сегодня не было, лишь его ожидание. В эти последние дни годаникто не хочет работать модно подводить итоги, что ж – почему бы и нет.
Итак, в этом году я:
- сменил работу
- запустил 2 телегам-канала
- написал несколько статей на Хабре
- перестал общаться с мегатоксичным бывшим коллегой
- писал код как обычно
- написал несколько постов и статей, которые понравились мне самому
Теперь негативная часть:
- ведение блога и написание статей отклонилось со своего курса и не принесло материальных бенефитов, хотя статьи и оплачиваемы, но очень скромно
- занятия английским пришлось поставить на длительную паузу
В последнее время часто вспоминаю дурацкую песню "Это был тяжелый год" – впервые я её услышал ещё в очень спокойный и уже довольно ныне далекий 2019 (18, 20 ?) год, услышал – и посмеялся. Сейчас же она более чем актуальна...но уже не вызывает улыбки.
На этом закроем топик.
#today #new_year #flood #summary
Рождество. Точнее, сегодня канун католического Рождества. Но у меня, ровно как и у большинства наших сограждан праздника сегодня не было, лишь его ожидание. В эти последние дни года
Итак, в этом году я:
- сменил работу
- запустил 2 телегам-канала
- написал несколько статей на Хабре
- перестал общаться с мегатоксичным бывшим коллегой
- писал код как обычно
- написал несколько постов и статей, которые понравились мне самому
Теперь негативная часть:
- ведение блога и написание статей отклонилось со своего курса и не принесло материальных бенефитов, хотя статьи и оплачиваемы, но очень скромно
- занятия английским пришлось поставить на длительную паузу
В последнее время часто вспоминаю дурацкую песню "Это был тяжелый год" – впервые я её услышал ещё в очень спокойный и уже довольно ныне далекий 2019 (18, 20 ?) год, услышал – и посмеялся. Сейчас же она более чем актуальна...но уже не вызывает улыбки.
На этом закроем топик.
#today #new_year #flood #summary
👍2❤1
С Новым Годом!
В очередной раз выпал снег: крупный и мокрый, он, медленно кружа, налип на деревья, покрыл землю, спрятав под собой следы уже запущенных фейерверков и опустошенного алкоголя.
Считанные часы остались до Нового Года: для кого-то это время финального “рывка” по магазинам, кто-то гладит своё вечернее платье, кто-то ставит шампанское в холодильник, многие поглощены уютом кухонь, а кто-то в пути.
Для этого маленького канала этот Новый Год – первый. И, хотя, вас ни 111, да и мне тоже, пока что, ни 111 лет, могу сказать, что половину из вас я знаю вполовину меньше, чем хотел бы)
С Новым Годом! Помните, что несмотря на обстоятельства и невзгоды, важно сохранить, то, что делает нас самими собой! Верьте в мечту, идите к своим целям, наперекор всему!
P.S. моя любимая новогодняя песня: https://youtu.be/_AcgdiEuOZ4?si=vO2WilMigLoGIb6V
В очередной раз выпал снег: крупный и мокрый, он, медленно кружа, налип на деревья, покрыл землю, спрятав под собой следы уже запущенных фейерверков и опустошенного алкоголя.
Считанные часы остались до Нового Года: для кого-то это время финального “рывка” по магазинам, кто-то гладит своё вечернее платье, кто-то ставит шампанское в холодильник, многие поглощены уютом кухонь, а кто-то в пути.
Для этого маленького канала этот Новый Год – первый. И, хотя, вас ни 111, да и мне тоже, пока что, ни 111 лет, могу сказать, что половину из вас я знаю вполовину меньше, чем хотел бы)
С Новым Годом! Помните, что несмотря на обстоятельства и невзгоды, важно сохранить, то, что делает нас самими собой! Верьте в мечту, идите к своим целям, наперекор всему!
P.S. моя любимая новогодняя песня: https://youtu.be/_AcgdiEuOZ4?si=vO2WilMigLoGIb6V
YouTube
Wham! - Last Christmas (ROCK COVER by Sershen&Zaritskaya)
SUPPORT US ON PATREON:
https://www.patreon.com/sershenzaritskaya
------------------------------------------------------------------------
Follow us on social media:
------------------------------------------------------------------------
Instagram:
htt…
https://www.patreon.com/sershenzaritskaya
------------------------------------------------------------------------
Follow us on social media:
------------------------------------------------------------------------
Instagram:
htt…
❤1🔥1
Итоги по статьям
По итогу года публикация "Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона" стала самой популярной по прочтениям и лайкам из моих статей на Хабре, набрав более семи с половиной тысяч прочтений. Было бы интересно порассуждать почему именно она и т.д., но для этого у меня слишком маленькая статистика.
#today #flood #habr #new_year
По итогу года публикация "Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона" стала самой популярной по прочтениям и лайкам из моих статей на Хабре, набрав более семи с половиной тысяч прочтений. Было бы интересно порассуждать почему именно она и т.д., но для этого у меня слишком маленькая статистика.
#today #flood #habr #new_year
Хабр
Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона
Все мы в школе проходили деление «столбиком» — простой алгоритм, который несложно реализовать, вот только не очень быстрый. В прошлый раз мы рассматривали, как компилятор оптимизирует деление в...
👍1
Праздники
Подведу (шуточные) итоги по праздникам, итак я:
- остался жив
- пил умеренно
- съездил во Владимир на несколько дней
- вспомнил почему я не люблю российскую и (большую) часть советской музыки
- вспомнил за что я люблю советские фильмы
- поучаствовал в мастер классе не скажу каком
- не программировал (!)
- не читал технические статьи
- попробовал прочитать две фантастических книги из Топ-100 - не смог
#today #flood #superflood #humor #new_year
Подведу (шуточные) итоги по праздникам, итак я:
- остался жив
- пил умеренно
- съездил во Владимир на несколько дней
- вспомнил почему я не люблю российскую и (большую) часть советской музыки
- вспомнил за что я люблю советские фильмы
- поучаствовал в мастер классе не скажу каком
- не программировал (!)
- не читал технические статьи
- попробовал прочитать две фантастических книги из Топ-100 - не смог
#today #flood #superflood #humor #new_year
🔥1👏1😁1
Книги
Были временаи получше, когда я был готов читать, что угодно в рамках жанров НФ и фэнтези. Были времена, когда я читал книги по условной Computer Science – и тогда "серьёзная" книга была на неделю, а художественная – на вечер.
Но, уже несколько лет как, настали времена, когда мне нужна особая причина, что б начать, а главное – закончить книгу. Действительно: читать книги по программированию? – Полноте, зачем? – Собес в Яндекс я прошёл уж 4 года как, полный список языков и технологий, который я там-сям применял утомит своей длиной любого HR...
С художественными книгами история более интересная: читать их можно, исходя из двух основных посылов, – удовольствия и ценного содержания. Ценного содержания в развлекательной литературе обычно немного, более того, книги ценного содержания, как правило, читать трудно.
Идём дальше, от чего же зависит удовольствие от чтения, по моему субъективному мнению? – От двух категорий: сюжета и языка (он же стиль).
Возможно, это неочевидно, но сюжет (также как и глубокий смысл) может практически отсутствовать – малые литературные формы слишком "малы", чтоб выдать читателю несколько запутанных сюжетных линий. Примеров таких сколько угодно: Московская Пасха, Смерть в доме – пируэтов в сюжете либо нет совсем, либо он один.
Язык, как таковой, – отсутствовать не может, более того, я не возьмусь систематически выписать какие характеристики он может иметь. Совершенно точно, что книгу с неудачным для меня стилем изложения я, скорее всего, брошу, невзирая на сюжет. Бывает такое, что язык самсокровище ярок и специфичен (Бегущая по волнам), бывает такое что он легок и весел, вытаскивая всё повествование.
#today #flood #superflood #books #opinion #ToBeContinued
Были времена
Но, уже несколько лет как, настали времена, когда мне нужна особая причина, что б начать, а главное – закончить книгу. Действительно: читать книги по программированию? – Полноте, зачем? – Собес в Яндекс я прошёл уж 4 года как, полный список языков и технологий, который я там-сям применял утомит своей длиной любого HR...
С художественными книгами история более интересная: читать их можно, исходя из двух основных посылов, – удовольствия и ценного содержания. Ценного содержания в развлекательной литературе обычно немного, более того, книги ценного содержания, как правило, читать трудно.
Идём дальше, от чего же зависит удовольствие от чтения, по моему субъективному мнению? – От двух категорий: сюжета и языка (он же стиль).
Возможно, это неочевидно, но сюжет (также как и глубокий смысл) может практически отсутствовать – малые литературные формы слишком "малы", чтоб выдать читателю несколько запутанных сюжетных линий. Примеров таких сколько угодно: Московская Пасха, Смерть в доме – пируэтов в сюжете либо нет совсем, либо он один.
Язык, как таковой, – отсутствовать не может, более того, я не возьмусь систематически выписать какие характеристики он может иметь. Совершенно точно, что книгу с неудачным для меня стилем изложения я, скорее всего, брошу, невзирая на сюжет. Бывает такое, что язык сам
#today #flood #superflood #books #opinion #ToBeContinued
🔥3
Дикость
Очень давно не писал технического контента – решил исправиться. То, что в том году разбирал относительно криптографии – не хочу сюда постить, так как мне, как минимум, нужен редактор формул, а как максимум, – вышло бы длинно и нудно.
Не имея под рукой интересных проблем, что б их описать, решил прибегнуть к помощи небезызвестного (и уже упоминавшегося в канале) сервиса Leetcode. Выбрал задачу Wildcard Matching, уровня hard, их тех, что раньше пробовал решить, но не сумел.
Итак, вот оригинальная формулировка:
Ограничения:
Сразу заметим пару моментов: во-первых, строка и образец могут быть достаточно длинны, что б сделать совсем наивные решения неэффективными, во-вторых, строка не может содержать '?' или '*', а в образце – не бывает экранирования, в-третьих, строка должна полностью соответствовать образцу.
Первая приходящая в голову мысль: давайте будем итерироваться по строке и образцу "одновременно", ведь пока мы не встретили "звездочку" – всё абсолютно очевидно. Действительно, представим себе ту же задачу, но символов '*' – нет. Получим следующий набросок решения:
Продолжение следует.
#today #c_plus_plus #leetcode #algo #ToBeContinued
Очень давно не писал технического контента – решил исправиться. То, что в том году разбирал относительно криптографии – не хочу сюда постить, так как мне, как минимум, нужен редактор формул, а как максимум, – вышло бы длинно и нудно.
Не имея под рукой интересных проблем, что б их описать, решил прибегнуть к помощи небезызвестного (и уже упоминавшегося в канале) сервиса Leetcode. Выбрал задачу Wildcard Matching, уровня hard, их тех, что раньше пробовал решить, но не сумел.
Итак, вот оригинальная формулировка:
Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and '*' where:
'?' Matches any single character.
'*' Matches any sequence of characters (including the empty sequence).
The matching should cover the entire input string (not partial).
Ограничения:
0 <= s.length, p.length <= 2000
s contains only lowercase English letters.
p contains only lowercase English letters, '?' or '*'.
Сразу заметим пару моментов: во-первых, строка и образец могут быть достаточно длинны, что б сделать совсем наивные решения неэффективными, во-вторых, строка не может содержать '?' или '*', а в образце – не бывает экранирования, в-третьих, строка должна полностью соответствовать образцу.
Первая приходящая в голову мысль: давайте будем итерироваться по строке и образцу "одновременно", ведь пока мы не встретили "звездочку" – всё абсолютно очевидно. Действительно, представим себе ту же задачу, но символов '*' – нет. Получим следующий набросок решения:
bool isMatch(string s, string p) {
auto sIndex = 0;
auto pIndex = 0;
auto sLen = s.length();
auto pLen = p.length();
int starIndex = -1;
int matchedIndex = 0;
while (sIndex < sLen)
{
// simply match then we increment the both indexes
if (pIndex < pLen && (p[pIndex] == '?' || p[pIndex] == s[sIndex]))
{
pIndex++;
sIndex++;
continue;
}
return false;
}
//still possible to have an unfinished pattern here
//it matches if and only if the pattern is over
return pIndex == pLen;
}
Продолжение следует.
#today #c_plus_plus #leetcode #algo #ToBeContinued
👍2
Дикость продолжается
Кратко объясню идеи сниппета из прошлого поста:
Идём по строке и образцу, если оба символа совпадает, просто наращиваем оба индекса, если в образце стоит знак вопроса - делаем тоже самое, т.к. он совпадает с любым другим символом, при первом же не совпадении – рапортуем о неудаче. Всё предельно просто.
Ну теперь попробуем вернуть "звёздочки": по определению '*' соответствует нулю либо любому иному количеству символов...то есть – она не соответствует ничему – весь вопрос в том, чему соответствует символы за ней...Что если мы попробуем матчить остаток строки остатку шаблона, а если не сможем – просто нарастим индекс в строке? Вот примерно такой набросочек:
Это почти работает, в следующий раз – объясню в чём загвоздка и завершу этот маленький цикл.
#today #c_plus_plus #leetcode #algo #ToBeContinued
Кратко объясню идеи сниппета из прошлого поста:
Идём по строке и образцу, если оба символа совпадает, просто наращиваем оба индекса, если в образце стоит знак вопроса - делаем тоже самое, т.к. он совпадает с любым другим символом, при первом же не совпадении – рапортуем о неудаче. Всё предельно просто.
Ну теперь попробуем вернуть "звёздочки": по определению '*' соответствует нулю либо любому иному количеству символов...то есть – она не соответствует ничему – весь вопрос в том, чему соответствует символы за ней...Что если мы попробуем матчить остаток строки остатку шаблона, а если не сможем – просто нарастим индекс в строке? Вот примерно такой набросочек:
class Solution {
public:
bool isMatch(string s, string p) {
auto sIndex = 0;
auto pIndex = 0;
if (p.empty())
{
return s.empty();
}
return isMatchImpl(s, p, sIndex, pIndex);
}
bool isMatchImpl(const string& s, string& p, int sIndex, int pIndex)
{
while (sIndex < s.size() && pIndex < p.size())
{
if (p[pIndex] == '?')
{
++sIndex, ++pIndex;
continue;
}
if (p[pIndex] == '*')
{
while (pIndex < p.size() - 1 && p[pIndex + 1] == '*')
{
++pIndex;
}
return matchStar(s, p, sIndex, ++pIndex);
}
if (p[pIndex] == s[sIndex])
{
++sIndex, ++pIndex;
continue;
}
return false;
}
if (sIndex < s.size() && (pIndex = p.size()))
{
return false;
}
if (sIndex == s.size())
{
while(pIndex < p.size())
{
if (p[pIndex] != '*')
{
return false;
}
++pIndex;
}
return true;
}
return true;
}
bool matchStar(const string& s, string& p, int sIndex, int pIndexAtStop)
{
// there is nothing after the star
if (pIndexAtStop >= p.size())
{
return true;
}
auto stopCh = p[pIndexAtStop];
cout << "stopchar = " << stopCh << endl;
while (sIndex < s.size())
{
if (s[sIndex] == stopCh || stopCh == '?')
{
auto matched = isMatchImpl(s, p, sIndex + 1, pIndexAtStop + 1);
if (matched)
{
return true;
}
}
++sIndex;
}
return false;
}
}
Это почти работает, в следующий раз – объясню в чём загвоздка и завершу этот маленький цикл.
#today #c_plus_plus #leetcode #algo #ToBeContinued
👍1
Закончим эту дикость
Не секрет, что для алгоритмов есть понятие корректности и сложности выполнения. С корректностью – всё нормально, с пространственной сложностью – всё сносно, она линейна от длины образца (тратим стек на каждую звездочку), со временной сложностью – плоховато...Позвольте мне не заниматься тут этими вычислениями – достаточно заметить, что платформа выдает Time Limit Exceeded на паттернах типа этого: "b**bb**a**bba*b**a*bbb**aba***babbb*aa****aabb*bbb***a".
Что же делать? На самом деле у нас очень много лишних действий...Предположим у нас есть часть выражение p1 даже с несколькими '*' и мы нашли, что оно матчит часть строки s1 (т.е. по сути части между звездочками в паттерне матчатся), и пусть в остатке шаблона p2 тоже есть "звездочки", тут важно понять, что вне зависимости от дальнейших сравнений – нет смысла заново сравнивать уже совпавшую часть шаблона p1. Действительно, при новом сравнении мы получили бы s1', уходящую правее, чем s1 – но в этом нет никакого смысла, т.к. звездочки в p2 итак могут "съесть" эти символы.
А вот и код:
#today #c_plus_plus #leetcode #algo
Не секрет, что для алгоритмов есть понятие корректности и сложности выполнения. С корректностью – всё нормально, с пространственной сложностью – всё сносно, она линейна от длины образца (тратим стек на каждую звездочку), со временной сложностью – плоховато...Позвольте мне не заниматься тут этими вычислениями – достаточно заметить, что платформа выдает Time Limit Exceeded на паттернах типа этого: "b**bb**a**bba*b**a*bbb**aba***babbb*aa****aabb*bbb***a".
Что же делать? На самом деле у нас очень много лишних действий...Предположим у нас есть часть выражение p1 даже с несколькими '*' и мы нашли, что оно матчит часть строки s1 (т.е. по сути части между звездочками в паттерне матчатся), и пусть в остатке шаблона p2 тоже есть "звездочки", тут важно понять, что вне зависимости от дальнейших сравнений – нет смысла заново сравнивать уже совпавшую часть шаблона p1. Действительно, при новом сравнении мы получили бы s1', уходящую правее, чем s1 – но в этом нет никакого смысла, т.к. звездочки в p2 итак могут "съесть" эти символы.
А вот и код:
class Solution {
public:
bool isMatch(string s, string p) {
auto sIndex = 0;
auto pIndex = 0;
auto sLen = s.length();
auto pLen = p.length();
int starIndex = -1;
int matchedIndex = 0;
while (sIndex < sLen)
{
// simply match then we increment the both indexes
if (pIndex < pLen && (p[pIndex] == '?' || p[pIndex] == s[sIndex]))
{
pIndex++;
sIndex++;
}
// if it's a star then memorize its position, memorize the string position and go further to the next pattern index
// note that here we can "consume" several stars going in the row
else if (pIndex < pLen && p[pIndex] == '*')
{
starIndex = pIndex;
matchedIndex = sIndex;
pIndex++;
}
// it's a mismatch but there is a star somewhere before it
// then let's get back to the next index after the star in the pattern
// and the star has eaten another symbol in the string
else if (starIndex != -1)
{
pIndex = starIndex + 1;
matchedIndex++;
sIndex = matchedIndex;
}
//either mismatch or the pattern is over when the string is not
else
{
return false;
}
}
//still possible to have an unfinished pattern here
// advance it while it's a star
while (pIndex < pLen && p[pIndex] == '*') {
pIndex++;
}
//it matches if and only if the pattern is over
return pIndex == pLen;
}
};
#today #c_plus_plus #leetcode #algo
👍1