Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Сайт Pudn был закрыт

Open source *

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

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 5.1K
Комментарии 5

Ruby Cross Reference

Ruby *


Ruby, как известно, просто выглядит, но сложно работает. В особенности это относится к официальному интерпретатору, Ruby MRI: документация на многие детали реализации, например, на байткод или GC, отсутствует даже на японском.

Я попытался упростить исследование кода, открыв сайт Ruby Cross Reference по мотивам LXR. Кроме MRI, проиндекированы еще JRuby и Rubinius.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 862
Комментарии 16

Как устроен jQuery: изучаем исходники

jQuery *

jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

Читать дальше →
Всего голосов 212: ↑200 и ↓12 +188
Просмотры 56K
Комментарии 40

Ура! Исходники Андроида опять доступны

Разработка под Android *
Буквально пару минут назад в гуглогруппе android-building появилось сообщение о переезде репозитория c kernel.org новый сервер. Исходники android 4.0 обещают выложить чуть позже.

Читать дальше →
Всего голосов 77: ↑59 и ↓18 +41
Просмотры 2.4K
Комментарии 56

Наболевшее об исходном коде объектов БД

Oracle *
Из песочницы
Представьте такую ситуацию: команда разработчиков работает над программой. При этом исходный код приложения нигде не хранится. Каждый программист с помощью специального декомпилятора выгружает нужный код из бинарника, работает с ним, а потом вновь собирает и отдает на дальнейшую разаработку коллегам.
Как вы думаете, это нормальная ситуация? Думаю, что нет.
Но почему-то такой подход довольно часто применяется при разработке приложений БД.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.5K
Комментарии 29

Исключительная красота исходного кода Doom 3

Программирование *C++ *Разработка игр *
Recovery mode
Перевод
image

Сегодня вас ждет рассказ об исходном коде Doom 3 и о том, насколько он красив.
Да, красив. Позвольте мне объясниться.
Читать дальше →
Всего голосов 281: ↑256 и ↓25 +231
Просмотры 215K
Комментарии 245

Подключаем исходники Android в Eclipse

Java *Eclipse *Разработка под Android *
Tutorial
Буквально вчера наткнулся на простую и, казалось бы, такую очевидную функцию в IDE Eclipse, как подключение исходников от внешних библиотек. Возможно кому то это покажется слишком простым и банальным, но опросив несколько знакомых разработчиков, я обнаружил, что не только я не знал о такой функции, потому для всех любителей и профессионалов, которые занимается разработкой под Android, прошу под кат, и вы узнаете, как дебажить не только ваш код, но смотреть «в корень» — а именно, дебажить ваш проект «до основания».
Читать дальше →
Всего голосов 22: ↑13 и ↓9 +4
Просмотры 25K
Комментарии 14

Humble Weekly Sale и исходные коды Uplink, Darwinia, Multiwinia, Defcon за 1 цент

Разработка игр *
Сегодня Humble Bundle решил порадовать новой распродажей игр от компании Introversion Software.
В списке присутствуют:
  • DEFCON
  • Darwinia
  • Multiwinia
  • Uplink
  • Voxel Tech Demo
  • City Generator Tech Demo

Читать дальше →
Всего голосов 27: ↑24 и ↓3 +21
Просмотры 10K
Комментарии 12

По следам бага и немного о событиях MotionEvent в Android

Open source *Разработка мобильных приложений *Разработка под Android *
Думаю, многие из нас писали код вида:

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        final float x = event.getX();
        final float y = event.getY();
        // использование x и y...
        return false;
    }

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

Год назад я с друзьями разрабатывал приложение, где очень многое упиралось в обработку касаний. Однажды, загрузив новые исходники из репозитория и собрав приложение, я обнаружил, что вертикальная координата касания определяется неверно. Просматривая последние коммиты команды, я наткнулся на интересную строку, где внезапно от y-координаты отнималось 100. То есть, что-то вроде «y -= 100;», причем, это число не было вынесено как константа и вообще было непонятно почему именно 100. На мой очевидный вопрос я получил ответ «Ну, мы опытным путем определили, что в этом месте y-координата всегда на 100 (пикселей) больше, чем должна быть». Здесь, конечно, стоило бы перечитать документацию по обработке касаний и, просмотрев код проекта, найти ошибку, но я решил пойти более интересным путем – проследить по исходникам Android за MotionEvent от его получения до утилизации.

Если я смог кого-то заинтриговать историей в стиле «По следам полосатого бага» — добро пожаловать под кат.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Просмотры 18K
Комментарии 7

Как компания D-Link предоставляет исходные коды прошивок

Информационная безопасность *
Приветствую хабрчане!

У меня на работе есть несколько стареньких маршрутизаторов D-Link DI-524UP H/W Ver.: A1, выпускавшихся в 2005-2006 годах и доставшихся мне по наследству от прошлого админа. Понятно, что эти устройства отслужили свое, устарели как морально, так и физически и давно лежат на полке, но меня подкупило то, что у этой модели есть USB порт, и в основу прошивки положена операционная система Linux.
Читать дальше →
Всего голосов 80: ↑74 и ↓6 +68
Просмотры 42K
Комментарии 43

Input — новый шрифт для программирования

Типографика *
Компания Font Bureau разработала новое семейство шрифтов Input, важнейшим из которых в данном случае для нас является шрифт Input Mono. Кириллица присутствует. Для персонального использования шрифты бесплатны.

Читать дальше →
Всего голосов 81: ↑72 и ↓9 +63
Просмотры 98K
Комментарии 142

Как сохранить оригинальную расцветку вашего кода из Visual Studio в публикации на Хабрахабр. Сравниваем расцветки. Опрос

Visual Studio *C# *
Привет, хабраюзер! В этом посте я расскажу, как можно сделать свой код на Хабре более «живым» благодаря простому способу сохранения его оригинальной цветовой схемы. А также предлагаю сравнить различные варианты расцветки кода.
Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 9.7K
Комментарии 9

Моноширинные шрифты с программистскими лигатурами

Типографика *
Программисты любят псевдографику. В любом языке полно составных знаков: ->, <=, ++, :=. По смыслу это один символ, но составленный из нескольких более простых. Мозгу требуются дополнительные усилия на то, чтобы считать и объединять такие конструкции на лету. Когда-нибудь, возможно, всех спасет Юникод, где символов хватит на сто языков вперед — если придумают удобный способ ввода и отомрет всё легаси. Но пока нам приходится читать и писать код в ASCII.

Казалось бы, дело швах. Но в апреле 2014 года Ian Tuomi придумал изящный выход: заменять часто встречающиеся последовательности лигатурами. Моноширинность при этом не ломается (если сделать ширину лигатуры кратной количеству символов, в нее входящих), код тоже не портится (лигатуры — чисто визуальная фича). Зато можно вместо -> нарисовать настоящую стрелочку. Это сильно облегчает мозгу сканирование и токенизацию кода: там, где по смыслу один символ, теперь и нарисован один символ. Самое главное, что это работает с любым, даже уже написанным кодом.
Читать дальше →
Всего голосов 84: ↑77 и ↓7 +70
Просмотры 49K
Комментарии 167

Как я одной кнопкой шарил разные данные в Android приложении

Java *Разработка под Android *
Из песочницы


Как-то раз передо мной встала задача добавить экспорт в календарь к уже написанному экспорту обычных текстовых данных через ShareActionProvider кнопку. Сходу нашлись несколько вариантов, каждый из которых мне по каким-либо причинам не подходил.
Раскопать очень много кода
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 10K
Комментарии 4

Iosevka — ещё один шрифт для кодинга

Типографика *
Не совсем уже новость, но появился новый шрифт для программеров — Iosevka. Появляться он начал ещё осенью, но на Хабре упоминаний пока не было.



Iosevka — стройный моноширинный шрифт, вдохновлённый такими шрифтами, как Pragmata Pro, M+ и PF DIN Mono. Имеются варианты как с засечками, так и без, начертания с разными степенями жирности. Кириллица есть, само собой. Шрифт генерируется полностью из открытого исходного кода (при участии Node.js), путём настройки можно изменить начертание некторых знаков (таких как «a», «g», «l» и других).
Читать дальше →
Всего голосов 26: ↑12 и ↓14 -2
Просмотры 16K
Комментарии 27

Изучаем дерево исходников Windows 10: от телеметрии до open source

Блог компании Positive Technologies Информационная безопасность *Open source *Реверс-инжиниринг *
image

Насколько бы закрытым ни было программное обеспечение Microsoft, информации о своем внутреннем устройстве оно выдает предостаточно. К примеру, экспорт функций из библиотеки по именам дает представление о ее интерфейсах. В свободном доступе есть и отладочные символы, которые повсеместно используются для диагностики ошибок в ОС. Однако на руках у нас все равно имеются только скомпилированные бинарные модули. Становится интересно: а какими они были до компиляции? Давайте попробуем разобраться, как вытащить побольше информации об исходных кодах, не делая ничего незаконного.
Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Просмотры 44K
Комментарии 36

Декомпиляция RNC ProPack длиной в 5 лет

Реверс-инжиниринг *

Приветствую, друзья!



В данном материале я расскажу Вам, как на протяжении нескольких лет занимался реверсом 46 КБ (кажется — всего то!) исполняемого файла от AmigaOS, узнал много нового для себя, испробовал множество разных технологий, и, в итоге, добился своего — превратил декомпилированный Motorola M68000 ассемблерный код в C-шный код, которым может воспользоваться любой желающий.

Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 7.9K
Комментарии 1

Еще одна реализация регистронезависимого поиска по кириллическим символам в SQLite

C *SQLite *
Из песочницы
Tutorial
Доброго времени суток, Хабровчане!

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

  • регистронезависимым;
  • по русским и английским символам;
  • игнорирование символа ё/Ё при поиске;
  • быстрым;
  • использовал встроенный NOCASE collation.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.8K
Комментарии 0

CodeRainbow: интерактивное изучение и документирование кода

Я пиарюсь


Часто программистам приходится разбираться с чужим незнакомым кодом. Это может быть и изучение интересных проектов с открытым кодом, и необходимость по работе — в случае присоединения к новому проекту, при анализе большого объема legacy кода и т.д. Думаю, каждый из вас сталкивался с этим.

У меня в процессе такой работы всегда остро ощущалась необходимость некоего инструмента, специально заточенного для облегчения процесса быстрого погружения в большие объемы незнакомого кода. Со временем появлялись все новые интересные задумки в разных областях, и все они требовали изучения больших объемов чужого кода. Децентрализованные сети, криптовалюты, компиляторы, операционные системы — все это большие проекты, требующие изучения значительных объемов кода. В какой-то момент я решил: надо просто взять и сделать этот специальный инструмент. В этой статье я представляю вашему вниманию то, что получилось в результате.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.7K
Комментарии 8

PVS-Studio Visits Apache Hive

Блог компании PVS-Studio Информационная безопасность *Open source *Java *Big Data *
Рисунок 1

For the past ten years, the open-source movement has been one of the key drivers of the IT industry's development, and its crucial component. The role of open-source projects is becoming more and more prominent not only in terms of quantity but also in terms of quality, which changes the very concept of how they are positioned on the IT market in general. Our courageous PVS-Studio team is not sitting idly and is taking an active part in strengthening the presence of open-source software by finding hidden bugs in the enormous depths of codebases and offering free license options to the authors of such projects. This article is just another piece of that activity! Today we are going to talk about Apache Hive. I've got the report — and there are things worth looking at.
Read more →
Всего голосов 23: ↑20 и ↓3 +17
Просмотры 1K
Комментарии 0
1