Pull to refresh
0
0
Никулков Алексей @alexnikulkov

User

Send message

Введение в pygtk/gtkbuilder: пишем калькулятор

Reading time3 min
Views6.9K
Разберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments19

Разработка для Google AppEngine: с самого начала

Reading time5 min
Views30K
Недавно я задал вопрос — было бы интересно хабралюдям почитать о том, как писать под Google AppEngine? Хабралюди сказали что да, интересно — ну я и решил начать. В этой статье мы рассмотрим следующие вопросы:
  1. Ультра-краткое введение в Google AppEngine (GAE), что это такое и с чем его едят
  2. Возможности и ограничения GAE
  3. Супер-краткий обзор архитектуры GAE-приложения
  4. Разработка минимального приложения с аутентификацией
  5. Разработка более сложного, реального приложения на основе MyTwiLinks
Начнем с самого начала, с самого простого — совсем для нубов (каковым я и являлся, когда начал разбираться с GAE), постепенно продвигаясь к более сложным концепциям, заканчивая грязными хаками на тему «как быть, если нельзя, но очень надо» (почти наверняка не успеем в рамках этого поста, но доберемся обязательно).

Читать дальше →
Total votes 80: ↑70 and ↓10+60
Comments36

Эффективность C++ на современных ПК

Reading time2 min
Views3.7K
В виду ограничения на размер, публикую заметку в виде статьи, а не как ссылку с аннотацией.

Со времён, когда проектировался С++, относительная (к скорости оперативной памяти) скорость процессора выросла в 400 раз. Плюс к тому, у процессора появились большие кэши и предсказание ветвлений в коде. Всё это вместе самым серьёзным образом сказывается на эффективности С++ на современных платформах. Ниже даю аннотацию и пару ссылок, где предлагается использовать эти факты для повышения эффективности кода.
Читать дальше →
Total votes 59: ↑48 and ↓11+37
Comments49

Материалы продвинутого уровня по Питону

Reading time5 min
Views44K
PythonВ мире все примерно распределяется в соответствии с принципом Паретто. Меньшая часть — богатые, большая часть — бедные (читающий, ты входишь в золотой миллиард). Тоже касается и материалов о программировании. Порой очень сложно найти хоть что-нибудь не начального уровня.

После прочтения Dive into Python или подобной ей и ознакомления с документацией возникает вопрос, а что читать дальше? Можно обратиться к списку книг на python.org. Там есть раздел Advanced Books, но в нем всего лишь 6 книг (седьмая не выходила), и только одну я бы назвал по-настоящему стоящей.

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

Ниже собраны сложные материлы про Питон, его устройство и возможности. Все на английском (грех, не знать технический английский). Про Dive into Python я слукавил. Большинство приведенных материалов требуют хорошее знание Питона и наличие опыта программирования на нем.

Подробнее
Total votes 136: ↑133 and ↓3+130
Comments23

Управление проектами – управление людьми

Reading time5 min
Views37K
Я работаю ПМом в небольшой – порядка 50 человек – компании по разработке софта. Данная статья написана исключительно с целью – поделиться своими мыслями по поводу процессов управления людьми в команде и, в идеале, услышать комментарии профессиональных руководителей и разработчиков. Сразу оговорюсь, что я не затрагиваю другие аспекты управления
Поскольку работаю весьма недолго, около года, а до этого был программистом (прошёл все ступени от стажёра до архитектора), то в памяти ещё свежи те ошибки, которые осуществляли мои руководители, после которых, в лучшем случае, на душе становилось пакостно. Опять же, дисклеймер, написано всё это исключительно с целью обсуждения… Итак, начнём.
Читать дальше →
Total votes 112: ↑103 and ↓9+94
Comments79

Основы работы с потоками в языке Python

Reading time20 min
Views63K

Предисловие


Данную статью я затеял написать после учащающихся вопросов как на форуме так и вопросов в icq на тему многопоточности в CPython. Проблема людей, которые их задают происходит, в основном, из незнания или непонимания основных принципов работы многопоточных приложений. По крайней мере, это относится к используемой мной модели многопоточности, которая носит название Thread Pool (Пул потоков). Часто встречаемой проблемой является и другое: люди не имеют элементарных навыков работы со стандартными модулями CPython. В статья я постараюсь привести примеры такого незнания, не останавливаясь на личностях, так как это по моему скромному мнению неважно. Исходя из условий, в которых пишется эта статья, то мы немного затронем и работу через proxy серверы (не путать с SOCKS).
Читать дальше →
Total votes 77: ↑62 and ↓15+47
Comments39

А-а-а-а-а: говорящие головы!

Reading time2 min
Views2.6K
imageЭта штука уже работает?!.. Привет, Хабр!

Мы – Саша и Слава, два тренера-консультанта, две «говорящие головы». Мы учим людей работать умнее, работать и расти, работать в кайф.

Теперь, когда вся власть в наших руках, когда у нас есть кнопка, мы научим всех жить, получая удовольствие от своей работы, от того, что результаты работы будут превращаться в понятные деньги и сладковатое слово «Карьера» станет из эфемерного понятия вполне ощутимым road map-ом к вершинам реализации своих навыков и опыта.

Что мы делаем: делаем из неленивых Инженеров хороших Менеджеров (когда получается :) ).

Как мы это делаем: под местной анастезией, ведем курсы и тренинги по карьере в ИТ, выступаем на разных конференциях и думаем про свою мега-конфу, ведем подкаст «IT-радио: ПРОМ.РАЗРАБОТКА» и много-много говорим с людьми, которые хотят двигаться и расти про их карьеру и развитие.

Мы начали в 2009 с тренинга «Как стать менеджером в ИТ», запись которого скачали 2000 специально нанятых роботов. Не у всех слушателей хватило сил дослушать до конца эту 4-часовую говорильню, но из тех, кто осилил, многие стали менеджерами. Всего в прошедшем году в наши сети попали примерно 500 доверчивых слушателей. Пострадавших нет, 99,99% довольны (а того занудного парня мы когда-нибудь вычислим).

В двух словах про двигатель стартапа «2TH: 2 talking heads» – про нас, тренеров и разработчиков курсов.
Читать дальше →
Total votes 62: ↑24 and ↓38-14
Comments25

Эффективная сегментация изображений на графах

Reading time10 min
Views40K

Сегментация изображений и выделение границ объектов (edge detection) играют важную роль в системах Computer Vision и применяются для задач распознавания сцен и выделения (определения) объектов. По большому счету, это такой же инструмент, как, например, сортировка, предназначенный для решения более высокоуровневых задач. И поэтому понимание устройства данного класса алгоритмов не будет лишним при построении подобных систем с учетом предъявляемых требований (в плане качество/производительность) и специфики поставленных задач.

В данной статье кратко описан алгоритм «Efficient Graph-Based Image Segmentation» авторов Pedro F. Felzenszwalb (MIT) и Daniel P. Huttenlocher (Cornell University), опубликованный в 2004 году. Да, алгоритм относительно старенький, но, несмотря на это, он до сих пор остается весьма популярным, демонстрируя неплохие результаты в плане производительности.

Под катом – большая смесь картинок и текста, не требовательная к текущему уровню знаний тематики. Любопытство приветствуется.

Мсье хочет знать толк в сегментации
Total votes 164: ↑163 and ↓1+162
Comments48

Как учить детей программированию: Kodu Game Lab теперь доступен для PC

Reading time2 min
Views70K
Я уже писал про обучение детей программированию на основе Лого. Однако возможен и другой, ещё более “симпатичный” подход – это визуальное программирование, в котором вообще не надо писать текст. Причём визуальное – это не обязательно рисование блок-схем! Например, можно исходить из понятия объекта, который находится в разных состояниях и реагирует на внешние события.

В Майкрософт также задумываются над проблемами обучения детей, в частности, уже писалось про проект Kodu Game Lab. Kodu – это интерактивная среда создания трехмерных игр, доступная одновременно на Xbox 360 и на ПК. Я решил написать о ней подробнее, поскольку начиная с сегодняшнего для любой желающий может скачать и попробовать версию для ПК.

image image
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments82

Где погрызть гранит науки

Reading time4 min
Views28K
image Здравствуй, хабрасообщество. Я знаю, ты любишь халяву. А еще ты любишь учиться. Ведь так? А что может быть лучше для хабравчанина бесплатного образования? Вот и решил собрать специально для тебя подборку из ссылок, где можно набраться уму-разуму в области IT.
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.

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

Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.

Англоязычные ресурсы



Компьютерные науки



OpenCourseWare MIT




Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.

смотреть другие сайты
Total votes 223: ↑213 and ↓10+203
Comments69

Элементы семантической паутины

Reading time10 min
Views15K
Сложность структуры современного информационного общества постоянно растёт. В связи с этим, требования к эффективности алгоритмов обработки информации также увеличиваются. В последнее время наиболее популярными направлениями в этой области являются Data Mining (DM), Knowledge Discovery in Databases (KDD) и Machine Learning (ML). Все они предоставляют теоретическую и методологическую базу для изучения, анализа и понимания огромных объёмов данных.
Однако этих методов не достаточно, если сама структура данных будет настолько плохо пригодной для машинного анализа, как исторически сложилось на сегодняшний момент в Internet.
Для решения данной проблемы предпринята глобальная инициатива реорганизации структуры данных Internet в целях преобразования его в Семантическую Паутину предоставляющую возможности по эффективному поиску и анализу данных как человеком так и программным агентам.
В этой статье рассмотрены основные технологии позволяющие реализовать Semantic WEB.

Читать далее..
Total votes 63: ↑57 and ↓6+51
Comments31

Приложение для чтения хабра в оффлайне

Reading time2 min
Views808
Добрый день!

Я уже рассказывал на хабре о Data Extracting SDK, который вызвал определенный интерес у пользователей. С тех пор было добавлено много вкусных фич и хотелось бы о них немножко рассказать. В качестве примера было реализовано небольшое приложение — HabraPDFReader, которое предназначено для сохранения хабратопиков в PDF файлах для оффлайн чтения. Попутно расскажу о тонкостях реализации.
Читать дальше →
Total votes 53: ↑42 and ↓11+31
Comments27

Делаем фото на документы

Reading time2 min
Views11K
imageФото на документы — написанная мною программа, которая предназначена для подготовки фотографии человека на российские документы. Программа больше года используется в десятках точках типа «фото на документы за 5 минут». Кроме этого, программу можно использовать дома, получая значительную экономию.

Уверен, что посыпятся комментарии на тему «зачем, если есть фотошоп». Да, в графическом редакторе можно сделать тоже самое, но менее продуктивно. Ведь у фото на документы, кроме ширины и высоты, нужно соблюдать еще ряд параметров, например такие как размер лицевой части головы. И на каждый тип документов, свои параметры.

Читать дальше →
Total votes 165: ↑152 and ↓13+139
Comments108

Картинки делают вашу информацию интереснее

Reading time4 min
Views12K
Интересные картинки
Приветствую всех! Я представляю вам свой Первый Пост На Хабре, он является объединяющим симбиозом нескольких постов моего личного блога [Батоноблог], и речь сейчас пойдёт о универсальной вещи, которая поможет увеличить продажи вашего товара, задержать на вашем сайте лишний десяток посетителей, и сделать из сложной многобуквенной статьи простой доходчивый рассказ. Также будут даны описания и адреса хранилищ этих вещей.

А вещь эта называется «Картинка».

В чём суть?


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

Читать дальше: почему, как и где искать картинки
Total votes 155: ↑128 and ↓27+101
Comments65

О том, какие шишки я набил

Reading time5 min
Views2K
Здравствуйте Хабрахабр сообщество!
Я хотел бы поделиться своим опытом с теми, кто начал, или только думает начинать свой бизнес, в частности имеющий отношение к веб-дизайну.
Капелька истории
Я работаю в сфере веб-дизайна без малого 5 лет. Начинал я естественно фри-лансером, создавал проекты, репутацию и т.д. Всё было хорошо до поры до времени. Пока на горизонте не замаячила мечта всей жизни на тот момент – собственный бизнес. С несколько месяцев раздумий, я решился на этот, как я теперь понимаю отчаянный шаг. По воле случая, я нашёл инвесторов, и они помогли мне с регистрацией юридического лица, стартовым капиталом, и т.д. и т.п. Команда к тому времени тоже была, весьма сработанная. Всё вышло замечательно, появилась фирма, спустя несколько месяцев и собственный офис, правда маленький, но всё равно, ощущение дикой пафосности не покидало наши сердца :-).
много букв
Total votes 148: ↑124 and ↓24+100
Comments172

Code Game Challenge

Reading time4 min
Views5.6K
Достаточно часто студенческие олимпиады состоят не только из соревнования в формате ACM ICPC, но и сопровождаются другими соревнованиями, которые ни как не влияют на общий результат, и служат для повышения интереса к соревнованиям.

Среди таких соревнований я хочу остановиться на соревнованиях Code Game Challenge.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments13

Функция без явного определения

Reading time1 min
Views1.5K
Изучаю C++. Балуясь с указателями придумал интересный для себя пример. Вероятно, опытных людей он не заинтересует, но я все же рискну.
typedef int (*pf)(int, int);
char c[] = {85,-119,-27,-117,69,12,3,69,8,93,-61,-112};
pf sum = (pf)c; //reinterpret_cast здесь не работает.
cout << sum(2,3); //Вывод 5.


* This source code was highlighted with Source Code Highlighter.
Теперь sum — функция сложения, являющаяся аналогом этой:
int sum(int a, int b){return a+b;}

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

UPD. Как мне подсказал iley, это в общем-то относится к C.

UPD. Одной строкой:
cout << ((int (*)(int, int))"\x55\x89\xE5\x8B\x45\x0C\x03\x45\x08\x5D\xC3")(2,3)
(спасибо 0lympian за мысль и halyavin за поправку)
Total votes 55: ↑39 and ↓16+23
Comments92

Текст любой ценой: PDF

Reading time12 min
Views89K
Продолжаем разбирать текстовые форматы на предмет получения текста. Итак, обещанный ранее PDF.

С portable document format'ом не всё так просто, как DOCX или ODT, что мы рассматривали в прошлый раз, но всё же это всё ещё изначально текстовый, а не бинарный формат. Вы удивлены? Тогда давайте посмотрим на то, что там внутри. Дальше действительно много текста.

Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments20

День знаний — Рекрутинг студентов

Reading time3 min
Views2.5K
Многие, даже средние компании, зачастую не прочь заняться выращиванием специалистов с нуля. Встает вопрос о том, как проводить отбор. При должной рекламе по окрестным университетам и хорошей репутации компании, желающих может оказаться достаточно много. А проводя традиционное интервью, нацеленное на проверку практических навыков, не всегда можно корректно оценить главные качества, которые хочется получить от стажера — умение учиться и желание работать.

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

Я хочу поделится с хабрасообществом опытом проведения интервью и списком вопросов. Cвежепринятые сотрудники еще стесняются критиковать старожилов, надеюсь получить какие-то возражения, или альтернативные идеи по механизму отбора здесь.
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments55

Анализ рынка ноутбуков с помощью Python

Reading time8 min
Views5.5K

Введение



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

Начнём



diy-03-425[1] Для анализа нам необходим набор данных, к сожалению я не смог обнаружить веб-сервисы у российских он-лайн магазинов ноутбуков, поэтому мне пришлось скачать прайс-лист одного из них (я не стану называть его) и вытащить из него цены и основные параметры (по-моему мнению таковыми являются: частота процессора, диагональ монитора, объем оперативной памяти, размер жесткого диска и объем памяти на видео-карточке). Далее я провёл некоторый анализ по следующим вопросам:
Читать дальше →
Total votes 87: ↑79 and ↓8+71
Comments26

Information

Rating
Does not participate
Location
Stanford, California, США
Registered
Activity