Архив апреля 2013 - 22

Умельцы уже получили root доступ к ПО Google Glass

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

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

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

Здесь нет набора инструкций, как сделать установку — все они есть, уже написанные и разбросанные по форумам и блогам. По ключевым словам и ссылкам можно будет найти всё необходимое. Суть в том, что чётких инструкций нет. Есть основополагающие правила строения разделов на дисках компьютера, стандартизированные ещё в 90-х. В зависимости от новизны биоса и системы в известный порядок всегда внесутся свои проблемы, и важно уметь искать решения, примерно зная общее положение дел. С таким подходом и были даны ссылки, а главное — как же нечётко это всё настраивается!

Случилось так, что на субноутбук Acer Aspire One 756 (Sandy Bridge Celeron 887), приобретённый изначально почти без ОС (установлена Linpus без иксов), были установлены операционные системы (в порядке установки):
1) WinXP 32 bit — из сборки размером примерно 720 MБ;
2) Win7 64 bit — из некоторой сборки размером около 2 ГБ;
3) Xubuntu 13.04 64 bit — из свежего дистрибутива на 800 МБ;
Читать полностью »

В первой части статьи были рассмотрены некоторые нюансы работы с интегрированным отладчиком Delphi — не все конечно, но наиболее необходимые разработчику. Теперь задача выглядит несколько иначе: рассмотрим его работу изнутри на примере его исходного кода. Для того чтобы не сильно утомлять вас описанием API функций и не разжевывать все этапы отладки, описывать его работу я буду на примере класса TFWDebugerCore. Часть не особо важных моментов я опущу, при желании вы их сможете уточнить просмотрев код данного класса.

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

Если же вы ранее никогда не сталкивались с самостоятельной реализацией отладчика, но заинтересованы в ней, то как минимум вы должны начать с данной ссылки: Debugging and Error Handling
По ней вы сможете узнать об основных аспектах отладки, как-то структурной обработке исключений, работой с отладочной информацией, минидампами. Работой с образом исполняемого файла, заголовками, секциями, картой памяти процесса, что такое RVA и VA и прочее-прочее.
Но это только если захотите разобраться во всей этой кухне.

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

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

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

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

Всем доброго времени суток! По просьбам трудящихся публикую материалы по оказанию первой помощи. Статья написана на базе лекций по ОБЖ и различных инструктажей, курсов первой помощи и учебных пособий. В процессе написания я консультировался у знакомых врачей — реаниматолога и патологоанатома, в свое время много работавших на скорой.
А если серьезно, был отобран, переработан и скомпонован материал, относящийся к теме. Под катом собраны рекомендации по всему, что нужно предпринять при оказании помощи пострадавшим, а главное, то, чего ни в коем случае предпринимать нельзя. Так же упомянуты состав аптечки, правильное наложение шин и жгутов, и полезные мелочи, о которых обычно не говорят на казенных лекциях, но которые всегда пригождаются в реальных ситуациях. Уточки не присутствуют, поскольку тема серьезная. Использованные изображения схематичные, взяты с различных тематических ресурсов. Изображений много. За выбор хабов не ругайте, это самые близкие из всех на хабре. После прочтения статьи не пытайтесь играть в доктора Хауса — есть вещи, которые может успешно проделать только квалифицированный специалист.
Оффтопик! Основы первой помощи. Помочь и не навредить
Читать полностью »

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

А ты записался добровольцем?
А ты записался добровольцем прошел собеседование?

Интервью состоит из трех частей, занимает 30-60 минут.
1. Рассказ программиста о себе.
2. Короткие вопросы на кругозор.
3. Решение задач

Рассказ программиста о себе.

В первую очередь прошу человек рассказать, как пришел к web-программированию. Когда начал, когда подсел на программирование :)
Очень спрашиваю про последнее место-два работы, что человек делал, за что отвечал, что в техническом и организационном плане там делал.

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

Как только становится понятно, что движет человеком и какой у него опыт, переходим к технической части.
Читать полностью »

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

Продажи смартфона Nokia Lumia 521, работающего под управлением ОС Windows Phone 8, организованные оператором T-Mobile, стартуют в эту субботу на американском канале HSN (Home Shopping Network). Устройство будет продаваться с зарядным устройством для автомобиля и защитной плёнкой по цене 150 долл.

Nokia Lumia 521

Также смартфон Nokia Lumia 521 будет доступен с 11 мая в онлайновом магазине Microsoft Store и в розничных сетях Walmart по такой же цене (150 долл).

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

Почти каждый представляет себе, что такое DDoS-атака. Но лучше один раз увидеть, чем сто раз услышать. Сайт VideoLAN на днях подвергся довольно необычной DDoS-атаке. Хотя интенсивность запросов была не очень велика — от 400 до 1600 запросов в секунду, ботнету удалось создать очень большую нагрузку на сервер, так как компьютеры-зомби не просто заходили на одну из страниц сайта, а скачивали дистрибутив VLC-плеера весом в 22 мегабайта. Пиковая нагрузка на серверы доходила до 292 гигабит в секунду. С помощью logstalgiaЧитать полностью »

Вступная часть. «Наполеоновские планы»

Почти год назад у меня возникла мысль понять, как устроен компьютер, как он работает. Ну и конечно же, появилось огромное желание создать свой собственный на элементарных логических элементах (если быть точнее — на транзисторах).
Тогда у меня было только маленькое представление о его роботе: я знал, что вся цифровая электроника построена на логических элементах (для меня это было, как постулат), но никак не мог сообразить, как исполняется программа, суммируются числа, зачем прерывания… Этот перечень вопросов можно продолжать и дальше, но сейчас не об этом.
Определим характеристику разрабатываемого компьютера:

  • Вид логики: двоичная логика
  • Разрадность шины данных: 32 бита
  • Разрядность шины адреса: 24 бита (можна адресовать 16 777 216 32-разрядних чисел)
  • Исполнение основных арифметических, логических, побитовых операций над данными, а также операций над ячейками памяти (mov, xchg)
  • Реализация функции выделения памяти (предусмотрено 4 ассемлерных инструкции)
  • Обработка данных напрямую и с помощью указателей

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

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

Это достаточно детально описано в главе I/O Redirection в «Продвинутом руководстве по программированию на Bash» (Advanced Bash-Scripting Guide).

В частности, иногда бывает так, что вам нужно прочитать какой-то файл, как-то его обработать (например, выбрать оттуда только те строки, которые подходят под некое регулярное выражение), и затем записать результат в тот же самый файл. Допустим, ваш файл называется «messages.log», и вы хотите оставить в нём только те строки, которые начинаются со слова «Success», двоеточия и пробела (а все остальные строки убрать).

Можно предположить, что для этого подойдёт такая команда:

grep "^Success:s" messages.log > messages.log

Но это предположение окажется неправильным — при выполнении этой строчки файл messages.log будет открыт на запись и очищен ещё до того, как grep начнёт его просматривать.
Читать полностью »


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