• Двухбуквенные домены в домене .SU

      Фонд развития интернет внёс изменения в Правила регистрации доменных имен в домене SU (п. 2.1), в котором, с 11 июля сего года, разрешено регистрировать двухбуквенные домены второго уровня. Регистрация открыта всем желающим — «кто успел, тот и зарегистрировал».
    • Хороший программист

        Хороший программист должен вставать в 6 утра чтобы иметь 2 с половиной часа для кодинга. В 8.30 хороший программист едет на работу, где работает до 6 вечера (не говоря о ланче, который должен быть потрачен на изучение Haskell, попутно отвечая на вопросы на Stack Overflow). Едет домой с 18.00 до 18.30 (будет хорошо, если в это время вы послушаете какой-нибудь технический подкаст, вроде MIT OCW. TWIT не в счёт). С 6.30 до 7 вечера — время, которое хороший программист проводит за чтением /r/programming/ и остальных техноновостей. С 19.00 до 20.30 хороший программист расслаблен — он вспоминает высшую математику, решая задачки с projecteuler.net и книги «Искусство программирования» Кнута до тех пор, пока не прорешает их все. С 20.30 до часу ночи хороший программист пишет код для Open Source, патчи для Linux и продолжает работу над своим стартапом.
      • 15000 день unix эпохи

          Сегодня, 26 января, в полночь по GMT, наступил 15000 день от начала летоисчисления Unix машин. Юниксоиды всех стран встречаются, празднуют, проводят массовые гуляния и гадают. Встречи локальных групп можно найти на специальном сайте, посвящённом этому знаменательному дню.
          День можно посмотреть командой:
          $ echo `date +%s`/86400|bc
        • Ветка 0.8.x стала стабильной

            27 сентября Игорь Сысоев опубликовал новую стабильную версию веб-сервера nginx-0.8.51. Сообщение в списке рассылки:
            Статус версии 0.8.x изменён на стабильный.
            Во время разработки этой версии, среди прочего, появились

            * поддержка именнованых выделений в регулярных выражениях,
            * поддержка файлового AIO во FreeBSD и Linux,
            * SSL CRL,
            * модули SCGI и uwsgi.


            UPD: уже 0.8.52
          • «Фича» в IPSEC реализации VPN роутеров Draytek

              Draytek — относительно новая в российском сегменте компания, занимающая нишу недорогих компактных роутеров All-in-one. Здесь и здесь можно почитать обзор двух, наиболее популярных моделей роутеров этой компании серий 2820 и 2910 (которые, кстати, позиционируются как «security firewall»). Среди остальных преимуществ данных роутеров, наиболее вкусным является аппаратная поддержка шифрования (AES/DES/3DES) и аутентификации (MD5, SHA-1), так что можно, вроде бы, настроить VPN между точками и спать спокойно. Но не всё так просто, как кажется.
              Читать дальше →
            • DesktopBSD возвращается!

                После похорон достаточно известного BSD дистрибутива DesktopBSD, небольшая германская группа разработчиков под руководством Даниела Хильберта (Daniel Hilbert) взяла его под своё крыло и сообщила о дальнейшем развитии проекта. Для тех, кто хочет принять участие в разработке сайта либо дистрибутива, авторы просят писать письма на эл. почту desktopbsd@desktopbsd.eu.
                Надеюсь у ребят всё получится.
              • «Разморозка» портов FreeBSD

                  Как и было запланировано, после заморозки портов перед выходом FreeBSD 7.3, порты (а их, и их зависимостей больше нескольких тысяч) очень сильно шевельнули. В рассылке portmgr@ предлагают воздержатся от обновления до тех пор, пока все мейнтенеры не обновят новые версии до актуального состояния и протестируют их на отсутствие багов.
                  Читать дальше →
                • Вышел PC-BSD 8.0

                    После недолгого тестирования релиз-кандидатов увидел свет PC-BSD 8.0 (Hubble Edition), основанный на FreeBSD 8.0-RELEASE-P2 и KDE 4.3.5, использумый в качестве окружения раб. стола.
                    Основные особенности:
                    • FreeBSD 8.0-RELEASE-P2
                    • KDE 4.3.5
                    • Новый установщик, позволяющий установить как PC-BSD, так и FreeBSD
                    • Возможность загрузки с компакт диска, без установки системы (Live DVD mode)
                    • Обновлённый Software Manager, позволяющий просматривать и устанавливать программы
                    • Поддержка 3D ускорения NVIDIA на 64 битных системах

                    С полным changelog’ом можно ознакомиться здесь.
                    Скачать дистрибутив можно здесь и, торрентами, здесь – http://www.gotbsd.net/.
                  • Android SDK портирован на FreeBSD

                      image
                      BSDroid.org сообщил о портировании нативного Android SDK под FreeBSD.
                      Основной задачей проекта является разработка нативных инструментов разработки Android SDK под ОС FreeBSD.
                      На текущий момент SDK собирается и работает на FreeBSD 8.0-RC1. Все приложения нативны и не требуют поддержки linux.
                    • Вышел Frenzy 1.2 reincarnation (community release)

                        После ухода Technix от разработки популярного live-cd, наконец вышел community release Frenzy 1.2. Данный дистрибутив собран на FreeBSD 8 RELEASE и является логическим завершением предыдущей разработки Frenzy 1.2 Lite.
                        Главной особенностью релиза является подготовленная SDK, позволяющая собрать свою custom сборку с включением тех или иных пакетов софта и нужными параметрами конфигурационных файлов.
                      • Уязвимость в FreeBSD

                          Сегодня было опубликовано сообщение об уязвимости, позволяющей повысить пользовательские привилегии в последних версиях ОС FreeBSD (7.1-8.0). Эксплоит к уязвимости без предупреждения был выпущен вчера. В списках рассылки можно найти описание и патч. Официальное обновление для системы ожидается только завтра.
                          Уязвимость возникает в использовании LD переменных, принадлежащих файлам с присвоенным UID (ping, ppp, su).
                        • виджет кармы для awesome wm

                            Сильно не пинайте, решил просто поделиться.
                            Пишем xml парсер, который вытягивет данные о карме и хабрасиле:
                            #!/usr/bin/perl
                            
                            use XML::Simple;
                            use Net::HTTP;
                            
                            my $s = Net::HTTP->new(Host => "habrahabr.ru") || die $@;
                            #поменяйте на свой username
                            $s->write_request(GET => "/api/profile/%username%/", 'User-Agent' => "Mozilla/5.0 (+http://www.reid.ru/freebsd/?page_id=15)");
                            my($code, $mess, %h) = $s->read_response_headers;
                            
                            while (1) {
                                my $buf;
                                my $n = $s->read_entity_body($buf, 1024);
                                die "read failed: $!" unless defined $n;
                                last unless $n;
                                $data = $buf;
                            }
                            
                            my $s = XMLin($data);
                            $karm = $s->{karma};
                            $rating = $s->{rating};
                            print "$karm\/$rating";
                            


                            В rc.lua пишем:
                            -- определяем виджет
                            karma_text = widget({ type = "textbox", align = "right" })
                            function get_karm()
                             -- указываем путь к скрипту
                             local karm =  awful.util.pread("~/.config/awesome/zoom/bin/karma")
                             karma_text.text = "" .. setFg("#e8ef1b", karm) .. ""
                            end
                            ...
                            -- указываем где он должен располагаться
                            mywibox[s].widgets = {
                            ...
                             karma_text
                            ...
                            }
                            -- вызываем его при запуске awesome
                            get_karm()
                            -- и вызываем каждые 15 минут
                            awful.hooks.timer.register(900, function() get_karm() end)
                            


                            Результат (для полноты показываю весь трей):
                            image

                            Внимательно ознакомьтесь с правилами API хабра.
                          • Эксперты

                              Зал был полупуст. Отсутствие окон и приглушённый свет вносило ощущение дискомфорта. Хотелось открыть все двери нараспашку чтобы хоть краем уха слышать то, что происходит снаружи. Тяжёлый бардовый занавес на сцене был задёрнут. На нём золотым тиснением был нарисован двуглавый орёл и едва различимый текст, вокруг обрамляющий эмблему.
                              Читать дальше →
                            • XHTML умер? Да здравствует XHTML!

                              • Перевод
                              Жаркие дискуссии по поводу прекращения поддержки XHTML2 вводят в заблуждение огромное количество людей, стоит только посмотреть количество комментариев в этом блоге.
                              Для того чтобы внести ясность и просветление в ваши головы, я постараюсь дополнить топик товарища SelenIT о различии XHTML2 и XHTML1, и максимально доступно объяснить различие между этими двумя, казалось бы, родными вещами.
                              Читать дальше →