Знак переменной
Есть ли кроссплатформенный способ определить знак переменной, лучше этого:
T val = get_random(-max, max);
T sign = (val > 0) - (val < 0);
Есть ли кроссплатформенный способ определить знак переменной, лучше этого:
T val = get_random(-max, max);
T sign = (val > 0) - (val < 0);
Решил послушать онлайн радио в сафари под макосью. Прошелся по первым ссылкам в выдаче гугеля. Ни по одной ссылке я не услышал звука.
В линуксе все работает пучком. Полагаю, что и под виндой тоже должно все работать.
Яблофаны - это ненужная фича и ее не нужно использовать?
Решил отказаться от emul-linux-x86-* и перейти на «чистый» мультилиб, который нужен ради единственного приложения - Skype. Но Skype хочет dev-qt/qtdbus, который не умеет мультилиб (или мои руки не умеют его?).
Посему у меня несколько вопросов:
1) Как подружить Skype и мультилиб без emul-linux-x86-*?
2) Как безболезненно перейти на чистый x86_64 (хрен с ним, со скайпом)?
3) Возможен ли 32-битный гость в VirtualBox на чистом x86_64 хосте?
----
Так ругается emerge в чистом мультилибе и с профилем default/linux/amd64/13.0/desktop, и с профилем default/linux/amd64/13.0/no-emul-linux-x86:
$ emerge -av skype
These are the packages that would be merged, in order:
Calculating dependencies... done!
emerge: there are no ebuilds to satisfy "dev-qt/qtdbus:4[abi_x86_32(-)]".
(dependency required by "net-im/skype-4.3.0.37-r1" [ebuild])
(dependency required by "skype" [argument])
В /etc/portage/package.use есть запись dev-qt/qtdbus abi_x86_32
Решил проверить состояние PulseAudio. Установил последнюю доступную в портеже версию. Запускаю pulseaudio:
$ pulseaudio
W: [pulseaudio] authkey.c: Failed to open cookie file '/home/andrey/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authorization key '/home/andrey/.config/pulse/cookie': No such file or directory
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1Прошу добавить нумерацию тем в «Уведомления».
Вижу, что у меня есть 15 новых уведомлений. Пробегая по списку уведомлений я считаю их, что бы знать, где закончились новые уведомления, а где начинаются старые. Если будте нумерация, то будет наглядно видно, где новые, а где старые.
На этой неделе зарелизили свое видение игры Flappy Bird. Те, кто знает об этой игре, разделились на два лагеря - «я ненавижу эту игру» и «я влюблен в эту игру».
Мне эта игра понравилась и за пару вечеров была написана своя реализация. Получилось то, что получилось:
Несколько скриншотов:
Пока игра доступна только для Android. Версия для iOS все еще на рассмотрении в Apple.
При экспорте в PNG периодически натыкаюсь на такую ошибку:
Saving '/home/andrey/projects/bugzz/wad/game/maps/overlay.png' failed:
Error while saving '/home/andrey/projects/bugzz/wad/game/maps/overlay.png'. Could not save image.
Перезапуск gimp'а помогает, но это костыль. Попробовал gimp из репозитория, такая фигня стала происходить чаще.
Это мои локальные косяки или это норма?
Gentoo x86_64.
Существует ли в природе актуальный ebuild для gimp из репозитория?
Находясь в Беларуси периодически ловлю сообщение ниже, при попытке сделать запрос в гугель. Скрипты для гугеля включены все.
We're sorry...
... but your computer or network may be sending automated queries.
To protect our users, we can't process your request right now.В преводе текста не нуждаюсь. Вопрос в способе решения проблемы.
Недавно заметил, что при вычислении размера директории (ctrl+space) информация о размере выползает за пределы окна диалога.
Раньше такого не было.
MC 4.8.10.
Ну вот и произошло то, что должно было произойти - «супернавороченный» биометрический сенсор в iPhone 5s был взломан старым способом. С одним изменением - повышеннее разрешения отпечатка.
А сколько было понтов на презентации этой «инновации». Эпол как всегда - шума много, пользы мало.
Вот такой код cppcheck 1.60.1 считает валидным:
#include <vector>
int main(int argc, char *argv[])
{
std::vector<char> v;
v.resize(10);
v[10] = 32000;
return 0;
}
Хотел приделать поддержку вибры в игре для Android. Методы активации вибры принимают Long и Long[]. Используя JNI сишный лонг портится (32 бита в native против 64 в яве).
Пока сделал костыль - из си передаю long long:
void vibrate(long long time)
{
// call to java static method
jmethodID methodId = env->GetStaticMethodID(cls, "nativeVibrate", "(J)V");
env->GallStaticVoidMethod(cls, methodId, time);
}
Это прототипы методов в яве:
public abstract void vibrate(long milliseconds)А есть ли в VIM буфер обмена, подобный буферу в Emacs - удаляется строка в буфер (а на самом деле в стек) и потом при вставке из этого буфера можно циклично выбирать, что вставить. Мне показалось удобно.
Хочу тоже по dd и/или по Y все собирать в буфер, а потом по некой комбинации выбирать, что вставить из буфера.
Еще хочется переключение на предыдущий буфер вне зависимости от его индекса. Есть несколько открытых буферов: 1, 2, 3, 4. Текущий 2. Переключился на 4 (buf 4). Теперь хочу вернуться на предыдущий (буфер номер 2).
Будучи на даче, за два вечера и одну ночь выходного дня написал простенькую игру жанра «дави жуков, пока не разбежались». В игре используется анимация жуков от другой игры, которая давно находится в разработке, но никак не завершится.
Bugzz Smasher в данный момент доступен только для Android. Соберусь с силами, открою крышку макбука и соберу игру для iOS.
Ну а пока вот линк на игру в Google Play Store - https://play.google.com/store/apps/details?id=com.tinyorange.bugzzsmasher
Буду признателен за ваши отзывы и оценки, а так же за «+1».
Чуть не забыл, скриншот из игры - https://lh5.ggpht.com/wfOcjJVA9EAg-VXseLop3ZUCM-u1e5-esGGzxeDBc4Q9SQiQRoYiYv1...
Есть текстура размером 30х30. Нужно без скейла изображения на ней добавить бордюр в один пиксель, что бы получилась текстура 32х32. Но при этом бордюр должен быть того же цвета, что и смежный пиксель.
Для добавления прозрачного бордюра я делаю так:
montage source.png -background none -geometry +1+1 out.pngИли вот так можно окрасить бордюр в красный цвет:
convert -border 1x2 -bordercolor "#FF0000" source.png out.pngКак мне покрасить бордюр в смежный цвет?
Видел много обзоров сей сборки. Есть интересные плюшки. Сегодня даже решил попробовать эту сборку на Nexus 7/3G, но не нашел для него rom. Где его прячут?
Не могу понять, почему adb shell ls -la /mnt/sdcard/Android/obb/ и ls -la /mnt/sdcard/Android/obb/ показывают разное содержимое?
С компа по usb-кабелю (аналогично и в Android File Transfer):
$ adb shell ls -la /mnt/sdcard/Android/obb/
drwxrwxr-x root sdcard_rw 2013-04-16 14:13 com.tinyorange.bugzz
drwxrwxr-x root sdcard_rw 2013-04-30 15:28 com.tinyorange.krakoid
С самого девайса через ConnectBot (то же самое показывает и ES File Explorer):
$ ls -la /mnt/sdcard/Android/obb/
drwxrwxr-x root sdcard_rw 2013-04-10 14:00 com.melesta.toydefense
drwxrwxr-x root sdcard_rw 2013-04-16 17:33 com.tinyorange.bugzz
drwxrwxr-x root sdcard_rw 2013-04-30 15:20 com.tinyorange.krakoid
Обратите внимание, что набор файлов различается, даты совпадают, а время в минутах разное.
Девайсы Nexus 7 32Gb + 3G и Samsung Galaxy Nexus. На обоих девайсах Android 4.2.2. Когда был установлен Android 4.1.x, то проблем не замечал.
Это мои локальные глюки или у них действительно проблемы?
Есть игра для Android, которая разделена на две части - apk (сама игра) и obb (ресурсы, которые лежат на сервере гугеля).
Игра при старте должна проверить наличие и целостность obb (в моем случае это обычный zip). Если файла нет или он поврежден, то игра должна его скачать с сервера заново.
Вопрос, как проверить целостность архива? Проверять crc каждого файла в архиве - пользователь скажет «вот говно», и удалит игру. И будет совершенно прав.
Сейчас я просто проверяю размер файла (пока это работает хорошо), но задолбало каждый раз хардкодить размер файла при обновлении ресурсов игры.
Была идея дописывать размер файла в конец архива, а при старте игры сверять текущий размер с размером, приписанным в конце.
Но как на это посмотрит zlib? Правильное ли это решение?
Буду рад любой идее или совету.
| ← предыдущие | следующие → |