Обновить

Разработка

Сначала показывать
Период
Уровень сложности

Оптимизация PNG и JPEG без потери качества. Часть 1

Время на прочтение9 мин
Количество просмотров235K

Введение


Предлагаю Вашему вниманию обзор посвященный оптимизации изображений формата PNG и JPEG без потери качества. Под «без потери качества» подразумевается, что визуально оригинальные и оптимизированные изображения ни чем не будут отличаться. Я читал на Хабре довольно много статьей посвященных данному вопросу, но скажу, большая часть — полная чушь, в них констатируются факты, а не причины. Данный обзор посвящен людям, которые имеют базовые знания об оптимизации изображений.
Читать дальше →

Что произошло с «аськой» (часть 2-я)

Время на прочтение4 мин
Количество просмотров8.2K
Вчерашний эпический тред про происшествие, связанное с очередной сменой ICQ-протокола компанией AOL, вызвал небывалый интерес не только зарегистрированных пользователей Хабра, но и нескольких десятков тысяч гостей, пришедших на сайт. Хабр стал первым ресурсом в Сети, наиболее полно и достоверно описавший реальную ситуацию, сложившуюся вокруг сервиса ICQ. Благодарить за это нужно одного из разработчиков популярного ICQ-клиента Miranda IM Виталия Игонина (persei), который по моей просьбе подробно и, главное, очень оперативно рассказал всем нам о том, что, как и почему случилось с «аськой».

Поскольку написанный Виталием топик стал слишком тяжелым (более 1000 комментариев), приведу краткую ретроспективу событий:
— около 13:00 по московскому времени серверы AOL один а другим перестали подключать к себе все альтернативные ICQ-мессенджеры; сайт icq.com при условии захода на него с СНГ-шных IP выглядит так;
— спустя пару часов стало ясно, что серверы AOL блокируют альтернативные клиенты не во всех случаях, а будто бы выборочно: многие пользователи продолжают подключаться без каких-либо проблем;
— еще некоторое время спустя становится ясно, что блокировка подключения происходит только в случае использования IP стран СНГ. Очевидно, AOL намеренно борется, прежде всего, именно с российскими пользователями альтернативных ICQ-клиентов;
— около 19:00 МСК разработчик Miranda Виталий Игонин публикует на Хабре подробную статью о случившемся и сообщает о том, что совместно с разработчиками QIP идет поиск решения проблемы;
— около 22:00 МСК парни находят первые зацепки и обещают в ближайшее время побороть проблему целиком;
— около часа ночи разработчики QIP выпускают новую сборку QIP Infium (9022), подключающуюся к серверам AOL без проблем;
— следом команда разработчиков Miranda IM выпускает исправленную версию плагина Miranda IM ICQ+;
— очередная попытка AOL положить на лопатки альтернативные ICQ-клиенты терпит фиаско в течение суток!

А теперь — самое интересное: Виталий Игонин рассказывает, как им удалось победить AOL:
Читать дальше →

С новым годом: GPT в 500 строках на SQL

Время на прочтение42 мин
Количество просмотров42K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

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

Читать далее

Изготавливаем самодельный электролюминесцентный индикатор

Время на прочтение11 мин
Количество просмотров25K
В прошлый раз я показывал вам свою коллекцию советских электролюминесцентных индикаторов. Я капитально подсел на эту тему и последние три месяца пытаюсь изготовить самодельный индикатор удовлетворительного качества.

Дерпи Хувс ловит маффины. Стекло. Эпоксидка. Зелёный люминофор.

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

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

Telogreika v1.0 — носимое устройство персонального обогрева на Arduino

Время на прочтение8 мин
Количество просмотров31K
image

На картинке скрин из нашумевшей игры про не очень далёкое будущее. Заметили странный воротник у типа? Думаете что это такое? Признаюсь честно, я совсем не пытался выяснить назначение этого устройства по сюжету, но мне сразу подумалось, что художник пытался изобразить ИНФРАКРАСНЫЙ ОБОГРЕВАТЕЛЬ! По-моему, логично. Сколько бы вы не протезировали органов и сколько бы дырок в черепе под нейролинк не насверлил вам Илон Машк, остатки вашей биологической плоти будут предательски старомодно мёрзнуть, создавая всем хорошо знакомое угнетающее ощущение «божечки, я сейчас точно кони двину от холода, если этот автобус не приедет в ближайшую минуту!»

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

Трехмерный движок на формулах Excel для чайников

Время на прочтение9 мин
Количество просмотров71K


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

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

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

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →

USB killer

Время на прочтение2 мин
Количество просмотров438K
Было обычное хмурое зимнее утро, мы с коллегами по обыкновению пили утренний кофе, делились новостями, ничто не предвещало беды. Но тут приятель рассказал… далее цитата из скайп чата:

Как-то читал статейку как парень в метро вытянул у чавака из сетчатого кармана сумки флеху, на которой 128 было написано. Пришел домой, вставил в ноут -> спалил пол компа… Написал на флехе 129 и теперь носит в наружном кармане своей сумки...

Картинка для привлечения внимания:



Так как я работаю на предприятии, которое занимается разработкой и производством электроники, то мы с коллегами принялись активно обсуждать варианты реализации такой флешки, — которая “спаливала бы полкомпа.” Было множество хардкорных, фантастических, а также вполне реальных вариантов. И всё бы так и закончилось этим весёлым обсуждением, если бы я не собирался заказывать изготовление печатных плат для других своих проектов.
Читать дальше →

Неизвестный математик совершил прорыв в теории простых чисел-близнецов

Время на прочтение3 мин
Количество просмотров186K

В математике чрезвычайно редко случается, чтобы учёный старше 40 лет опубликовал первую серьёзную научную работу. Ещё реже бывает, чтобы эта работа имела большую научную ценность. Именно такой редчайший случай представляет из себя доцент университета Нью-Гэмпшира Итан Чжан (Yitang Zhang), который до сих не имеет ни должности профессора, ни веб-странички со списком научных работ. Тем не менее, ему удалось совершить серьёзный шаг к решению одной из старейших математических проблем — гипотезе о простых числах-близнецах.


Когда журнал “Annals of Mathematics” получил 17 апреля 2013 года научную работу Чжана, они восприняли её скептически. Заявка на прорывное исследование от неизвестного учёного? Это слишком банально и часто встречается, чтобы оказаться правдой. На удивление редколлегии, несколько научных экспертов подробно изучили работу Чжана — и нашли доказательство гипотезы о расстоянии между парными простыми числами предельно ясным, чётким и бесспорным.


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

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

О найме программистов и других инженеров

Время на прочтение3 мин
Количество просмотров13K
Тут сегодня статью опубликовали, про найм программистов, о том, как их нужно собеседовать. Там разгорелся небольшой спор и меня поддернуло написать, что я по этому поводу думаю.

Безусловно, это мое мнение, основанное на моем опыте, и оно — не догма, но пока он (опыт) меня не подводил.

Этот пост адресован прежде всего «HR-щикам», но и всем остальным, думаю, тоже будет интересен.

Главный постулат:

HR-менеджер не должен собеседовать инженера. Он даже не должен к нему приближаться. Вообще.


Под катом я объясню почему.
Читать дальше →

VIM — жестокий и беспощадный

Время на прочтение1 мин
Количество просмотров13K


Если коротко, то это аппаратное расширение для ускорения работы с vim.

Когда педаль нажата, vim переходит в Insert Mode. Когда отпущена, происходит нажатие Escape, и вы возвращаетесь в Normal Mode.

Автор проекта — Александр Левчук.

Всем чудных выходных!

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Время на прочтение3 мин
Количество просмотров383K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →

Ближайшие события

Синдром вахтера

Время на прочтение4 мин
Количество просмотров9K
Не так давно на Хабре многоуважаемый freetonik опубликовал прекрасный перевод видео с Ричардом Фейнманом. Среди многочисленных поучительных историй в нём меня очень зацепила одна — о том, как 13-летний Ричард пришел в библиотеку за книгой по мат.анализу и на вопрос библиотекаря «Зачем она тебе в твоём возрасте?» был вынужден соврать, что она для его отца. Ему тогда было стыдно и неловко. Нечто похожее было когда-то и в моей жизни.
Читать дальше →

Классические алгоритмы — интересна ли тема?

Время на прочтение1 мин
Количество просмотров16K
Добрый день!

В последнее время сталкиваюсь с большим количеством разнообразных классических алгоритмов (как на занятиях в ВУЗе так и на практике в проектах), поэтому хочу поделиться с хабра-сообществом интересными материалами на данную тему. Думаю что далеко не все здесь знают о каких алгоритмах идет речь, но вполне возможно что они могли бы быть полезны вам.
В недавний пост: «Максимальный поток минимальной стоимости» навел меня на мысль попробовать описать каждый из этих классических алгоритмов отдельно и подробно.
То есть дать описание каждого алгоритма, вместе с его вычислительной сложностью и сферами применения.

Что я имею ввиду под «классические алгоритмы»:
BFS, DFS, Min Spanning Tree (Prim, ..), Shortest Path(Dijkstra, B-F) и многие другие. Это основные алгоритмы которые изучаются на курсе по алгоритмам и затем широко применяются в различных сферах.

Поэтому собственно вопрос, стоит ли освещать эту тему здесь или нет?
Заранее спасибо за комментарии!

Расширение функциональности готовых программ

Время на прочтение11 мин
Количество просмотров43K
В мире ПО существует огромное количество программ, забытых своими разработчиками. Хорошо, когда уже есть хорошая альтернатива. А если ее нет? В программе может катастрофически не хватать каких-то мелочей, некоторые досадные ошибки могут годами доставлять массу неудобств пользователям, а на новых версиях ОС программа и вовсе может отказаться работать. Далеко не всегда имеются исходные коды, чтобы привести программу в порядок. Если программа простая — не составит труда за короткий срок создать альтернативу. Но если программа большая и сложная, что же делать в таком случае? Не всегда рационально тратить время и деньги на разработку полного аналога, ведь расширить в разумных рамках функциональность и исправить большинство ошибок можно уже в готовом исполняемом файле.
В этой статье будут продемонстрированы методики модификации исполняемых файлов на примере расширения функциональности легендарной игры Age of Empires II (стратегия реального времени).
Читать дальше →

Пишем приложение для SIM-карты

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров34K
Приветствую всех!

Думаю, многим из вас доводилось слышать такое утверждение, что SIM-карта — по сути полноценный специализированный компьютер. А раз симка — это компьютер, то, очевидно, должен быть и софт для него. Как насчёт попробовать что-нибудь написать и заставить это работать прямо на карте? Давайте разбираться.



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

Как IT-специалисты помогли выиграть суд у банка

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров26K

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

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

Читать далее

Лурк, великий и ужасный: восход и закат энциклопедии рунета

Время на прочтение6 мин
Количество просмотров141K

Шёл далёкий уже 2006 год: время мемной революции, удешевления доступа к сети и стремительного роста населения рунета. Из «сделанной из разного и палок пристройки к настоящей англоязычной сети» рунет на глазах превращался в самобытное информационное пространство. Медвед и Ктулху были повсюду, расцветали ЖЖ, дайри, бесконечные форумы на всевозможные темы. Имиджборды бурлили уходящими в небытие тредами, полными контркультурного андерграунда и всевозможной дичи, превращаясь в реакторы самого неожиданного и яркого контента.
Что же с ним стало?

Гугл-программисты. Как идиот набрал на работу идиотов

Время на прочтение4 мин
Количество просмотров174K
В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →