Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Как устроен цвет

Время на прочтение1 мин
Количество просмотров58K
Почему формальное определение цвета то ли есть, то ли нет, и связано ли это с тем, что его дал тот самый Шрёдингер? Что имел в виду Вейнберг, когда назвал свою революционную статью «Геометрия цветов»? Почему у цветового треугольника два угла, хотя интуитивно кажется, что должен быть один? Почему обычный детский рисунок показывает, что у автора всё в порядке с цветовосприятием, и зачем художник-академист всю жизнь учится его отключать? Почему в цветовом пространстве находятся кластеры, но они не находятся? Почему любая женщина знает о явлении метамерии окрасок, а ученые всё время забывают? Сколько должно быть цветовых каналов у хорошего фотоаппарата? А у монитора? А почему ответ разный? А красок у принтера?

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



Лектор — Дмитрий Николаев, заведующий сектором зрительных систем в Институте проблем передачи информации им. А.А. Харкевича РАН. Кандидат физико-математических наук, защитил диссертацию на тему «Алгоритмы цветовой сегментации, применимые в условиях сложного освещения сцены».
Читать дальше →
Всего голосов 71: ↑63 и ↓8+55
Комментарии31

Пишем конвертер для генератора мелодий от Nokia 3310

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

Любителям всего старого, но безумно интересного, добрый вечер!




Помните такой телефон — Nokia 3310? Разумеется, помните! А такую штуку как синтезатор мелодий в нем? Тоже помните, отлично. А по старым, теплым и ламповым мелодиям скучаете? Вот и я скучаю. А еще мне на глаза попался сайтик с более чем сотней нотных листов для этого редактора. И что я должен был оставить эту прелесть без внимания? Нет уж. Что я сделал? Правильно! Взял и написал точно такой же генератор мелодий, который позволяет на выходе получить Wave — файл с мелодией. Интересно, что из этого получилось? Тогда прошу под кат.

Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии21

Чтение SVG в C++

Время на прочтение3 мин
Количество просмотров20K
При выборе формата хранения или обмена векторными 2D изображениями, SVG один из главных претендентов, благодаря открытости и распространенности. При всех его достоинствах, авторы, на мой взгляд, чрезмерно увлеклись удобством и гибкостью при создании документов, что привело к большой вариативности и избыточности, а, следовательно, и сложностью чтения. Кроме того, ради компактности были изобретены разные грамматики, встроенные внутрь XML, что тоже добавило головной боли программистам.

Сейчас есть несколько C/C++ библиотек, которые могут загрузить SVG и отрисовать его в растр, но это только малая часть возможных применений SVG в приложениях.

Я разработал C++ библиотеку, которая должна взять на себя реализацию большинства нюансов спецификации, предоставляя данные SVG в удобном виде.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии30

Вентилятор из CD-диска своими руками

Время на прочтение1 мин
Количество просмотров2.2K
Вопрос куда девать старые и ненужные CD-диски (разу вспоминается и недавняя «смерть» HD DVD), конечно, не самый актуальный. Но если просто выбросить в мусорку — не ваш метод, то можно и придумать что-нибудь интересное. Например, USB-вентилятор. Для его сборки понадобится ненужная болванка, пробка от винной бутылки, несколько проводов и небольшой моторчик. Самое сложное — это, ясное дело, найти моторчик. Собрать-то не проблема: видеоинструкция прилагается.


via Mobbit.info
Всего голосов 38: ↑29 и ↓9+20
Комментарии45

Минкомсвязи хочет увеличить количество программистов в России с 350 тыс до 1 млн

Время на прочтение1 мин
Количество просмотров40K
Выступая на молодежном форуме «Таврида-2014» глава Минкомсвязи Николай Никифоров высказал мнение, что Россия должна заботиться о сохранении информационного суверенитета страны:

«Мы выступаем за полный информационный суверенитет России. И он принципиально возможен. Россия всегда славилась своими программистами. У нас действуют всемирно известные ИТ-компании, такие как «Яндекс», Mail.ru и другие. Мы готовим комплекс мер, чтобы шаг за шагом, год за годом поддержать развитие и становление целой отрасли импортозамещающего программного обеспечения. Это небыстрый путь, который займет три года, по некоторым направлениям — пять-семь лет. Это значит, что России понадобится как минимум один миллион программистов, которые смогут выполнить такую масштабную задачу. Сейчас в России — всего 350 тысяч высококвалифицированных ИТ-специалистов, и работа министерства нацелена на то, чтобы в ближайшее время серьезно изменить этот показатель».
Всего голосов 65: ↑52 и ↓13+39
Комментарии282

Простой способ мониторинга времени отклика Sphinx индексов c помощью Zabbix

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

Задача


К примеру, у вас есть уже настроенный и распространённый по всей компании сервис мониторинга Zabbix а ещё вы пользуетесь поисковым движком Sphinx. Он ищет быстро, но встроенных средств для живого мониторинга его производительности в разрезе индекса не имеет. К примеру, поисковых серверов у вас много и вы хотите соотносить потребление ресурсов системы каждым конкретным индексом дабы понимать — как распределять их по серверам — а так же видеть — какая из коллекций начинает отвечать дольше, чем хотелось бы — и понимать, коррелируется ли это с возрастанием пользовательской нагрузки или ещё чем-то.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Исследуем iOS SDK и используем недокументированные API

Время на прочтение19 мин
Количество просмотров33K
Из этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.

Erica Sadun, The iPhone Developer's CookBook
Оригинал
As you’ve seen in this chapter, and throughout this book, some of the nicest bits of iPhone programming are included in the public iPhone frameworks but not in the SDK. Apple’s unofficial policy on this is clear:You can use these items in your programs, but you do so at your own risk.Your code may break at each firmware release. Striking the balance between risk and reward is up to you.

Дисклеймеры


  • Приведенные здесь куски кода работают на обычных iPhone (включая 4S) и iPad (включая new iPad) и не требуют jailbreak.
  • Все решения написаны и протестированы на iOS 5. Все решения также протестированы на совместимость с iOS 4.3, т.е. работают с iOS 4, если не сказано обратное. Основная часть статьи была написана до выхода iOS 6, так что приведенные решения не тестировались на совместимость с iOS 6.
  • Использование недокументированных API может привести к тому, что ваше приложение не допустят в AppStore. А может и не привести :-)
    Для тех, кому интересно, как Apple опрделяет использование приваетных API:«Как Apple узнаёт, что ты используешь приватные API?»
  • Apple может изменить реализацию вместе со следующим релизом iOS, и в вашем коде что-то сломается. Впрочем, это решаемо, и ничем принципиально не отличается от реализации обратной совместимости для документированных API. Ниже я рассмотрел эту проблему чуть подробнее.
  • Я не могу гарантировать, что у найденных мной API нет побочных эффектов. Используйте на свой страх и риск.
  • Лицензионное соглашение Apple Developer Program запрещает реверс-инжинеринг iOS.
  • Статья в процессе доработки. Конструктивная критика приветствуется!

Краткая инструкция по поиску в SDK


Допустим, вам нужно сделать что-то, выходящее за рамки официальной документации.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии12

Энергосберегающий background location + отправка данных на сервер из фона

Время на прочтение5 мин
Количество просмотров14K
Постановка задачи

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

Решение

Решение в лоб — использовать данные из коллбеков [CLLocationManagerInstance startUpdatingLocation] как в фоне, так и когда приложение активно. Первый и наиболее критичный недостаток данного решения — высокое энергопотребление (за несколько часов аккумулятор iPhone может полностью сесть). Второй — если приложение будет свернуто и 'убито', никаких апдейтов положения пользователя мы получить не сможем.

Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии6

Лекториум записал почти тысячу лекций за год

Время на прочтение4 мин
Количество просмотров57K
Дорогой Хабр!



У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Всего голосов 340: ↑333 и ↓7+326
Комментарии183

Настройка сервера для django-проектов с нуля

Время на прочтение6 мин
Количество просмотров41K
Хочу поделиться опытом настройки сервера для django-проектов. Так вышло, что мне часто приходится настраивать с нуля VPS-сервера для запуска на них django-сайтов. Как-то мне в голову пришла идея записать пошагово процесс настройки. Оказалось, что “по бумажке” выполнять эти рутинные операции гораздо проще и быстрее — все нюансы записаны, трудно что-то упустить. Дальше больше — я превратил инструкцию в самостоятельный shell-скрипт — запустил и сервер готов. Я думаю, некоторым python-разработчикам, особенно начинающим, будет полезно ознакомиться с содержимым скрипта. С некоторыми доработками вы, возможно, захотите использовать его в своей практике.
Читать дальше →
Всего голосов 111: ↑100 и ↓11+89
Комментарии56

(Как написать (Lisp) интерпретатор (на Python))

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


Перевод статьи "(How to Write a (Lisp) Interpreter (in Python))" Питера Норвига. В данной статье Питер довольно кратко, но емко описывает принцип работы интерпретаторов и показывает как можно написать совсем крошечный (всего 90 строк на Python) интерпретатор подмножества языка Scheme. Перевод публикуется с разрешения автора.

Питер Норвиг (англ. Peter Norvig) — американский ученый в области вычислительной техники. В данный момент работает директором по исследованиям (ранее — директор по качеству поиска) в корпорации Google. Ранее являлся главой Подразделения вычислительной техники в исследовательском центре Амес NASA, где он руководил штатом из двухсот ученых, занимающихся разработками NASA в областях анатомии и робототехники, автоматизированной разработке ПО и анализа данных, нейроинженерии, разработки коллективных систем, и принятия решений, основанном на симуляции.

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

8 полезных сервисов для веб-разработчика и дизайнера

Время на прочтение2 мин
Количество просмотров36K
Под катом — описание восьми сервисов, которые могут заметно облегчить жизнь веб-разработчика, верстальщика или дизайнера.
Читать дальше →
Всего голосов 337: ↑324 и ↓13+311
Комментарии59

Сумбурные заметки про python и django

Время на прочтение5 мин
Количество просмотров47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

Читать дальше →
Всего голосов 159: ↑153 и ↓6+147
Комментарии37

Пишем свою ОС: Выпуск 1

Время на прочтение6 мин
Количество просмотров274K
Данный цикл статей посвящён низкоуровневому программированию, то есть архитектуре компьютера, устройству операционных систем, программированию на языке ассемблера и смежным областям. Пока что написанием занимаются два хабраюзера — iley и pehat. Для многих старшеклассников, студентов, да и профессиональных программистов эти темы оказываются весьма сложными при обучении. Существует много литературы и курсов, посвящённых низкоуровневому программированию, но по ним сложно составить полную и всеохватывающую картину. Сложно, прочитав одну-две книги по ассемблеру и операционным системам, хотя бы в общих чертах представить, как же на самом деле работает эта сложная система из железа, кремния и множества программ — компьютер.

Каждый решает проблему обучения по-своему. Кто-то читает много литературы, кто-то старается поскорее перейти к практике и разбираться по ходу дела, кто-то пытается объяснять друзьям всё, что сам изучает. А мы решили совместить эти подходы. Итак, в этом курсе статей мы будем шаг за шагом демонстрировать, как пишется простая операционная система. Статьи будут носить обзорный характер, то есть в них не будет исчерпывающих теоретических сведений, однако мы будем всегда стараться предоставить ссылки на хорошие теоретические материалы и ответить на все возникающие вопросы. Чёткого плана у нас нет, так что многие важные решения будут приниматься по ходу дела, с учётом ваших отзывов.
Читать дальше →
Всего голосов 293: ↑282 и ↓11+271
Комментарии225

OGS Mahjong 0.6

Время на прочтение1 мин
Количество просмотров634
Некоторое время назад я и программист kornerr взялись за интересную и познавательную задачу: разобраться в существующих свободных трехмерных движках, выбрать один и написать на его основе простенькую игрушку. После ряда экспериментов, движком был выбран Ogre3D, а в качестве игры выступил пасьянс-маджонг.

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

Картинки:
imageimageimage
Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии49

Основы Linux от основателя Gentoo. Часть 1 (2/4): Управление файлами и директориями

Время на прочтение7 мин
Количество просмотров118K
Продолжение перевода первой части руководства. Начало тут.

В данном отрывке рассмотрены команды работы с файловой системой и файлами, такие как ls, mkdir, touch, mv, cp, затронуто использование echo и cat. Рассказано про иноды файловой системы.
Читать дальше →
Всего голосов 92: ↑78 и ↓14+64
Комментарии44

Git Workflow

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

1 Вступление



В топике освещаются не столько подробности работы с git, сколько его отличия от схемы разработки других систем контроля версий, и общий подход (выработанный по большей части личным опытом и Git Community Book) к работе.


Читать дальше →
Всего голосов 120: ↑116 и ↓4+112
Комментарии147

Как vim затмение победил(ходим по функциям как в eclipse)

Время на прочтение2 мин
Количество просмотров13K
Все началось с того что eclipse+pdt стал много съедать моего рабочего времени доедая последние метры двугектарной оперативы моего ноута. Знай вы, уважаемые хабралюди, к этому моменту про какой ноут идет речь, вам бы так же показался мой выбор очевидным. Но к моему разочарованию TextMate оказался не стоящим тех полсотни баксов, которые за него просят. Не судите строго! Один из основных критериев для меня была возможность бегать от вызовов к объявлениям функций… в нашем проекте это очень полезная функция :) Так вот в книге по textmate на это я не нашел ни даже намеков, а ближайший соратник на утро сказал, что textmate это все же редактор, но хватит о textmate — о нем еще немного в конце. А поскольку я все же *nix-оид со стажем — первой бесплатной альтернативой стал ***VIM*** тада!!!

Читать дальше →
Всего голосов 49: ↑35 и ↓14+21
Комментарии38

Vim для программиста

Время на прочтение2 мин
Количество просмотров15K
Любимый многими редактор Vim не является IDE. Однако в нём реализовано много замечательных возможностей, облегчающих работу с кодом.

Обычно цикл работы с кодом сводится к поправить код-скомпилировать-поправить код-скомпилировать-… В Vim есть средства, заточенные специально под этот процесс.
Выглядит это так:
Всего голосов 20: ↑16 и ↓4+12
Комментарии46
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность