Великолепная (имхо) короткометражка в исполнении одного из аниматоров «Pixar». Наслаждаемся.
Кирилл @KL7
User
Мультфильм «Цыган»: Хочешь подарок?
1 min
882Мы как-то задали нашим художникам абсолютно важный, на наш взгляд, вопрос. А именно:
— Что вам подарить к новому году, но не деньги?
Меркантильные художники, узнав что денег им не светит, махнули рукой и абсолютно легкомысленно ответили:
— А все равно. Главное внимание, а не подарок.

— Что вам подарить к новому году, но не деньги?
Меркантильные художники, узнав что денег им не светит, махнули рукой и абсолютно легкомысленно ответили:
— А все равно. Главное внимание, а не подарок.

+67
Плагины в Python
4 min
17KСегодня я расскажу, как построить плагиновую архитектуру в python на include'ах.


+39
OptionParser и UnitTest в python скриптах
9 min
4.7K
+22
Сравнение OpenGL и Direct3D
6 min
122KОчень часто встречаются различные заблуждения по поводу этих двух API.
Я попытался изложить в этой статье основные факты, которые следует знать как разработчикам, так и конечным пользователям.
Так как тема очень холиварная, я старался придерживаться максимально нейтрального тона.
Я попытался изложить в этой статье основные факты, которые следует знать как разработчикам, так и конечным пользователям.
Так как тема очень холиварная, я старался придерживаться максимально нейтрального тона.
+132
«Наследование» не от классов
5 min
5.2K
В Питоне совсем не важно, что вы поместите в определение класса. Это могут быть строки, числа, объекты, переменные. В третьем Питоне можно даже передавать именованные аргументы.
+41
Моментальный маркетинг: корпоративные чашки
2 min
12KНе секрет, что чашки — это своеобразный фетиш во всех IT-конторах. Это и повседневный объект, и отражение вкуса владельца, и любимый персонаж флешмобов про рабочее место. Некоторые программеры могут похвастаться чашкой-ровесницей всей их карьеры. Общеизвестны отличные кружки Яндекса из серии про лося и Пушкина. А какие чашки у дизайнеров? Мы решили отчитаться об одном интересном проекте из серии «для себя».
Иногда мы придумываем необычное применение обычным вещам. Очень интересно насыщать пространство вокруг предметами, которые что-то говорят об их владельцах, не громко кричат, а создают определенный образ, атмосферу, несут скрытые послания. В этот раз мы «подчиняли» маркетингу офисные чашки. Мы подумали, почему бы не использовать стандартный элемент переговоров — угощение кофе — для построения диалога с заказчиком?
Получается такой «моментальный» маркетинг, когда в процессе беседы с клиентом у него в руках неожиданным образом появляются предметы, подтверждающие информацию, которую ему нужно передать.

Были выделены несколько наиболее частых вопросов, задаваемых нам клиентами на встречах. Три вопроса, ответ на которые представляет собой перечисление, были взяты за основу:
Иногда мы придумываем необычное применение обычным вещам. Очень интересно насыщать пространство вокруг предметами, которые что-то говорят об их владельцах, не громко кричат, а создают определенный образ, атмосферу, несут скрытые послания. В этот раз мы «подчиняли» маркетингу офисные чашки. Мы подумали, почему бы не использовать стандартный элемент переговоров — угощение кофе — для построения диалога с заказчиком?
Получается такой «моментальный» маркетинг, когда в процессе беседы с клиентом у него в руках неожиданным образом появляются предметы, подтверждающие информацию, которую ему нужно передать.

Были выделены несколько наиболее частых вопросов, задаваемых нам клиентами на встречах. Три вопроса, ответ на которые представляет собой перечисление, были взяты за основу:
+35
50 ресурсов в стиле «Hand Drawing» наборов иконок, кистей, текстур и шрифтов
1 min
2.2KНа глаза попалась очень красивая и приятная для глаза сборка бесплатных ресурсов наборов иконок, кистей, текстур и шрифтов, выполненных в стиле «нарисовано от руки». Пример:

Остальное смотрим тут: 50 Free Resources Of Hand Drawing Style Icons, Brushes, Textures and Fonts

Остальное смотрим тут: 50 Free Resources Of Hand Drawing Style Icons, Brushes, Textures and Fonts
+40
Твиттер взломан иранскими хакерами
1 min
1.4KЗайдя сейчас на twitter.com увидел следующее

Серьёзный ход иранцев.
UPD:
В вольном переводе хабраюзер drhyperkalich подпись в конце страницы гласит:
UPD2:
Твиттер вновь заработал.
UPD3:
Спасибо за карму, перенёс в Информационную безопасность.
Если кто нашёл подробности взлома пишите в комментарии, добавлю в топик.

Серьёзный ход иранцев.
UPD:
В вольном переводе хабраюзер drhyperkalich подпись в конце страницы гласит:
Во имя Бога!
Этот взлом является реакцией на вмешательство американских властей во внутренние дела моей страны.
Это лишь предупреждение.
UPD2:
Твиттер вновь заработал.
UPD3:
Спасибо за карму, перенёс в Информационную безопасность.
Если кто нашёл подробности взлома пишите в комментарии, добавлю в топик.
+207
С днём рождения Эсперанто!
1 min
1.6KСегодня, в честь 150-го дня рождения Лазаря Заменгофа, основателя языка Эсперанто, Google немножко видоизменил свой логотип во многих странах, и в России это тоже не стало исключением.

Tio estats tre agrabla kaj tre grava signo, kara kamaradoj!

Tio estats tre agrabla kaj tre grava signo, kara kamaradoj!
+11
Приватные слоты в паттерне Pimpl от Qt
10 min
7.8KВступление.
Недавно я писал по поводу реализации паттерна Pimpl в библиотеке Qt и призывал людей следовать такому подходу при разработке их собственных бибиотек. Теперь я хочу поговорить о таком понятии, как приватные слоты и тем самым продолжить эту тему. Заключительной статьей на эту тему будет реализация механизма Implicit Sharing и shared d-pointer.
Что это и зачем это нужно.
Приватные слоты — это механизм дополняющий функционал d-указателей. Он позволяет реализовать слоты для приватного класса, даже если он не является наследником от QObject (обычно он им и не является), но для этого публичный класс должен быть наследником от QObject. Тоесть по факту создается некий приватный слот в публичном классе и он непосредственно дергает нужный метод приватного класса.
Зачем это нужно? Ну рассмотрим на примере. Есть класс QAbstractScrollArea. Он просто отображает некий виджет (viewport) и обеспечивает прокрутку. Прокрутка обеспечивается с помощью двух экземпляров класса QScrollBar. Сами эти скролбары он хранит в приватном классе. Теперь проблемма: как подключить сигнал от скроллбара об изменение его позиции с классом QAbstractScrollAreaPrivate, ведь он не является QObject'ом? Сделать его наследником от QObject — лучше не делайте это :-). Можно сделать слот в публичном классе и повесить на него, то в таком случае это не очень красиво — так как наружу выходят слоты от внутренней реализации. Вот ту Qt-шниками был придуман достаточно разумный и элегантный подход — приватные слоты.
+24
Algorithmatic — социальный ресурс алгоритмов
1 min
1K
Открылся новый ресурс посвященный различным алгоритмам и их реализации. Выделяется Algorithmatic среди прочих несколькими особенностями: во-первых, ресурс наполняется самими пользователями, то есть является социальным, а во-вторых, кроме исходного кода алгоритма на сайте влючена возможность отладки кода.
+70
Стив Макконнелл
3 min
146K
Интересно, что в далеком 1998 году читатели журнала «Software Development» признали Стива одним из трех наиболее влиятельных людей в отрасли разработки ПО наряду с Биллом Гейтсом и Линусом Торвальдсом.
Если говорить коротко, то Steven C. McConnell — программист и автор книг по разработке ПО.
Он написал книги «Rapid Development» (1996), «Software Project Survival Guide» (1998), «Professional Software Development» (2004). Журнал «Software Development», кстати, дважды удостоил его книги премии Jolt Excellence как лучшие книги года о разработке ПО.
Кстати, вы наверняка слышали фразу «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». Так вот, эту фразу приписывают именно Стиву.
+42
Разработка собственной Файловой модели (вместо QDirModel и QFileSystemModel)
8 min
8.9KTutorial
В этой статье я расскажу о создании собственной файл модели в Qt. Сразу скажу что модель создавалась под конкретную задачу и не планировалось для широкого использования, так что в ней может и не быть того что вам хочется. Еще хочется добавить что опыт программирования на С++/Qt у меня не столь велик, поэтому вполне готов к комментариям типа: «Ваш код г%вно».
Известно что в Qt 4 есть две встроенных модели работы с файлами:
QDirModel и
QFileSystemModel.
Однако, эти модели очень медленно работают с большим количеством файлов.
QDirModel так вообще безобразно, у второй дела получше, но даже если сравнивать с виндовым проводником, то все равно отвратительно. Как показало исследование профайлером, при каждом запросе к содержимому папки идет очень долгое ожидание мутекса.
Поэтому было принято решение написать собственную файл модельс блекджеком и шлюхами избавленную от всего лишнего и максимально быстро работающую.
Теперь о том, а зачем собственно...
Известно что в Qt 4 есть две встроенных модели работы с файлами:
QDirModel и
QFileSystemModel.
Однако, эти модели очень медленно работают с большим количеством файлов.
QDirModel так вообще безобразно, у второй дела получше, но даже если сравнивать с виндовым проводником, то все равно отвратительно. Как показало исследование профайлером, при каждом запросе к содержимому папки идет очень долгое ожидание мутекса.
Поэтому было принято решение написать собственную файл модель
+13
Учебник по языку программирования Python (хабраиндекс)
1 min
314KСерия статей «Основы Python»
I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций
Об основах языка Python в сжатой форме
Продвинутый уровень
Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).
http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)
http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)
+158
Хакерский квест
1 min
5.7K
Недавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.
После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.
Желаю удачи :)
+49
Сортировка миллиона 32-битных int'ов в 2 мегабайтах памяти на Питоне
4 min
8.5KМой перевод статьи Гвидо ван Россума:
Меня тут в шутку спросили: смогу ли я отсортировать миллион 32-битных int'ов в 2 мегабайтах памяти на Питоне. Во время размышления, мне пришло в голову задействовать механизм ввода-вывода с использованием буферной памяти.
Вообще, это именно шуточный вопрос — одни только данные займут 4 мегабайта, при условии бинарного представления! Правда, можно пойти на хитрость — взять файл, содержащий миллион 32-битных int'ов. Как же отсортировать их, используя минимальное количество памяти? Это должна быть какая-то разновидность сортировки слиянием, в которой небольшие куски данных сортируются и записываются во временный файл, после чего происходит слияние временных файлов для получения окончательного результата.
Вот мое решение:
Меня тут в шутку спросили: смогу ли я отсортировать миллион 32-битных int'ов в 2 мегабайтах памяти на Питоне. Во время размышления, мне пришло в голову задействовать механизм ввода-вывода с использованием буферной памяти.
Вообще, это именно шуточный вопрос — одни только данные займут 4 мегабайта, при условии бинарного представления! Правда, можно пойти на хитрость — взять файл, содержащий миллион 32-битных int'ов. Как же отсортировать их, используя минимальное количество памяти? Это должна быть какая-то разновидность сортировки слиянием, в которой небольшие куски данных сортируются и записываются во временный файл, после чего происходит слияние временных файлов для получения окончательного результата.
Вот мое решение:
+74
Regexp и Python: извлечение токенов из текста
9 min
84KTutorial

+29
Нетривиальные возможности Java
4 min
17KJava — язык простой. И после года активного использования для Вас не остаётся секретов. Совершенно случайно я обнаружил, что на stackoverfow люди решили поделиться скрытыми возможностями (Hidden Features of Java). Вышло очень занимательно, получился своеобразный рейтинг нетривиальных возможностей, который я далее запротоколирую в вольном переводе на русский.
С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода —
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.
double brace
С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода —
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.
+34
Анализ рынка ноутбуков с помощью Python
8 min
5.6KВведение
В этой статье я расскажу о состоянии на сегодняшнем российском рынке ноутбуков. Всю аналитику мы будем проводить с помощью кода на python. Думаю она будет полезна как тем, кто ищет ноутбук, так и тем, кто хочет потренироваться написанию на python.
Начнём
![diy-03-425[1] diy-03-425[1]](https://habrastorage.org/getpro/habr/post_images/fc2/f39/bf4/fc2f39bf4d47ef799715d2d7073b2fef.jpg)
+71
Information
- Rating
- Does not participate
- Location
- Минск, Минская обл., Беларусь
- Date of birth
- Registered
- Activity