Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Простое (не очень) увлажнение квартиры

Reading time15 min
Views20K

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

Читать далее

Как сосредоточенность на процессе портит портфолио дизайнера

Reading time8 min
Views3.1K

В 1935 году в Австралию привезли 102 тростниковые жабы с целью контроля популяции жуков, угрожавших прибыльной индустрии сахарного тростника. Перенесёмся в настоящее время: сегодня в Австралии насчитывается примерно двести миллионов тростниковых жаб — это инвазивная чума, уничтожающая аборигенные виды и распространяющая болезни.

Самые благие намерения часто могут приводить к противоположным результатам и иметь катастрофические последствия. То же самое относится и к портфолио дизайнера. В туманном прошлом те, кто занимался наймом на должности, связанные с дизайном (и особенно наймом в сфере дизайна UX), устали от просмотра портфолио, содержавших только готовые дизайнерские работы. «Вот оно», — произносил соискатель и улыбался, уверенный, что его работа скажет всё сама за себя. Однако без контекста было почти невозможно судить, была ли конкретная работа успешной. В чём заключалась её цель? Как вы взаимодействовали с клиентом? Какие ещё направления вы пробовали? Как клиенты влияли на результат? В чём заключался ваш личный вклад? И так далее.

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

Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит

Reading time9 min
Views50K
Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.

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

Неполная, неточная и наполовину выдуманная история исключений

Reading time9 min
Views8.1K

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

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

Чтобы программа не грохалась, а выдавала осмысленное сообщение и давала возможность продолжить работу, надо было добавить проверку.

Читать далее

Squid против 3proxy: чем обусловлен выбор прокси-сервера в Traffic Inspector Next Generation

Reading time7 min
Views9.6K

В качестве прокси-сервера в архитектуре сетевых шлюзов различных производителей часто используется 3proxy. Этот выбор обусловлен, прежде всего, тем, что 3proxy — бесплатен, имеет открытый исходный код, компактные размеры и может работать под управлением множества ОС. Однако для универсального шлюза безопасности Traffic Inspector Next Generation (TING) мы выбрали другое решение: доработанный и модифицированный Squid. В этой статье мы расскажем о том, почему мы остановили свой выбор именно на этом продукте, а также поговорим о внесенных в него изменениях, добавляющих в реализованный на базе TING прокси-сервер новые возможности.

Читать далее

Анимация текстовых переходов

Reading time2 min
Views8.8K

Идея этой демонстрации пришла из игры Session Skate. В начальных титрах «SESSION» каждая буква быстро исчезает. Это выглядело довольно круто, и я сразу понял, что могу сделать это с помощью view-transitionsetInterval() и .textContent. Итак, я завёл себе задачу в todo, чтобы сделать это, потому что пришло время заняться фигнёй, а не работой.

Читать далее

Как ChatGPT за меня тестовое задание для собеседования писал

Reading time6 min
Views66K

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

И мне вдруг подумалось, а как хайповый chatGPT мог бы справиться с таким полуреальным, но вполне полезным для меня, заданием?

Читать далее

Как быстро растут сети: прогресс Midjourney спустя полгода

Reading time11 min
Views61K
Запрос stars world time 27 июня и спустя полгода.

«100500-ый текст про Midjourney», — подумал сейчас кто-то. Справедливости ради, шумиха вокруг нейросети немного поутихла, а работа над Midjourney — нет. Сейчас доступна четвертая версия генератора картинок, и если вы еще его не тестировали — самое время.

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

Если и это вам бесполезно, то под катом много красивых и смешных картинок — котов и «горячих собак».
Читать дальше →

Почему форумы продолжают жить

Reading time5 min
Views42K

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

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

Или спросим иначе: почему старые форумы продолжают существовать в 2023 году и там сохраняется своё коммьюнити (преимущественно, по специализированным темам)? Хотя, вы наверное уже догадались.
Читать дальше →

Магия оптимизации SQL запросов

Reading time7 min
Views73K

Даже самый простой SQL запрос можно выполнить по-разному. Но из всех вариантов СУБД нужно выбрать оптимальный, как же это сделать? Неужели придётся перебрать все возможные варианты? Давайте разбираться.

Читать далее

Как устроены интернет-платежи в Dodо

Reading time25 min
Views14K

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

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

Читать далее

Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7

Reading time3 min
Views164K

Очень часто возникающий вопрос: где можно разместить скрипты на Python, Flask-приложение, телеграм или дискорд ботов?

Один из вариантов — на своем компьютере при наличии внешнего IP-адреса и опыта в настройке проброса портов на роутере.

Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота

Читать далее

Резервное копирование репозиториев с github, gitlab

Reading time1 min
Views10K
main

Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.

Читать дальше →

Анализ HTA файла, содержащего обфусцированный JavaScript код

Reading time3 min
Views6.9K

Попался мне на глаза ресурс, рекомендующий разные обфускаторы и деобфускаторы JavaScript. Решил проверить свои силы и самому поработать деобфускатором. А для проверки нашёл простенький вредоносный файлик.

Читать далее

С 31-го февраля в России полностью запретят VPN

Reading time11 min
Views161K

Как вам заголовок, а? Как вам такой подарочек на Рождество? 

Нет, это неправда, это шутка такая.

Не с 7-го января запретят. С другого числа запретят.

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

AmneziaVPN снова на связи!

Читать далее

Автономный LTE роутер своими руками | Часть 1 — От идеи до схемы

Level of difficultyMedium
Reading time14 min
Views39K

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

Да-да, это именно разработка собственного роутера, не простой допил уже имеющегося и переупаковка в другой корпус. Отнюдь! Схема, печатная плата, пайка – всё сделаем сами и защитим диплом. Заинтересовал?

Тогда добро пожаловать под кат

Тринитит — стеклянные слёзы атомного века

Reading time7 min
Views22K

«Если сияние тысячи солнц вспыхнуло бы в небе, это было бы подобно блеску Всемогущего…-Я стану смертью, Разрушителем Миров».

Эти слова произнёс Роберт Оппенгеймер 16 июля 1945 года, после того, как в 5.29 на полигоне Аламогордо в Нью-Мексико была испытана первая атомная бомба под кодовым названием «Gadget» («Штуковина»). Заряд располагался внутри специально возведённой тридцатиметровой башни, а физики и генералы наблюдали за взрывом из бункера. Само испытание называлось «Тринити».

Именно тогда, в 5.29 утра по местному времени, на Земле впервые образовался новый минерал – стеклопесок, оставшийся на месте взрыва. Кристаллы минерала получились красноватыми и зеленоватыми из-за включений радиоактивных металлов. Новое вещество назвали «тринитит».

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

Читать далее

Стрёмное собеседование в Яндекс

Reading time3 min
Views93K
Находит меня хеадхантерша из другой страны и предлагает попробовать пройти собеседование в Яндекс. Работы почти нет, зарплаты, судя по рассылкам, там большие. Немножко не тот профиль вообще, но в частности в требуемой теме полгода опыта есть. Сказала, что там задачи решать.

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

Как мы внедряли полнотекстовый поиск

Reading time4 min
Views6.4K

Раньше я работала на проекте N, где главной бизнесовой сущностью было событие. Это событие имеет свое название и еще несколько полей.
Когда-то нам пришел запрос от юзеров: событие у нас в системе называется, например, "событие от Ивана Ивановича", а они пытаются вбить в поиск "иван иванович рассказал про X" и не получают никаких результатов.
Данная проблема решается с помощью полнотекстового поиска. Вопрос в том, как его реализовать.

Читать далее

Как Java мусорит за пределами кучи: часть 1, реляционные базы данных

Reading time8 min
Views7.2K

Как Java разработчики, мы знакомы с концепцией сборки мусора. Наши приложения постоянно генерируют мусор, и этот мусор тщательно очищается сборщиками CMS, G1, Azul C4 и другими типами сборщиков.

Однако история не заканчивается на Java куче. На самом деле, это только начало.

В этой статье мы создадим простое Java-приложение, которое использует реляционную базу данных для пользовательских данных и твердотельные накопители (SSD) в качестве устройства хранения. Далее мы рассмотрим, как приложение генерирует мусор на уровне базы данных и SSD при выполнении логики приложения.

Примечание переводчика. В статье речь идет о Java-приложении. Поэтому название не совсем точное. Но так было в оригинале. :(

Читать далее

Information

Rating
Does not participate
Registered
Activity