Google предоставили возможность всем пользователям Android создать шлем виртуальной реальности своими руками. Этой штуке далеко до oculus rift, но зато для ее изготовления достаточно куска картона и телефона на базе ОС Android.

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

 

Рубрика: IT.

Сегодня на happyDev компания toptal притащила google glass, чтобы попиариться.

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

google glass

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

Когда смотрю на дисплей выгляжу немного странно, сами видите.

В общем и целом этот девайс мне понравился.

Разбирался сегодня с багами в IE и в очередной раз убедился, что делать обход по объектам надо правильно.

Когда у нас есть обычный массив, можно делать так:

for (var key in obj) {
    var value = obj[key];
}

Если вы конечно не подсунули чего в прототип массива. Вообще на эту тему есть довольно много споров, поэтому для массивов рекомендуется делать только так:

for (var key = 0; key < arr.length; key++) {
    var value = arr[key];
}

Но стоит нам начать работу с объектом, как вероятность того, что  в key может прилететь какое-нибудь свойство из прототипа резко возрастает, особенно характерно для IE.

Решение простое и известное. Рекомендую использовать только так. Всегда.

for(var prop in object) {
    if (object.hasOwnProperty(prop)) {
        var value = obj[key];    
    }
}

Или сокращенный вариант:

for(var prop in object) if (object.hasOwnProperty(prop)) {
    var value = obj[key];
}

Если вы ленивы, любите jQuery, и вас не напрягают лишние вызовы функций — можете использовать jQery.each или jQuery.map

Рубрика: IT.

Делаю тут первые шаги в node.js. Сижу работаю, сохранил 5+Мб данных в json файл.

Все отлично, файл сохранился, теперь надо прочитать. Использую:

fs.readFile + JSON.parse

И тут меня эти ребята жестко прокатывают, ломаясь в непонятном месте.

И решение находится красивейшее. Делаем:

var data = require('./filename.json');

И в объекте data у нас json объект. Распарсенный и готовый к работе.

Рубрика: IT.

Куда пропадают файлы

 

Несколько раз ко мне обращались родные/друзья/знакомые с просьбой вроде «У меня где-то тут фотографии были, а сейчас не могу найти. Сделай что-нибудь, ты же компьютерщик!». Так что пришлось вооружиться гуглом и поискать инструменты.

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

  • Почистили корзину
  • Удалили мимо корзины
  • Отформатировали носитель
  • Вирусы напакостили
  • «Железячная» проблема

Если отказывает железо, то помочь смогут только специалисты, да и то не факт (про разные методы вроде замораживания hdd в морозилке рассказывать не буду, это все сомнительно и работает только в единичных случаях). Стоимость ремонта и его возможность вам смогут сообщить после диагностики.

 

Что делать

 

А вот по первым пунктам у вас есть шансы сделать все самостоятельно. Для начала опишу несколько простых правил:

  • Как только вы поняли, что файлы потеряны — не пишите ничего на носитель, где они раньше хранились. Если это системный раздел, то погасите операционную систему и восстанавливайте данные на другом компьютере
  • Когда восстанавливаете данные сохраняйте их на другом носителе
  • Это проще, чем кажется
  • Если совсем не уверены — лучше не лезть

Я довольно долго изучал доступный софт, все варианты примерно похожи, отличаются лишь интерфейсом и ценой. Наконец была найдена утилита R.saver, которая умеет все и даром. Работает под Windows, восстанавливает же данные со всех распространенных файловых систем.

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

Вообще процесс довольно прост:

  1. Запускаем глубокое сканирование
  2. Ждем
  3. Ждем
  4. Ждем
  5. Изучаем тысячи найденных файлов
  6. Находим нужный файл и идем праздновать

Спасибо за внимание.

Рубрика: IT.