Архив за 10 апреля 2016 - 2

image

Для начала следует задать простой вопрос: для чего?

Писать свой язык программирования — практически всегда плохая идея. Так зачем нам еще один лисп? Тем более, что уже есть ClojureScript, который на данный момент является production ready и имеет кучу приятных фич. Конкурировать даже с ClojureScript — безумие, — не гворя уже о TypeScript, CoffeeScript, etc. Но язык нам нужен и не для этого!

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

Читать полностью »

Сверхдлительный тест: Lenovo ThinkPad X220 - 1Я очень люблю читать обзоры гаджетов. Когда-то я даже любил их писать, и в те времена я очень хорошо понимал: за три дня, неделю и даже месяц оценить все достоинства и недостатки устройства практически невозможно. Если только не писать обзоры освежителей воздуха на батарейках, и то, возможны нюансы. Длительный опыт использования дает гораздо больше информации, которая, если знать заранее, могла бы повлиять на решение о покупке.

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

Выбор устройства для первого обзора очевиден: это мой лаптоп Lenovo ThinkPad X220. Во-первых, обзор нового я уже когда-то писал. Во-вторых, несмотря на суровые жизненные испытания, ноутбук по-прежнему активно используется и мало чем уступает современным аналогам. Под катом: совершенно негламурные пыльные фото, похвала и критика, сравнение с современными аналогами. Размышления на тему, чем бы все же этот ноутбук заменить, когда он сломается вероятно в полностью рабочем состоянии отправится на полку к дедушке ThinkPad 380ED, тоже вполне рабочему.
Читать полностью »

Поддавшись общей истерии на хабре,
Чистый код под флагом АОП и ненавистный #ПредупреждаюНедвижимостьИзменился - 1
(а именно «Предупреждаю Недвижимость Изменился» переводит Гуглекс всеми любимый «I Notify Property Changed») по поводу уведомлений об изменении. Я решил посмотреть на сколько далеко продвинулось человечество в изобретении велосипедов.
Читать полностью »

Устройство NVRAM в UEFI-совместимых прошивках, часть первая - 1 Здравствуйте, уважаемые читатели. Когда-то очень давно, почти 3 года назад, я написал пару статей о форматах данных, используемых в UEFI-совместимых прошивках. С тех пор в этих форматах мало что изменилось, поэтому писать про них снова я не буду. Тем не менее, в тех статьях был достаточно серьезный пробел — отсутствовали какие-либо упоминания об NVRAM и используемых для её хранения форматах, т.к. тогда разбор NVRAM мне был попросту неинтересен, ибо те же данные можно получить из UEFI Shell на работающей системе буквально одной командой dmpstore.
По прошествии трех лет выяснилось, что хранилище NVRAM умеет разваливаться по различным причинам, и чаще всего это событие приводит к «кирпичу», т.е. воспользоваться вышеупомянутой командой уже не получится, а данные (или то, что от них осталось) надо доставать. Собрав пару развалившихся NVRAM'ов вручную в Hex-редакторе, я сказал "хватит это терпеть!", добавил поддержку разбора форматов NVRAM в UEFITool NE, и решил написать цикл статей об этих форматах по горячим следам и свежей памяти.
В первой части поговорим о том, что вообще такое этот NVRAM, и рассмотрим формат VSS и его вариации. Если интересно — добро пожаловать под кат.
Читать полностью »

Вчера мы уже публиковали фото графического процессора Nvidia GP106 поколения Pascal. Предположительно, его площадь составляет 170-200 мм².

На фото ниже, как считает источник, GPU GP104, который станет основой для флагманской видеокарты Pascal первой волны. Его площадь приблизительно равна 290-300 мм². Количество транзисторов при этом составляет 7,4-7,9 млрд.

WinRT Language projections

На мой взгляд, в разработке UWP/WinRT приложений сложилась необычная ситуация: компания продвигает использование нативного SDK из управляемой среды. Мне стало интересно, насколько эффективен данный подход. И для ответа, я решил написать несколько приложений, решающих одну и туже задачу, полагаясь на средства предоставляемые UWP/WinRT API.
За результатами моего небольшого теста добра пожаловать под кат.
Читать полностью »

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

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

Новый смартфон Moto получит дактилоскоп

Читать полностью »

Рынок устройств виртуальной реальности чем-то похож на рынок умных часов. Оба зарождались впопыхах (забудем на время о том факте, что гарнитуры VR существуют уже очень давно), оба вызывают дикий интерес у различных компаний и разработчиков, но оба на начальном этапе не могут похвастаться высоким спросом. Правда, причины разные. Умные часы многим казались и кажутся ненужными, а шлемы виртуальной реальности, кроме того, ещё и очень недешёвые.

Читать полностью »

Tesla Motors откроет сеть электрозаправок в России и Украине - 1
Станция Supercharger, фото: Tesla Motors

Компания Tesla Motors планирует до конца текущего года открыть пять станций быстрой зарядки электромобилей в России и две в Украине. Российские станции откроют на трассе из Москвы в Санкт-Петербург, а также на дороге в Ригу. Две украинские — на маршруте из Киева во Львов.
Читать полностью »

В одной статье на хабре (274635) было продемонстрировано любопытное решение для передачи объекта из onSaveInstanceState в onRestoreInstanceState без сериализации. Там используется метод writeStrongBinder(IBInder) класса android.os.Parcel.

Такое решение корректно функционирует до тех пор, пока Android не выгрузит ваше приложение. А он вправе это сделать.

…system may safely kill its process to reclaim memory for other foreground or visible processes…
(http://developer.android.com/intl/ru/reference/android/app/Activity.html)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js