Search
Write a publication
Pull to refresh
6
0.7

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

Send message

Создание нативной библиотеки расширений для OpenFL (Haxe)

Reading time3 min
Views6K

Предисловие


Если вы задумались о создании мобильных приложений, но не знаете с чего начать, у вас есть достаточно времени на эксперименты и изучение нового, то позвольте порекомендовать вам в качестве инструмента выбрать язык программирования haxe. Возможно, вы о нем уже слышали и возможно, слышали о нем, как о некоторой замене для Flash'a. Это не совсем так, и можно даже сказать совсем не так.

Да, стандартная библиотека haxe имеет подмножество классов и функций, организационно похожих на стандартную библиотеку actionscript 3. Но это не мешает создавать приложения для нативных платформ, таких как Linux, Windows, Android, Mac, iOS.

При создании приложений для нативных платформ возможностей стандартной библиотеки не хватает и приходится искать сторонние библиотеки или разрабатывать свои. Я пошел по второму пути и для текущего проекта (небольшой игры, похожей на TripleTown по механике) разработал библиотеку для работы с Flurry, Localytics, GooglePlay Game Services и некоторыми другими сервисами.

В представленом ниже переводе, описывается с чего начать, если вы хотите создать библиотеку расширений для haxe и фреймворка OpenFL (бывший NME), в частности. Автор оригинальной статьи Laurent Bédubourg.

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

Хемилюминесценция люминола / что внутри «светящихся палочек»?

Reading time3 min
Views246K
Наверняка вы хоть раз видели химические источники света — светящиеся палочки, которые начинают работать после «переламывания». Внутри — стеклянная капсула, которая при этом ломается, и начинается какая-то мистическая химическая реакция. Мне всегда было интересно разобраться, как это работает.

Энергия связи молекул, освобождающаяся во время химической реакции — может выделится в виде тепла (к чему мы все привыкли), а в редких случаях может — в виде излучения кванта света. Излучение света во время химической реакции называется хемилюминесценцией. Существуют 2 наиболее распространенных реакции с хемилюминесценцией: окисление Люминола и окисление TCPO в присутствии органических красителей.

Отличие в том, что Люминол светится сам, а TCPO — передает энергию молекулам органического красителя (вроде Родамина), и таким образом можно управлять цветом свечения выбирая краситель. Про TCPO (включая его синтез) можно посмотреть на YouTube (использование синтез), а вариант с Люминолом — под катом.
Читать дальше →

Обучение программированию на Java

Reading time8 min
Views119K

Я собираюсь переучить на Java-программистов миллион человек.
Я собрал команду и сделал обучающий сервис, которым могу гордиться.
Рад сообщить, что теперь стать программистом легко, независимо от образования и опыта.

Но обо всем по порядку, много картинок

Измеритель влажности из подручных материалов

Reading time6 min
Views59K
В одной из моих небольших компаний развернуто производство пищевых порошков. Ну, например, покупаем на кондитерской фабрике отсев от обжарки какао-бобов и на мельнице собственной разработки измельчаем так, как больше никто не может. Ну и продаем, есстественно. Ну, и многое другое… Конечно, пищевое производство имеет свою специфику. В частности, массу параметров, которые надо контроллировать. Кроме крупности тут и микробиология, и жирность, и влажность. В силу ряда причин мне пришлось решать задачу контроля влажности в очень сжатые сроки. Решение получилось из серии «голь на выдумки хитра». Вот об этй истории речь и пойдет.

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

Разбираемся в С, изучая ассемблер

Reading time11 min
Views93K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →

Nokia: история дизайна

Reading time7 min
Views67K
В нашем портфолио найдется не один десяток необычных и интересных с точки зрения дизайна моделей. Можно сказать, что начиналось все с прихода в компанию в 1995 году Фрэнка Нуово. В его послужном списке значатся в том числе учеба в Art Center College of Design в Пасадене и работа в BMW Group DesignworksUSA, где он занимался дизайном приборных панелей. Неслучайно его первым проектом в Nokia стал дизайн телефона для автомобиля.

Именно благодаря свежему взгляду Фрэнка изменился подход к разработке мобильных телефонов: под его руководством дизайн и эргономичность встали во главу угла вместе с функциональностью.



Под катом вы приглашаем вас в тур по самым интересным дизайнерским моделям Nokia.

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

Настраиваем Opera 15 методом «напильника»

Reading time3 min
Views22K

Предисловие


Недавно вышла предварительная версия любимого бразузера Opera.
Много копий сломано в комментариях, много жалоб, много недовольствия — нет смысла повторять всё то, что уже написано.

Читая комментарии, в голове сформировалась мысль: всё, финал. Нет больше нормального браузера.
И только редкие ответы pepelsbey вселяли слабый огонёк надежды… «а вдруг?». Затаив дыхание, решил таки скачать Opera Next, и, после установки, был награжден — не всё так плохо! С поправкой, конечно, на альфа-версию.

Одна только вещь печалила.
Используя Opera, я очень привык к одноклавишным сочетаниям «1» и «2» для переключения вкладок — настолько, что без них не представляю себе работу в браузере. А в Opera 15 они, как известно, не работают, и более того — сочетания клавиш не настраиваются.

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

Грусть-печаль...

Ориентировка на местности


Когда прошел первый шок, следующей мыслью было посмотреть — а может быть не так всё плохо, и клавиши таки можно настроить?
Читать дальше →

Система изучения языка в Дании

Reading time8 min
Views139K
В продолжение статьи "Дания: страна здравого смысла" хочу поделиться, как здесь организовано изучение датского языка для иностранцев.

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

Вначале — небольшая вводная, затем затронем техническую часть.

Зачем учить датский язык


Приезжим даётся 3 года, чтобы начать изучать язык за счёт государства, т.е. безвозмездно. Несмотря на это, я размышлял, стоит ли тратить на это несколько часов в неделю — ведь на нём говорит всего-то 5.7 млн человек.

В итоге я выделил для себя такие плюсы:
  • хотя датчане поголовно владеют английским, они очень ценят, если ты стараешься общаться с ними на родном языке. Также хотелось бы понимать надписи на улице, письма из банка, и т.д.,
  • для получения вида на жительство требуется сдать экзамен на владение языком и знание культуры страны. Оставаться здесь жить я не планирую, но решил не захлопывать это «окно в Европу»,
  • знание датского сильно упрощает понимание остальных языков скандинавской группы,
  • стало просто интересно, что говорят окружающие, когда думают, что ты их не понимаешь,
  • то, о чём я не подумал, пока не начал заниматься — новые знакомые. С иностранцами-одногруппниками подружиться проще, чем с датчанами: на курсах получается сплочённая интернациональная компашка с общим интересом.

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

Немного о процессе производства электронных приборов

Reading time6 min
Views19K
Добрый день, уважаемые хабрачитатели.

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

Под катом очень много фоток. Осторожно! трафик.
Читать дальше →

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 13

Reading time24 min
Views74K

Весной 2012 г., Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике shellx переводит тринадцатое занятие, редактор astropilot.

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →

Papeeria: облачный LaTeX редактор и IDE для научной работы

Reading time4 min
Views17K
Одной строкой: тут рекламируется Папирия, онлайновый сервис для подготовки документов в LaTeX. Ходить на papeeria.com.

Введение


Если вы студент, то наверняка либо уже пишете курсовую или диплом, либо всерьез над этим задумываетесь. Если вы к тому же учитесь в техническом вузе и в вашей работе много формул и прочего нетекста, то возможно, вы задумываетесь над тем, в чём его писать — в LibreOffice/Word или в LaTeX. И возможно, от использования LaTeX вас останавливает только то, что Word вот он, под рукой, бери и пиши, а латех надо еще устанавливать, возиться с почти неизбежными подводными камнями и потом еще тупо глядеть на белый лист и думать с чего начать. Вот вам-то мы и хотим помочь. А также тем, кто хочет вести свою научную работу из любого места, где есть интернет.

Для всех остальных: если вы вообще не знаете, что такое латех, то рекомендуем погуглить (можно начать, например, отсюда). Если же что-то знаете и просто хотите потроллить на тему latex vs word, то поищите себе, пожалуйста, другую поляну. Будем премного благодарны.

Итак, о Papeeria

Убираем пыль с 1000 фотографий с помощью Gimp и Script-Fu

Reading time6 min
Views21K
Думаю многим фотографам приходилось чистить отснятые фотографии от пылинок на матрице. Не имея полного Photoshop-a или LightRoom-a быстро обработать большое количество фотографий крайне трудно.
Но у нас есть Gimp и желание написать к нему скрипт.
На Хабре уже было не мало статей про возможность написания скриптов в Gimp.
Вот самый подробные обзор самого языка Script-fu и возможности написания на нём расширений к Gimp
Вот тут статья про пакетную обработку.
По идее, прочитав 2 эти статьи, можно сделать что угодно. Но вот только при решении обозначенной в заголовке проблемы, я столкнулся с многими нюансам, на преодоление которых ушло не мало времени, и которые мало где описаны. Даже в англоязычных Tutorial-ах и Help-ах. О них и пойдёт речь.
Читать дальше →

Полностью автономная камера наблюдения

Reading time3 min
Views105K

В дороге


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

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

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

Проектирование собственного компьютера. Часть 1

Reading time5 min
Views64K

Вступительная часть. «Наполеоновские планы»


Почти год назад у меня возникла мысль понять, как устроен компьютер, как он работает. Ну и конечно же, появилось огромное желание создать свой собственный на элементарных логических элементах (если быть точнее — на транзисторах).
Тогда у меня было только маленькое представление о его работе: я знал, что вся цифровая электроника построена на логических элементах (для меня это было, как постулат), но никак не мог сообразить, как исполняется программа, суммируются числа, зачем прерывания… Этот перечень вопросов можно продолжать и дальше, но сейчас не об этом.
Определим характеристику разрабатываемого компьютера:
  • Вид логики: двоичная логика
  • Разрадность шины данных: 32 бита
  • Разрядность шины адреса: 24 бита (можно адресовать 16 777 216 32-разрядних чисел)
  • Исполнение основных арифметических, логических, побитовых операций над данными, а также операций над ячейками памяти (mov, xchg)
  • Реализация функции выделения памяти (предусмотрено 4 ассемлерных инструкции)
  • Обработка данных напрямую и с помощью указателей
Читать дальше →

Самодельная механическая клавиатура на стандартном контроллере

Reading time3 min
Views155K

Решение сделать собственную клавиатуру пришло после анонса клавиатуры Truly Ergonomic. Всё в ней было прекрасно, кроме цены. 220$+50$ за доставку несколько превышало психологический порог стоимости доски с кнопками.
Читать дальше →

Лазерное шоу своими руками. Часть 2

Reading time3 min
Views102K
Теперь, когда вы прочитали(или не прочитали) всю эту скучную теорию из первой части – займёмся практическими экспериментами. Если у вас в хозяйстве завалялся аналоговый осциллограф, то вы сможете не прилагая почти никаких усилий вывести на него видео.
Читаем

Переносим функциональность bash в cmd.exe

Reading time2 min
Views115K
Мне, как и многим из вас, работать с bash и стандартными утилитами Linux гораздо удобнее и приятнее, чем с cmd.exe. Однако, к сожалению, порой обстоятельства складываются так, что операционную систему выбирать не приходится. Например, в моём случае корпоративным стандартом является Windows 7. К счастью есть способ сделать жизнь линуксоида в командной строке Windows комфортнее, о нём и пойдет речь ниже.

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

Клавиатура своими руками под свои руки

Reading time24 min
Views349K

Для меня всё началось вот с этого топика о механических клавиатурах, желания научиться печатать быстрее (к своему стыду до недавних пор печатал двумя пальцами, несмотря на 25летний стаж программирования), и появившихся недавно неприятных ощущений в кистях после рабочего дня (да и вообще времени, проведённого за компьютером).
Провёл короткое исследование о том, что вообще есть из клавиатур для программистов и тех, кто много печатает, и написал вот этот обзорный топик. Купил себе Happy Hacking Lite (минималистичная клавиатура с мембранными переключателями), но печатать на ней оказалось ещё менее удобно, чем на ноутбучной, в основном из за ещё более компактного расположения клавиш.
Вскоре появился топик, в котором автор рассказывал о новоприобитённой им Truly Ergonomic, пожалуй, практически идеальной клавиатуры с моей точки зрения, но в комментариях автор же отметил, что спустя два месяца использования так и не смог совсем пересесть на неё, а положение рук совсем не так и удобно, как рекламируется.
Чуть позже появился топик о Kinesis Advantage, по отзыву автора к которой тоже не так легко привыкнуть, а цена так и просто пугает.
И я решил...

Премьера отечественного фан-фильма по игре «Half-life 2»

Reading time1 min
Views48K

Хабр, представляю тебе проект экранизации компьютерной игры «Half-Life 2».


Первая из четырех серий фанатского проекта должна выйти в ближайшее время вышла на просторы интернета. А пока посмотрите трейлер:

Cтоит отметить, что вся эта затея носит исключительно некоммерческий характер и делается только из-за большой любви к материалу.

Что это? Это — любительский фан фильм, действие которого разворачивается полностью во вселенной Half-Life 2 и, более или менее, идет по сценарию оной же. Все действие будет разбито на дни (читай, серии). Соответственно, первый день — прибытие Фримена в City 17, встреча с Барни, побег от комбайнов и заканчивается знакомством с метрокоповским разрядником на чердаке одного из домов. Ну, вы помните, потом Алекс… и т.д.

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

Олимпиадные задачи по программированию: что за зверь?

Reading time5 min
Views62K
Недавно мы анонсировали конкурс задач по спортивному программированию. Организаторы конкурса попросили написать короткое объявление о конкурсе в блог ABBYY, но строгий редактор отказался печатать анонс без объяснения того, что же такое олимпиадная задача. Из этого родилась целая статья. Начнем, пожалуй, с примера олимпиадной задачи.
Этот же пример, чтобы по ссылке не ходить

ИТ-рестораны


ограничение по времени на тест: 4 секунды
ограничение по памяти на тест: 256 мегабайт
ввод: standard input
вывод: standard output

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

Недавно мэр города придумал способ, устраняющий проблемы с общепитом и IT-инфраструктурой, причем одновременно! Решено поставить на перекрестках города ресторанчики двух известных сетей кафе для IT-шников: «iMac D0naldz» и «Burger Bing». Так как владельцы сетей не дружат, категорически запрещается размещать рестораны двух разных сетей на соседних перекрестках. Есть и другие требования. Вот полный список:

  • в каждом перекрестке должен находится не более чем один ресторан;
  • каждый ресторан принадлежит либо «iMac D0naldz», либо «Burger Bing»;
  • каждая сеть должна построить не менее одного ресторана;
  • не существует пары перекрестков, которые соединены дорогой и на которых стоят рестораны разных сетей.

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

Помогите мэру проанализировать ситуацию. Найдите все такие пары (a, b), что a ресторанов может принадлежать «iMac D0naldz», b — «Burger Bing», а сумма a + b максимальна.

Входные данные

В первой строке входных данных содержится целое число n (3 ≤ n ≤ 5000) — количество перекрестков в городе. Далее в n - 1 строке перечислены все дороги, по одной дороге в строке. Каждая дорога задана парой чисел xi, yi (1 ≤ xi, yi ≤ n) — номерами соединяемых перекрестков. Считайте, что перекрестки пронумерованы от 1 до n.

Гарантируется, что заданная дорожная сеть представляет собой неориентированное дерево с n вершинами.

Выходные данные

В первую строку выведите целое число z — количество искомых пар. Далее выведите все искомые пары (a, b) в порядке увеличения первой компоненты a.
Примеры тестов
Входные данные

5
1 2
2 3
3 4
4 5

Выходные данные

3
1 3
2 2
3 1

Входные данные

10
1 2
2 3
3 4
5 6
6 7
7 4
8 9
9 10
10 4

Выходные данные

6
1 8
2 7
3 6
6 3
7 2
8 1


Первое, что бросается в глаза, это необычное условие. Такой подход сложился исторически: писать краткую математическую формулировку не принято. Обычно ее пытаются связать с реальной жизнью, ну или с не очень реальной. Например, в USACO героями всех задач являются фермер Джон и коровы. Прежде чем приступить к решению после прочтения условия, участнику требуется выделить математическую формулировку задачи.
Читать дальше →

Information

Rating
3,274-th
Registered
Activity