Архив за 25 апреля 2013

    Мое становление как  программиста началось в 2005 году  и продолжается по
сей  день. Несомненно,  многие  читатели смогут  похвастаться более  обширным
опытом,  но речь  пойдет о  другом.  Мой профессиональный  рост наложился  на
интересный период  - повышение культуры  программирования в рунете,  если это
можно  так  назвать.  Профессионалы  были  всегда,  но сегодня  подкованность
среднего  программиста(во всяком  случае  в сфере  best pracices)  несравнимо
выше, чем тогда.

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

Читать полностью »

Новостные заголовки так и пестрят сообщениями о новых смартфонах с 15 ядрами и гигабайтами встроенной памяти, о ноутбуках, которым позавидовали бы лучшие гимнасты мира. Но в то же самое время, как одни компании озабочены разрешениями экранов и количеством ядер своих будущих устройств, другие ставят перед собой совсем другие, поистине впечатляющие задачи, такие как заселение Марса к 2030 г. или по личному аватару каждому человеку к 2045 г. Но у последних не хватает средств для пропаганды своих изобретений и идей в СМИ, и все упоминания их разработок, в большинстве своем, не выходят дальше университетских блогов, и специализированных сайтов. Если вам, так же как и мне, интересно, как же близко человечество подобралось к технологической сингулярности, добро пожаловать!
Читать полностью »

Претендующий на звание самого тонкого смартфона, аппарат Oppo R809T, не стал рекордсменом. Толщина устройства составляет не 6,13 мм, а «всего лишь» 6,93 мм.

Oppo R809T

Читать полностью »

image
На kickstarter-е несколько дней назад начался сбор средств на создание светящегося растения. Используя разработки учёных из Нью-Йоркского университета по созданию светящихся растений и светящихся бактерий с конкурса проектов в области бионженерии IGEM.
За 40 долларов можно будет получить пачку семян генно-модифицированного арабидопсиса, которые можно будет вырастить самому (пока доставка только по США).
Ждём светящуюся капусту в дополнение к светящимся поросятам?

Последнее время приходится довольно много работать с Python. Решая одну из текущих задач, возникла необходимость внутри функции-декоратора проверить задекорирован ли декорируемый метод другим декоратором. К сожалению, стандартные средства рефлексии языка не позволяют это сделать. Точнее, используя, например, модуль inspect из стандартной библиотеки это сделать можно, но уж больно не нравился такой подход.

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

Работа с предпочтениями групповой политики: управление INI файламиНастройка установленных программных продуктов – довольно утомительная процедура. А если учесть то, что в большинстве организаций идентичные настройки должны быть установлены не на одной машине, а по меньшей мере у нескольких сотрудников одного отдела, то если вы настраиваете приложения средствами графического интерфейса, весь этот процесс может затянуться надолго. Учитывая этот момент, можно сразу прийти к такому выводу, что желательно было бы попробовать автоматизировать процесс настройки программ, чтобы можно было централизованно управлять конфигурациями приложений ваших пользователей.
По большому счету, можно выделить несколько методов, позволяющих настраивать программные продукты, не прибегая к использованию пользовательского интерфейса. К таким методам можно отнести формирование сценариев для автоматизации определенных задач средствами какого-то скриптового языка, например Windows PowerShell или AutoIT, и последующее распространение таких сценариев средствами групповой политики. Помимо этого, если программные продукты генерируют определенные параметры в системном реестре операционных систем, вы можете централизованно предопределять такие настройки при помощи соответствующего элемента предпочтения групповой политики. В конце концов, некоторые программы могут для хранения своих настроек использовать конфигурационные файлы, изменяя которые вы можете вносить некоторые изменения в настройке таких продуктов.
Сегодня мы с вами остановимся именно на последнем описанном выше методе. Другими словами, из материала данной статьи вы узнаете о том, что собой представляют INI-файлы, каким образом они могут повлиять на настройку программ, а также, естественно, я расскажу о централизованной настройке INI-файлов. Но обо всем по порядку. Читать полностью »

В Сети появилась 128 летняя запись голоса Александра Белла

Не так давно я уже публиковал новость о записи лекции Альберта Эйнштейна, где прекрасно слышно голос ученого. На этот раз публикую новость о записи голоса всем нам известного Александра Белла. Специалисты Смитсоновского института смогли оцифровать наиболее раннюю запись голоса Белла. Сделал запись сам изобретатель.

Читать полностью »

Проверка на поддержку конкретных технологий браузером с помощью JavaScript по праву считается наилучшей практикой при клиент-сайд разработке (Часто используют другой способ, заключающийся в проверке из какого браузера пользователь просматривает страницу — Прим. пер.), но, к сожалению, такую проверку нельзя было сделать с использованием только лишь CSS. Firefox, Chrome и Opera недавно объявили о поддержке CSS директивы @supports и CSS.supports (JavaScript), которые помогут разработчикам определять справится ли браузер пользователя с CSS свойством или нет. Давайте посмотрим на них в деле!
Читать полностью »

В анализе Фейсбука, который провел Стивен Вольфрам, мне особенно понравились графики изменения интересов людей в зависимости от пола и возраста. Поэтому я решил посчитать нечто похожее для отечественной соцсети ВКонтакте. В анкете ВКонтакте есть любопытная группа полей — «Жизненная позиция», по значениям которых можно искать фактически в реляционном стиле. Поэтому от меня не требовалось разворачивать мощную data mining инфраструктуру, а лишь обработать результаты нескольких сотен GET-запросов.

Для начала — общее кол-во людей по возрастам:
Жизненная позиция пользователей ВКонтакте в зависимости от пола и возраста
Так как мужчины и женщины неодинаково активны в социальных сетях, а так же учитывая наличие фейков и ботов, я бы не стал делать из этого графика далеко идущие демографические выводы.
Читать полностью »

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

Вот некоторые из вопросов, которые я задаю на интервью, чтобы его разнообразить.

Объясните ребенку, что такое обфускация кода, простыми словами, так, чтобы тот понял.


В качестве ребёнка выступаю я сам. Вместо «обфускация кода» может быть любое понятие, в зависимости от позиции. Этот вопрос помогает увидеть, может ли человек сделать сложное простым. Читать полностью »