[sticky post]Путешествие 2012
det_random
Рассказы о посещенных местах и проеханных дорогах в 2012 году. Большинство постов связаны с Красноярском, потому что в нем была моя конечная цель — Дом АВП. Добро пожаловать!

1. Автостопом в Абакан и к Саяно-Шушенской ГЭС
2. Черемушки — Саяногорск — Абакан — Красноярск
3. Красноярск
4. Остров Отдыха в Красноярске
5. Дом АВП в Красноярске
6. Красноярский Академгородок
7. Сибирский федеральный университет


Как _правильно_ склонировать svn-овый репозиторий в гит
det_random
Именно правильно, а не как попало.

Нет, интернет полнится рецептами по миграции с свн на гит, но какая-то херня всё равно происходит даже если их читать.

Итак, блядь. Для начала создайте файл авторов, не поленитесь:
svn log | egrep "^r[0-9]+" | awk "{ print $3; }" | sort | uniq > authors.txt


Формат файла должен быть такой:
login = Name Surname 
login2 = Name Surname2 
...
v.pupkin = Vassily Poupkine 


А то всё обломается в самый неподходящий момент.

Хрен знает, что творится с линуксовыми гитами, но они не осиливают импорт свн-репозитория. Под виндами 7 всё было ок с гито́м 1.8.4.

git svn clone --no-metadata -A c:\random\pinpay\git-svn\authors-ru.txt -s \
https://io/svn/ATM5 ATM5-local-no-metadata-no-docs \
--ignore-paths="^(documents|tools|libraries)" \
>> clone-local-no-metadata-no-docs.log 2>&1 


И терпеливо ждём часами и не спим, потому что на каждом коммите возможна неведомая ёбаная хуйня. Это выматывает.

diff two variables
det_random
Yes, diff <(echo "$foo") <(echo "$bar") is fine.

By searching the bash manpage for the characters <(, you can find that this is
called “process substitution.”

You don't need to worry about the efficiency of creating a temporary file,
because the temporary file is really just a pipe, not a file on disk. Try this:

$ echo <(echo foo)
/dev/fd/63
This shows that the temporary file is really just the pipe “file
descriptor 63.” Although it appears on the virtual /dev filesystem,
the disk is never touched.

http://stackoverflow.com/questions/13437104/compare-content-of-two-variables-in-bash

Красавцы

diff <(echo "$foo") <(echo "$bar")

QTimer vs QElapsedTimer
det_random


Если в документации QTimer написано, что он «will never time out earlier then specified timeout value», и если засечь время QElapsedTimer-ом до запуска и после срабатывания таймера то, то полученный интервал НЕ ОБЯЗАТЕЛЬНО будет меньше таймаута. Под XP. А под Win 7 всё «ок». Агр-р-рх!

(no subject)
det_random
ну хер знает, на чистой машине всё взлетело, хотя и не без проволочек

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

[Qt] error: undefined reference to `vtable
det_random
Тысячу и один раз это отвечено на stackoverflow, и в тысячу и один раз начинается тупак под вечер, когда не удается вспомнить все возможные причины. Итак, причины error: undefined reference to `vtable и пути их решения:

  1. Класс унаследовал чистые виртуальные функции и не переопределил их. Определите их.

  2. Класс был объявлен наследником QObject с макросом Q_OBJECT после moc-а. Сделайте moc заново.

  3. Заголовочный файл не включен в проект или был включен до появления в нём Q_OBJECT-а. Пересоберите проект, либо (короткий путь) обновите таймштамп файла проекта и сделайте Build.
    Например, быстрый способ обновить таймштампы всех подпроектов:
    # find . -name '*.pro' -exec touch '{}' \;

  4. Макрос Q_OBJECT используется не в заголовочном файле. Нужно добавить #include "<BASENAME>.moc" в исходник, это укажет qmake-у выполнить moc для этого файла, чтобы сгенерировать код для QObject-а (сигналы/слоты и т.д.). Поместить #include "<BASENAME>.moc" нужно просто в конце файла <BASENAME>.cpp и затем пересобрать проект.
    За этот пункт спасибо ответу в вопросе http://stackoverflow.com/questions/21729769/why-is-vtable-linking-issue-while-adding-javascript-window-object.

И отдыхайте чаще. Во всех случаях.

[reposted post]Некоторые соображения и результаты
стандарт
mymaster
reposted by det_random
UPD Сбор успешно завершен, огромное спасибо всем вам!

Уважаемые друзья, я честно скажу - вы не перестаете меня поражать. По состоянию на ранее утро четверга (то есть за три дня сбора), удалось собрать 3 918 484 рубля. Если перевести это в доллары, и сложить с тем, что останется от нынешнего курса лечения, то получается без малого 146 тысяч долларов, или 58% от всей необходимой суммы (а мы собираем, напомню, 250 тысяч долларов, необходимых на неродственную трансплантацию костного мозга от донора). Честно сказать не знаю, видел ли русский интернет такую активность когда либо ранее... Вы действительно делаете вместе удивительное дело.

В городе моих друзей собралось 29200 человек, и это город отличных людей :) Спасибо вам огромное за это счастье - счастье жить, и счастье быть нужным. Первый сбор поставил меня на ноги, вернул к активной жизни. За время, прошедшее с ноября, удалось побороть боли, удалось набрать вес, - все это очень важно для того, чтобы можно было переходить к трансплантации. Ваша помощь, и ваши усилия дают огромный результат. Правильно написала доктор Демина: мы отвоевали у болезни еще больше времени и активной жизни.

Главное теперь, чтобы удалось перейти через границу того, что удавалось сделать в ноябре, и довести сбор до полной суммы. Суть тут в том, что клиника, принимая пациента начинает нести за него ответственность... то есть посреди процедуры на улицу они из чистого бокса выписать не могут. Это в общем то хорошо :) Но это и плохо - из-за этого, не видя полной суммы, в которую по их мнению обойдется трансплантация, клиника просто не решается начинать. Боятся, что долечивать придется за свой счет и просто не берут. Их можно тоже понять. И в результате получается, что нужно все именно для начала... Переписку мы уже начали по всем вопросам подготовки, нашли доноров - у меня их очень много - это большая удача. Целых 97 человек в мировом банке подходят мне в доноры по всем параметрам - это ОЧЕНЬ большая удача. Бывает люди ищут донора год, и не находят... Мне повезло. И мне повезло многожды, потому что вы решили помочь мне собрать необходимые средства.

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



Огромное спасибо многим тысячам людей, кто репостил/ретвитил и давал и дает ссылки на посты сбора. Это очень очень важное дело. Перепосты приводят сюда новых людей, которые узнают об истории, смотрят, оценивают - принимают решение. И мне кажется, что это очень важно. Эта история еще и повод объединиться, почувствовать, что люди могут вместе. В этой истории опять, как и в первый раз, нет каких-то гигантских пожертвований (хотя очень большие по моим меркам суммы встречаются) - это все таки сбор небольших сумм от очень многих людей. Поэтому тут важны каждые сто рублей. Наконец тут важна сама атмосфера поддержки и участия. Спасибо вам огромное за нее - в такой атмосфере хочется жить и действовать.

Спасибо огромное всем, кто принял участие в сборе! Спасибо всем кто планирует это сделать! Спасибо всем, кто потратил время и прочитал о моей истории. Вместе мы все - просто невероятная сила, побеждающая болезни и смерть. Будем жить!
Платежные реквизиты, все способы помочь, кнопочки...Collapse )
UPD: На 19 часов МСК 30.05 собрано 4 615 256 рублей. То есть практически 150 тысяч долларов, что в сумме с копилкой составляет 68% от необходимой суммы! Огромное спасибо всем кто поселился в городе моих друзей!


деление (компьютерное)
det_random
Неплохо, неплохо. А вы — знали?
Оригинал взят у avva в деление (компьютерное)
Прикольно - оказывается, инструкция idiv, деление со знаком, на x86 кидает исключение не только при делении на ноль, но и когда результат не помещается в регистр. А этого очень легко добиться, написав в C например INT_MIN / -1. Как мы помним, INT_MIN по модулю на единицу больше, чем INT_MAX; например, в 32-битных числах INT_MIN равно -2147483648, а INT_MAX равно 2147483647. Поэтому когда INT_MIN делят на -1, положительный результат не вмещается в 32 бита.

Само по себе это не катастрофа - ну кидает исключение, ну и подумаешь. Дело в том, однако, что про деление на ноль все знают и помнят, и проверяют перед попыткой делить. А против INT_MIN/-1 никто практически не защищается. Поэтому можно, например:

- крэшнуть компилятор (правда, игрушечный), PostgreSQL (не игрушечную) или антивирус;
- подвесить Windows 8;
- убить bash


Сибирский федеральный университет
det_random
(Продолжение. Оглавление.)

Сибирский федеральный университет находится не совсем в лесу, и этим на НГУ, например, не похож. А вахтой на входе — похож, вход только для своих, и это полнейший маразм. Почему-то НГТУ обходится без вахт, и ничего страшного не происходит. Но обо всем по порядку.

IMG_6077

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

IMG_6083
Read more...Collapse )

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

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

IMG_5904
Read more...Collapse )

You are viewing det_random