Как стать автором
Обновить
18
0

Пользователь

Отправить сообщение

Поговорим про… фонарики?

Время на прочтение5 мин
Количество просмотров369K
Приветствую, %username%!
Это небольшой ликбез на тему сегодняшнего состояния отрасли портативного освещения.
Disclaimer
К показанным фонарям и остальному железу я отношения не имею. Их рекламой данный пост не является.

Поехали, начнем с современных светодиодов
Читать дальше →
Всего голосов 167: ↑159 и ↓8+151
Комментарии156

Коллективный разум ХабраХабра выбрал лучшие игры всех времен и народов на 2013 год

Время на прочтение5 мин
Количество просмотров299K
Коллективный разум ХабраХабра выбралучшие игры всех времен и народов на 2013 год

Этим постом подвожу итог попытки определить лучшие игры всех времен и народов по версии Хабрахабра на 2013 год.

Отбор проводился по простым правилам:

− В этот пост каждый желающий вносил свою любимую игру,
− Каждый другой желающий голосовал за любимую игру.

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

Основные итоги


Всего в посте собралось за 5 дней больше 1 800 комментариев. Игр было указано около 400. Набрали больше 20 голосов 121 игра. При подсчете учитывались только плюсы (минусы не считал, ибо мы выбирали то, что нравится). Итак, встречайте десятку лучших:

  1. Герои Меча и Магии (259)
  2. Half Life (254)
  3. Fallout (211)
  4. Portal (182)
  5. Neverhood (174)
  6. DOOM (153)
  7. Civilization (151)
  8. StarCraft (150)
  9. Космические рейнджеры (128)
  10. Warcraft (127)

Читать дальше →
Всего голосов 219: ↑191 и ↓28+163
Комментарии208

Используем Titanium Developer для кроссплатформенной разработки

Время на прочтение3 мин
Количество просмотров1.2K
Непрочь создать desktop-приложение, но знакомы только с технологиями, связанными с web? Возможно вас заинтересует технология Titanium Developer.

Этот топик посвящен не только технологии Titanium, неплохой обзор которой дан в этом топике, но и опыту реализации приложений с ее использованием, трудностями, с которыми пришлось столкнуться и найденным решениям.

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии2

Особенности русской разработки

Время на прочтение8 мин
Количество просмотров284K
image

По роду занятий я часто общаюсь с различными русскими и западными командами. Очень частый вопрос — есть ли какая-нибудь специфика в работе наших и как это влияет на разработку?

Есть очень неплохая книжка о специфике работы русских вообще. Она называется «Русская модель управления». Ее написал А.П.Прохоров (другой, не олигарх). Не буду ее пересказывать. Основная идея в том, что русские по своей природе могут работать только в двух модах. В нестабильном состоянии они могут свернуть горы. В это время мотивация очень высокая. В стабильном расслабленном состоянии — когда никто не пинает — русские вроде как работают плохо и не сильно утруждаются.

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

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

Я буду приводить влияние разных факторов в порядке их важности и силы влияния. Чем выше — тем сложнее это изменить и тем больший эффект это оказывает.
Читать дальше →
Всего голосов 531: ↑513 и ↓18+495
Комментарии420

Нужны ли в JavaScript классы?

Время на прочтение6 мин
Количество просмотров104K
JavaScript принято считать прототип-ориентированным языком программирования. Но, как ни странно, этим подходом практически никто не пользуется: большинство популярных JS-фреймворков явно или неявно оперируют классами.
В этой статье я хочу рассказать об альтернативном способе программирования на JavaScript, без использования классов и конструкторов — чистым прототипным ООП и особенностях его реализации на ECMA Script 5.
Читать дальше →
Всего голосов 164: ↑140 и ↓24+116
Комментарии60

Как хвост виляет собакой. Азбука пропаганды

Время на прочтение4 мин
Количество просмотров209K
Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.

Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
— Почему собака виляет хвостом?
— Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.

Ещё 7 приёмов - под катом
Всего голосов 402: ↑352 и ↓50+302
Комментарии183

Тестирование автомобилей с пейнтболом, дронами и лунапарком, тьфу, большим ангаром

Время на прочтение1 мин
Количество просмотров33K
Нет-нет, дорогой %username, ты не ошибся. Это действительно хабр. И этот топик как нельзя лучше соответствует тематике. Просто дайте мне все объяснить.

Ниже находится лучшее видео, что я видел на этой неделе. Правда-правда. Команда Audi UK устроила тест двум новым RS 4 Avant. Причем не обычный тест, а настоящую дуэль на больших пейтнбольных пушках (внизу картинка, а видео будет под катом).



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


Читать дальше →
Всего голосов 67: ↑50 и ↓17+33
Комментарии53

Числа Каталана

Время на прочтение5 мин
Количество просмотров180K
Несомненно, самым замечательным математическим фактом является тождество . В нем удивительным образом сошлись, казалось бы, совершенно не связанные константы из разных областей математики. Доказать это тождество не так сложно, но объяснить его, понять глубинный смысл, удается немногим.
В качестве еще одного замечательного факта хотелось бы вспомнить числа Каталана, которые удивительным образом всплывают в самых разных комбинаторных задачах. К сожалению, они выпадают из рассмотрения типовой школьной программы, но уверен, что любой специалист компьютерных наук должен быть знаком с ними.
Читать дальше →
Всего голосов 198: ↑180 и ↓18+162
Комментарии105

Украшаем списки

Время на прочтение5 мин
Количество просмотров24K
В 2002 году Марк Ньюхаус (Mark Newhouse) опубликовал статью «Укрощение списков» ("Taming Lists"), довольно-таки интересную часть которой он посвятил объяснению того, как создавать собственные списки, украшенные псевдо-элементами. Почти десять лет спустя Николас Галлахер (Nicolas Gallagher) изобрел технику, которая использует псевдо-элементы из спрайтов, для создания фоновых изображений.
Сегондя, основываясь на опыте гигантов, мы постараемся развить эту тему. Мы обсудим, как можно украсить элементы без дополнительной разметки, используя только технику CSS-спрайтов. Результат будет работать также в Internet Explorer 6 и 7 версии.
Читать дальше →
Всего голосов 113: ↑107 и ↓6+101
Комментарии27

Верстка иконок с помощью псевдо-элементов и css свойства clip

Время на прочтение1 мин
Количество просмотров21K
Хороший способ верстки иконок, расположенных рядом с заголовками, или в качестве нестандартных маркеров списка — с помощью псевдо-элементов.
Читать дальше →
Всего голосов 80: ↑74 и ↓6+68
Комментарии26

FAQ по JavaScript: задавайте вопросы

Время на прочтение1 мин
Количество просмотров7.4K

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

Мы ответим на ваши вопросы, касаемо сомнительных моментов языка(this, arguments, bind, функции, замыкания, модули), ECMAScript 3, 5, 6+, реализации языка в конкретных браузерах, фрэймворков(jQuery, Prototype, Mootools...), архитектуре приложений(паттерны, MVC...), тестировании, и вообще всего с чем связан JavaScript и разработка на JavaScript(как клиентской так и серверной).

Если у вас нет возможности задать вопрос в комментарии, то вы можете связаться с нами по другим источникам, которые вы можете найти в профиле: azproduction, TheShock или по email: azazel.private@gmail.com, shocksilien@gmail.com

В конце недели, начале следующей мы опубликуем ответы на все ваши вопросы.
Этот пост краток, а ответы будут развернутыми!
Всего голосов 63: ↑54 и ↓9+45
Комментарии215

Что почитать, чтобы повысить свой уровень JavaScript

Время на прочтение3 мин
Количество просмотров98K
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Читать дальше →
Всего голосов 165: ↑161 и ↓4+157
Комментарии31

Какие единицы измерения выбирать при верстке

Время на прочтение3 мин
Количество просмотров25K
В прошлой моей статье я затронул единицы измерения и тут же в комментариях начались на эту тему споры и обсуждения, поэтому я решил вынести этот вопрос в отдельный пост. Вот теперь и обсудим :)
Читать дальше →
Всего голосов 105: ↑94 и ↓11+83
Комментарии71

Unity3d и развеивание некоторых мифов

Время на прочтение8 мин
Количество просмотров94K
Недавно я прочитал очередную статью про Unity3d на Хабре, в очередной раз были интересные комментарии — и грамотные, и грамотные не совсем.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
Читать дальше →
Всего голосов 81: ↑72 и ↓9+63
Комментарии42

Обфускация JavaScript

Время на прочтение5 мин
Количество просмотров195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Всего голосов 171: ↑165 и ↓6+159
Комментарии85

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность