Название статьи, в части упоминания Джорджа Буша-младшего, прямого отношения к её содержимому не имеет, просто этот человек поднял флаг борьбы с мировым злом на уровне всего земного шара. Боюсь, что, как обычно, охота на ведьм была проведена зря, и большая часть зла оказалась в самой Америке. Ниже я ознакомлю вас с причинами таких выводов на примерах компаний Apple, Oracle, 1С, Google, Adobe.
Software Developer
Учёные выдвинули гипотезу о том, что измерения времени не существует
5 min
11KTranslation
В наши дни концепция времени — не только интуитивный способ измерить продолжительность событий, но и важнейший элемент в математическом описании физических систем. К примеру, мы определяем скорость объекта, как перемещение в пространстве за некоторый промежуток времени. Но некоторые исследователи считают, что ньютоновская идея времени как абсолютной величины, которая течет сама по себе, вместе с идеей о том, что время является четвертым измерением пространства-времени, являются неверными. Они предлагают заменить эти понятия времени на другие, более точно соответствующие истинной картине мира: время, измеряющее порядок изменений.
В двух недавних работах (одна уже опубликована и вторая вот-вот подоспеет) в журнале «Physics Essays», Амрит Сорли, Давид Фискарлетти, и Душан Клинар из научно-исследовательского центра Бистра в городе Птуй (Словения), более подробно описали, что всё это значит.
+163
Матовые против глянцевых экранов: почему индустрия ПК выпала из контекста
1 min
73KTranslation
+121
Л. Н. Толстой и искусство в IT
6 min
10K Каждый из нас хочет быть творцом. Каждый хочет создавать шедевры. Но не каждый может оторваться от рутины, своих типовых задач и начать творить. Возможно, чтобы как-то это оправдать, люди начали придавать обычной, в смысле, ремесленной деятельности возвышенный смысл. Из-за этого сегодня часто мы слышим об «искусстве программирования», «искусстве управления проектами», а также о других «искусствах». Если прямо спросить авторов подобных учений и пособий, навряд ли они смогут ответить на вопрос, что же есть это самое «искусство», и почему оно не «наука» или вообще не какое-нибудь «дао» (которое тоже частенько встречается в названиях книг).
Лев Николаевич Толстой, будучи, в первую очередь писателем, интересовался и другими видами того, что принято сегодня называть «искусством» в широком смысле слова. В результате у него появилась маленькая заметка «Об искусстве» и большая монография «Что такое искусство?»
Я постараюсь изложить, что же такое искусство по мнению Льва Николаевича, что необходимо для того, чтобы искусство таковым являлось, а также каковы признаки поддельного искусства (последнее перенесено в отдельную заметку). Всё это, насколько возможно, изложено применительно к IT и проиллюстрировано примерами.
Лев Николаевич Толстой, будучи, в первую очередь писателем, интересовался и другими видами того, что принято сегодня называть «искусством» в широком смысле слова. В результате у него появилась маленькая заметка «Об искусстве» и большая монография «Что такое искусство?»
Я постараюсь изложить, что же такое искусство по мнению Льва Николаевича, что необходимо для того, чтобы искусство таковым являлось, а также каковы признаки поддельного искусства (последнее перенесено в отдельную заметку). Всё это, насколько возможно, изложено применительно к IT и проиллюстрировано примерами.
+28
Помоги Марио пулемётом
1 min
1.6KМне всегда было интересно, как бы персонажи игр вели себя в незнакомых им мирах из других игр. И тут, изучая ассортимент магазина Chrome, я обнаружил приложение-мечту из детства: Super Mario Bros. Crossover.
Вооружившись пулемётом-веером из Кóнтры можно вклочья разнести черепах и прочих монстров вместе с кирпичными стенами.
+38
Диалоги об Интернете: Facebook
11 min
3.2KTranslation
Этот перевод выполнен по личной просьбе deniskin'а, лексика автора полностью сохранена, в тексте присутствует нецензурная лексика.
Работники Facebook лучше большинства знают цену конфиденциальности.
Работники Facebook лучше большинства знают цену конфиденциальности.
+51
Веб-страница = URL
1 min
917Красивый сервис Hashify.me берёт контент веб-страницы и хеширует его в URL. В результате вы получаете огромную ссылку, в которой закодирован текст и картинки. Эту ссылку можно пропустить через Bit.ly — и получите короткую ссылку. На самом деле на сайте Hashify уже поддерживает интерфейс Bit.ly API, так что короткая ссылка генерируется автоматически.
+50
Визитка — прямой канал коммуникации
1 min
17KА у вас есть визитка?
Через визитку мы ведем коммуникацию, она в какой-то мере отображает информацию не только о ее владельце, но и компании где он работает. Есть оригинальные примеры когда визитка прямо говорит о том чем занимается ее владелец. Когда бюджета на рекламу нет, а запомнить как-то надо, то визитка оригинальный способ напомнить о себе.
Креативные визитки
Программист
+164
Интерфейсы в реальном мире
5 min
180KIT-интерфейсы часто растут из физических. Например, вот аппаратные чекбоксы:
Вообще, лучший же пример правильного инженерного интерфейса – это гранёный стакан.
Почему? Очень просто. С одной стороны, он дружелюбен к советским роботам: круглая верхняя полоса позволяет автоматической мойке нащупать его ещё с 40-х годов. С другой стороны, он прощает человеческие ошибки: ребра останавливают скатывание стакана со стола при падении. Плюс он просто красивый.
Сейчас покажу ещё несколько интерфейсов, которые облегчают жизнь. Общий смысл – попробовать понять, как думал разработчик, чтобы сделать что-то удобнее.
Вообще, лучший же пример правильного инженерного интерфейса – это гранёный стакан.
Почему? Очень просто. С одной стороны, он дружелюбен к советским роботам: круглая верхняя полоса позволяет автоматической мойке нащупать его ещё с 40-х годов. С другой стороны, он прощает человеческие ошибки: ребра останавливают скатывание стакана со стола при падении. Плюс он просто красивый.
Сейчас покажу ещё несколько интерфейсов, которые облегчают жизнь. Общий смысл – попробовать понять, как думал разработчик, чтобы сделать что-то удобнее.
+294
Бесплатная online-школа по разработке приложений для Windows 8
2 min
29KДрузья, рады объявить, что с 1 апреля совместно с Национальным открытым университетом «Интуит» мы запускаем бесплатную online-школу по разработке приложений для Windows 8. Если вы еще не умеете программировать под Windows 8, то это как раз то, что поможет вам научиться.
Записаться на учебный курс можно тут: aka.ms/w8school
Курс длится 6+3 недели и включает лекции, online-консультации, лабораторные и курсовые работы. Лекции и консультации проводят сотрудники Microsoft Россия (департамент стратегических технологий).
+19
История невзлетевшего стартапа
7 min
32KRecovery Mode
Полтора года назад я написал пост* про Альтасферу. Это был очень амбициозный проект, навеянный идеями Фридриха фон Хайека о частных деньгах и активной дискуссией о глобальном экономическом кризисе. С тех пор несколько раз менялась концепция проекта, перабатывался интерфейс, уходили и приходили людив команду, добавлялись новые функции, пробовались разные способы продвижения. Летом прошлого года окончательно кончились деньги, инвесторов искать не стали и проект не заморозили на неопределенный срок. Я и сейчас думаю, что многие базовые идеи Альтасферы верны. Скорее всего, они так или иначе будут воплощены. Но в той конкретной реализации мы допустили множество ошибок. У меня было время их осмыслись и в этом топике я хотел бы с вами поделиться своим опытом. Возможно, я повторю уже известные аудитории тезисы, но одновременно я надеюсь, что изложенное здесь поможет избежать некоторых ошибок тем, кто начинает сейчас собственный интернет-проект или планирует это сделать в ближайшем будущем.
+10
Методы решения судоку
5 min
690KTutorial
1. Основы
Большинство из нас, хабражителей, знает, что такое судоку. Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.
+59
Взлом тега в 100 символов
3 min
24KTranslation
Не так давно я обнаружил, что JavaScript позволяет изменить атрибут href тега <a> после того, как вы щелкнете по нему. На первый взгляд это выглядит несерьезно, но не сомневайтесь — таким способом злоумышленник сможет получить данные пользователя.
Позвольте вам продемонстрировать: (Прим. пер.: Пример вы можете увидеть в оригинале статьи. Ссылка изначально ведет на PayPal, но после нажатия происходит редирект на другую страницу блога автора. )
Как вы убедились, вы не перешли на PayPal (кроме Opera, где, по-видимому, это поведение исправлено). Так произошло потому, что после нажатия на ссылку был запущен код, который изменил атрибут href ссылки, и что удивительно — браузер отправляет по-новому адресу. Но так не должно происходить. Посетители сайта (пожалуй, самые технически подкованные их них) по ссылке будут предполагать куда они переходят, в данном случае, на сайт PayPal. В прошлом году PayPal в течение нескольких месяцев производил редирект с главной страницы (UK) на paypal-business.co.uk. По моему мнению, пользователи уже привыкли к таким перенаправлениям, что уже само по себе является уязвимостью и представляет реальную угрозу, как я её называю «Фишинг 2.0».
Позвольте вам продемонстрировать: (Прим. пер.: Пример вы можете увидеть в оригинале статьи. Ссылка изначально ведет на PayPal, но после нажатия происходит редирект на другую страницу блога автора. )
Как вы убедились, вы не перешли на PayPal (кроме Opera, где, по-видимому, это поведение исправлено). Так произошло потому, что после нажатия на ссылку был запущен код, который изменил атрибут href ссылки, и что удивительно — браузер отправляет по-новому адресу. Но так не должно происходить. Посетители сайта (пожалуй, самые технически подкованные их них) по ссылке будут предполагать куда они переходят, в данном случае, на сайт PayPal. В прошлом году PayPal в течение нескольких месяцев производил редирект с главной страницы (UK) на paypal-business.co.uk. По моему мнению, пользователи уже привыкли к таким перенаправлениям, что уже само по себе является уязвимостью и представляет реальную угрозу, как я её называю «Фишинг 2.0».
+25
Принципы анимации: как сделать хороший скринкаст программного продукта
3 min
18KTutorial
Жизнь – как вождение велосипеда. Чтобы сохранить равновесие, ты должен двигаться.
А.Эйнштейн
Преамбула: в Alconost мы делаем продающие видеоролики для программных продуктов, веб сайтов, онлайн сервисов, мобильных приложений. Ключевая роль в таких роликах отводится скринкастам — показу действий пользователя в программе/сервисе/на сайте. Скринкаст — это показ товара “лицом”. Если скринкаст сделан убого — у зрителя останется ощущение убогого продукта и задача “мотивировать попробовать продукт” будет провалена.
Мы задумались над тем, почему иногда скринкасты выглядят неестественно и негармонично и как сделать так, чтобы скринкасты всегда получались хорошо. Оказывается, существуют 12 принципов анимации Диснея и если следовать им — любое действие на экране будет выглядеть красивым и гармоничным. Мы чуть-чуть поработали над этими принципами: убрали то, что не относится к скринкастам, а остальное адаптировали под специфику видеороликов о программных продуктах. В итоге у нас получилась памятка-руководство для видеодизайнеров, которой мы и хотим поделиться.
Итак, если вы заказали видеоролик, и вам раз за разом присылают промежуточные версии с отстойными скринкастами — покажите вашим «видеоменам» вот этот ролик:
Видео предназначено для людей, близких к видеодизайну, поэтому если вам нужно более подробное описание каждого принципа — добро пожаловать под кат.
А.Эйнштейн
Преамбула: в Alconost мы делаем продающие видеоролики для программных продуктов, веб сайтов, онлайн сервисов, мобильных приложений. Ключевая роль в таких роликах отводится скринкастам — показу действий пользователя в программе/сервисе/на сайте. Скринкаст — это показ товара “лицом”. Если скринкаст сделан убого — у зрителя останется ощущение убогого продукта и задача “мотивировать попробовать продукт” будет провалена.
Мы задумались над тем, почему иногда скринкасты выглядят неестественно и негармонично и как сделать так, чтобы скринкасты всегда получались хорошо. Оказывается, существуют 12 принципов анимации Диснея и если следовать им — любое действие на экране будет выглядеть красивым и гармоничным. Мы чуть-чуть поработали над этими принципами: убрали то, что не относится к скринкастам, а остальное адаптировали под специфику видеороликов о программных продуктах. В итоге у нас получилась памятка-руководство для видеодизайнеров, которой мы и хотим поделиться.
Итак, если вы заказали видеоролик, и вам раз за разом присылают промежуточные версии с отстойными скринкастами — покажите вашим «видеоменам» вот этот ролик:
Видео предназначено для людей, близких к видеодизайну, поэтому если вам нужно более подробное описание каждого принципа — добро пожаловать под кат.
+9
Почему стоит изучить Clojure?
17 min
150KЧто такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
+104
Как запустить программу без операционной системы
13 min
183KТак вышло, что в нашей статье, описывающей механизм опроса PCI шины, не было достаточно подробно описано самого главного: как же запустить этот код на реальном железе? Как создать собственный загрузочный диск? В этой статье мы подробно ответим на все эти вопросы (частично данные вопросы разбирались в предыдущей статье, но для удобства чтения позволим себе небольшое дублирование материала).
В интернете существует огромное количество описаний и туториалов о для того как написать собственную мини-ОС, даже существуют сотни готовых маленьких хобби-ОС. Один из наиболее достойных ресурсов по этой тематике, который хотелось бы особо выделить, это портал osdev.org. Для дополнения предыдущей статьи про PCI (и возможности писать последующие статьи о различных функциях, которые присутствуют в любой современной ОС), мы опишем пошаговые инструкции по созданию загрузочного диска с привычной программой на языке С. Мы старались писать максимально подробно, чтобы во всем можно было разобраться самостоятельно.
Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.
+180
Полезные сниппеты на HTML5
4 min
84KTranslation
Эта подборка полезных сниппетов, использующих HTML5, может помочь вам улучшить ваш сайт.
Используя HTML5-элемент
Автозаполнение в текстовых полях
Используя HTML5-элемент
datalist
вы можете создать текстовое поле с автозаполнением. Очень удобно!<input name="frameworks" list="frameworks" />
<datalist id="frameworks">
<option value="MooTools">
<option value="Moobile">
<option value="Dojo Toolkit">
<option value="jQuery">
<option value="YUI">
</datalist>
+45
Варим MVVM для Windows Store-приложений
11 min
8.2KКогда мы начали работать над приложениями под Windows 8, мы искали библиотеку поддержки шаблона Model-View-ViewModel (MVVM) для этой платформы. Некоторое время провели в интернете в поиске таковой, но в итоге приняли факт, что таких библиотек в природе пока не существует (возможно, мы плохо искали, но теперь это уже не так важно). Ответ на вопрос «что делать?» напрашивался сам…
В недрах нашей компании EastBanc Technologies была создана специальная библиотека (кодовое название EBT.Mvvm). Цель создания — экономия времени в будущем при разработке сложных приложений для Windows 8. В библиотеку вошли как наши собственные наработки, так и некоторые идеи и примеры, которые встречались нам во время наших поисков.
Итак, что мы имеем: все помнят, что основная идея шаблона — это ослабление связи между ViewModel (будем называть вью-модель) и непосредственно View (представление). Идеальное состояние — это когда code-behind представления содержит только конструктор с InitializeComponent и, возможно, код поддержки визуального поведения, которое нельзя определить через XAML. Таким образом, разработчик отдает представление дизайнеру, а сам сосредотачивается на работе и тестировании логики приложения.
Данная статья ориентирована на разработчиков, уже знакомых с программированием на C# и XAML под Windows 8. Ниже мы приводим описания основных фич нашей библиотеки в виде примеров кода их использования и комментариев. Итак, поехали:
В недрах нашей компании EastBanc Technologies была создана специальная библиотека (кодовое название EBT.Mvvm). Цель создания — экономия времени в будущем при разработке сложных приложений для Windows 8. В библиотеку вошли как наши собственные наработки, так и некоторые идеи и примеры, которые встречались нам во время наших поисков.
Итак, что мы имеем: все помнят, что основная идея шаблона — это ослабление связи между ViewModel (будем называть вью-модель) и непосредственно View (представление). Идеальное состояние — это когда code-behind представления содержит только конструктор с InitializeComponent и, возможно, код поддержки визуального поведения, которое нельзя определить через XAML. Таким образом, разработчик отдает представление дизайнеру, а сам сосредотачивается на работе и тестировании логики приложения.
Данная статья ориентирована на разработчиков, уже знакомых с программированием на C# и XAML под Windows 8. Ниже мы приводим описания основных фич нашей библиотеки в виде примеров кода их использования и комментариев. Итак, поехали:
+8
Генерируем на .Net
12 min
27KГенерировать код на .Net можно несколькими способами:
В этой статье я хочу рассказать про технику кодогенерации с использованием Reflection Emit.
- Reflection Emit. Доступен с версии .Net 1.0.
- CodeDom. Позволяет создавать динамический код из представления CodeDom или напрямую из исходников, написанных на одном из высокоуровневых языков, например C#, VB или JScript. Доступен с версии .Net 1.0.
- Expression trees. Доступен с версии .Net 3.5. Позволяет создавать динамический код из представления Expression.
В этой статье я хочу рассказать про технику кодогенерации с использованием Reflection Emit.
+23
Прототипы JavaScript — программистам на C/C++/C#/Java
10 min
31KTutorial
JavaScript отличается от многих других «объектно-ориентированных» языков программирования тем, что в нём объекты есть, а классов — нет. Вместо классов в JavaScript есть прототипные цепочки и некоторые другие хитрости, которые требуют времени на осмысление. Перед профессиональными программистами в других языках при переходе на JavaScript встаёт проблема быстрого вхождения в его объектную модель.
Этот текст написан для того, чтобы дать начинающему или эпизодическому разработчику на JavaScript представление о способах создания объектов в JavaScript, от простого «структурного», как в языке C, к более «объектно-ориентированному», как в C++/C#/Java.
Статья может быть рекомендована как новичкам в программировании, так и бэкенд-программистам, пишущим на JavaScript только эпизодически.
Этот текст написан для того, чтобы дать начинающему или эпизодическому разработчику на JavaScript представление о способах создания объектов в JavaScript, от простого «структурного», как в языке C, к более «объектно-ориентированному», как в C++/C#/Java.
Статья может быть рекомендована как новичкам в программировании, так и бэкенд-программистам, пишущим на JavaScript только эпизодически.
+22
Information
- Rating
- Does not participate
- Registered
- Activity