• Grub Customizer програмулина для редактирования меню загрузчика GRUB2

      image

      Grub Customizer — это новый менеджер настроек для GRUB2 на гуях. На данный момент он позволяет: переименовывать, переупорядочивать, удалять/добавлять и скрывать элементы меню выбора загрузчика.

      Интересен еще и тот факт что даже после переустановки самого ГРУБа ваши изменения не исчезнут.

      Grub Customizer доступен через Ubuntu PPA (Lucid и Maverick)

      sudo add-apt-repository ppa:danielrichter2007/grub-customizer
      sudo apt-get update
      sudo apt-get install grub-customizer

      Кстати он также поддерживает BURG.

      Лично проверил на Ubuntu 10.10 работает нормально, brick812,GamePad64 подтвердили работоспособность с BURG на ubuntu 10.04 и 10.10, спасибо им.
    • SeekBar в настройках приложения



        Для создания экранов настроек Android предоставляет очень удобный набор виджетов, таких как CheckBoxPreference, EditTextPreference, ListPreference. В случае, если существующие виджеты по каким-либо причинам не соответствуют требованиям, можно создать свой собственный на базе существующих.

        Довольно часто встречается ситуация, когда та или иная целочисленная настройка имеет разумные пределы: яркость, громкость и т.д. В этом случае имеет смысл создать собственный виджет, чтобы многократно использовать его в приложении.
        Читать дальше →
      • Backdoor в Active Directory

          В свое время, менее года назад, на хабре мелькала публикация с аналогичным заголовком [1]. В ней автор предлагал способ по сокрытию привилегий администратора домена путем использования в качестве контейнера, для размещения «скрытой» учетной записи, служебное хранилище «Program data», в совокупностью с агрессивным разграничением прав с целью предотвращения доступа к «спрятанной» учетной записи. Однако, несмотря на заверения автора, обнаружение «скрытой» учетной записи и ее последующее удаление можно было выполнить всего в несколько кликов.
          Читать дальше →
        • Простое использование AsyncTask и ProgressDialog в Android

          image

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

          Android содержит массу способов для организации данного подхода, но одним из самых удобных можно признать использование AsyncTask и ProgressDialog.

          Эта парочка превосходно решает задачу, но начинает приносить невыносимую боль, когда количество Activity с такой логикой переваливает за одну, что приводит к повторению управляющего кода, и еще большую боль, когда приложение должно поддерживать смену ориентации экрана.
          Читать дальше →
          • +46
          • 28.9k
          • 5
        • Пишем первое приложение для Android

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

          Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).

          Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.

          Читать дальше →
        • Hello World widget для Android

            Как ни странно, но на русском почти нет нормальных статей по виджетам для Android. Да и на англо язычных ресурсах почти нет простых примеров для старта, все примеры почему-то сложные и тяжелые для понимания. Спешу это исправить.
            Читать дальше →
          • Строим мультикоптер, часть завершительная

              Часть 1 | Часть 2 | Часть 3 | Часть 4

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



              Но не тут-то было.
              Читать дальше →
            • Как я внедрял Zimbra

              Всем доброго времени суток!

              После возвращения на прежнее место работы возникла необходимость разгребать собственные-же косяки 2-х летней давности, помноженные (именно помноженные) на косяки ООО «Разолбай-аутсорсинг» (название организации, как вы правильно понимаете, изменено). Одним из таких косяков был почтовый сервер Exim из которого мало того, что как из ушата лился спам, так еще и кривонастроеный антиспам приходящим админом ООО «Раздолбай-аутсорсинг» куда-то «пропадал» нужные письма, и в качестве приятного бонуса в imap`ных ящиках периодически пропадали нужные письма. В общем лучшим решением было rm -rf /. Именно это я и сделал и внедрил Zimbra и сейчас я хочу рассказать как это сделал таким образом, что это заработало (прежде всего в логике работы компании) став вторым инструментом документооборота, хотя ранее электронка стояла особняком, которая была у нескольких человек.

              И так, погнали бороться со спамом, разгильдяйством сабботажем, нежеланием работать, тупостью пользователей и еще кучей всего!

              Читать дальше →
            • TOP'ай сюда

                Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

                top

                Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

                atop


                Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

                В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

                Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
                Читать дальше →
              • Обзор и сравнение способов настройки NAT на FreeBSD

                В этой статье я бы хотел привести примеры настройки NAT на ОС FreeBSD и провести некоторое сравнение способов, которые, по моему мнению, наиболее часто используются.

                Для начала:
                NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.

                Рассмотренные варианты:
                — Демон Natd
                — IPFilter (ipnat)
                — PF nat
                — ng_nat
                — ipfw nat (kernel nat)
                Читать дальше →
              • Настройка PPPoE с шейпингом трафика для небольшой сети

                Однажды возникла задача настроить раздачу интернета на пару десятков компьютеров (офисные и домашние). Коробочные решения оказались либо платными, либо достаточно сложно настраиваемыми, поэтому было принято решение использовать собственное на базе Debian Linux. Опытом его поднятия я хочу поделиться с вами в этом посте, но приведенные здесь версии могли немного устареть с момента написания мануала «для себя», так что нужно проявить некоторую внимательность. Также, нужно учитывать, что приведенное решение далеко от идеального и профессионального. Оно поможет скорее тем, кому нужно быстро поднять у себя сервер, раздающий интернет. В конце у нас будет раздача интернета через PPPoE с назначением внутренних IP клиентам, шейпинг трафика, DNS сервер и простой мониторинг текущих сессий из консоли.
                Читать дальше →
              • Об учёте процессорного времени в облаке

                  После запуска я получил много вопросов о том, как именно учитываются ресурсы в облаке. Некоторые интуитивно понимают, что такое «час процессорного времени» но есть и те, кто хочет подробного объяснения. Поскольку в общем анонсе подробные объяснения заняли бы много места, я вынес его в отдельный топик. Заодно, такой формат позволит более подробно описать, как Зен и виртуальные машины взаимодействуют. Уровень этого текста научно-популярный, то есть я не буду вдаваться в дебри кольцевых буферов, маскировки событий, «кредитного планировщика» и т.д., вместо этого я попробую рассказать относительно человеческим языком о том, как гипервизор управляет гостевыми машинами.


                  Что такое «процессорное время»? Сначала мы его хотели назвать более привычным «машинное время», благо, такой термин использовался во времена мейнфреймов, когда идея разделения машинного времени только-только зародилась, но вовремя остановились. Машинное время тех лет подразумевало все ресурсы, которые использовались машиной, а в нашем случае речь идёт именно о процессоре, так как каждый ограниченный ресурс учитывается раздельно.

                  Итак, что такое «процессорное время» и как может оказаться, что у одной виртуальной машины его насчитывается 4 часа в сутки, а у другой накручивает 30 «часов» за часов десять?

                  Облако Селектел работает под управлением Xen, точнее, Xen Cloud Platform, в котором гипервизором выступает Xen.

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

                  Как выглядит работа виртуальной машины?
                  Читать дальше →
                • TOP 11 лучших трейлеров года

                    В честь предпоследней пятницы года мы решили сделать себе и Хабру подарок. Собрав в одном месте лучшие в 2010 году трейлеры фильмов.

                    TOP символичный и спорить какой трейлер на каком месте должен оказаться можно до бесконечности. Важно здесь другое — здесь и сейчас есть прекрасная возможность на пол часа отдохнуть от предновогодней суеты и погрузится в мир кино.

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

                    Приятного просмотра и с наступающим вас!

                    11 место
                    Считайте, что трейлер к фильму «Обитель зла — 4» попал сюда по блату из-за неравнодушного отношения составителей к главной героине:


                    10 место
                    Трейлеры с нестандартным музыкальным сопровождением всегда подкупают своей атмосферой. Совсем недавно с лёгкой руки Зака Снайдера стали появляется ролики, в основе которых лежат рок композиции, а к концу 2010 года вышел трейлер фильма «Ханна», где вместо рока уже играет лёгкий транс. Мастер монтажа не подкачал и выжал максимум из данного музыкально решения. Заслуженное десятое место:


                    9 место
                    Если трейлер к фильму «Ханна» мы оценили за нестандартное музыкальное сопровождение, то ролик к фильму «Остров Проклятых» заслужил наши овация за счёт его отсутствия. Фоновые мелодии есть, но они не являются структурным клемм трейлера. Тонкая работа:

                    Читать дальше →
                  • Оно шевелится! Живые бэкапы Linux с помощью Remastersys

                    • Tutorial
                    О резервном копировании можно говорить много и со вкусом, но я не буду играть в Капитана Очевидность. Первые же ссылки в выдаче Google по запросу «Ubuntu backup» расскажут об rsync, partimage, fsarchiver, dd, tar, simple backup. Я потратил много часов, экспериментируя с этими инструментами и переустанавливая систему после неудачных экспериментов. Я хотел найти самый быстрый и простой способ восстановить систему после фатального сбоя и продолжать работать, как ни в чем не бывало. Текст под катом сэкономил бы мне в общей сложности пару рабочих дней, прочитай я его несколько месяцев назад, когда впервые поставил Ubuntu на рабочий ноутбук.
                    Читать дальше →
                  • Цветная светодиодная лампа своими руками

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



                      Читать дальше →
                    • Обновление расширений Mozilla Thunderbird через GPO на примере Lighting 1.02b


                        Не так давно я столкнулся с проблемой и(или) неудобством при обновлении расширения Lighting 1.02b для Mozilla Thunderbird.
                        1. При обновлении Thunderbird с версии 2.х.х до 3.х.х, версия Lighting, установленная в 2.х.х не совместима с 3.х.х
                        2. При обновлении Thunderbird с версии 2.х.х до 3.х.х, Lighting пытается обновиться через интернет
                        3. При обновлении Thunderbird с версии 2.х.х до 3.х.х, Lighting не всегда автоматически обновляется (проблемы с сайтом, откуда скачивается обновление)

                        Руками устанавливать данное расширение неудобно, особенно, когда у вас пользователей более 100.
                        Писать инструкцию пользователю, как и что сделать — тоже не выход.
                        Была поставлена задача обновлять Lighting у пользователей через GPO.
                        Задача была с успехом реализована.

                        Читать дальше →
                      • cut и grep или awk?

                          Часто в скриптах можно встретить что-то вроде foobar|awk '{print $1}' («часто» — это действительно часто).

                          Такой вызов awk всего лишь вывходит первую (n-ную) колонку из вывода предыдущей команды. Но это явный оверкилл! awk — довольно мощный язык потоковой обработки данных, и применение его как простого field-separator не есть хорошо.

                          Для вырезания из строки указанного поля лучше использовать команду cut. Она умеет меньше, а потому проще в использовании и быстрее.

                          В современном линуксе обработка вызова awk куда более сложна, чем вызов cut. В дебиане, например, awk — линк на /etc/alternatives/awk, который ведёт (чаще всего) на gawk. Который почти в 10 раз больше по размеру, чем cut. Разумееся, cut загружаеся быстрее.

                          cut умеет вырезать не только байты, но и нужные поля (опция -f). Поле — это текст между разделителями. По-умолчанию разделитель пробел/табуляция, но он легко меняется опцией -d.

                          Второй подход — использовать опцию -o у grep. Эта опция выводит не всю строку, а только совпадающее с критерием поиска grep. Очевидно бесполезно при поиске точной подстроки, но очень полезно при использовании регулярных выражений.

                          Например,
                          grep -v "#" /etc/inittab |cut -f 4 -d : -s
                          выведет список программ, запускающихся init'ом (четвёртое поле, поля разделяются двоеточием).

                          Или
                          grep http://\\S\\+ -o /var/log/apache2/error.log
                          выдаст список URL'ов из файла с ошибками (первый урл в строке).

                          … и никакого awk.

                          UPD: В комментариях подсказывают ещё более интересную конструкцию без запуска внешнего файла (команда read реализуеся средствами bash'а):
                          foobar | (read p1 p2; echo p1)

                          P.S. Речь не о единичном вызове (тут нет разницы awk, grep или даже python/perl). Речь о множестве вызовов в цикле в скрипте. Все примеры сравнивайте в цикле с сотнями (лучше тысячами) вызовов.
                        • Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

                          Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
                          Читать дальше →