Долгое время занимаясь разработкой под Android, я постепенно пришел к выводу, что многих вещей мне, как разработчику, сильно не хватает. Тогда, в начале 2010-го, не хватало только C++ exceptions и RTTI. Без них любой нетривиальный C++ код просто не мог быть портирован на Android и требовал практически полного переписывания. Это было очень существенное ограничение, которое никак не давало мне покоя. К счастью, Android — это open source, поэтому, вооружившись максимой «если тебе что-то нужно, сделай это сам», я засел за работу. К моему удивлению, сделать поддержку полноценного C++ с исключениями и RTTI оказалось довольно несложно. Потребовалось всего около недели работы. Далее был сделан сайт, на который и были выложены получившиеся пакеты для Windows, Linux и Mac OS X, а также патч и инструкция по сборке.
Александр Демченко @braindamagedman
Пользователь
Как я нахожу время?
7 min
106KTranslation

На фотографии изображен автор оригинального поста, Стив Клабник, со своим отцом
Стив Клабник широко известен в кругах рубистов. Он является контрибьютором во множество Open Source проектов, в том числе Ruby on Rails, Draper, Resque, Rails API, занимается преподаванием программирования и консалтингом в рамках JumpstartLab, пишет книги, увлекается политикой и без устали пишет в свой Твиттер.
Порой создается впечатление, что не существует такого околоруби проекта, в котором он так или иначе не принимал участие.
Приезжал в Москву в рамках Rails Club Moscow 2012 с докладом о Hypermedia API и зарекомендовал себя хорошим профессионалом и очень продуктивным человеком. По слухам, он умудряется разбирать пулл реквесты в самолете, на сцене, во время выступления, и даже на групповых фото.
Я решил перевести эту статью, потому что изложенные в ней мысли заставили меня о многом задуматься. Надеюсь, Вы получите удовольствие от прочтения и, так же как и я, извлечете для себя хотя бы крупицу пользы.
Порой создается впечатление, что не существует такого околоруби проекта, в котором он так или иначе не принимал участие.
Приезжал в Москву в рамках Rails Club Moscow 2012 с докладом о Hypermedia API и зарекомендовал себя хорошим профессионалом и очень продуктивным человеком. По слухам, он умудряется разбирать пулл реквесты в самолете, на сцене, во время выступления, и даже на групповых фото.
Я решил перевести эту статью, потому что изложенные в ней мысли заставили меня о многом задуматься. Надеюсь, Вы получите удовольствие от прочтения и, так же как и я, извлечете для себя хотя бы крупицу пользы.
Мне часто задают вопрос: «Как ты находишь время?». Чаще всего речь идет об open source, иногда о книгах, изредка — о других вещах. Обычно я уклонялся от ответа чем-нибудь вроде: «Блин, не знаю, просто беру и нахожу». Но этот ответ не слишком полезен. Да и мне было интересно, смогу ли я справляться со временем еще лучше. Так что я немного порефлексировал, и вот как я нахожу время:
+91
Общаемся с SIM-картой на низком уровне
5 min
50K
f: не могу представить, как крусач может работать) Наши курсачи обычно пыляться где-то на полках
m: Вот у меня есть плата. К ней нужно подрубить сим-карту, и эта плата должна прочитать смс оттуда)
m: плата покупная, а вот программируем ее мы)
f: а нельзя смс с телефона прочитать?
— из жизни, орфография сохранена
Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…
+185
Git Rebase: руководство по использованию
8 min
856KTutorial
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.
Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.

Теория
Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.

+120
Модели TCP
2 min
34KСовсем недавно несколько раз за короткий промежуток времени в разговорах с коллегами натыкался на принципиальное непонимание того простого факта, что тюнинг параметров TCP — это не все, что можно сделать для оптимальной утилизации каналов. Что-что? Какие-такие другие модели TCP? Нафига? Все и так можно подогнать, поигравшись Maximum Window Size, таймингами и прочим. Это конечно все здорово и бывает крайне необходимо, но не все поддается тюнингу через proc или реестр. А именно и например? Сравнить это можно с ситуацией, как если бы мы имели некую формулу и добивались результатов «кручением» в ней неких переменных и коэффициентов. Но можно ли поменять саму формулу?
+31
Как работает ZFS — часть 1: vdev
3 min
33KVdev, или Virtual Device — это базовая единица, на которой строится массив данных ZFS (zpool). Для работы ZFS необходим как минимум один vdev — виртуальное устройство, которое позволяет случайный доступ к информации на уровне блоков.
Обычно, в качестве таких блоков используются целые диски или iScsi/FC LUNы (raw-disk vdev), но можно также использовать разделы дисков или файлы. Целые диски предпочтительнее, так как для них ZFS использует onboard write cache, в результате чего производительность записи может значительно улучшиться. Я пока не буду объяснять разницу между logical vdev и leaf vdev — это топик для отдельной статьи про то как работает RaidzN и zfs mirror.
В описании структуры виртуального устройства можно посмотреть какие параметры используются для чего, но я не собираюсь давать объяснение каждому — цель статьи — описание собственно того как ZFS хранит и пишет данные.
Каждый vdev разделен на логические разделы (metaslab),
Обычно, в качестве таких блоков используются целые диски или iScsi/FC LUNы (raw-disk vdev), но можно также использовать разделы дисков или файлы. Целые диски предпочтительнее, так как для них ZFS использует onboard write cache, в результате чего производительность записи может значительно улучшиться. Я пока не буду объяснять разницу между logical vdev и leaf vdev — это топик для отдельной статьи про то как работает RaidzN и zfs mirror.
src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/fs/zfs/vdev_disk.c#314if (vd->vdev_wholedisk == 1) { int wce = 1; /* * If we own the whole disk, try to enable disk write caching. * We ignore errors because it's OK if we can't do it. */ (void) ldi_ioctl(dvd->vd_lh, DKIOCSETWCE, (intptr_t)&wce, FKIOCTL, kcred, NULL); }
В описании структуры виртуального устройства можно посмотреть какие параметры используются для чего, но я не собираюсь давать объяснение каждому — цель статьи — описание собственно того как ZFS хранит и пишет данные.
Каждый vdev разделен на логические разделы (metaslab),
+36
Борьба с DDoS глазами Highload Lab
15 min
73KO трендах и тенденциях в DDoS-атаках рассказывает создатель Highload Lab и сети фильтрации трафика QRATOR Александр Лямин. Интервью мы брали еще в начале года, но изменилось пока немногое

DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.

DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
+145
За кулисами Android: что-то, чего вы можете не знать
14 min
151KTutorial

0. Оглавление
- 1. Предисловие
- 2. Хак eMMC памяти HTC Desire HD с целью изменения идентификационной информации телефона
- 3. Создание телефона-оборотня с использованием криптографии
- 4. Ложная безопасность: обзор угроз несанкционированного доступа к данным
- 5. Заключение
1. Предисловие
Мобильные гаджеты стали неотъемлемой частью нашей повседневной жизни, мы доверяем им свои самые сокровенные тайны, а утрата такого устройства может привести к серьезным последствиям. Сегодня много внимания уделяется освещению вопросов мобильной безопасности: проводятся конференции, встречи, крупные игроки выпускают комплексные продукты для персональной и корпоративной защиты мобильных устройств. Но насколько такие средства эффективны, когда устройство уже утрачено? Насколько комфортны они в повседневном использовании – постоянные неудобства с дополнительным ПО, повышенный расход батареи, увеличенный риск системных ошибок. Какие советы можно дать беспокоящимся за сохранность своих мобильных данных? Не хранить ничего важного на смартфоне? Тогда зачем он такой нужен – не птичек же в космос отправлять, в самом деле?
Сегодня я хочу поговорить с вами об устройствах под управлением ОС Android, созданной глубокоуважаемой мною компанией Google. В качестве примера я использую неплохой смартфон прошлых лет от компании HTC – Desire HD. Почему его? Во-первых, именно с него мы начали свою исследовательскую деятельность в области безопасности Android-устройств, во-вторых – это все еще актуальный смартфон с полным набором функций среднестатистического гуглофона. Он поддерживает все версии Android, в нем стандартный взгляд HTC на организацию файловой системы и стандартная же раскладка разделов внутренней памяти. В общем, идеальный тренажер для защиты и нападения.
С этим докладом я выступил на вот-вот только прошедшей конференции ZeroNights 2012 и теперь хочу презентовать его хабрасообществу. Надеюсь он будет вам интересен и даже немного полезен.
+96
Обновляем ядро без перезагрузки
2 min
22KСегодня я хочу рассказать о моей самой любимой фиче в последнем релизе Parallels Cloud Server — rebootless update, или обновление без перезагрузки.
Перезагрузка — это простой сервера и потеря состояния текущих активностей. Она нежелательна для сервера, которым пользуется большое количество людей. На данный момент есть популярная технология Ksplice, где изменения накатываются на живую систему. Это ненадежно, не каждое обновление удается так накатить. И вообще, нет гарантий, что проблемный код не успел наследить. Еще одна немаловажная проблема в том, что разработчики с неохотой берутся за баги после таких обновлений. Кто его знает, что в этой солянке варилось.
Перезагрузка — это простой сервера и потеря состояния текущих активностей. Она нежелательна для сервера, которым пользуется большое количество людей. На данный момент есть популярная технология Ksplice, где изменения накатываются на живую систему. Это ненадежно, не каждое обновление удается так накатить. И вообще, нет гарантий, что проблемный код не успел наследить. Еще одна немаловажная проблема в том, что разработчики с неохотой берутся за баги после таких обновлений. Кто его знает, что в этой солянке варилось.
+52
Работа с временем в Google
2 min
53K
Высокоточный рубидиевый осциллятор PRS10
Компания Google решила отказаться от использования NTP (Network Time Protocol) и создала свою собственную систему проверки времени с GPS и атомными часами, более точную и надёжную. Её назвали TrueTime API. Система работает для обеспечения целостности крупнейшей в мире базы данных Google Spanner, распределённой по всему миру.
+56
В помощь интернет-шопперу
3 min
127K
Так, о чём это я? Ах, да, о ещё одной торговой интернет-площадке и тонкой, незримой связи её с OCR.
+63
Самостоятельно готовимся к CCNA: практические советы
7 min
288K
Среди сетевых специалистов не утихают споры: возможно (и стоит ли) готовиться к экзамену CCNA самостоятельно или нужно идти на платные курсы? В этой статье мы бы хотели дать несколько полезных советов тем, кто выбрал путь самостоятельной подготовки к экзамену компании Cisco CCNA.
Итак, возможно или нет?
+22
Hyper-V Extensible Switch в Windows Server 2012
5 min
38KHyper-V Extensible Switch – ключевая компонента Hyper-V в Windows Server 2012 – представляет собой расширяемый управляемый коммутатор второго уровня. Расширяемость означает возможность создания разработчиками модулей, встраиваемых в Hyper-V и модифицирующих/расширяющих штатный функционал анализа, фильтрации и форвардинга пакетов. Управляемость подразумевает наличие целого набора настроек, доступных администратору через PowerShell или консоль Hyper-V Manager, обеспечивающих требуемый уровень изоляции, безопасности и мониторинга запущенных виртуальных машин (ВМ). В одном из предыдущих постов я описывал реализацию технологии Private VLAN (PVLAN) в Hyper-V Extensible Switch. Сегодня посмотрим на ряд дополнительных возможностей.
+20
Microsoft Hyper-V 3.0: новые возможности
4 min
36KC выходом Windows Server 2012 обновилась и система виртуализации — Hyper-V. В настоящей статье рассматривается какие новые возможности появились в Hyper-V 3.0. Следует отметить, что третья версия содержит очень много усовершенствований функционала по сравнению с предыдущей версией, и, главное,- впервые в истории Hyper-V, система виртуализации Microsoft вышла на уровень продуктов Enterprise-уровня, сопоставимым с VMware vSphere 5.
Главным средством управления и мониторинга за Hyper-V является Hyper-V Manager (см. рис). Начиная с версии 3.0, множество новых функций управления стало доступно через PowerShell. Например, запуск виртуальной машины VM1 можно выполнить с помощью команды «Start -VM vm1». Далее будут рассмотрены ключевые возможности новой версии Hyper-V.
Главным средством управления и мониторинга за Hyper-V является Hyper-V Manager (см. рис). Начиная с версии 3.0, множество новых функций управления стало доступно через PowerShell. Например, запуск виртуальной машины VM1 можно выполнить с помощью команды «Start -VM vm1». Далее будут рассмотрены ключевые возможности новой версии Hyper-V.
+13
Джейлбрейк для высшего образования
2 min
112K
Традиционная система высшего образования безнадёжно отстала от жизни — считают создатели стартапа Degreed. Стоимость образования растёт втрое быстрее инфляции, долги по образовательным кредитам неподъёмны, а сложившаяся ещё в средние века модель непрерывного обучения в стенах университета на протяжении нескольких лет совершенно не соответствует современным требованиям. Сейчас всё чаще говорят о «пожизненном образовании», о том, что диплом или учёная степень, полученные много лет назад, слабо связаны с реальными знаниями и квалификацией.
В то же время за пределами университетов начала складываться совершенно новая экосистема получения и, что очень важно, подтверждения и сертификации знаний и навыков. Профиль на LinkedIn, репозитории на GitHub, сертификаты от серьёзных корпораций вроде Cisco или Microsoft, результаты авторитетных онлайн-тестов сегодня часто могут заменить формальный документ об образовании.
Degreed стремится к амбициозной цели — создать единый пожизненный цифровой диплом, постоянно обновляемый и гибкий, который будет отражать реальные знания независимо от того, из какого источника они получены. Вы можете прослушать несколько курсов в одном университете, ещё несколько — в другом, или вообще на сайте вроде Coursera или Khan Academy — баллы в вашем «дипломе» будут увеличиваться в зависимости от авторитетности курса и ваших личных достижений.
+98
Conficker — из пушки по воробьям
8 min
43KConficker — семейство вредоносного программного обеспечения, относящегося к категории червей. Conficker — название, наиболее часто употребляемое в прессе и образованное путем перестановки частей домена trafficconverter.biz, к которому обращалась первая версия ВПО, согласно другой версии название образовано от английского слова configuration и немецкого слова ficker (синоним английского fucker). Среди зарубежных антивирусных компаний используется название Downadup, а так же Kido в классификации Kaspersky Lab. Первые образцы были обнаружены в ноябре 2008 года. По состоянию на январь 2009 было поражено около 9 миллионов компьютеров во всём мире. Столь большое число обусловлено использованием для своего автоматического распространения уязвимости службы Server операционной системы Microsoft Windows MS08-067. Следует отметить, что на момент распространения компания Microsoft уже выпустила обновление безопасности, устраняющую данную уязвимость. Однако тот факт, что обычные пользователи, как правило, не уделяют должного внимания механизму постоянного обновления операционной системы (в том числе из-за использования «пиратских» копий), сыграл немаловажную роль. К сожалению, в очередной раз на практике было продемонстрировано пренебрежительное отношение к вопросам компьютерной безопасности. В апреле 2009 года размер ботсети оценивался в 3.5 миллиона.
Существует пять основных модификаций Conficker, обозначаемых буквами A (21 ноября 2008), B (29 декабря 2008), C (20 февраля 2009), D (4 марта 2009), E (7 апреля 2009). В терминологии некоторых антивирусных компаний используется наименования A, B, B++, C, D соответственно.
Существует пять основных модификаций Conficker, обозначаемых буквами A (21 ноября 2008), B (29 декабря 2008), C (20 февраля 2009), D (4 марта 2009), E (7 апреля 2009). В терминологии некоторых антивирусных компаний используется наименования A, B, B++, C, D соответственно.
+70
Что случилось с AMD?
7 min
219KTranslation

В воде кровь и акулы уже нарезают круги. У AMD проблемы такие, что слухи о продаже кажутся весьма правдоподобными, даже когда оказывается что это не правда. AMD всё сложнее поставлять процессоры в компьютеры, которые хотят покупать люди. Компания теряет деньги, и некоторые сотрудники уже покидают корабль. Под новым руководством после двух волн сокращений, рыночная цена практически достигла своего минимума, который отмечен в конце 2008 когда компания пыталась избавиться от огромных долгов на фоне глобальной рецессии.
Так было не всегда.
+102
Электронная система управления подвеской горного велосипеда
10 min
258KУважаемое сообщество, представляю вашему вниманию отчет о проделанной работе по скрещиванию моих двух хобби: горный велосипед и микроэлектроника.
Итак, в этой статье речь пойдет об отечественной разработке электронной системы управления подвеской горного велосипеда. Не буду мучить длинным вступлением, сразу к фото и видео:

Итак, в этой статье речь пойдет об отечественной разработке электронной системы управления подвеской горного велосипеда. Не буду мучить длинным вступлением, сразу к фото и видео:

+325
Прекратите скручивать (восклицательный знак)
6 min
1.8MTutorial
+651
Бюджеты на R&D или на что влияют исследования в микроэлектронике
3 min
33KНа Engadget взбаламутили всех, опубликовав статью про гонку цен на устройства, когда Amazon и Google постоянно снижают стоимость своих устройств или заставляют это делать партнеров. И по мнению автора статьи, это приводит к печальным последствиям, когда становятся невозможны инновации. Перевод этого материала есть на Хабре тут.
К сожалению, этот материал описывает ситуацию с точки зрения потребителя и частично, производителя устройства. Но совершенно не учитывает те компании, что как раз и создают технологии. Давайте взглянем на табличку в которой приведены топ 20 компаний по затратам на исследования и разработки в 2011 году.

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

+44
Information
- Rating
- 10,152-nd
- Location
- Владивосток, Приморский край, Россия
- Date of birth
- Registered
- Activity