Как стать автором
Обновить
121
0
Сергій Олендаренко @GooRoo

Пользователь

Отправить сообщение

Неконстантные константные выражения

Время на прочтение24 мин
Количество просмотров39K
// <какой-то код>
 
int main ()
{
        constexpr int a = f ();
        constexpr int b = f ();
 
        static_assert (!= b, "fail");
}

Можно ли в приведенном выше фрагменте вместо комментария вставить такое определение f (), чтобы a получила значение, отличное от b?

“Разумеется, нет!” — скажете вы, немного подумав. Действительно, обе переменные объявлены со спецификатором constexpr, а значит, f () тоже должна быть constexpr-функцией. Всем известно, что constexpr-функции могут выполняться во время компиляции, и, как следствие, не должны зависеть от глобального состояния программы или изменять его (иными словами, должны быть чистыми). Чистота означает, что функция при каждом вызове с одними и теми же аргументами должна возвращать одно и то же значение. f () оба раза вызывается без аргументов, поэтому должна оба раза вернуть одно и то же значение, которое и будет присвоено переменным a и b… правильно?

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

Я ошибался.
Увиденное под катом уже не развидеть
Всего голосов 61: ↑57 и ↓4+53
Комментарии28

24-летний студент начал войну против Facebook

Время на прочтение3 мин
Количество просмотров73K


24-летний студент юридического факультета Венского университета Макс Шремс (Max Schrems) вот уже несколько месяцев ведёт неравный бой с компанией Facebook. Всё началось с того, что Макс отправил несколько грамотно составленных запросов и добился-таки, что из калифорнийского офиса ему прислали CD-диск со всеми персональными данными, собранными за три года активности на сайте.

Каждый гражданин может потребовать у Facebook выдачи ему в течение 40 дней всей собранной на него персональной информации. На сайте есть специальная форма для такого запроса. Вам придёт CD с файлом PDF объёмом несколько сотен мегабайт и более 1000 страниц. Макс Шремс получил PDF из более 1200 страниц, вся информация в файле была разбита на 57 категорий (работа, образование, друзья, политические взгляды, хобби, фотографии и т.д.). Как говорит Макс, даже у КГБ не было такого полного досье на граждан.

Но самое удивительное, что среди всего прочего в присланном файле были удалённые сообщения, чат-сессии, имена бывших друзей и другие данные с пометкой deleted:true.
Читать дальше →
Всего голосов 323: ↑296 и ↓27+269
Комментарии246

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение4 мин
Количество просмотров15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Всего голосов 212: ↑205 и ↓7+198
Комментарии49

Как обелить свой телефон

Время на прочтение2 мин
Количество просмотров14K
Так получилось что сегодня наткнулся на уже подзабытую, но все еще актуальную, тему отключения «серых трубок». Судя по новости, массовые репрессии в обозримом будущем всё таки начнутся. Так, что буду рад поделится своими знаниями с теми, для кого эта проблема всё еще актуальна.

Напомню теорию. Любой телефон который пересек границу Украины «нелегально» заносится в так называемый «серый» список, а по прошествии трех месяцев, нахождения в нем, соответственно, в «черный» и перестает регистрироваться во всех сотовых сетях. Это касается и телефонов друзей/родственников приехавших погостить из СНГ или более дальнего зарубежья, и реально ворованных аппаратов, и конечно практически всех новых айфонов и им подобных которые выгоднее заказать/привезти чем покупать на месте.

Для законопослушных граждан, которые в силу тех или иных событий стали счастливыми обладателями таких трубок, есть несколько официальных способов легализации, но все они весьма бюрократичные, и неудобные, а в некоторых случаях неприменимы вовсе. Но к счастью есть «lite» метод легализации, который то ли был оставлен специально, для своих, то ли для реселлеров, то ли появился когда народу стало совсем плохо, но простые потребители, как правило, о нем не знают…
Читать дальше →
Всего голосов 86: ↑70 и ↓16+54
Комментарии78

Постмортем iPhone игры Finger Physics

Время на прочтение9 мин
Количество просмотров1.6K
Игра Finger Physics была разработана московской командой PressOK Entertainment (Reaxion) и выпущена в сентябре 2009 года на платформе iPhone/iPod. Игра попала в Top-5 платных приложений в США, а бесплатная версия заняла почетное первое место. Finger Physics в разы окупил свой бюджет, был загружен более 2,5 млн раз, получил множество положительных рецензий и успел побывать в руках у самого Стива Джобса (пруфлинк) на январской презентации iPad.

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

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

Читать дальше →
Всего голосов 82: ↑67 и ↓15+52
Комментарии26

Как правильно покупать товары на Ebay

Время на прочтение5 мин
Количество просмотров183K
image
Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
Читаем далее
Всего голосов 187: ↑166 и ↓21+145
Комментарии100

Установка Windows 8 Developer Preview для ленивых

Время на прочтение3 мин
Количество просмотров51K
Задача: поставить Windows 8 Developer Preview поиграться.

Условия: старая винда должна выжить, привода DVD нет, большой флешки на десять гигов тоже.

Классические решения:

  1. Поставить в виртуалку. Это медленно, нужен дополнительный софт и без хардварной виртуализации ничего не заработает.
  2. Поставить на другой жёсткий диск. Увы, в ноутбук второй винт не вставишь, да и нету его у меня.
  3. Выделить отдельный раздел на винте. А это ставить лишний софт, танцевать с бубнами вокруг разделов… Лениво!

К тому же последние два варианта обычно требуют физический DVD, которого нет. Выход? VHD!

Кроме ISO образа Windows 8 нам также понадобится установленная Windows 7 — более ранние версии не умеют работать с VHD. А из под Linux мы не сможем так просто запустить инсталлятор.

Читать дальше →
Всего голосов 217: ↑182 и ↓35+147
Комментарии139

Атипичные клавиатуры

Время на прочтение7 мин
Количество просмотров18K
Говорят, что обычная QWERTY-клавиатура была изобретена с целью уменьшить скорость набора, потому что у слишком быстрых машинистов первые машинки клинили. Не знаю, сколько в этом утверждении правды, но то, что раскладка далеко не идеальна — факт. Факт также то, что разрабатывалась она для печати десятью пальцами на больших клавишах размещенных в три ряда.

В неизменном виде она перекочевала на электрические пишущие машинки, а затем и на компьютерные клавиатуры, где все стало ещё удобнее — теперь клавиши срабатывали от легкого нажимания, и по ним не приходилось лупить со всей дури.
Все было бы просто отлично, если бы не страсть к минимизации. Ноутбуки, нетбуки, классические смартфоны (не «тачфоны») — QWERTY-клавиатура стремительно уменьшалась в размерах, сохраняя при том свою сущность. Для некоторых таких творений впору вести набор спичками. Были и неплохие инженерные решения — например на Sony-Ericsson M600i клавиши-качели содержали по две-четыре символа, и они выбирались в зависимости от способа нажима.

Но когда это добро перекочевало на экраны… возьмем в качестве образца айфон(да, исторически первым [массовым] тачфоном все-таки было яблоко): три с половиной дюйма диагонали, отношение сторон — 2:3. Кто помнит теорему Пифагора, какова ширина экрана?
x² + (3x/2)² = 3,5²
x² = 49/13
x ≈ 1,94" ≈ 49,3мм.
Итак, ширина экрана — меньше 5 сантиметров. В ряду — 10 клавиш. Получается — около 5 мм на клавишу, и это включая промежутки между ними. Не знаю как у вас, а меня пальцы ощутимо шире, да и печатать на приборе таких размеров я могу только одним, ну максимум двумя большими пальцами одновременно. Ну не могу я печатать на ЭТОМ, при всей его умности! Хватит обратной совместимости! Я печатать вслепую научился за неделю, так дайте мне клавиатуру, где не придется целится в клавиши! Я её изучу! Я хочу комфортно и быстро печатать!

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

Их я и попытаюсь сегодня осмотреть.
Читать дальше →
Всего голосов 161: ↑148 и ↓13+135
Комментарии157

Лучшие музыкальные плееры для вашего телефона под управлением Android

Время на прочтение5 мин
Количество просмотров314K
Представляю вам вольный перевод статьи "Round Up: Great Android Music Players"

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

Одно из величайших особенностей платформы с открытым кодом является написание новых приложений. Открытость платформы создает конкуренцию, а конкуренция является важным фактором для конечного пользователя, т.к. она заставляет производителей приложений снижать их стоимость (если они платные) и повышать качество продукции. К счастью, появилась конкуренция и среди плееров для Android. Сегодня мы рассмотрим лучшие плееры для Android и скажем, что их выделяет на фоне других плееров.
Под катом обзор плееров, их скриншоты и QR-коды
Всего голосов 61: ↑53 и ↓8+45
Комментарии107

Разработка приложений под электронную книгу Barnes&Noble Nook

Время на прочтение9 мин
Количество просмотров3.4K
image

Введение


Недавно мы (mynook.ru, первый пост, второй пост) открыли свой профиль на reformal.ru, где нас начали спрашивать как самому писать приложения под нук, а так же просили выложить исходники FBReader'а.
Все исходники вы теперь можете найти на гуглокоде, а вот насчет первого я постараюсь сейчас рассказать.

Большое спасибо отличному дизайнеру nilov за то что помог мне оформить картинками этот пост, за то, как он хорошо передизайнил иконки и за непосредственно перевод Nook'а.

На кого расчитано


Я предполагаю, что человек, который будет читать дальше знает азы разработки под андроид (если быть точнее, то под 1.5) и соответственно прошу не задавать вопросов про азы андроида и уж тем более не обсуждать то, как купить нук в россии/украине/etc…
Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии12

Вожделенный Nexus One за ~$620 в Украине/России или как не платить перекупщикам

Время на прочтение4 мин
Количество просмотров4.2K
Что делать если хочеться заполучить вожделенный Nexus one, но не хочется переплачивать 200-300 баксов перекупщикам?
image
Есть варианты, как купить телефон напрямую от Google и получить его домой примерно за $620 USD
Читать дальше →
Всего голосов 125: ↑92 и ↓33+59
Комментарии111

Самые дурацкие вопросы на собеседовании

Время на прочтение1 мин
Количество просмотров109K
Тема глупых вопросов на собеседовании поднимается на Хабре довольно часто. Ниже мой перевод отличного комикса Oatmeal на эту тему:


Читать дальше →
Всего голосов 439: ↑385 и ↓54+331
Комментарии301

Ваша домашняя страница

Время на прочтение1 мин
Количество просмотров582
image
Стартовых страниц очень много, но учитывая сколько раз в день мы их открываем,
хотелось бы иметь что-то приятное глазу и востребованное.

Сайт fav4.org имеет легкий и привлекательный дизайн
цель которого быстрый доступ к популярным ресурсам.

Читать дальше →
Всего голосов 82: ↑42 и ↓40+2
Комментарии69

Ez-12 Parabolic Reflector Template / Усилитель WiFi сигнала для домашней точки доступа

Время на прочтение1 мин
Количество просмотров2.5K
1. Скачиваете шаблон
2. (можно пропустить, см. примечание) Открываете в редакторе и изменяете размер, сохраняя квадрат квадратным
3. Печатаете на тонком картона (бумага для печати визиток или бумажная папка для документов)
4. Делаете прорези
5. На одну сторону прямоугольной детали (рефлектора) приклеиваете фольгу
6. Собираете, вставляя шесть лепестков в шесть прорезей.

Примечание: Если распечатать оригинального размера — получите усиление сигнала в 9 дБ (8 раз), если увеличите вдвое — 12 Дб (16 раз). Если на роутере две антенны — сделайте по усилителю на каждую.

Примечания переводчика:

7. Наденьте усилитель на антенну роутера :-)

Я сделал из коробки из-под конфет — не мучайтесь поисками бумажных папок из-под документов. Только гофрированный картон не берите, неудобно. ОНО РАБОТАЕТ! Раньше телефон уже на выходе из комнаты терял сеть, теперь в любом углу ютьюб без заиканий играет. Замеров не делал, не обессудьте. Но усилий нужен минимум на изготовление — думаю проще сделать самому и попробовать, чем таблицу с цифрами читать.

P.S. Вот видео:
Всего голосов 38: ↑37 и ↓1+36
Комментарии20

Упрощение полилинии методом Дугласа-Пекера

Время на прочтение3 мин
Количество просмотров3.6K
Предисловие

Недавно на работе задали задачу — есть клиент с GPS устройством. Ходит, он значит по городу и записывает на это устройство каждую секунду координату своего местонахождения. Потом заходит на наш сайт и отправляет файл с записями маршрута. И в ответ получает изображение карты и поверх нарисованный маршрут по которому он двигался. Все вроде бы ничего, но есть одна проблемка — клиент может записывать хоть целый день и прислать громадный файл, а отрисовка маршрута занимает очень много времени. А он ведь мог идти по прямой линии и тогда смысл отрисовывать все точки отпадает(ценных только две крайних). Тем более рисуется она на JavaScript на клиентской стороне и если клиентская сторона это мобильное устройство вполне вероятно что маршрут он не увидит((
И потому мне надо было сделать небольшую оптимизацию — оптимально упростить ломанную линию. Для этой задачи существует метод Дугласа-Пекера, но на русском описания этого метода я не нашёл, поэтому я решил заполнить этот пробел рунета.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии16

Вам календарик 2010

Время на прочтение1 мин
Количество просмотров5K


В карман (100×70мм):
pdf, eps, svg или png (1186×832, 300dpi)

На стенку (A4):
pdf, eps, svg или png (3508×2480, 300dpi)

Сделай сам:
Генератор календариков (Python, GPL)

С Новым Годом!

Всего голосов 327: ↑304 и ↓23+281
Комментарии122

Ipod Nano 2 gen с RockBox через загрузчик iLoader

Время на прочтение3 мин
Количество просмотров6.8K

Вступление


Приветствую Тебя читатель.
Сегодня мы займёмся модернизацией плеера компании Apple — Ipod Nano 2 gen

Совсем недавно, в октябре 2009 года, на сайте альтернативной прошивки rockbox появилась информация о успешном её портировании на плеер Ipod Nano 2-го поколения

Rockbox

Вот выдержка из Википедии:
Rockbox — это свободное программное обеспечение для замены встроенных прошивок цифровых аудио плееров. Проект Rockbox начался в конце 2001 года и был впервые реализован на плеере Archos Studio.
Rockbox предлагает альтернативу встроенному программному обеспечению плеера, во многих случаях без удаления первоначальной прошивки. Внутреннее устройство Rockbox позволяет наращивать функциональность за счёт использования модулей расширения. Улучшение функциональности включает в себя приложения, утилиты и игры. Rockbox может обеспечить (retrofit) воспроизведение видео для плееров, выпущенных в середине 2000-х годов. Также Rockbox содержит управляемый голосом пользовательский интерфейс, подходящий для использования людьми со слепотой или повреждённым зрением.

Как раз у меня сломался мой основной плеер и я подбирал подходящую альтернативу для него.
Не долго думая я пошёл на ebay и заказал за 60$ Ipod Nano 2 gen 8Gb

Ipod Nano 2 gen

Пока плеер ехал в Челябинск я принялся изучать варианты установки.
Читать дальше →
Всего голосов 56: ↑37 и ↓19+18
Комментарии116

Blender Basics 3-rd edition

Время на прочтение1 мин
Количество просмотров1.6K
Сбылась моя мечта. На конец то нормальный учебник по Blender-у!!! Кто интересуется ссылка здесь b3d.mezon.ru/index.php/Blender_Basics_3-rd_edition
Рад безумно! Ушёл читать. Завтра распечатаю и в бой — к детям!!!
Всего голосов 18: ↑12 и ↓6+6
Комментарии5

standalone Google Wave Notifier

Время на прочтение1 мин
Количество просмотров565
Думаю многим бы пригодилась standalone утилита для оповещения о новых волнах, и вот я нашел такую.
линк, скрины и остальное под катом
Всего голосов 53: ↑39 и ↓14+25
Комментарии54
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность