Обновить

Разработка

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

Создаем рекурсивные ярлыки в Windows

Время на прочтение5 мин
Количество просмотров124K
Все мы знаем, что такое ярлык. А что будет, если сделать ссылку ярлыка самого на себя?
Создание ярлыка на ярлык приводит к его копированию. И что будет, если принудительно создать побайтно такой ярлык?

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

Зайти в такую папку обычными файловыми менеджерами будет невозможно.

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

SSH-туннель домой без необходимости оставлять включённым домашний ПК

Время на прочтение5 мин
Количество просмотров216K
Disclaimer
Этот пост появился здесь по нескольким причинам:
1) Меня попросил сам Boomburum
2) Есть предположение, что на хабре всё-таки есть люди, имеющие прямое отношение к IT, но при этом имеющие весьма отдалённое представление о пользе SSH и её извлечении из обычного домашнего роутера, и которым, надеюсь, будет весьма интересно и полезно об этом узнать.

Хабралюдям, познавшим Дао IOS, tun, VPN, *wrt, WOL… etc, предлагается на выбор:
А) Закрыть топик, заняться делом и не выводить себя из нирваны чтением этой любительской фигни.
Б) Потратить время на конструктивную критику и полезные дополнения в комментариях.
Специально для GrammarNazi:
Пишите пожалуйста об ошибках в личку — обещаю исправиться.
Бла-бла-бла, а топик-то о чём?
Итак, я обещал рассказать «как поднять ssh-туннель домой без необходимости оставлять включённым домашний ПК» и, как правильно догадался peter23 речь пойдёт про ssh-сервер на роутере.
Читать дальше →

Как стать разносчиком спама ВКонтакте из-за любопытства

Время на прочтение2 мин
Количество просмотров16K
Буквально несколько минут назад я умудрился разослать 200+ сообщений своим друзьям ВКонтакте.
Естественно это было спам сообщение следующего содержания:
привет я удаляюсь из контакта, оч много спама приходит((сейчас удалю свою страничку, если что-то будет нужно, то звони мне на моб.телефон или ищи меня здесь vkontakte.ru/away.php?to=… у меня там есть своя страничка под мои именем.это не спам, рассылаю всем своим друзьям...).

Собственно удивление было связано с тем, что:
1. Я использую Linux и только Linux везде где только можно.
2. ВКонтакт используется только из дома опять же сугубо из-под Linux
3. На ВКонтакт и на почту, привязанную к нему стоят достаточно криптостойкие пароли из 10+ символов латинского алфавита и цифр Да, я параноик

Так что же случилось?

jQuery для начинающих

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

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

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

Угон аккаунтов в Telegram: схемы, о которых все должны знать

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

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

Читать

Сэм Альтман знает, как достичь AGI. Я тоже, и сейчас расскажу как

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров48K

«Теперь мы уверены, что знаем, как построить AGI в том виде, в каком мы традиционно его понимали… Сейчас это звучит как научная фантастика, и даже говорить об этом как-то безумно. Все в порядке — мы уже были там раньше и не против оказаться там снова.» Такое сообщение 6 января опубликовал Сэм Альтман.

Человечество нашло дорогу, по которой можно дальше и дальше улучшать качество моделей, и мы не видим здесь никакого предела. Про эту дорогу знает Альтман, и скоро узнаете вы.

Поехали в AGI

10 советов схемотехнику

Время на прочтение20 мин
Количество просмотров132K
Недавно один мой знакомый, начавший интересоваться электроникой и схемотехникой, обратился ко мне с просьбой дать ему какие-то практические советы по разработке электронных устройств. Поначалу этот вопрос немного озадачил меня: как-то так получилось, что для себя я никогда не выделял какие-то перечни обязательных правил проектирования, всё это было у меня где-то на уровне подсознания. Но этот вопрос послужил хорошим толчком для того, чтобы сесть и сформулировать хотя бы небольшой список таких рекомендаций. Когда все было готово, я подумал, что, возможно, это будет интересно почитать кому-то еще, таким образом и получилась данная статья.


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

Динамическая типизация — это не инструмент для разработки. Это чепуха (паршивая)

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


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

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

Большую часть жизни я просто махал на них рукой и проходил мимо. Эти глупцы не понимают очевидных вещей, и я не нанимался разъяснять каждому js-нику, почему его код — это не разработка, а игрушечное прототипирование. Но время идёт, а количество идиотов вокруг и не думает уменьшаться, вместо того, чтобы всей своей фронтенд индустрией переехать наконец на статический тайпскрипт, эти ослы начинают использовать всякие кложуры, писать тонны тестов, и идти на все мыслимые ухищрения — лишь бы не разбираться в типах.
Читать дальше →

Маски сброшены

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

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

За примерами далеко ходить не надо. Можно вспомнить теракты в московском метро в 2010 году, когда одни водители бросали свои дела и отвозили людей в больницы бесплатно, а другие взвинчивали цены за услуги такси в 10 и более раз.

Что-то подобное происходит и сейчас. На волне всеобщей изоляции резко возрос спрос на товары, которые раньше мало кого интересовали. Возьмем, к примеру, медицинские маски. За три месяца с октября по декабрь 2019 года было зарегистрировано чуть более 2300 доменных имен с частицей *mask*. Как вы думаете, сколько из этих ресурсов предназначалось для продажи медицинских масок?..

Ноль… Ни одного… К слову, в аптеках маски продавались в среднем по цене от 7 до 15 рублей за штуку.

Наступил 2020 год, а с ним коронавирус. Все резко изменилось. За те же 3 месяца с января по март в сети появилось 32 000 доменных имен с частицей *mask*, 80 процентов из которых эксплуатировали тематику уже именно медицинских масок. Далее все развивалось двумя путями. Часть ресурсов была предназначена для реальной продажи масок, только вот их стоимость маски возросла в среднем до 60-рублей за штуку. Другие же сайты носили откровенно мошеннический характер.
Читать дальше →

Что происходит в «Пиковой даме» Пушкина и во что они играют?

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


Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную в свете игру в карты с элементами философских вопросов. Попадание в тогдашнюю аудиторию стопроцентное благодаря невероятно простому порогу входа (31 страница текста итого), очень узнаваемым персонажам, невероятной куче пасхалок, сарказму и актуальной теме.

А предыстория такая. Пока мы со школьными группами осенью ездили по Пскову, зарулили в театр. Он во Пскове неожиданно крутой. Ставили как раз Пушкина. Проблема в том, что дети не поняли сюжет и ещё минут 15 обсуждали после спектакля, что же это такое было и кто выиграл или проиграл. Вроде, очевидно, что Германна где-то прокатили, но вот где и как?

Поэтому мы сейчас поговорим про пасхалки «Пиковой дамы», как Пушкин вьехал сапогом в зубы понтёру и немного про математику. Кстати, Александр Сергеевич был тем ещё кутилой, что не совсем вяжется с образом, который дают на литературе в школе. И поскольку вы сейчас, скорее всего, дома, предлагаю прикоснуться к прекрасному.
Читать дальше →

Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Время на прочтение14 мин
Количество просмотров222K
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации

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

@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}

Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


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

Очередная программная закладка в роутерах D-Link

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

На информационном портале devttys0.com некто Craig Heffner – опытный специалист в области реверс-инжиниринга – выложил статью-исследование очередной (уже находили) программной закладки в роутерах D-Link. На этот раз закладка была выявлена в официальной прошивке для DIR-100 revA, но, по его мнению, присутствует в роутерах других серий:

  • DIR-100
  • DI-524
  • DI-524UP
  • DI-604S
  • DI-604UP
  • DI-604+
  • TM-G5240
  • Planex BRL-04UR
  • Planex BRL-04CW

Коротко говоря, если у вашего браузера установлен User-Agent как «xmlset_roodkcableoj28840ybtide», то вы автоматически получаете админский доступ к веб-панели управления роутером без всякой авторизации.
Подробнее

Разработка браузерной стратегии

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

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

image

Что представляет собой игра? Видимо наиболее коротким описанием будет «клон Цивилизации» =). Но это не значит что у меня не хватило фантазии придумать что-то свое. Просто сделать «Цивилизацию» было моей мечтой. Вряд ли бы я получил столько удовлетворения от написания другой игры. Ну а фанаты Цивилизации наоборот считают, что моя игра совсем не похожа на Цивилизацию, разве что только с виду. Может это и к лучшему.

Игра называется The Fate of Nation http://fatenation.com

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

Для создания игры я использовал php и MySQL на сервере, html и javascript на клиенте. Flash не используется. Из html5 есть только видео на сайте и несколько областей с канвасом в самой игре — включая поверхность карты и мини-карту. Объем кода клиентской части в несколько раз превышает серверную часть, поэтому в основном буду рассказывать о клиентской разработке, но начнем с сервера.

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

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

Американская кровавая лотерея. Как работала мобилизация в США времён войны во Вьетнаме

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

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

Однако в 1969 году всё приняло не стандартный оборот: в прямом эфире по указу президента Ричарда Никсона была проведена лотерея, в которой победители получали не денежный чек, а возможный билет во Вьетнам.

Читать далее

Обращение к Javascript-сообществу: перестаньте писать квадраты

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

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

Read more

Tinkoff скомпрометировал данные о балансе карт своих клиентов

Время на прочтение3 мин
Количество просмотров142K
UPD3: Уязвимость закрыли, баланс больше не проверяется.

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

Заполняю себе спокойно поля, и тут случается неожиданное:


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

Пример — часы на СSS3 без изображений и JavaScript

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


Это статья о том, как был сделан демонстрационный пример Wall Clock in Pure CSS3. Изначально, я предполагал написать данную статью в виде пошагового учебного пособия, но в процессе я понял, что такой пример мало для этого подходит. Потому я решил остановиться только на деталях, которые, на мой взгляд, наиболее интересны, а реализацию остального можно посмотреть и в коде.

Для начала собственно сам пример — на codepen.io или на cssdesk.сom

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

Ломаем спички, или Алиса в стране математических ошибок

Время на прочтение5 мин
Количество просмотров77K
Есть у меня любимый форум, посвящённый головоломкам. Недавно я наткнулся там на следующую задачу:

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


Я довольно быстро доказал, что вероятность этого события равна нулю. Гордый собой, я запостил решение и ответ, ожидая плюсика в карму. Оказалось, однако, что авторский ответ совсем другой: 1 — 1/e. Забегая вперёд, скажу, что этот ответ неверен.

Неправильные авторские решения — довольно частое явление в интернет-головоломках. И я ни за что не стал бы писать этот пост, если бы автором задачи, а также её неверного решения, не был британский логик и алгебраист Чарльз Л. Доджсон, более известный под псевдонимом Льюис Кэрролл.
Скандалы, интриги, расследования

Инструменты командной строки для веб-разработчика

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

Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.

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

Внутри MP3. А как оно всё устроено?

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


Однажды мне понадобилось решить простенькую (как мне тогда казалось) задачу – в PHP-скрипте узнать длительность mp3-файла. Я слышал о ID3 тегах и сразу подумал, что информация о длительности хранится либо в тегах, либо в заголовках mp3-файла. Поверхностные поиски в интернете показали что за пару-тройку минут решить эту задачу не получится. Поскольку от природы я довольно любопытен а время не поджимало — решил не использовать сторонние инструменты а разобраться в одном из самых популярных форматов самостоятельно.

Если Вам интересно, что там внутри – добро пожаловать под кат (трафик).
Читать дальше →