• Snaql. Raw SQL в Python-проектах

      В последний год у меня появилось новое правило — каждые 3 месяца изучать новый язык программирования и его экосистему. На это есть несколько причин: новые парадигмы, концепции, инструменты, да и просто интересно что там, по ту сторону набившего с годами оскомину Python. Это простое правило позволило изучить за текущий год современные хипстерские Go, Clojure и Rust, проникнуться их идеями и best practices, что, кстати, очень положительно влияет на стиль и качество кода, когда я пишу на своём основном языке.

      Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая — не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.

      Читать дальше →
    • Imports Style Guide

        Замечательный PEP8, с которым вы наверняка знакомы, если занимаетесь разработкой на Python, не отвечает на все возникающие в процессе кодинга вопросы. В итоге каждая команда разработчиков берёт PEP8 за основу и вырабатывает собственные стандарты, которых старается придерживаться. Сколько команд – столько вариантов. И это необходимые искусственные рамки. Как сетка для типографа или верстальщика – помогает коду выглядеть чётко, выдержано и последовательно. В общем, форматирование кода – это не то место, где нужно проявлять свою индивидуальность.
        Читать дальше →
      • Kyiv.py #6. Небольшой имхо-отчёт о встрече



          Несмотря на дату, мероприятие оказалось не шуткой, хотя я ехал с некоторым недоверием :) 6-й KyivPy действительно состоялся и, в целом, прошёл удачно. Практически все доклады были свежи и интересны и практически все докладчики хорошо и доступно излагали свои мысли.
          Читать дальше →
        • Django + Sphinx = django-sphinx (?)



            Когда мы подготавливали для Хабра свою последнюю статью о Django-батарейках, выяснилось, что про django-sphinx мы таки имеем что рассказать и наш рассказ тянет на отдельный пост. Собственно, вот он, как и обещали.

            На сегодняшний день, существует несколько хороших решений для организации поиска в Django. Несколько — это два: Haystack и django-sphinx. Haystack работает с бэкендами-движками solr, whoosh и хapian и, увы, не работает со Sphinx`ом по каким-то абстрактным лицензионным причинам. django-sphinx же, как можно догадаться, работает со Sphinx`ом и только. Haystack это качественный, хорошо документированный и активно развиваемый продукт и мы, вне всяких сомнений, использовали бы именно его, если бы он хоть в какой-нибудь форме поддерживал Sphinx. Но этого, увы, пока не произошло. А Sphinx — наше всё, благодаря его скорости, гибкости и, что очень важно в наших географических широтах, способности учитывать особенности русской морфологии, чего не скажешь о его ближайших конкурентах. «Большие, но по 5… или маленькие, но по 3?»

            Читать дальше →
          • Прикручиваем определение поддержки формата APNG к Modernizr

              Несмотря на то, что все говорят о возможностях HTML5, такой элементарный элемент дизайна сайта как прелоадер с прозрачностью до сих пор приходится делать с использование Animated GIF. Использование 8-битного анимированного GIF не даёт возможности реализовывать полупрозрачные переходы. В качестве современной альтернативы анимированному GIF можно было бы предположить два конкурирующих формата — MNG и APNG, но MNG не имеет и скорее всего уже никогда не получит нативной поддержки со стороны браузеров, а формат APNG мы уже можем использовать в Firefox и Opera ещё со второй половины 2008 года. К сожалению, Chrome, Safari и Internet Explorer, остались в стороне, для них по прежнему придется использовать угловатые картинки в старом формате GIF. Тем не менее, сегодня у нас есть такая замечательная штука как Modernizr — инструмент перехода к практике определения возможностей браузера, вместо использования порочной практики определения наименования и версии браузера.

              Далее я привожу код APNG Modernizr Test
            • Волшебники электронной эры

                Небольшая предыстория


                Несколько дней назад мне жутко захотелось пересмотреть парочку выступлений неподражаемого RMS (который Richard Matthew Stallman). На YouTube такого добра навалом и я получил живительный заряд священной силы GNU от Великого Пророка Свободного ПО. Особое внимание привлёк один короткий ролик 1984-го года, на котором Дядя Риччи ещё относительно молод, ещё не так искусен в риторике и у которого ещё впереди разработка GPL. Сноска к этому видео пояснила, что огрызок является частью небольшого фильма под названием "Hackers: Wizards of the Electronic Age". Найти его целиком оказалось не шибко простой задачей, но я таки нашёл, скачал и залил на YouTube специально для ностальгирующих хабровчан и для всех тех, кто интересуется историей IT, хакерской культурой и СПО.

                26 минут и 35 секунд путешествия в 1984-й…



                В ролях: Steve Wozniak, Richard Stallman, Andy Hertzfeld, Bill Atkinson, Lee Felsenstein, Richard Greenblatt, Steven Levy и другие.

                Перевода, само собой, нет.

                UPD: Можно скачать фильм (136Mb). Да простят меня копирасты.
              • История создания Ubuntu

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

                  Марк Шаттлворт


                  Ни одна история Ubuntu не может быть полной без истории своего основателя — Марка Шаттлворта.

                  Марк Шаттлворт на МКСМарк Шаттлворт родился в 1973-м году, в городе Велком провинции Фри-Стейт, ЮАР. Он посещал авторитетный колледж Diocesan и получил докторскую степень в области финансов и информационных систем в Университете Кэйп-Тауна. В этот период, Марк был страстно увлечён компьютером и стал активным участником сообщества Open Source. По крайней мере косвенно, он принимал участие в проектах Apache и Debian, и был первым человеком, который загрузил веб-сервер Apache, вероятно наиболее важное серверное приложение для платформы GNU/Linux, в архивы проекта Debian.

                  Увидев возможности и потенциал интернета, Шаттлворт основал в своём гараже центр сертификации и компанию по интернет-безопасности, названную Thawte. За несколько лет он вырастил Thawte во второй по величине центр сертификации во всём интернете, уступив лишь киту безопасности — компании Verisign. К слову, продукты и сервисы Thawte были построены и обслуживались свободным программным обеспечением. В декабре 1999-го, Шаттлворт продал Thawte компании Verisign за сумму, которая не разглашается, но которая, по слухам, составила порядка нескольких сотен миллионов американских долларов.

                  С такой фортуной в молодом возрасте, Шаттлворт мог бы наслаждаться безбедной жизнью. Но вместо этого, он решил реализовать свою заветную мечту — отправиться в космическое путешествие. После оплаты порядка 20 миллионов долларов русской космической программе и посвятив около года на подготовку, включая изучение русского языка и тренировки в Звёздном городке, Шаттлворт реализовал мечту в качестве гражданского космонавта на борту русского Союза TM-34. Шаттлворт провёл 2 дня в ракете Союз и 8 дней на Международной Космической Станции, где принимал участие в экспериментах, посвящённых изучению СПИДа и генома. В начале мая 2002-го, Марк Шаттлворт вернулся на Землю.

                  В дополнение к исследованию космоса и увеселительной поездке в Антарктику, Шаттлворт играл активную роль как филантроп и венчурный капиталист. В 2001-м, Шаттлворт основал Фонд Шаттлворта (Shuttleworth Foundation, TSF), некоммерческую организацию, расположенную в Южной Африке. Фонд был основан для финансирования, разработки и внедрения инноваций в области образования. Разумеется, в качестве средств, с помощью которых TSF пытался достичь своих целей, применялось и свободное программное обеспечение. В рамках этих проектов, организация стала одним из самых видных сторонников СПО в Южной Африке и вообще в мире. В области венчурного капитала, Шаттлворт оказывал содействие научным исследованиям, разработкам и предпринимательству в Южной Африке со стратегическими инъекциями денежных средств в стартапы через новую фирму венчурного капитала, названную HBD, что означает «Here Be Dragons» («Тут Драконы»). В этот период, Шаттлворт был занят мозговыми штурмами для своего следующего крупного проекта, который в конечном счёте станет Ubuntu.
                  Читать дальше →
                • Предзаказ дисков с Ubuntu 10.10



                    Начала свою работу служба бесплатной рассылки дисков с Ubuntu — https://shipit.ubuntu.com. Canonical, как всегда, берёт на себя все расходы, в том числе и за доставку по почте. Но заметим, что рассылка миллионов дисков по всему миру — занятие не из дешёвых. Поэтому, если у вас есть возможность скачать образы дисков по сети, лучше поступить именно так.
                  • Облачная музыка от Ubuntu One для Android

                      Проект Ubuntu One понемногу обрастает разнообразным функционалом. С самого начала сервис позволял хранить скачанную или купленную в Rhythmbox музыку. Теперь свою «облачную» музыку можно слушать прямо на устройствах Android. Что характерно, поддерживаться будет только формат MP3, про тот же Ogg Vorbis пока ничего не обещают. Хотя, «We are evaluating methods to increase support for OGG, AAC, FLAC, and other audio formats.»

                      Публичная бета приложения открыта для всестороннего тестирования пользователям телефонов на базе Android и владельцам аккаунтов Ubuntu One (включая и бесплатный вариант).

                      Во время тестирования, сервис Ubuntu One mobile-music будет бесплатным. После бета-периода, потоковое аудио станет платной функцией, но детали и будущая стоимость услуги пока неизвестны.

                      Подробнее — на wiki-странице проекта wiki.ubuntu.com/UbuntuOne/MusicStreaming.
                    • День системного администратора 2010

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

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

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

                        В общем, дорогие братья по цеху, стабильного вам пинга и редкого бага!

                        P.S. Не нажирайтесь до белой горячки :)
                      • История Linux. Вкратце о главном

                          Корни Linux прослеживаются ещё с 70-х годов 20-го века. Точкой отсчёта можно считать появление операционной системы Unix в 1969-м году в США в фирме Bell Laboratories, дочернем подразделении компании AT&T. Unix стала основной для большого количества операционных систем промышленного класса. Самые основные из них отображены на этой временной шкале:


                          Читать дальше →
                        • Всемирный день информационного сообщества

                            27-го марта 2006 г. Генеральная Ассамблея ООН приняла Резолюцию, в которой провозгласила 17-е мая Всемирным днем информационного общества (World Information Society Day).

                            Этот день — профессиональный праздник всех программистов, системных администраторов, интернет-провайдеров, веб-дизайнеров, редакторов интернет-изданий и всех остальных людей, занятых в сфере информационных технологий.

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

                            До 2006 года этот День праздновался как Международный день электросвязи или Всемирный день телекоммуникаций (World Telecommunication Day). Этот праздник отмечался с 1969 года по решению сессии Административного совета Международного союза электросвязи.

                            Дата выбрана в связи с тем, что 17-го мая 1865 года, после двух с половиной месяцев трудных переговоров, в Париже было подписано первое международное Телеграфное Соглашение, и был основан Международный Телеграфный Союз, с 1932 года — Международный Союз Электросвязи.

                            А посему, раз есть такая возможность, хочу поздравить всех хабровчан, всех коллег и вообще всех братьев по разуму с профессиональным праздником. Для кого-то это очередной повод выпить (да ещё и в понедельник), для кого-то этот день будет таким же обычным продуктивным/непродуктивным как и всегда… «Регата регатой, а традиции нарушать нельзя!» Так что гуляйте, радуйтесь, намекайте сотрудникам на печеньки или чего покрепче. Растите над собой, будьте профессионалами своего дела, уважайте друг друга и пусть ваши желания и возможности совпадают как можно чаще.

                            P.S. Не забудьте поздравить знакомых айтишников! Наверняка у всех есть знакомые айтишники :)
                          • 8 полезных приёмов для базы данных WordPress

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

                              За последние 10 лет MySQL стала невероятно популярна в сети. Каждый блог WordPress имеет в своей основе именно базу MySQL, в которой хранятся все ваши записи, настройки, комментарии и многое другое.

                              Хотя плагины и даже, так называемые, хаки (предпочитаю «вставки кода») могут решить некоторые задачи, иногда у вас нет иного выбора, кроме как вводить SQL-запросы в phpMyAdmin или напрямую в базу через SSH. Так что давайте посмотрим на 8 полезных приёмов для базы данных WordPress.
                              Читать дальше →
                            • Тихо, тихо ползи, Haiku, по склону Фудзи

                                Уже лет 5, наверное, периодически слежу за развитием событий. И, по правде говоря, никогда не верил до конца, что разработчики однажды хоть что-то доведут до ума. 8 лет разработки — немалый срок, конечно. За 8 лет тот же Linux из чисто гиковской операционки вырос в серьёзную махину корпоративного уровня и качества. А Haiku всё это время потратила на копирование основного функционала BeOS уровня 2001-го года. Но не буду никого осуждать за вялость работ, не имею на это морального права.

                                Подозреваю, что даже айтишники многие не в теме. Поэтому объясню вкратце о чём это я, заодно небольшой обзор сделаю.
                                Читать дальше →
                              • Конвертирование видео в Ogg Theora. UNIX Way

                                  Прежде чем приступить к практике, зададимся некоторыми весьма интересными вопросами: почему консоль, зачем использовать видеокодек Ogg Theora, каким образом и с какими параметрами лучше конвертировать видео.

                                  Начнём с матчасти:

                                  Видеокодек — это программа/алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока). Кодек — файл-формула, которая определяет, каким образом можно «упаковать» видеоконтент и, соответственно, проиграть видео. Также возможно кодирование кроме видео и аудиоинформации, добавления субтитров, векторных эффектов и т. п.


                                  На сегодняшний день, самые популярные видеокодеки — это знакомые всем DivX, XviD, H.264, WMV, Apple QuickTime и множество других. Ogg Theora всегда была в тени своих коллег и на то, видимо, были какие-то свои причины. Может быть потому, что это относительно новый кодек (он появился только в 2004-м году), может потому-что он изначально ориентировался на применение в интернете, а не для кодирования видеофильмов… Это уже не важно.
                                  Читать дальше →
                                • Немного про Bash и смежные науки. Часть 1

                                    Если вы активно используете Linux для администраторских задач, то наверняка заглядываете время от времени в консоль (или живёте в ней). Несмотря на активное вытеснение текстового интерфейса графическим, а тыкать галочки и нажимать на кнопочки всё-таки интуитивнее, что породило целое поколение эникейщиков, консоль была, есть и будет эффективным средством общения с компьютером. Данная статья рассчитана на тех, кто уже как бы знаком с Bash (Bourne-again Shell), самой популярной реализацией командной оболочки. Этот терминал уже много лет используется по умолчанию чуть ли не в каждом дистрибутиве Linux, так что новички даже не догадываются, что бывают и другие оболочки. Bash пронизан мудростью наших UNIX-предков и всячески рекомендуется для освоения. Сейчас вы увидите, что консоль бывает полезна не только для команд вида «sudo /etc/rc.d/network restart» :)
                                    Да ну?
                                  • Вкратце о лицензиях Open Source

                                      Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).

                                      Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
                                      Читать дальше →