← All posts tagged programming

Каким-то образом при написании ieee754 умудрились придумать правила сравнения которые нарушают требования любой разумной теории порядка, даже рефлексивность. В результате для их обработки не остаётся ничего другого как вводить специальные функции обработки hackage.haskell.org

потыкал в sailfish sdk. Как-то не понял что они сделали. Вот был у них scratchbox, ну чем-то он их не устраивал, ну засунули они его в виртуалку — хорошо, стабильно и т.д. Ладно. Но зачем же они после этого ставят кучу говна снаружи виртуалки и сводят её роль по факту к запуску gcc? Даже make (!) зпускается на хостовой машине, дёргает там шельный обрубок gcc, который внутри себя по ssh лезет на виртуалку и там запускает реальный. Которому через shared folders подсовывается директория с исходниками. Вот я не шучу, всё реально так и делается. Зачем им вообще тогда виртуалка? Им же остался один маленький шажочек до того чтобы напрямую из хостового make высывать кросс-компилятор. И все! scratchbox можно выкидывать, виртуалку выкидывать, вообще всё выкидывать, всё будет как у столмана в 90-м году.

Ну и очевидно это не совсем работает. Helloword проект на cmake у меня даже не смог проинициализироваться, что-то там во временном makefile не прописывалось как надо, а запустить это руками вне qtcreator я не смог, у меня этот ssh проброс не работал, хз что ему там не нравилось. Helloword проект на qt собрался, но на телефон заливаться отказался, потому что... не содержал rpm спеку. И это при том что я ему выбрал вариант "copy binaries".

Зато шаблонный helloword qtquick проект собрался, залился и показал всё что надо. Ну хоть так.

И ещё я зашёл по ssh на виртуалку, там старый добрый scratchbox, cmake в него можно поставить и работать как в meego, видимо так и попытаюсь.

коллега поломал мой код и завёл на меня же баг, типа пофикси. На результаты бисекта огрызается "я ничего такого не менял". Я открыл тупо вебку гитосервера, и безо всякой отладки и чекауров нашёл его "такое" прямо там. Подмывает сказать "нет, это всё же ты, а как именно — ищи сам"

А я тут подумал — ведь дохуя программистов которые не воспринимают код как текст вообще. Им IDE само делает рефакторинг, переименовывает все вызовы и так далее. А тут внезапно надо мержить, и где-то поменялась переменная, а в другом месте ты её вызвал. Это уже непривычно и анноит, надо ходить по проекту и исправлять руками ошибки. А когда конфликт — это вообще пиздец, всё раскрашивается красным, их выкидывает из зоны комфорта на орбиту Юпитера.

а вы не замечали что последнее время отладочные символы не грузятся с майкрософта? В логе надпись "*** ERROR: HTTP_STATUS_NOT_FOUND". Вроде как началось после последнего апдейта.

родилась идея лайфхака — на whiteboard interview нарочно забыть где-нибудь толку с запятой. Ну, чтобы не тратить время на заведомых уёбков. Правда, они могут зассать и всё равно мурыжить час, а потом выдать dontcalluswecallyou.

Есть ли в сишарпе что-нибудь типа версий символов? То есть у меня Foo.dll есть метод Foo.Foo, который возвращает int, а потом мне приспичило возвращать string. Называть его Foo.FooString() как-то глупо. Можно ли сделать так чтобы код собранный со старой Foo.dll по имени Foo.Foo реально попадал бы на старую имплементацию метода, а с новой — на новую. Перегрузка, очевидно, не канает, так как тип возвращается.

Ненавижу фреймворки для логирования. Вечно как-то ебически переусложнены. Надо писать какой-то иксемель. Документация по ним как правило ебанутая к тому же, но хуже всего то что по дефолту они нихуя не пишут. Ну и зачем они тогда, блядь, вообще? Если программа уже попала ко мне в руки, я и без них справлюсь. Мне, блядь, надо узнать, что там произошло у кастомера, что у него сервер недоступен, у меня-то всё работает. Ну да, ебанаты у нас инсталлер делают, не пишут нужный хендлер, но ты, блядь, когда пишешь Trace.Write(), поинтересуйся, он вообще где-нибудь оказывается в итоге. А то ведь можно было бы и не писать вообще. Или нужно, может, что-то другое писать, у нас же, сука, легаси.