Pull to refresh
11
0

Software Developer

Send message

Ось зла: что на самом деле имел в виду Джордж Буш-младший или звёздные войны в мире ИТ – «второе пришествие Apple»

Reading time11 min
Views1.2K
Название статьи, в части упоминания Джорджа Буша-младшего, прямого отношения к её содержимому не имеет, просто этот человек поднял флаг борьбы с мировым злом на уровне всего земного шара. Боюсь, что, как обычно, охота на ведьм была проведена зря, и большая часть зла оказалась в самой Америке. Ниже я ознакомлю вас с причинами таких выводов на примерах компаний Apple, Oracle, 1С, Google, Adobe.
Читать дальше →
Total votes 19: ↑4 and ↓15-11
Comments14

Учёные выдвинули гипотезу о том, что измерения времени не существует

Reading time5 min
Views11K
image

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

В двух недавних работах (одна уже опубликована и вторая вот-вот подоспеет) в журнале «Physics Essays», Амрит Сорли, Давид Фискарлетти, и Душан Клинар из научно-исследовательского центра Бистра в городе Птуй (Словения), более подробно описали, что всё это значит.

Узнать подробнее...
Total votes 201: ↑182 and ↓19+163
Comments388

Матовые против глянцевых экранов: почему индустрия ПК выпала из контекста

Reading time1 min
Views73K
Две следующие диаграммы чётко отражают, насколько производители компьютеров не соответствуют рыночному спросу на матовые и глянцевые экраны.

Мы провели опрос среди читателей PC Pro, какой тип экрана они предпочитают. Вот что они ответили:


Читать дальше →
Total votes 181: ↑151 and ↓30+121
Comments318

Л. Н. Толстой и искусство в IT

Reading time6 min
Views10K
Л. Н. Толстой Каждый из нас хочет быть творцом. Каждый хочет создавать шедевры. Но не каждый может оторваться от рутины, своих типовых задач и начать творить. Возможно, чтобы как-то это оправдать, люди начали придавать обычной, в смысле, ремесленной деятельности возвышенный смысл. Из-за этого сегодня часто мы слышим об «искусстве программирования», «искусстве управления проектами», а также о других «искусствах». Если прямо спросить авторов подобных учений и пособий, навряд ли они смогут ответить на вопрос, что же есть это самое «искусство», и почему оно не «наука» или вообще не какое-нибудь «дао» (которое тоже частенько встречается в названиях книг).

Лев Николаевич Толстой, будучи, в первую очередь писателем, интересовался и другими видами того, что принято сегодня называть «искусством» в широком смысле слова. В результате у него появилась маленькая заметка «Об искусстве» и большая монография «Что такое искусство?»

Я постараюсь изложить, что же такое искусство по мнению Льва Николаевича, что необходимо для того, чтобы искусство таковым являлось, а также каковы признаки поддельного искусства (последнее перенесено в отдельную заметку). Всё это, насколько возможно, изложено применительно к IT и проиллюстрировано примерами.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments35

Помоги Марио пулемётом

Reading time1 min
Views1.6K


Мне всегда было интересно, как бы персонажи игр вели себя в незнакомых им мирах из других игр. И тут, изучая ассортимент магазина Chrome, я обнаружил приложение-мечту из детства: Super Mario Bros. Crossover.

Вооружившись пулемётом-веером из Кóнтры можно вклочья разнести черепах и прочих монстров вместе с кирпичными стенами.
Читать дальше →
Total votes 108: ↑73 and ↓35+38
Comments28

Диалоги об Интернете: Facebook

Reading time11 min
Views3.2K
imageЭтот перевод выполнен по личной просьбе deniskin'а, лексика автора полностью сохранена, в тексте присутствует нецензурная лексика.

Работники Facebook лучше большинства знают цену конфиденциальности.
Читать дальше →
Total votes 85: ↑68 and ↓17+51
Comments31

Веб-страница = URL

Reading time1 min
Views917
Красивый сервис Hashify.me берёт контент веб-страницы и хеширует его в URL. В результате вы получаете огромную ссылку, в которой закодирован текст и картинки. Эту ссылку можно пропустить через Bit.ly — и получите короткую ссылку. На самом деле на сайте Hashify уже поддерживает интерфейс Bit.ly API, так что короткая ссылка генерируется автоматически.
Читать дальше →
Total votes 82: ↑66 and ↓16+50
Comments57

Визитка — прямой канал коммуникации

Reading time1 min
Views17K

А у вас есть визитка?



Через визитку мы ведем коммуникацию, она в какой-то мере отображает информацию не только о ее владельце, но и компании где он работает. Есть оригинальные примеры когда визитка прямо говорит о том чем занимается ее владелец. Когда бюджета на рекламу нет, а запомнить как-то надо, то визитка оригинальный способ напомнить о себе.

Креативные визитки

Программист
image

image
Читать дальше →
Total votes 240: ↑202 and ↓38+164
Comments233

Интерфейсы в реальном мире

Reading time5 min
Views180K
IT-интерфейсы часто растут из физических. Например, вот аппаратные чекбоксы:



Вообще, лучший же пример правильного инженерного интерфейса – это гранёный стакан.

Почему? Очень просто. С одной стороны, он дружелюбен к советским роботам: круглая верхняя полоса позволяет автоматической мойке нащупать его ещё с 40-х годов. С другой стороны, он прощает человеческие ошибки: ребра останавливают скатывание стакана со стола при падении. Плюс он просто красивый.

Сейчас покажу ещё несколько интерфейсов, которые облегчают жизнь. Общий смысл – попробовать понять, как думал разработчик, чтобы сделать что-то удобнее.
Читать дальше →
Total votes 314: ↑304 and ↓10+294
Comments347

Бесплатная online-школа по разработке приложений для Windows 8

Reading time2 min
Views29K


Друзья, рады объявить, что с 1 апреля совместно с Национальным открытым университетом «Интуит» мы запускаем бесплатную online-школу по разработке приложений для Windows 8. Если вы еще не умеете программировать под Windows 8, то это как раз то, что поможет вам научиться.

Записаться на учебный курс можно тут: aka.ms/w8school

Курс длится 6+3 недели и включает лекции, online-консультации, лабораторные и курсовые работы. Лекции и консультации проводят сотрудники Microsoft Россия (департамент стратегических технологий).

Читать дальше →
Total votes 51: ↑35 and ↓16+19
Comments34

История невзлетевшего стартапа

Reading time7 min
Views32K
Полтора года назад я написал пост* про Альтасферу. Это был очень амбициозный проект, навеянный идеями Фридриха фон Хайека о частных деньгах и активной дискуссией о глобальном экономическом кризисе. С тех пор несколько раз менялась концепция проекта, перабатывался интерфейс, уходили и приходили людив команду, добавлялись новые функции, пробовались разные способы продвижения. Летом прошлого года окончательно кончились деньги, инвесторов искать не стали и проект не заморозили на неопределенный срок. Я и сейчас думаю, что многие базовые идеи Альтасферы верны. Скорее всего, они так или иначе будут воплощены. Но в той конкретной реализации мы допустили множество ошибок. У меня было время их осмыслись и в этом топике я хотел бы с вами поделиться своим опытом. Возможно, я повторю уже известные аудитории тезисы, но одновременно я надеюсь, что изложенное здесь поможет избежать некоторых ошибок тем, кто начинает сейчас собственный интернет-проект или планирует это сделать в ближайшем будущем.
Читать дальше →
Total votes 40: ↑25 and ↓15+10
Comments18

Методы решения судоку

Reading time5 min
Views690K

1. Основы


Большинство из нас, хабражителей, знает, что такое судоку. Не буду рассказывать про правила, а сразу перейду к методикам.
Для решения головоломки, не важно сложной или простой, изначально ищутся ячейки очевидные для заполнения.
Читать дальше →
Total votes 81: ↑70 and ↓11+59
Comments63

Взлом тега в 100 символов

Reading time3 min
Views24K
Не так давно я обнаружил, что JavaScript позволяет изменить атрибут href тега <a> после того, как вы щелкнете по нему. На первый взгляд это выглядит несерьезно, но не сомневайтесь — таким способом злоумышленник сможет получить данные пользователя.

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

Как вы убедились, вы не перешли на PayPal (кроме Opera, где, по-видимому, это поведение исправлено). Так произошло потому, что после нажатия на ссылку был запущен код, который изменил атрибут href ссылки, и что удивительно — браузер отправляет по-новому адресу. Но так не должно происходить. Посетители сайта (пожалуй, самые технически подкованные их них) по ссылке будут предполагать куда они переходят, в данном случае, на сайт PayPal. В прошлом году PayPal в течение нескольких месяцев производил редирект с главной страницы (UK) на paypal-business.co.uk. По моему мнению, пользователи уже привыкли к таким перенаправлениям, что уже само по себе является уязвимостью и представляет реальную угрозу, как я её называю «Фишинг 2.0».
Взглянем на код
Total votes 121: ↑73 and ↓48+25
Comments64

Принципы анимации: как сделать хороший скринкаст программного продукта

Reading time3 min
Views18K
Жизнь – как вождение велосипеда. Чтобы сохранить равновесие, ты должен двигаться.
А.Эйнштейн


Преамбула: в Alconost мы делаем продающие видеоролики для программных продуктов, веб сайтов, онлайн сервисов, мобильных приложений. Ключевая роль в таких роликах отводится скринкастам — показу действий пользователя в программе/сервисе/на сайте. Скринкаст — это показ товара “лицом”. Если скринкаст сделан убого — у зрителя останется ощущение убогого продукта и задача “мотивировать попробовать продукт” будет провалена.

Мы задумались над тем, почему иногда скринкасты выглядят неестественно и негармонично и как сделать так, чтобы скринкасты всегда получались хорошо. Оказывается, существуют 12 принципов анимации Диснея и если следовать им — любое действие на экране будет выглядеть красивым и гармоничным. Мы чуть-чуть поработали над этими принципами: убрали то, что не относится к скринкастам, а остальное адаптировали под специфику видеороликов о программных продуктах. В итоге у нас получилась памятка-руководство для видеодизайнеров, которой мы и хотим поделиться.

Итак, если вы заказали видеоролик, и вам раз за разом присылают промежуточные версии с отстойными скринкастами — покажите вашим «видеоменам» вот этот ролик:



Видео предназначено для людей, близких к видеодизайну, поэтому если вам нужно более подробное описание каждого принципа — добро пожаловать под кат.
Читать дальше →
Total votes 33: ↑21 and ↓12+9
Comments36

Почему стоит изучить Clojure?

Reading time17 min
Views150K

Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП — лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать дальше →
Total votes 112: ↑108 and ↓4+104
Comments55

Как запустить программу без операционной системы

Reading time13 min
Views183K

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

В интернете существует огромное количество описаний и туториалов о для того как написать собственную мини-ОС, даже существуют сотни готовых маленьких хобби-ОС. Один из наиболее достойных ресурсов по этой тематике, который хотелось бы особо выделить, это портал osdev.org. Для дополнения предыдущей статьи про PCI (и возможности писать последующие статьи о различных функциях, которые присутствуют в любой современной ОС), мы опишем пошаговые инструкции по созданию загрузочного диска с привычной программой на языке С. Мы старались писать максимально подробно, чтобы во всем можно было разобраться самостоятельно.

Итак, цель: затратив как можно меньше усилий, создать собственную загрузочную флешку, которая всего-навсего печатает на экране компьютера классический “Hello World”.

Читать дальше →
Total votes 196: ↑188 and ↓8+180
Comments69

Полезные сниппеты на HTML5

Reading time4 min
Views84K
Эта подборка полезных сниппетов, использующих 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>

Читать дальше →
Total votes 73: ↑59 and ↓14+45
Comments27

Варим MVVM для Windows Store-приложений

Reading time11 min
Views8.2K
Когда мы начали работать над приложениями под Windows 8, мы искали библиотеку поддержки шаблона Model-View-ViewModel (MVVM) для этой платформы. Некоторое время провели в интернете в поиске таковой, но в итоге приняли факт, что таких библиотек в природе пока не существует (возможно, мы плохо искали, но теперь это уже не так важно). Ответ на вопрос «что делать?» напрашивался сам…



В недрах нашей компании EastBanc Technologies была создана специальная библиотека (кодовое название EBT.Mvvm). Цель создания — экономия времени в будущем при разработке сложных приложений для Windows 8. В библиотеку вошли как наши собственные наработки, так и некоторые идеи и примеры, которые встречались нам во время наших поисков.

Итак, что мы имеем: все помнят, что основная идея шаблона — это ослабление связи между ViewModel (будем называть вью-модель) и непосредственно View (представление). Идеальное состояние — это когда code-behind представления содержит только конструктор с InitializeComponent и, возможно, код поддержки визуального поведения, которое нельзя определить через XAML. Таким образом, разработчик отдает представление дизайнеру, а сам сосредотачивается на работе и тестировании логики приложения.

Данная статья ориентирована на разработчиков, уже знакомых с программированием на C# и XAML под Windows 8. Ниже мы приводим описания основных фич нашей библиотеки в виде примеров кода их использования и комментариев. Итак, поехали:

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments30

Генерируем на .Net

Reading time12 min
Views27K
Генерировать код на .Net можно несколькими способами:
  • Reflection Emit. Доступен с версии .Net 1.0.
  • CodeDom. Позволяет создавать динамический код из представления CodeDom или напрямую из исходников, написанных на одном из высокоуровневых языков, например C#, VB или JScript. Доступен с версии .Net 1.0.
  • Expression trees. Доступен с версии .Net 3.5. Позволяет создавать динамический код из представления Expression.

В этой статье я хочу рассказать про технику кодогенерации с использованием Reflection Emit.
Подробности под катом
Total votes 33: ↑28 and ↓5+23
Comments16

Прототипы JavaScript — программистам на C/C++/C#/Java

Reading time10 min
Views31K
JavaScript отличается от многих других «объектно-ориентированных» языков программирования тем, что в нём объекты есть, а классов — нет. Вместо классов в JavaScript есть прототипные цепочки и некоторые другие хитрости, которые требуют времени на осмысление. Перед профессиональными программистами в других языках при переходе на JavaScript встаёт проблема быстрого вхождения в его объектную модель.

Этот текст написан для того, чтобы дать начинающему или эпизодическому разработчику на JavaScript представление о способах создания объектов в JavaScript, от простого «структурного», как в языке C, к более «объектно-ориентированному», как в C++/C#/Java.

Статья может быть рекомендована как новичкам в программировании, так и бэкенд-программистам, пишущим на JavaScript только эпизодически.
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments30

Information

Rating
Does not participate
Registered
Activity