Pull to refresh
131
0
Владимир @whoozle

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

Send message

Как я перестал бояться и переизобрел QML

Reading time 6 min
Views 14K

Что?


Привет, Хабр! Прошло очень много лет, с тех пор как я писал сюда. Надеюсь, время тебя/меня не слишком/слишком потрепало.

Я хотел бы написать о нашем опыте переосмысления идей QML. Qt — прекрасная (по совокупности заслуг) библиотека, и хотя её внутреннее устройство местами вызывает вопросы, но она дала миру не только кросс-платформенный UI тулкит, но и цельный профессиональный набор инструментов: Дизайнер, Креатор, Лингвист, и, конечно же, Qml. Результатом этого переосмысления стал наш скромный проект, который превращает qml в html5/javascript для разных платформ, и даже позволяет собирать простые android приложения используя Cordova.

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

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

Исходные коды доступны на github, там же лежат исходные коды сайта, примеров и библиотека контролов, которые мы используем для всех своих проектов. Документацию и уроки можно посмотреть на нашем сайте, pureqml.com.
Если вы чего-то не понимаете, можете присоединиться к группе поддержки в Telegram, мы постараемся ответить на все вопросы в реальном времени.

Одно из бесплатных приложений, которые мы сделали, был порт игры Fontanero, она должна быть доступна в маркетах LG/Samsung.

Ну а дальше можно не читать!

Как мы дошли до жизни такой


Всё началось в уже-далеком 2010-ом году, когда мы начали писать встраиваемое ПО (и интерфейс пользователя) в одной крупной корпорации для линейки разношерстных устройств на всевозможных платформах, доступных сейчас: arm, mips, x86, sh4, не хватало только sparc…
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 25

Отложенное начисление счетов за международный роуминг, законно ли это?

Reading time 1 min
Views 591

МТС наносит ответный удар.


Сам я перестал пользоваться услугами жуликоватой большой тройки, но вот жена моя ни в какую не соглашается. Она уехала в Италию неделю назад(!), а сегодня МТС прислал ей смсочку, что нужно заплатить больше трёх тысяч, а иначе её отключат.
Разумный человек во мне говорит, что это чистой воды мошенничество, поэтому я хочу поинтересоваться у хабрасообщества, какие бывали прецеденты борьбы с подобной практикой.
Так как с деньгами я уже попрощался, то я хочу доставить МТС максимум трудностей, насколько это возможно.
Я готов подать в суд, пускай сумма и не очень большая (не миллион, как в истории с мегафоном), просто для создания прецедента. Написать заявления в ФАС, или куда там принято их писать, на тему недобросовестного информирования.
Как я понимаю, МТС будет жаловаться, что им не приходят данные о разговорах, но это вранье. Почему-то ТЕЛЕ2 за границей блокирует телефон сразу же, а эти нечистоплотные жулики ждут неделю.
Лучи ненависти, горите в аду.

Очень жду от вас дельных советов, хочу сделать нашу страну лучше. :)
Total votes 59: ↑49 and ↓10 +39
Comments 39

Исходный код игры «Fontanero», победителя конкурса 10k apart

Reading time 1 min
Views 717
Некоторое время назад, мы, с private_face участвовали в конкурсе 10k apart(и даже выиграли!), и наши статьи были довольно-таки тепло1 встречены2 на хабре. В комментариях, нас несколько раз просили открыть исходники, и, наконец-то, летучие обезьяны подняли мне веки к обеду, это случилось. Сегодня мы залили всё что было, включая импровизированный «тулчейн» на github. Сильно не ругайте, исхода так себе, а я на js до этого никогда не писал толком :)

Исходники и все инструкции можно получить по ссылке: https://github.com/whoozle/fontanero.
Total votes 18: ↑18 and ↓0 +18
Comments 5

Наш опыт участия в 10K Apart или как ужать 40 Кбайт кода в 10

Reading time 6 min
Views 8.6K
Не так давно на Хабре уже писали о контесте 10К Apart — соревновании на лучшее веб-приложение общим объемом до 10К, созданное с использованием только клиентских технологий: (HTML, CSS, Javascript, SVG и т.д).

image

Я хочу представить вашему внимаю нашу работу для этого контеста, которую мы с private_face делали по вечерам в течение двух недель: адвенчуру в стиле dungeon-crawler под названием «Fontanero» (исп. водопроводчик).
Читать дальше →
Total votes 266: ↑264 and ↓2 +262
Comments 123

Переезд на мастерхост

Reading time 2 min
Views 3.9K
Здравствуй, Хабр! Я очень хочу рассказать о том чем я занимался последние три дня, а именно — противостоянием поддержке мастерхоста. Я с 2006-ого года пользовался мастерхостом, в основном из-за того, что у них была вменяемая поддержка, вмешательство которой часто и не было нужно. Либо инжеренеры всё делали сами. Теперь, видимо ситуация изменилась.

Три дня(!), уже целых три дня они не могут завести мой домен и прописать vhost :)

upd: Ещё три(!) письма от хозяина домена и проблема решена, всё работает! И как мне кажется не без помощи хабра. :)
upd2: Мастерхост прислал извинительное письмо, инцидент исчерпан.

Ну а теперь по порядку:
На утро этого воскресенья была назначен перенос нашего скромного проекта на домен второго уровня, на площадку, которая раньше использовался этим же проектом, но только как файлохранилище. Итог плачевен и из этой ситуации я вижу два выхода, один из которых — переезд к другому хостеру. Не рекламы ради, очень хочется узнать ваши предпочтения.
Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Comments 16

Экспортные ограничения на криптографию в США

Reading time 1 min
Views 4.9K
Пока sourceforge бьётся в истерике, давайте почитаем законы США на тему экспортных ограничений. Например ECCN 5D002, про который все слышали, но никто не читал.

США разрешает экспорт программного обеспечения без ограничений и ревью, если все следующие пункты выполнены:
  • Код регулируется экспортными ограничениями ECCN 5D002
  • Код публично доступен
  • Послано уведомление в U.S. Government's Bureau of Industry and Security (BIS)

Опенсорсные программы автоматически попадают под второй пункт. Но что такое пункт номер один? Сейчас попробуем разобраться.
Под его действие подпадает:
  • Программное обеспечение предназначенное для разработки, модификации или любого другого использования программного обеспечения из этого списка; или
  • Программное обеспечение с симметричным шифром длиной более 56 бит; или
  • Программное обеспечение с асиметричным шифром, использующее разложение целого числа на простые множители с длиной ключа более 512 бит (например, RSA); или программное обеспечение использующее вычисления дискретных логарифмов над конечным полем или другие операции над дискретными алгоритмами с длиной ключа более 112 бит (например, эллиптические кривые).
  • Программное обеспечение для криптоанализа.

Специально оговорено, что упаковка и кодирование не подпадают под этот акт.
3. «Cryptography» does not include «fixed» data compression or coding techniques.

Хэш-функции не являются криптографическими алгоритмами с симметричными/асимметричными ключами вообще, поэтому даже не рассматриваются.

Из общедоступного ПО, после такой фильтрации остаются американские браузеры, в которых эти ограничения всегда были и специальный софт типа TrueCrypt.
Больше можно почитать на apache.org.
Total votes 55: ↑51 and ↓4 +47
Comments 18

Я использую Brain Fuck Scheduler!

Reading time 1 min
Views 5.3K


pic related

Кон Коливаc (автор знаменитых когда-то ck ядер) выпустил свой шедулер для десктопных систем под управлением linux. При этом он руководствовался не супер-честностью и мифической расширяемостью, а производительностью своего рабочего компьютера.

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

Надеюсь, когда-нибудь BFS включат в ядро и его можно будет включить просто из menuconfig'a.

PS А полноэкранное видео на youtube действительно больше не тормозит! Посмотрел для теста несколько HQ трейлеров.

ck.kolivas.org/patches/bfs/bfs-faq.txt
ck.kolivas.org/patches/bfs
Total votes 71: ↑65 and ↓6 +59
Comments 72

Тестируем свежеиспечёные SSE модификации FFT/MDCT

Reading time 1 min
Views 1K
Написал для своего детища SSE-реализацию комплексного FFT и MDCT. Результаты поразили даже меня:
преобразование/вариант без SSE SSE-модификация
2000000 * FFT-128 16,7с 13,3с 5,1с 3,7с
1000000 * MDCT-512 17,4с 15,3с 10,4с


Вычислялось два миллиона 128-точечных комплексных FFT и один миллион 512-точечных MDCT. Процессор Intel® Core(TM)2 Duo CPU E8400 @ 3.00GHz

Интересно можно ли это кому-нибудь продать или лицензировать? :)
Total votes 6: ↑4 and ↓2 +2
Comments 4

Оптимистичные примитивы синхронизации, очереди и все-все-все. Трагикомедия в трёх действиях

Reading time 4 min
Views 8.6K
Заранее предупреждаю, для тех кто в теме, интересного будет не очень много. :)

У меня появилась актуальная задача реализовать базовые примитивы синхронизации(мьютекс, семафор и read/write lock), используя только синхронную очередь — единственный доступный примитив. Заодно по пути я расскажу как устроены спинлоки и мы даже соберём маленького франкенштейна.

Часть 1: Всё — очереди

Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Comments 28

Небольшая демка моей библиотеки clunk.

Reading time 1 min
Views 547
Что такое кланк и про её(библиотеки) возможности можно почитать тут. Сразу предупреждаю что ничего супер-пупер в этой демке нет. Источник звука перемещается позади головы от положения 9 часов до положения 3 часа (против часовой стрелки).
Тут можно скачать ogg файл с записью. В ogg пожато потому что oggenc умеет жать из raw data. :)
Total votes 13: ↑9 and ↓4 +5
Comments 7

Случайные заметки. MDCT.

Reading time 1 min
Views 739
Насколько позволяет время, работаю над проектом бесплатной и свободной библиотеки рендеринга 3D звука, о которой писал в прошлом посте.
Работа продвигается медленнее чем хотелось бы, в основном потому что приходится жертвовать драгоценным временем сна. :)

Что сделано к следующему публичному релизу:
  • Добавлено и оттестировано MDC преобразование (вместо преобразования Фурье). Если делать преобразование Фурье, пускай с перекрытием, даже в пол-окна (на границах окон результаты микшируются кросс-фейдом), то после преобразований Фурье появляется так называемый blocking-effect(аналогичный эффект можно наблюдать на плохом качестве jpeg'ах или видео — разноцветные квадраты), хорошо различимый на слух. Это биения на частоте <частота дискретизации>/<размер окна FFT>. MDCT специально разработан чтобы избавиться от таких эффектов. Почитать про него можно тут. Теперь на слух никаких артефактов не слышно, кроме небольшого клиппинга(связанного с увеличением энергии сигнала), но с этим мы ещё поборемся :-D
  • Попутно оказалось, что до сих пор, даже на новом core2duo, считать sin/cos достаточно накладно. Тест из 51.200.000 вычислений синусов работает 4 секунды против 0,7 секунд для кэшированной таблицы.
  • Встретился с необходимостью отсечения одинаковых звуков. Введёно ограничение на количество одновременно играющих одинаковых звуков.
  • Выкинул kiss за ненадобностью, в пользу более чистого c++ кода. Пропала поддержка SSE, вернётся чуть-чуть попозже :-D
  • Начата демка «ножниц»(виртуальный парикмахер), чтобы проверить правильность всего предприятия.
Total votes 7: ↑6 and ↓1 +5
Comments 2

Музыкальные мини-игры от NoiseGames

Reading time 1 min
Views 673
Случайно нашёл несколько музыкальных флешовых мини-игр: симулятор пения в душе, концерта или блюзмена. Развлечение на пять-десять минут, но настроение поднимает отменно.
Total votes 7: ↑4 and ↓3 +1
Comments 1

Синтез 3D звука :: Clunk

Reading time 2 min
Views 3K
Работая над проектом уютненькой аркады, я с сожалением обнаружил что OpenAL отбирает слишком много моего времени. Мало того, что для него пришлось написать менеджер звуков о полутора тысячах строк кода, так ещё и приходилось бороться с разного рода чёрной магией. (Например реализация от nvidia намертво вешала венду) Поэтому, я внезапно решил что потратил на него достаточно времени и написал свой собственный велосипед, который и был успешно обкатан в поле, и выпущен с открытыми исходниками на sourceforge.

Вообще, наше ухо не такое уж и хитрое устройство. Позицию источника ухо определяет двумя способами. В горизонтальной плоскости звук приходит в одно ухо чуть раньше чем в другое. Простая тригонометрия умноженная на диаметр головы и дело в шляпе! :)
Второй способ уже куда сложнее — голова имеет разную плотность и разные технологические отверстия, следовательно, спектр звука искажается по разному в зависимости от направления вхождения сигнала. Было много попыток сделать эталонную голову(ничего постыдного, даже Стив Джобс делал это), заполнить её желеобразным заменителем мозга и померить искажения эталонного звука, например проект KEMAR из MIT.

Мой проект называется Clunk, и умеет практически всё, что необходимо уметь звуковой библиотеке:
  • Бесконечное количество всего: музыкальных потоков (SDL_Mix умеет только один, например), объектов и именованных источников звука прикреплённых к объектам или слушателю.
  • Простое апи на c++. (В OpenAL вы вынуждены сами перестраивать сцену, для того чтобы перекинуть 16 источников поближе к слушателю, рестартуя источники (sic), ещё рекомендую посмотреть примерчик «как сделать фоновую музыку на OpenAL», ~полтыщи строк кода =-O ) )
  • HRTF, HDT описанные выше(собственно 3d звук)
  • Поддержка всех distance models (падение громкости в зависимости от расстояния) из OpenAL
  • Опциональная оптимизация под процессоры с технологией SSE
  • Эффект допплера
  • Должно работать под всеми платформами где есть SDL, не содержит платформно-зависимого кода.
  • Лицензия LGPL 2.1 — можно использовать в коммерческих продуктах.


Адрес проекта на sf.net: https://sourceforge.net/projects/clunk
Если вам интересно, можно смело писать мне в icq, я готов ответить на любые вопросы.
Total votes 96: ↑95 and ↓1 +94
Comments 43

Information

Rating
Does not participate
Location
Shipley, England - Yorks & Humber, Великобритания
Date of birth
Registered
Activity