Pull to refresh
4
0
Владимир @VovanZ

User

Send message

Ruby: cheatsheet для изучения

Reading time14 min
Views60K
Это — статья-roadmap-cheatsheet для изучающих Ruby. Вместо того, чтобы рассказывать очередной how-to я постараюсь расписать все те вещи, которые, на мой взгляд, можно изложить кратко и емко, с упором на то, что программисту пришедшему с других языков и платформ может показаться не очевидным, антипоисковым и просто затратным по времени на изучение без подсказок — на остальное просто дам ссылки. Не смотря на то, что в природе существует множество туториалов/кастов/книг/чего угодно по чему угодно — именно такого формата мне самому всегда не хватает. И по сути, это те вещи, которые чаще всего рассказываю при вопросах «а как оно вообще?», «с чего начать?», «а как делается такая вот штука?», «а какой gem лучше?». Кстати, пока работал над этой статьей на Хабре появилась похожая про Python — видимо, идея витает в воздухе.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments20

Интервью с Bobuk'ом aka Григорием Бакуновым, директором по распространению технологий Яндекса и ведущим Радио-Т

Reading time10 min
Views55K


Кому-то Григорий знаком по подкасту «Радио-Т», соавтором которого он является уже семь лет. Кому-то он запомнился по выступлениям на различных технотусовках. Кто-то видел его проекты на GitHub’е. Но блиц-опрос, проведенный в редакции, показал, что никто не знает, чем он занимается в реальной жизни. Самая близкая к истине версия звучала так: «Ну, наверно, что-то вроде евангелиста». На самом деле все сложнее. Это же Яндекс. И это же Бобук.
Читать далее
Total votes 138: ↑111 and ↓27+84
Comments137

Python на Хабре

Reading time7 min
Views451K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Total votes 182: ↑162 and ↓20+142
Comments65

Решение главных проблем CAPTCHA

Reading time11 min
Views94K

Как часто вы сталкиваетесь с тем, что не можете ввести предлагаемую капчу с первого раза? Теперь подумайте, какие трудности могут возникнуть у современного человека, который разговаривает с компьютером «на Вы»? Для него преграда в виде reCAPTCHA становится сильнее, чем для робота.

Однако трудность распознавания капчи человеком является вовсе не самой острой проблемой, как может показаться на первый взгляд. Можно было бы конечно закрыть на это глаза, если бы капча действительно защищала нас от различных автоматизированных систем распознавания. Но это далеко не так!

И я хочу рассказать о средстве, которое решает эти проблемы.

Читать дальше →
Total votes 33: ↑16 and ↓17-1
Comments66

Как и зачем я решил начать собственное дело

Reading time8 min
Views190K
Салют, Хабр!
Недавно я уволился с довольно завидной должности (главного архитектора) в довольно неплохой компании (Acronis) и с непоколебимым решением в мозгу больше не работать по найму переехал из Москвы обратно в Ереван, откуда семь лет назад понаехал в Златоглаво-Нерезиновую. Учитывая необычность произошедшего и часто задаваемый вопрос «но почему?!», я решил разобраться в собственных мыслях и озвучить их вслух для себя самого и тех, кто может почерпнуть в моих размышлениях что-то для себя полезное. Короче говоря, это рассказ о том, почему я оставил высокооплачиваемую перспективную работу в международной компании ради сомнительной перспективы начать собственное дело, и как я собираюсь дальше жить.
Читать дальше →
Total votes 321: ↑291 and ↓30+261
Comments418

Лучшие рекрутинговые видео 2013 года

Reading time3 min
Views22K
Под конец уходящего года мы решили продолжить удачную традицию и собрали для вас 10 самых интересных рекрутинговых роликов этого года. С их помощью работодатели (но не только) стараются заполучить новичков и профи в свою команду.
При отборе мы руководствовались двумя простыми критериями: видео должно быть общедоступным и выйти в 2013 году.

Подборка получилась очень разноплановая: в десятку вошли видео от кафешки Wildflower, «Билайна», онлайн-сервиса по поиску мест для хранения SpareFoot, хипстерский ролик от разработчика игр Wooga, hot-видео австралийского ночного клуба Marquee, воодушевляющий экшн от команды по гребле университета Санта-Барбары и патриотическая драма от МИДа США. Конечно, не обошлось без традиционно крутых роликов канадского спецназа и американской полиции.

А начнем, пожалуй, с видео от SpareFoot — экзотичного для нас онлайн-сервиса по поиску мест для хранения всего и вся, которое спорит по безбашенности с прошлогодним творением от Kixeye. HR на детском хаммере и парень с электрическим ошейником на шее отлично задают атмосферу. Интересно, к бару и блюду с поросенком они все же кого-то подпустят?



Смотреть дальше
Total votes 32: ↑28 and ↓4+24
Comments16

Перевод и озвучка фильма дома — The Mars Underground

Reading time5 min
Views75K
Это мой первый пост на Хабре, поэтому в хаб «Космонавтика» он пока не попал.
Я занимаюсь, вернее, пытаюсь заниматься переводом и озвучкой видеороликов уже полгода. Ещё весной я обнаружил, что в сети полно хороших видео, из серии таких, которые «обязательно должен посмотреть каждый», но большая часть из них на английском языке. А вот знакомых, хорошо знающих иностранные языки, у меня не так много. Поэтому начинал я с переводов именно для них. Затем заметил, что это становится интересно и другим людям, и завертелось. Поэтому когда ко мне обратился Zelenyikot с предложением озвучить фильм Роберта Зубрина о Марсе, я с радостью согласился. И, вооружившись статьей "Попытка перевода и озвучки видео в домашних условиях", словариком и гуглом, сразу приступил к работе.

Читать дальше →
Total votes 161: ↑159 and ↓2+157
Comments39

С камерой в облака. Часть 2

Reading time26 min
Views252K
Тренировки

Спасибо каждому, кто читал и комментировал первую часть. Благодаря вам, продолжение будет еще интереснее. Если еще не читали — рекомендую это сделать. Там мало текста, и есть классные видео.

Изначально планировалось, что эта часть будет завершающей. Но, для удобства попадания в скролл, сейчас остановимся лишь на этих вопросах:

  • Тренировки. Вырабатывание летных навыков.
  • Выбор модели: самолет, вертолет или мультикоптер?
  • Выбор конкретной конструкции и размера
  • Моторы и ESC
  • Полетный контроллер


Как обычно, сразу к делу.
Читать дальше →
Total votes 175: ↑173 and ↓2+171
Comments170

Парадоксы теории множеств и их философская интерпретация

Reading time22 min
Views63K

Краткий синопсис


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

P.S. Весьма «сухой язык», но вполне читабельно после университетской программы. По большей части определения парадоксов брались из Википедии (упрощённая формулировка и готовая TeX-разметка).

Введение


Как сама теория множеств, так и парадоксы, ей присущие, появились не так уж и давно, чуть более ста лет назад. Однако за этот период был пройден большой путь, теория множеств так или иначе фактически стала основой большинства разделов математики. Парадоксы же её, связанные с бесконечностью Кантора, были успешно объяснены буквально за половину столетия.

Следует начать с определения.

Что есть множество? Вопрос достаточно простой, ответ на него вполне интуитивен. Множество это некий набор элементов, представляемый единым объектом. Кантор в своей работе Beiträge zur Begründung der transfiniten Mengenlehre даёт определение: под «множеством» мы понимаем соединение в некое целое M определённых хорошо различимых предметов m нашего созерцания или нашего мышления (которые будут называться «элементами» множества M)[1]. Как видим, суть не изменилась, разница лишь в той части, которая зависит от мировоззрения определяющего. История же теории множеств как в логике так и в математике весьма противоречива. Фактически начало ей положил Кантор в XIX веке, далее Рассел и остальные продолжили работу.

Парадоксы (логики и теории множеств) — (греч. image — неожиданный) — формально-логические противоречия, которые возникают в содержательной множеств теории и формальной логике при сохранении логической правильности рассуждения. Парадоксы возникают тогда, когда два взаимоисключающих (противоречащих) суждения оказываются в равной мере доказуемыми. Парадоксы могут появиться как в пределах научной теории, так и в обычных рассуждениях (например, приводимая Расселом перифраза его парадокса о множестве всех нормальных множеств: «Деревенский парикмахер бреет всех тех и только тех жителей своей деревни, которые не бреются сами. Должен ли он брить самого себя?»). Поскольку формально-логическое противоречие разрушает рассуждение как средство обнаружения и доказательства истины (в теории, в которой появляется парадокс, доказуемо любое, как истинное, так и ложное, предложение), возникает задача выявления источников подобных противоречий и нахождения способов их устранения. Проблема философского осмысления конкретных решений парадоксов — одна из важных методологических проблем формальной логики и логических оснований математики.

Целью данной работы является изучение парадоксов теории множеств как наследников античных антиномий и вполне логичных следствий перехода к новому уровню абстракции — бесконечности. Задача — рассмотреть основные парадоксы, их философскую интерпретацию.
Читать дальше →
Total votes 40: ↑35 and ↓5+30
Comments18

Backbone.js для «чайников»

Reading time13 min
Views288K
Backbone.js для чайников
Как то поздним вечерком мне пришла мысль изучить Backbone.js и привязать его к уже написанному на jQuery сервису. Сервис уже серьёзно расширился и меня достало это нагромождение обработчиков кликов, запросов и логики. Поэтому, я как усердный школьник полез в официальную документацию. Но либо я тупой, либо мой английский меня подкачал, либо то и другое вместе, но я не черта не понял. Я прочитал уже второй раз, внимательно, и для особо одарённых мест использовал google translate. Прочитал также и пример ToDo List. Всё показалось понятно, ровно до той поры пока я не стал писать. После чего я взял всё что нашел по этой библиотеке, как на английском так и переводы. Прочтя кипу документации я решил, что сейчас вроде всё понял. Я напрягся, но… Не вышел каменный цветок у мастера Данилы, т.е. вышло, но это явно был не цветок, и камень как то неправильно пах. Тогда, как прилежный ученик, я решил написать «Hello, KittyWorld» с нуля. Попутно комментируя и сохраняя шаги в hg, у меня получилось введение в backbone.js framework для таких как я, особо одарённых.
Данные 7 шагов с комментариями.
Total votes 113: ↑110 and ↓3+107
Comments51

Как начать разрабатывать игры даже если до этого вы были бухгалтером

Reading time7 min
Views187K
До того как я стал разработчиком игр, я (да и все в моем окружении) считал себя дизайнером сайтов.
Не плохим, кстати, но дизайнером сайтов. Профессия, которая почти никак не используется в разработке игр.


Есть такой стереотип — когда кто-то говорит, что он в разрабытавает игры без команды, все сразу представляют его программистом. На самом деле, стереотип не так далек от правды: скорее всего, разработчик, описанный выше, действительно умеет программировать, но программистом он может себя не считать.

После одного игрового проекта со стримом всего процесса разработки мне часто пишут начинающие разработчики, что-то спрашивают, что-то показывают и на что-то жалуются. Недавно мне пришлось влезть в спор двух ребят, где темой спора было: “Что круче знать 3д-моделирование или программирование, если собираешься разрабатывать игры?”. Влез к ним в спор с предложением сделать первый шаг из схемы, что родилась в процессе участия в игровых проектах и создания своих.
3 шага к успешной карьере разработчика игр
Total votes 103: ↑67 and ↓36+31
Comments35

Генераторы в действии

Reading time8 min
Views98K

Небольшое вступление


Не так давно я решил для себя, что пора восполнить большой пробел в знаниях и решил прочитать про переходы между версиями PHP, т.к. понимал, что остался где-то между 5.2 и 5.3 и этот пробел необходимо как-то устранить. До этого я читал про namespaces, traits и т.д, но дальше чтения не уходило. И вот тут я заметил генераторы, почитал документацию, одну из статей на хабре на этот счет и после этого возникла мысль — а как раньше без них жили-то?

Данным переводом хочу помочь хотя бы новичкам, поскольку на php.net документация по генераторам на английском и, на мой взгляд, должным образом не раскрывает всю идею и места применения. Текста много, кода чуть меньше, картинок нет. Потребуются общие знания, например, про итераторы. Очевидный код комментировать не буду, а вот сложные для понимания примеры постараюсь объяснить в силу своих знаний.

UPD1: Изменил расплывчатую формулировку, про которую говорили в комментариях.
UPD2: Добавил решение с принудительным break.

И сразу под хабракат
Total votes 59: ↑55 and ↓4+51
Comments25

Что это действительно значит быть «младшим программистом»

Reading time8 min
Views62K

Вечер пятницы, я получил имэйл от моего приятеля, который только что закончил колледж (Рочестерский Технологический Институт) и работает в весьма многообещающем стартапе, занимающемся программированием C++ систем и обучением искуственных интелектов. Ниже небольшой фрагмент его письма.

Чувак, одна вещь на работе не дает мне покоя – хотя мои коллеги по большей части приятные люди, я чувствую, как будто мою работу совершенно не ценят. Я работаю с шестью инженерами (вместе мы составляем команду из семи инженеров). Из шести, один — Platform Architect (Архитектор платформ), двое – Старших Инженеров-Прикладников, еще один – Software Architect (Программный Архитектор), остальные два отвечают за Обеспечение Качества. Если честно, и я не хочу, чтобы это прозвучало надменно, но за исключением одного Старшего Инженера-Прикладника, я понял, что знаю намного больше чем все эти «старшие» парни. Не пойми меня неправильно… они занимаются этим уже много лет, работают над важными системами и все такое, но я более образован чем они. Чаще всего, из-за того, что я Младший Системный Инженер, мои идеи просто отметаются и моя напряженная работа совершенно не ценится… откровенно говоря, это меня ужасно бесит. Иногда я подумываю о том, чтобы вернуться к фрилансу (особенно учитывая, что я уже закончил колледж).
Читать дальше →
Total votes 97: ↑68 and ↓29+39
Comments42

Подборка интересных аркадных игр для Android-смартфонов

Reading time6 min
Views20K
Ресурсов современных аппаратов, как правило, хватает на самые производительные игры с качественной графикой. Но долго в трехмерные гонки или шутеры все равно не поиграешь, глаза устанут, да и батарея может напомнить о себе. А вот с виду простенькие, но не менее увлекательные двухмерные аркады – то, что надо, чтобы провести свободное время где-нибудь в очереди или в зале ожидания.

Легендарные Angry Birds своим успехом обусловили не только появление многочисленных клонов, но и релизы набора качественных игр, являющихся прекрасными альтернативами наверняка надоевшим приключениям несчастных пернатых.

Достойных представителей жанра в Android Market великое множество, и выбрать конкретные игры – задача нетривиальная. Тем не менее, после долгих поисков мы бы хотели представить вашему вниманию действительно выдающиеся продукты, каждый из которых в состоянии надолго исключить вас из всех видов социальных взаимодействий.

Читать дальше →
Total votes 12: ↑7 and ↓5+2
Comments5

То, что вам никто не говорил о z-index

Reading time3 min
Views356K

Проблема z-index в том, что многие просто не понимают, как он работает.
Всё, описанное ниже, есть в спецификации W3C. К сожалению, не все её читают.

Описание проблемы:


Итак, пусть у нас есть HTML код, состоящий из 3 элементов.
Каждый из них внутри себя содержит по одному . А каждый , в свою очередь, имеет свой фон: красный, зеленый и синий, соответственно. Плюс ко всему, каждый позиционирован абсолютно левого верхнего края документа таким образом, что он немного перекрывает собой следующий за ним . Первый имеет z-index
, равный 1, у остальных двух z-index не задан.
Читать дальше →
Total votes 112: ↑109 and ↓3+106
Comments30

Как стать ведущим разработчиком. Часть 1

Reading time8 min
Views142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

Но в то же время, все мои знакомые преуспевающие разработчики помнят своих наставников, которые научили их тому, что значит быть „ведущим“.
Читать дальше →
Total votes 233: ↑203 and ↓30+173
Comments76

Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

Reading time18 min
Views244K
На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


Договор авторского заказа
Total votes 158: ↑147 and ↓11+136
Comments124

Как работают браузеры: принципы работы современных веб-браузеров

Reading time2 min
Views189K
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

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

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →
Total votes 200: ↑179 and ↓21+158
Comments27

Enterprise-версия программы FizzBuzz с правильной архитектурой

Reading time2 min
Views30K
Здравствуй, хабрачитатель. Я – редактор блога ABBYY. Сегодня утром ко мне пришли разработчики, принесли вот этот текст и попросили напечатать. Я не смогла придумать, почему этот текст должен появиться в корпоративном блоге, но разработчики говорят, что он смешной и принесёт радость людям. Так тому и быть!

Устали от полных кривизны и костылей сложных в поддержке программ? Постоянно слышите о правильной архитектуре, но так и не видели ее? Встречайте на Гитхабе Enterprise-версию программы FizzBuzz, показывающую, как должно выглядеть серьезное решение с правильной архитектурой.
Читать дальше →
Total votes 82: ↑70 and ↓12+58
Comments34

Про отток разработчиков из свободных проектов, преподавание Python в качестве первого языка и другие темы

Reading time2 min
Views33K
Долго думал над заголовком, в итоге в него попали пара интересных вопросов из докладов прошедшей недавно, уже восьмой по счету, конференции «Свободное программное обеспечение в высшей школе».

Мероприятие это традиционно проводится зимой в уютном здании Университета города Переславля-Залесского Ярославской области, в несколько как бы семейной обстановке, а потому совсем широкой общественности не известное. А меж тем, каждый год бывают весьма любопытные доклады, и еще более интересные докладчики. Четыре из них хотелось бы выделить в этом топике, хотя внимания заслуживают все. По традиции тематика докладов (особенно в первый день) выходит за рамки тематики конференции, и тем интереснее их слушать.

1) «СПО. Кризис среднего возраста?» (Хотел вынести в заголовок топика один из слайдов доклада — «Куда уехал цирк?», но воздержался)
В преддверии 30-летнего юбилея движения GNU, известный аналитик Антолий Якушин, человек широчайших познаний в области программного обеспечения, подводит некоторые итоги и, в частности, рассказывает: куда направлен отток разработчиков свободных проектов, так ли это страшно, почему в MIT сейчас так мало свободных проектов, почему Столлман не является социалистом и прочие животрепещущие вопросы



Читать дальше →
Total votes 73: ↑61 and ↓12+49
Comments23

Information

Rating
Does not participate
Location
Россия
Registered
Activity