← All posts tagged WTF

qnikst
programming WTF а в чем плюсы от того, чтобы пытаться угадать порт, который открывать, вместо того, чтобы передать 0 и посмотреть, что ведро выдало? Уже не в первой библиотеке встречаю такой идиотизм. При этом они действительно открывают любой порт, а не только в какой-то области или т.п.
qnikst
WTF Haskell seL4 Из seL4: Formal Veri cation of an OS Kernel

As a compromise that blends both views, weadopted an approach [19, 22] based around an in-
termediate target that is readily accessible by both
OS developers and formal methods practitioners. It
uses the functional programming language Haskell to
provide a programming language for OS developers,
while at the same time providing an artefact that can
be automatically translated into the theorem proving
tool and reasoned about

серьёзно что-ли?!
qnikst
WTF code R-lang
читаю доку про SEXP вижу: RAWSXP
    length, truelength followed by a block of bytes.  читаю исходники: INLINE_FUN SEXP ScalarRaw(Rbyte x)
{
    SEXP ans = allocVector(RAWSXP, (R_xlen_t)1);
    RAW(ans)[0] = x;
    return ans; вот какого черта?
qnikst
? WTF zeromq поидее же для PAIR возможно только пара PAIR->PAIR. При этом The zmq_socket_monitor() function shall spawn a PAIR socket that publishes
socket state changes (events) over the inproc:// transport to a given endpoint. При этом zmq_socket_monitor можно подключить к Router (XSUB), это конечно круто, но какого спрашивается черта и где в доках неточность?
qnikst
WTF code zeromq
я понимаю что код кривой, но почему следующий код приводит к тому, что мне бесконечное число раз приходит единственное посланное сообщение (т.е. zmq_close) асинхронный, но поведение совсем неожиданное:
qnikst
WTF Haskell решил перевести какой-нить монадный трансформер на эффекты (нужно,чтобы лучше их понять), т.к. самому придумывать интересный пример лень, пошёл
на haskell wiki — нашёл вроде, решил проверить не реализовали ли на hackage.. обнаружил, что половиду моей конечной цели сделали,
решил поглядеть реализацию, увидел что про-теряно половина сути либы, написал тесты — действительно все к чертям валится и надо
писать патчи (сравнимые с размером либы).. ну как так жить..
qnikst
WTF hackage с новомодным автопереписыванием .cabal на hackage у файлов меняется чексумма, а существует ли какие-либо механизмы, для тестирования что файл не подменили.. или хакадж не поломали, это ж нулевая секурность..
qnikst
WTF блин.. похоже и в правду наиболее популярным в своей области инструментом становится самый плохой из позволяющих решить задачу.
qnikst
? WTF Haskell в общем вчера пол дня бился со следующей проблемой суть которой я так и не понял. Есть:

в сишной либе:
tyedef foorec { ... } foorec, *foo;
extern *foo F_foo;

в c2hs файле:
data FOOREC = FOOREC
{# pointer *FOOREC as FOO -> FOOPREC #}

foreign import ccall unsafe "&F_foo" fFoo :: Ptr Foo

Значение в коде получается как:

f <- peek fFoo

Тут поидее все правильно, а вот дальше..

В обычном исходнике всё хорошо, а вот в ghci — мистика, если вызывать peek fFoo, то результат отличается, если мы это делаем в top-level сессии и если мы это делаем внутри функции:
т.е.
h = peek Foo (внутри файла)
x1 <- peek Foo (внутри сессии)
x2 <- h
x1 == x2
False

я нашёл серию хаков позволяющих сделать обход этой проблемы, но это жутко не красиво, да и учитывая, что в executable всё хорошо, хотелось бы обход использовать только для ghci.

а). Почему так? б). Куда копать, чтобы понять почему так получается? в). можно ли написать код в хакцельной либе так, чтобы код для executable и для ghci отличался, т.е. что-то типа

#if _IN_GHCI
p <- readIORef globalHack
#else
p <- peek fFoo
#endif
qnikst
WTF Haskell ненужный_пост сижу, смотрю в код и вижу, что он должен неправильно обрабатывать один из случаев, при этом уже минут 15 не могу
сделать тест, доказывающий это, при этом код проходит квиктестовые тесты, а hpc говорит, что проблемное место посещается
qnikst
Java WTF Haskell блин ну это уже не серьёзно... такое ощущение что какая-то из программ зависит от фазы луны^W^W вчера и позавчера тот же код работал в 3 раза быстрее
qnikst
WTF Haskell надо приучить бить себя по рукам, если при вызове внешних программ или сложных FFI или сетевого взаимодействия пытаюсь возвращать тип отличный от Either SomeException (тип_который_ожидаю).