• SkypeTab неделю спустя + негодования в адрес Unity пост

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

      За прошедшую неделю были произведены следующие изменения:
      1. Достигнута совместимость с Unity
      2. Достигнута совместимость с kwin и, похоже, со всеми остальными оконными менеджерами (этот ваш awesome почему-то не хочет разворачивать окно во весь экран, но, думаю, его можно донастроить как надо).
      3. Потеряна и вновь возвращена (спасибо тов. Restorer за то, что нашёл корень проблемы и предоставил фикс) совместимость с Gentoo
      4. Решён ряд проблем, связанных с фокусом ввода
      5. Добавлено переключение табов по Ctrl+Tab/PgDown/PgUp
      6. Добавлена возможность выбрать, какие типы окон встраивать во вкладки
      7. Устранено «мерцание» при открытии новой вкладки
      8. Исправлена тянущаяся ещё с прошлогодних версий проблема производительности, связанная с тем, что статус наличия новых сообщений проверялся опросом X-сервера на предмет _WM_NET_NAME и проверкой наличия * в начале (на третий день Зоркий Глаз увидел, что у сарая нет стены QWidget есть isWindowModified)
      Скачать бесплатно без регистрации и без СМС
    • Вкладки для линуксового скайпа. А вдруг я ещё не всем с ними надоел?

        Если вы не пользуетесь скайпом для линукса, можете смело листать хабр дальше.

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

        Для остальных же сообщаю, что оно переписано уже в четвёртый раз, теперь на C++ и Qt.
        О том, что поменялось, и где всё это счастье взять, можно узнать под катом.
        Читать дальше →
      • Вышел MonoDevelop 2.8.2

          Вышло второе обновление к релизу 2.8 среды разработки для платформ .Net, Mono, MonoTouch и MonoDroid. Все нововведения связаны с разработкой под Android и iOS. Так же немного оптимизировали дебаггер.
          Помимо этого, похоже, доведён до ума редактор кода. После получасовых издевательств мне не удалось заставить его сыпать ошибками (неделю назад подобная процедура выявила невозможность сохранить файл без кода, но с комментариями).

          Полный список изменений можно почитать здесь. Обзор релиза 2.8 на хабре, если кто ещё не читал, можно увидеть тут.
          Читать дальше →
        • Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

            К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
            Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

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

            Читать дальше →
          • Выпуск MonoDevelop 2.8.1

              Вышло первое обновление к релизу 2.8 среды разработки для платформ .Net, Mono, MonoTouch и MonoDroid. Никаких нововведений не было, зато исправлено несколько весьма критичных багов, один из которых приводил к полной невозможности редактирования исходника из-за постоянно выскакивающих сообщений об ошибке. Так же исправлен набор проблем с автодополнением, подсветкой синтаксиса и ещё несколько незначительных, но неприятных вещей.

              Полный список изменений можно почитать здесь. Обзор релиза 2.8 на хабре, если кто ещё не читал, можно увидеть тут.

              Последнюю версию для Windows и MacOS X можно скачать с официального сайта, но пакетов для большинства дистрибутивов Linux всё ещё нет, равно как и для 2.8. Впрочем, как заметили в комментариях, относительно openSuSE и NLE надпись на сайте об отсутствии пакетов нагло обманывает.

              Пользователи же Debian (потребуется поставить mono из experimental репозитория) и Ubuntu при желании могут воспользоваться моим ppa, в котором можно найти как сей релиз, так и пакет, пересобираемый с каждым коммитом в github-репозитории.
            • SkypeTab. Вкладки для линуксового скайпа. Теперь без костылей

                Поскольку прошлый пост уже пару дней как пропал из выдачи, и апдейт в нём наврятли прочитают, пишу новый и короткий.

                Суть такова. Я идиот. Бился над проблемой с прошлого года, перепробовал тучу способов разной степени кривизны и проморгал простейшее и очевиднейшее решение с вызовом XSetInputFocus в нужный момент и на нужное окно, которое ещё и не тянет за собой разного хлама.


                Протестировано на убунте и федоре с compiz, metacity и kwin. Тем не менее нуждается в тестировании.
                Ссылки
                Исходники.
                Архив для самостоятельной сборки и установки.
                PPA для Ubuntu.
                Прямая ссылка на deb-пакет (должно нормально встать на lenny/squeeze и производные).
                RPM-ки для федоры и суси, говорим спасибо Ignotus

                Читать дальше →
              • SkypeTab — вкладки для линуксового скайпа. Теперь под любые оконный менеджер и панель

                  Устарело, см. свежую версию тут.

                  • Если Вы не пользуетесь Linux или Skype, то этот пост не для Вас.
                  • Если Вы настроили себе мост в Pidgin и теперь все 3.5 скайпоконтакта у Вас в этом списке, то этот пост не для Вас.
                  • Если Вас устраивает то, как скайпоокна группирует KWin, и не смущает тот факт, что они как в таскбаре место все дружно занимали, так и занимают, то этот пост тоже не для Вас.
                  А вот если Вы активно пользуетесь скайпом, активно переключаетесь между несколькими конфами и хотите удобного нативного интерфейса, то рекомендую всё же ознакомиться.



                  Когда я разрабатывал предыдущую версию, я упёрся лбом в стену. Все попытки поправить косяки упирались в «умные» оконные менеджеры, лучше меня знающие, где должны находиться окна, и в кривые утилиты таскбара (да-да, gnome-panel в их числе), игнорирующие SKIP_TASKBAR_HINT, если он не был установлен до появления окна на экране. Знаете, я тогда сдался.

                  Но на прошлой неделе на переходе в метро меня кто-то толкнул и я полетел вниз с лестницы. В нижней точке полёта, в момент удара лбом в стену, в тот чудесный миг, я осознал, что никакой стены на самом деле нет. Нет, мне потом в больнице рассказали, что стена на самом деле была, причём даже бетонная. Но я сейчас про ту метафорическую стену из предыдущего абзаца.
                  Читать дальше →
                • Mono 2.10.1 и MonoDevelop 2.6 с работающим дизайнером форм в extras-testing репозиториях для N900

                    А вдруг я ещё не всех задолбал?
                    В общем, с помощью чёрной магии, лома и какой-то матери мне таки удалось заставить Mono собираться под скрэтчбоксом, а MonoDevelop довести до вменяемого состояния, так что теперь нормально работает редактор GUI.



                    Чтобы поставить это чудо себе на железку, надо подключить extras-testing (этого ещё кто-то не сделал?) и выбрать его в менеджере программ. Если была установлена версия из прошлого поста, то её лучше зачистить, ибо может криво обновиться.

                    Узнать про нестандартные технические решения
                  • Упаковка .NET приложений для N900 на примере Bless

                      Рантайм и библиотеки Mono у нас уже есть. Но они наврятли попадут в репозитории Nokia по причине достаточно «весёлой» процедуры их сборки. Я попробую, конечно, пропихнуть в раздел non-free, но никаких гарантий нет. Ссылаться на внешний репозиторий некошерно, а держать несколько клонов этих пакетов проблематично. Как быть? Да достаточно просто. Упаковать рантайм и библиотеки в автономный исполняемый файл при помощи утилиты mkbundle. Кстати, вопреки опасениям я не заметил разницы во времени запуска и потреблении памяти до и после упаковки.



                      Читать дальше →
                    • Альтернативная среда сборки для N900

                        На текущий момент существует единственный официальный способ компиляции под N900 — через Scratchbox. Чем он мне не угодил? Да вот чем. Во-первых, он есть только под i386, со всеми вытекающими из этого весёлостями в виде необходимости держать кучу 32-хбитных библиотек. Во-вторых, ставится оно вопреки всем канонам зачем-то в /scratchbox, попутно прописывая свои модули для binfmt и, вытворяя прочую похабщину, разрушает стройную структуру дистрибутива. В-третьих там достаточно древний qemu, что даёт отнюдь не рекордную скорость компиляции. Ну и в-четвёртых, ставится это чудо очень медленно (я не знаю, где они хостятся, но установщик качал полгига пакетов довольно-таки длительное время. Кстати говоря, весит оно в установленном виде тоже изрядно. А поверх него ещё идёт SDK.
                        Ну и самое важное. qemu-user не поддерживает весь набор системных вызовов ядра. А, значит, часть софта (в частности, mono), банально не сможет работать. Проблему можно было бы решить, chroot'ясь в окружение из arm-ной системы в режиме полной эмуляции, но см. пункт первый.
                        В общем, убогое поделие, вообще не представляю, у кого рука поднялась его использовать в серьёзном проекте.

                        По-идее ещё можно компилить непосредственно на устройстве. Но тут проблема в том, что там стоит busybox, c которым очень плохо дружит тот же dpkg-buildpackage. Соответственно, при переносе rootfs c устройства и попытках оную использовать, эти грабли никуда не исчезают. А заменить его на coreutils не так-то просто, ибо это сломает часть зависимостей и отвалится полсистемы.



                        И что делать? А мы пойдём другим путём. Изобразим из себя ярых последователей барона Мюнхгаузена и в лучших традициях процедуры bootstrap (поднятие самого себя за шнурки ботинок) установим систему с нуля из пакетов. Как именно, читайте под катом.
                        Читать дальше →
                      • MonoDevelop на Nokia N900. Where is your God now?


                          Работает всё, что вообще может работать. Редактор, компиляция, отладчик, значение переменной по клику в отладчике. С диким скрипом и скрежетом даже дизайнер форм.

                          Пощупать сии ништяки у себя на мобилке можно добавив
                          deb http_://archive.kebrum.com/n900/ all main
                          В sources.list (надеюсь, я ничего не забыл при упаковке). Также понадобится подключить extras-testing и extras-devel. После чего набрать в консоле apt-get install monodevelop. Вся иерархия пакетов полностью соответствует таковой в Debian, за исключением 2 оптификационных, но они автоматом подтянутся по зависимостям.

                          Пока пакеты ставятся, забивая бесценное место в rootfs библиотеками из маэмовских репов (у меня-то всё в /opt, вы не подумайте!), предлагаю Вам почитать, как дошёл я до жизни такой.

                          Проникнуться красноглазием
                        • Mono и Windows Forms на Nokia N900? Да не вопрос!

                            Я был несколько удивлён, не увидев mono в репозиториях для этого замечательного устройства. Но, поскольку оно было позарез нужно, решил всё-таки собрать. И тут же напоролся на весьма забавную особенность маэмовского SDK, которая этого сделать мне не позволила. Но обо всём по-порядку. А пока что небольшой скрин того, что получилось:
                            image

                            Вместо нормального эмулятора устройства и тулчейна для сборки, ребята из нокии приспособили под это дело scratchbox, который, эксплуатируя qemu-user, запускает arm-ные бинарники прямо на ядре текущей ОС. И всё бы замечательно, если бы оно работало как надо. На деле же во время сборки qemu выдаёт «unsupported syscall 242», после чего сборка стопорится. Обычным кросскомпилером тут что-либо сделать сложно, ибо mono в лучших традициях процедуры bootstrap (поднятие самого себя за шнурки ботинок) компилит сначала свой компилер и уже с его участием дособирает всё остальное. Как с этим бороться, не особо понятно, если только компилить на девайсе, но там это займёт годы. Для N800 mono какой-то герой таки смог собрать, но работать на n900 оно отказалось, вываливаясь с SIGSEGV. Если кому-то интересно, как сия проблема была решена, или же самостоятельно пощупать моно на устройстве (можно прямо в Visual Studio писать, если что) прошу под кат.
                            Читать дальше →
                          • Бета-тестирование Kebrum VPN, анонимность доступная каждому

                              Интернет является молодой технологией, если считать возраст с момента создания службы WWW в 1989 году, то ему всего 21 год. Как и всякая технология, созданная человеком, глобальная сеть, помимо ее предназначения(официально это быстрый обмен информацией) может быть использована во вред. Речь идет вовсе не о вирусах, ломающих компьютер и не о предложениях увеличить МПХ. Интернет является настолько удобной вещью, что все больше и больше сливается с реальной жизнью и в общем-то уже нельзя сказать, что он является «виртуальностью». Это в фантастике погружаешься в виртуальную реальность, где свой независимый от реальности мир, а тут все иначе, Интернет это просто система по передаче информации. Но почему-то большинство людей так не считает и им кажется, что то, что происходит в Интернете никак не повлияет на их жизнь. А ведь за последние 20 лет мир стал другим, сегодня из России попасть в Америку можно за 27 часов, при этом цена билета не является чем-то недоступным. Хорошо об этом сказал Louis CK в этом видео.
                              И к чему всё это?