пятница, 28 июня 2013 г.

Дополненная реальность


Что на работе мешает создать лучший код: "технический долг".

Помеха №5: "Исправить позже" или "технический долг"

Времени, предусмотренного планом проекта, всегда мало, чтобы создать то, что необходимо. Мы идем на разные уловки и патчим код.

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

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

Помеха №6: Менеджеры-непрограммисты

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

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

Остальные осознают, что они только устраивают совещания и мешают. Такой менеджер может дать небольшие рекомендации и лучшее, что он способен предложить - начальные навыки тестирования качества.

четверг, 27 июня 2013 г.

Puppet Labs 3.0 делает шаг к программно-определяемому управлению облаком

Средства автоматизации ИТ-систем являются обязательными для системных администраторов, занятых перемещением своих инфраструктур в облако.

На данный момент, флагманами в данной сфере выступают Puppet и Chef, которые позволяют писать сценарии для автоматизации повторяющихся задач. Например, таких, как применение патчей, устранение уязвимостей и загрузка обновлений. Но использовать эти инструменты не так уж просто.

В попытке укрепить свои позиции среди ведущих компаний-разработчиков решений для автоматизации, Puppet Labs вчера представила Puppet Enterprise 3.0. Среди нововведений: программно-определяемый подход к автоматизации управления ресурсами вычислений, сетей и хранения. Кроме того, компания обещает улучшенное управление операциями в большом количестве узлов облака, прекрасную масштабируемость и производительность. 

Puppet Enterprise 3.0 представляет унифицированный программно-определяемый подход к автоматизации администрирования, позволяя системным администраторам использовать декларативный язык Puppet для управления ресурсами.

Приоритеты

Что на работе мешает создать лучший код: попытка измерить продуктивность.

Помеха №3: Попытка измерить продуктивность

Всегда найдется управленческая команда, которая будет руководствоваться принципом "нельзя управлять тем, что нельзя измерить". Они начинают считать количество коммитов в репозитории, строк кода или исправлений. Для них, считать - значит измерять, а выполнять измерения, наверняка, полезно.

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

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

Один получает баллы за отчет, другой - за исправление. Если подсчитывают количество строк, программист, который раньше мог решить проблему, написав 10 строк кода, теперь убежден, что 5 тыс. строк обеспечат большую гибкость или совместимость с функцией. Он приведет любые причины, только чтобы добавить эти 5 тыс. строк.

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

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

Аккуратность измерить невозможно.

Помеха №4: Ведущие разработчики

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

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

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

Подобное отношение к труду предыдущих программистов часто тормозит проект. Смесь гордости и эгоизма может заставить программистов отказаться от вполне приемлемого кода, чтобы переделать его "по всем нормам". 


среда, 26 июня 2013 г.

Что на работе мешает создать лучший код: совещания.

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

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

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

Помеха №1: Совещания

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

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

Некоторые жалобы являются нелепыми - те же программисты недовольны, если боссы  держат их в неведении и не поддерживают с ними коммуникацию - все они связаны с трудностями "погружения" в абстрактный мир ПО.

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

Помеха №2: Функция "Ответить всем"

Если совещания оказывают негативное влияние, альтернатива - рассылка огромного количества электронных писем всем сотрудникам - может оказаться еще хуже. Просмотр ответов занимает время, а результаты никого не устраивают. Затем раздраженные разработчики просто начинают отвечать "tl;dr" ("слишком длинно; не читал").

Некоторые команды пытаются раз в неделю запрещать электронные письма. Остальные совсем от них отказываются. Таким образом можно избежать перенагрузки. Однако, пострадает общение. Вдруг люди прекращают работать вместе. Что здесь хорошего?


HTTP 2.0 с поддержкой мультиплексирования должен выйти весной 2014 года

HTTP 2.0 - следующее поколение протокола, лежащего в основе работы Всемирной паутины - приближается к своей реализации. Скоро будут проведены необходимые тесты, а полная спецификация выйдет через год, заявил редактор чернового варианта спецификации.

Новые возможности версии 2.0 включают мультиплексирование, рассказал Мартин Томсон из Microsoft, редактор HTTP 2.0 в IETF.
"HTTP 2.0 обеспечивает полное мультиплексирование , что позволяет отправлять одновременно сколько угодно запросов", - сообщил он.
Тестирование должно начаться примерно через 6 недель, а завершиться - весной 2014 года.
"Если за год мы не успеем, по крайней мере, довести протокол до пригодного к релизу состояния, нас ждет провал".
HTTP 2.0 должен ускорить загрузку веб-страниц и улучшить функциональность API, поделился Роберто Пеон, создатель протокола SPDY, также нацеленного придать интернету ускорение. SPDY и HTTP 2.0 в значительной степени похожи. Ожидается, что текущая версия SPDY будет последней.

Цикл рефакторинга

вторник, 25 июня 2013 г.

Как беспилотники изменяют окружающий мир?

Учитывая, что агенты ФБР могут следить за нами через интернет, телефоны, а теперь еще и с помощью беспилотных самолетов-разведчиков, мода на шапочки из фольги не за горами. 

Руководитель ФБР Роберт Мюллер рассказал Сенатскому комитету по судоустройству, что его агентство использует беспилотники для внутреннего наблюдения. На самом деле, помимо ФБР, их используют множество частных компаний и государственных органов.

Несмотря на законы, запрещающие использование беспилотников в США, сотни их успели сделать снимки для риэлторов, поработать на ферме, приобщиться к съемкам голливудских фильмов и, конечно, заняться патрулированием неба. Давайте посмотрим, в каких целях внутри страны запускаются беспилотники. 

Цель: ферма

Компании-производители беспилотников утверждают, что они не представляют угрозы для людей или их личной жизни. По их словам, индустрия беспилотников процветает. В отличии от военного ведомства, которое использует беспилотники Predator в разведывательных операциях и для атаки на противника, частные компании хотят задействовать беспилотники здесь в США. 

Беспилотники нашли широкое применение в области сельского хозяйства, говорят в Международной ассоциации разработчиков систем беспилотных систем (AUVSI). Автономный вертолет Yamaha Rmax длиной в 274 см способен переносить целевую нагрузку в 28 кг и опылить два акра сельхозугодий за шесть минут.

12 умных облачных инструментов для разработки и операций

Разумные облачные инструменты

Кажется, только несколько лет назад развертывание одного сервера было великим событием. Сперва нужно было его распаковать, монтировать, протестировать и установить ПО. И только потом использовать.

Сегодня нас просят развернуть до обеда 200 серверов, сконфигурировать их, решить числовые задачи и успеть до совещания в 13:00. Время - деньги.

Это объясняет всплеск интереса в инструментах, позволяющих управлять сотнями машин с помощью нескольких быстрых кликов. Мы подготовили список самых многообещающих новых инструментов, которые позволят вашим серверным фермам повысить производительность и скорость работы.

Ganglia

Более 10 лет назад разработчики Калифорнийского университета в Беркли посмотрели на кластеры в университетском кампусе и пришли к выводу, что им нужен способ их отслеживать.

Так они создали Ganglia. Сегодня она является комплексным набором инструментов для мониторинга различных кластеров машин. Система собирает статистику с помощью упрощенного протокола и отображает ее в виде графиков.

Ничего сложного

четверг, 20 июня 2013 г.

Microsoft надеется завоевать симпатии студентов с помощью дешевых планшетов Surface RT

Microsoft нашла достойный способ очистить запасы своих планшетов Surface RT: компания подтвердила, что собирается продавать студентам планшеты на базе процессоров ARM по льготной цене.

Цены начинаются с $199 за модель планшета без клавиатуры (розничная стоимость - $499). Модель с сенсорной клавиатурой Touch Keyboard Cover обойдется в $249 (розничная цена - $599), а комплект с механической клавиатурой - $289 (вместо $629).

Устройства будут поставляться с офисным пакетом Office Home и Student 2013 RT, состоящим из Word, PowerPoint, Excel и OneNote. В будущем появится и версия Outlook RT. Воспользоваться предложением смогут учебные заведения уровня K12 (школы начального и среднего образования) и высшие учебные заведения.

Microsoft представляет в позитивном свете свое решение устроить для учащихся распродажу планшетов:
"Microsoft прилагает необходимые усилия, чтобы устройства попали в руки преподавателей, которые готовят студентов к реалиям современного рынка труда".
Компания спешит вывести на рынок планшеты на базе архитектуры ARM вместе с версиями на базе чипов Haswell. Данные чипы, которые, по слухам, увеличивают время автономной работы на 50%, через пару месяцев превратят Surface RT в "трудолюбивых монстров".

Кстати, Apple использует чипы Haswell в своих новых моделях ноутбуков MacBook Air, благодаря чему они могут работать автономно до 12 часов.

AMD раскрыла информацию о первых серверных чипах на архитектуре ARM

Компания Advanced Micro Devices связывает будущее своих серверов с чипами, которые используются в смартфонах и планшетах. По словам AMD, первые серверные ARM-процессоры - которые выпустят во второй половине 2014 года - окажутся быстрее и мощнее, чем существующие маломощные x86-решения.

Во вторник компания поделилась первыми сведениями о 64-разрядных ARM-чипах под кодовым названием Seattle, содержащих до 16 процессорных ядер. Они будут до 4 раз быстрее и энергоэффективней, чем 4-ядерные чипы серии Opteron X. Последние потребляют до 11 Вт и основаны на архитектуре x86.

AMD приступит к поставкам первых ARM-процессоров одновременно с серверными процессорами на базе x86-чипами Opteron, которые появятся на рынке в 2014 году. Компания считает, что в долгосрочной перспективе ARM-процессоры опередят чипы с архитектурой  x86.

21 вредная тех-привычка: никогда не перезагружать компьютер

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



После установки или обновления многих приложений требуется выполнить перезагрузку. И пока этого не произойдет ваше приложение будет "висеть в воздухе".

В Windows 8 реализован улучшенный механизм перезагрузки, но каждой ОС - десктопной или мобильной - пойдут на пользу периодические перезагрузки. Это как хороший сон для устройства. К тому же, перезагрузка увеличит время автономной работы.

Совет: Пусть перезагрузка станет обязательным пунктом в распорядке дня. Выполняйте ее, когда идете спать. А лучше всего - выключите компьютер полностью.

источник

Легковесные фреймворки

Подумайте дважды прежде чем обновлять прошивку

Поставщики аппаратного обеспечения постоянно твердят: ваше встроенное ПО устарело и его нужно обновить.

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

"Потому что в новой версии куча усовершенствований и меньше ошибок", - слышу я в ответ на вопрос о том, почему стоит обновлять прошивку. Я, как правило, отказываюсь, если неисправности напрямую не связаны со встроенным ПО.

Я уже не раз попадался на подобную оду последней версии прошивки. Но первое место я отдаю стабильности, а не новизне. 

среда, 19 июня 2013 г.

Почему мы боимся непрерывного рефакторинга?

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

По своему опыту скажу, что первой причиной является отсутствие автоматизированных регрессионных тестов. Именно поэтому Мартин Фаулер в своей книге "Рефакторинг" подчеркивает необходимость проводить тестирование перед рефакторингом.

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

Среди остальных причин:
1. Недостаточно времени во время разработки. Вот в чем загвоздка: знание о предметной области и недостатках существующего кода приходит с опытом - в конце итерации или цикла выпуска.

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

2. Нехватка целенаправленных усилий для преобразования знания предметной области в существующий код. По мере продвижения проекта разработчики больше узнают о предметной области и пробелах в своих знаниях.

Преимущественно, они проявляются в: избыточных абстракциях, недостаточной гибкости с известными вариациями в предметной области и отсутствие концепций, относящихся к предметной области и смоделированных в виде объектов первого класса (first-class citizens).

3. Недостаточные знания инструментов рефакторинга (к примеру, в Eclipse существует множество таких инструментов).

4. Незнание тактик рефакторинга - перемещение методов, создание интерфейсов, замена логики if...then ("если...то") и т.д. - необходимых для поддержания кодовой базы в аккуратном состоянии.

5. Нежелание постоянно совершенствовать кодовую базу.

В 2059 мы забудем, каким "революционером" был iPhone


вторник, 18 июня 2013 г.

Новый троян для Android использует ранее неизвестные уязвимости

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

Исследователи из Лаборатории Касперского назвали новое вредоносное приложение "Backdoor.AndroidOS.Obad.a" и считают его самой сложной троянской программой для Android на сегодняшний день.

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

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

Программа Obad.a интенсивно использует шифрование и запутывание кода, чтобы помешать анализу.


Высокотехнологичные подарки

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

Getac B300


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

21 вредная тех-привычка: повторное использование паролей

Все мы грешим этой привычкой. Как можно запомнить сотый пароль от последней соцсети, на который вы зарегистрировались? Вы идете простым путем и используете одинаковый пароль на большинстве веб-сайтов.


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

Совет: Разработайте систему создания уникальных паролей для каждого веб-сайта. Возьмите за основу одну фразу и добавляйте к ней различные символы. Например, добавим к Flurpb&rgl3r "fb8" (для Facebook) или tw7 для Twitter. (Здесь число обозначает количество букв в названии сайта).

источник

Что есть что


понедельник, 17 июня 2013 г.

Как стать ИТ-специалистом


Первый взгляд на iOS7

Мы пока многое не знаем о iOS7, которая была представленна на этой неделе на Всемирной конференции разработчиков Apple. Но изменение дизайна пользовательского интерфейса связывали с улучшением технологии многозадачности и интеграции с некоторыми интернет-сервисами Apple.

Бета-версия и SDK уже доступны для разработчиков. Осенью этого года ОС станет доступной для пользователей iPhone 4 и более поздних версий, iPad2 и более поздних версий, iPad mini и iPod touch пятого поколения. Посмотрим, что в ней нового. 

Новый стартовый экран: изменение визуального языка

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

Какие технологии выживут?

Показатели доли рынка не врут, но иногда просто не договаривают. Например, если вы всеми силами пытаетесь удержаться за третье место на рынке ОС для смартфонов - дела ваши плохи.

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

BlackBerry: бой проигран или игра продолжается?

Новый смартфон BlackBerry Z10 получил позитивные предварительные отзывы, но достаточно ли он привлекателен, чтобы конкурировать с Android и iPhone?

Согласно агентству Kantar, в 2012 году по уровню продаж Windows Phone в США и Великобритании оттеснил BlackBerry OS на четвертое место. По данным comScore, собранных в восьми странах, по состоянию на февраль BlackBerry принадлежало 5,4% рынка, а Window Phone - 3,2%.

В любом случае, BlackBerry прилагает усилия, чтобы не утратить своих позиций на рынке смартфонов. Хороший знак: недавно BlackBerry сообщила, что поставщик услуг в области беспроводной связи компания Brightstar намерена приобрести один миллион смартфонов BlackBerry 10. 

пятница, 14 июня 2013 г.

Java: как мы уменьшили потребление памяти в 20 раз

Оригинальное решение, полученное на примере приложения, написанного с использованием XMLBeans для хранения упрощенных структур данных.

Дополнительные затраты "раздули" структуру из 1,3 млн. экземпляров до целых 1,5 ГБ. После нескольких этапов оптимизирования вроде преобразования сперва в коллекции Java Collections, затем в коллекции Trove, удаление избыточных данных и перехода на сжатые обычные указатели на объекты, мы смогли втиснуть те же данные в 73 МБ. 

Полученные уроки:
  • Не позволяйте деталям интеграции пересекать границы системы.
  • Избыточные данные дорого обойдутся. При возможности удаляйте любую избыточность.
  • Примитивы - ваши друзья. Стоит досконально разбираться в инструментах и выучить Trove, если до сих пор этого не сделали.
  • Помните о методах оптимизации, предоставлемых вашей JVM

JavaScript "карабкается"обратно в рейтинг "Топ 10 языков программирования"

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


JavaScript расположился на 10-м месте с рейтингом 1,64%.
"Немного странно, почему этот единый язык еще не вошел в пятерку самых популярных", - сообщила компания Tiobe в пояснительной записке к индексу.

"JavaScript - связующее звено веб-программирования клиентской части. Но сейчас язык расширяет область применения. Node.js превратила JavaScript в серверный язык программирования и количество игр, написанных на JavaScript (преимущественно, браузерных) непрерывно растет".
Рейтинг сообщества программирования Tiobe составляется на основе анализа статистики поисковых запросов в таких порталах, как Google, Yahoo и Wikipedia. Кроме того, на позицию языка влияет количество программистов, курсов обучения и сторонних поставщиков.

JavaScript столкнулся с риском прослыть языком, в котором легко делать ошибки, заявляют в Tiobe. Именно поэтому Google разработала Dart, который занимает 80-е место в рейтинге популярности и является возможным преемником JavaScript.

Между тем, остальные языки вроде CoffeeScript и TypeScript были разработаны, чтобы генерировать JavaScript-код, а не писать его вручную. 

По версии рейтинга PyPL - основным критерием для составления которого является частота запросов на самоучители по тому или иному языку в Google - JavaScript расположился на 6-м месте (с индексом 8,2%). Опережают его Java (26,9%), PHP (14,3%), C# (10,4%), Python (10,2%) и C++ (9,4%).

В индексе Tiobe за этот месяц первенство опять принадлежит языку C (17, 809%), за ним следует Java (16,656%), Objective-C (10,356%), C++ (8,819%), PHP (5,987%), C# (5,783%), Visual Basic (4,348%), Python (4,183%), и Perl (2,273%).

Зеленый Hudson/Jenkins


четверг, 13 июня 2013 г.

Запрет удаленной работы: ошибка или правильное решение главного исполнительного директора Yahoo Мариссы Майер?

В феврале 2013 года главный исполнительный директор Yahoo Марисса Майер отправила своим сотрудникам служебную записку о запрете удаленной работы. В ней сообщалось, что дистанционные служащие должны или перебраться в офис или уволиться.

Такое решение Марисса Майер объясняет тем, что качество командной работы и общения улучшаются, когда люди работают вместе в офисе и встречаются друг с другом вживую. Здесь она права.

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

IBM ищет способы превратить JVM в облачную платформу

В корпорации IBM ведутся исследования возможности использования JVM (виртуальная машина Java) в облачной среде для предоставления динамических сервисов, особенно для мобильных устройств.

Как утверждает Ян Реллермейер, сотрудник исследовательского центра IBM Research в Остин, штат Техас - в случае успеха проект сможет стать "операционной системой будущего для встраиваемых систем и облака".

SOAP намного вежливей


21 вредная тех-привычка: один аккаунт для разных пользователей

Как часто родители отдают ребенку компьютер и надеются, что ничего плохого не случится. Потом мама удивляется, куда пропала ее адресная книга, а ее шеф не понимает, почему она отправила ему 20 электронных писем со всякой белибердой.


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

Если компьютером пользуются дети, безопасности следует уделить особое внимание. Разумное решение - если вы хотите предотвратить установку подозрительного ПО - создать аккаунт типа "Пользователь" (а не "Администратор").

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

источник

вторник, 11 июня 2013 г.

21 вредная тех-привычка: не выполнять резервное копирование данных

Изо дня в день архивация проходит без сучка и задоринки... и вдруг что-то не так. Может, полетел жесткий диск или произошло заражение вредоносными программами. А может, ноутбук украли. Как бы то ни было, ваши данные внезапно исчезли и вы корите себя за то, что не выполнили резервное копирование.


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

Не обманывайте себя, что на вашем устройстве нет ничего важного. Помните: "Начинаешь ценить, только когда потеряешь".

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

источник

10 самых крутых носимых технологий

Как сообщает Rackspace, носимые технологии оказывают сильное влияние на нашу повседневную жизнь. 87% американских респондентов утверждают, что с их помощью повысили производительность, 71% улучшили состояние здоровья и физическую форму, а 54% почувствовали, что стали более уверенными в себе.

Давайте взглянем на 10 самых ярких разработок в данной сфере.

Перчатка GolfSense

Этот гаджет крепится почти на любой перчатке для гольфа и определяет ускорение, скорость, темп, положение и угол удара. Устройство способно снимать показатели с частотой 1000 раз в секунду.

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

Они нас не понимают


Шутки о разработчиках

Физики часто жульничают, чтобы добиться результатов.
Математики работают над искусственными задачами, чтобы добиться результатов.
Верификаторы программ склонны жульничать при работе над искусственными задачами, чтобы добиться результатов.

понедельник, 10 июня 2013 г.

Обзор: ThinkPad Twist - трансформер, пробуждающий любопытство

Один ноутбук - много режимов: именно эта идея лежит в основе Lenovo ThinkPad Twist, сочетающем в себе свойства планшета, ноутбука и устройства для презентаций.

Хорошая основная задумка, но мелкие недочеты - программного и аппаратного обеспечения - превращают ThinkPad Twist в алмаз, требующий шлифовки. 

Безусловно, дизайн аппаратной части тщательно продуман. Как и ноутбуки серии Toshiba Satellite, Twist открывается как традиционный ноутбук, но его дисплей можно развернуть на 180 градусов и использовать в виде планшета. Для презентаций можно развернуть экран таким образом, что основание устройства будет играть роль подставки. Режим, который в Lenovo называют "tent mode" (режим "палатки").

Гаджет работает на базе процессора Intel Core i5, поэтому отличается высокой производительностью. Однако, ресурсы батареи хромают. Если смотреть фильмы, батерии хватит лишь на 3 часа.

Подобно многим современным ультрабукам и трансформерам, ThinkPad Twist разработан для Windows 8 - в клавиатуру были добавлены горячие клавиши "Поиск" и "Вызов всех установленных приложений".  

Основной недостаток Twist - установленное ПО (фирменные программы Lenovo и др.). Их так много и все они выполняют такой огромный набор функций, что можно легко запутаться.

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

Рецензия на книгу: Learning Play! Framework 2

В книге акцент сделан на получении практического опыта - автор советует пробовать кодировать. Иначе, книга не принесет вам значительной пользы. Автор знакомит читателей с различными свойствами фреймворка Play!, но не раскрывает в деталях разные темы.

Сперва приводится объяснение слоя "Вид" (View), слоя контроллера, а затем слоя модели. Кроме того, книга служит введением в CoffeeScript. Если вы не разбираетесь в Scala, не стоит волноваться, Learning Play! Framework 2 охватывает необходимые основные понятия.

Это относительно небольшая книга с короткими главами. Советую читать ее от корки до корки и без остановки. Если вы прочли несколько глав и хотите продолжить через пару дней, придется еще раз пройти предыдущие главы. Они связаны между собой, как и описанный в них код. Что касается исходного кода книги, его необходимо скачивать. 

Единственный минус - использование скриншотов кода, что усложняет его прочтение.
Обратите внимание, что в книге приведены примеры для Play 2.0. Если вы используете Play 2.1 - придется учитывать различие между двумя версиями API. Исходный код, распространяемый с книгой, содержит версии для Play 2.0 and Play 2.1.

Как научить команды приносить прогнозируемые результаты

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

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

Я знаю, что некоторым будет тяжело понять мою идею. Чтобы  повысить производительность, вы нагружаете их заданиями, так? Разве Генри Форд не поступал так же, когда у него каждые три минуты с конвейера сходил автомобиль? На самом деле, нет. У него было то, чего не хватает вам - сбалансированная система.

Не все работники Генри Форда работали на грани своих возможностей. В противном случае ему грозила перегрузка - слабые места в конвейерной системе сборки и производство лишних деталей.

В действительности, он направлял усилия на сокращение времени выполнения заказа, то есть, времени между размещением заказа и его выполнением.

Благодаря доскональному знанию своей системы, он нанимал правильное количество людей, которые занимались своим конкретным делом, в правильной последовательности, чтобы максимизировать поточное производство (объем поставки).

Пытаясь добиться от своих команд ожидаемых результатов, попробуйте рассмотреть следующие принципы:
  • Понимание текущих и потенциальных возможностей и производительности.
  • Понимание системы поставки и формирование целей.
  • Согласование возможностей и производительности с объемом поставок.
  • Мониторинг производительности.
Давайте рассмотрим каждый из них детально.

Как избавить шефа от иллюзий


Шутки о разработчиках

Программист гулял по пляжу и нашел лампу. Он подобрал ее и стал тереть. Из нее появился джин и сказал: “Я самый могучий джин в мире. Я могу исполнить твое самое заветное желание”.

Программист вытащил карту Средиземноморья и ответил: “Я хочу, чтобы на Ближнем Востоке царил справедливый и длительный мир”.

Джин подумал и сказал: “Я даже не знаю. Эти люди воевали между собой с незапамятных времен. Я могу сделать почти все, но здесь я бессилен”.

Программист: “Я программист и многие пользуются моими программами. Пожалуйста, сделай так, чтобы все они были ими довольны и выдвигали только разумные требования”.

Джин: “Дай-ка я еще раз взгляну на карту”.

пятница, 7 июня 2013 г.

Аварийное завершение


Шутки о разработчиках

Разработчик ПО, разработчик аппаратного обеспечения и руководитель отдела едут на совещание по крутой горной дороге. Вдруг, у них ломаются тормоза. Автомобиль съехал с дороги, снес аварийное ограждение и чудом не свалился с горного склона. Пассажиры отделались легким испугом. Но теперь у них проблема: они застряли в горах в машине без тормозов. Что им делать?

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

“Нет, нет” - возразил разработчик аппаратного обеспечения. “Этот метод займет слишком много времени. Кроме того, он никогда прежде не работал. У меня есть швейцарский армейский нож и я смогу быстренько разобрать тормозную систему, локализирую неисправность, исправлю ее и мы сможем продолжить путь”.

“Я считаю, что прежде всего нам нужно вытолкать автомобиль на дорогу и посмотреть, произойдет ли опять то же самое”, - посоветовал разработчик ПО.  

четверг, 6 июня 2013 г.

Если бы корпоративные ИТ создавали гоночные автомобили

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

Не так. Ужасная идея, но все равно интересно представить, как она может помочь разобраться в ошибках корпоративных отделов.

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

Android Native Development Kit Cookbook

Краткое изложение сути

По-моему книга идеально подходит для опытного программиста Android NDK! Если вы поклонник языка C/C++ и хотите создавать приложения для своего Android-устройства, эта книга для вас!

Рецензия

Книга приводит детальное и исчерпывающее описание простых и продвинутых технологий, которые можно использовать для Android NDK. Все главы посвящены исследованию аспектов  Android JNI (Java Native Interface) и NDK.

Я впервые увидел в книге о Android NDK описание технологий OpenGL (2D и 3D графика) и OpenMAX  с нативной точки зрения. Вы сможете писать приложения под Android с помощью ограниченного количества строк Java-кода)

Кроме того, автор пишет о типичном незадокументированном подходе в нескольких других книгах по теме Android NDK: портирование существующего приложения на Android NDK. Эта глава особенно заинтересует людей, которые хотят повторно использовать существующие библиотеки и приложения, написанные на C/C++, в приложениях Android.

Вынужден предупредить, книга подойдет не всем. Нужно быть хорошим программистом на C/C++, поскольку читатель должен отлично знать некоторые понятия (многопоточность, семафоры, мьютексы, OpenGL, исключения, OpenMAX и т.д.). Однако, если вы интересуетесь Android NDK и нативным кодом для Android - в книге найдется парочка интересных глав.

В общем, я считаю, что эта книга поможет сделать из вас умелого программиста Android NDK. Еще один плюс - две фантастические дополнительные главы (доступны для скачивания с веб-сайта).

Рефлексия - мощный подход, требующий повышенного внимания

Что привлекает в возможности иметь доступ к скрытым компонентам класса извне? Во время собеседования вас постоянно спрашивают об основных правилах ООП. Эти знания обязательны для прохождения хотя бы первого тура. Инкапсуляция в их числе. Разумеется.

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

Что не так?
  • С вашим кодом происходят странные вещи, а вы понятия не имеете, что и когда изменяет значение в private int. Как вообще оно может меняться, если не проводилась операция присваивания? Где вы установите точку останова, чтобы отладить код?
  • Вы решаете, что нужно написать для такого класса модульный тест и явно установить значение. Увы. Сеттера нет, потому что ранее он никому не понадобился.
  • Если существует что-то вроде аннотации @Autowired, разобраться в чем дело будет проще. Однако, некоторым инструментам она не нужна. О чем вы подумаете, если посмотрите на класс исключительно со скрытыми компонентами и без геттеров/сеттеров? Что класс используется, а приложение работает. Как? Почему?

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

В последний день длинного ИТ-проекта


Взгляд изнутри: Apple iWatch

В последнее время усилились слухи о разработке Apple iWatch, выпуск которых запланирован на этот год. Хотя само понятие носимой технологии пока кажется фантастикой, существует достаточно доказательств, что в своем офисе в Купертино Apple "колдует" над чем-то гениальным. По данным Bloomberg, над проектом работает более 100 человек.

Джонни тоже здесь

Джонни Айв, который якобы руководит проектом iWatch, является знатоком часов, и в начале 2000-х гг. посещал заводы Nike, чтобы изучить их методы производства. Айв, который сейчас занимает пост старшего вице-президента отдела промышленного дизайна Apple, коробками заказывал для своей команды спортивные модели часов Nike.

17 способов повысить продуктивность Gmail

Контролируйте входящую почту

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

Boomerang for Gmail

Когда-нибудь мечтали о том, чтобы написать письмо и настроить его отправку на конкретное время? Расширение под названием Boomerang for Gmail дарит вам такую возможность.

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