?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

Entries by category: эзотерика

Спросонья лезет в голову всякий бред
metaclass
Охранный амулет от паттернов, ORM, хипстерства, NoSQL и "духа стартапов":
фигурка крокодила в казачьем костюме с томиком русской классики в одной руке и книжкой по СУБД в другой.

Пидарасы с МТС
metaclass
1) При активации автоматом включаются "бесплатные" услуги. Отключить с веб-морды нельзя.
2) Через месяц услуги становятся платными. Теперь придется пиздовать ногами к ним и отключать это говно, чисто из принципа "пидарасам ни копейки".

Абонентская плата «Мелодии дня» 19.12.2012 3600,00
Абонентская плата услуги "ТОНИНГ" 19.12.2012 3600,00

Надеюсь, что те, кто придумали подобное и те, кто реализовал его в виде программного кода в их биллинге, будут гореть в специальном аду.

PS: Услуга отключается на отдельном сайте с отдельного веб-интерфейса https://toning.mts.by/.
По законам жанра, вход на этот сайт с своей учеткой и паролем должен автоматом активировать все оккультные услуги :)

Про Scala
metaclass
http://lex-kravetski.livejournal.com/424713.html
Все сомнения о том, что какие-то штуки не будут работать, всё развалится в самый последний момент, возникнут непредвиденные сложности с языком, будет чего-то важного не хватать и так далее, они логичны и обоснованы, однако эксперимент показал, в случае со Scala такого не происходит. За полгода разработки я не встретил ни одной непреодолимой сложности, всё работало, из Java вызывалось и так далее.

Реальный выигрыш будет в основном для тех, кто уже сейчас пишет по сути на Scala, только под Явой. То есть использует похожие концепции для выражения своих мыслей и понимает эти концепции. Тот, кто в некотором смысле сам для себя их «изобрёл». В этом случае он получает инструмент, при помощи которого пользоваться ими на порядок проще, и начинает переться. Те же, кто копипастил, не видят перемен к лучшему — какая разница, где копипастить? Они видят только, что синтаксис другой, а их коллеги повсеместно используют какую-то долбанную магию вуду.

Все то же самое, дословно, можно сказать про Clojure или F#.
Tags: ,

По мотивам
metaclass
Я придумал, как проводить собеседования. Достаточно спросить, откуда человек берет исходный код, когда пишет программы.
Если он ответит, что видит/слышит/ощущает указания пауков из потустороннего мира и ему остается только записать то, что они сказали - можно брать.

Свежее чертово вуду с /dev/ttyS*
metaclass
Есть несколько прог, работающих с ком-портом:
minicom - полноценный терминал, понимает модемы, куча настроек и прочая.
microcom - тупой минимизированный терминал.
stty - родная прога для управления параметрами терминала
cat /dev/ttyS0 и echo -e "CHERVIE\r" >/dev/ttyS0
и моя софтина для управления железом.

И имеется такой симптом: иногда после запуска minicom порт превращается в такую тыкву, что open("/dev/ttyS0", O_RDWR) виснет. Соответственно, microcom, cat и моя прога виснут. minicom и stty - нет.
Если поменять настройки порта с помощью stty - начинают работать опять:
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 -echo -parenb cs8 -crtscts -ixon -ixoff clocal cread icanon icrnl ignpar
Похоже, что основная проблема в настройке clocal - если этот флаг установлен, все работает, иначе открытие виснет.
Заглянул в исходники minicom - делают чертовейшее вуду. Открывают порт с O_NDELAY, затем сбрасывают этот флаг. И далее, получив рабочий дескриптор файла - меняют его настройки.

PS: И вот как бы это следующее найти в мане, а не в гугле:
The O_NDELAY flag tells UNIX that this program doesn't care what state the DCD signal line is in - whether the other end of the port is up and running. If you do not specify this flag, your process will be put to sleep until the DCD signal line is the space voltage.

Нашел вуду в Linksys WAG320N
metaclass
Если открыть http://адрес_модема/setup.cgi?next_file=adsl_driver.htm, то он покажет вуду информацию про ADSL - SNR и прочее и там же можно настроить адрес syslog сервера.
Что характерно, ссылки на эту страницу с обычной веб-морды нету.

Кричащий пузырь "уйди-уйди"
metaclass
Есть очевидно безумные вещи, одна из них - это пластиковый шарик внутри банки с гиннесом. В теории он нужен для придания пиву нужной консистенции, а на самом деле это вуду и безумие, чтобы отличаться от других.
Одна от него польза - выколупал его из банки, помыл и отдал ребенку играться. :)

F#, Reflector, Firebird и кодогенерация (ака вуду^4)
metaclass
Смотрю .NET Reflector на внутренности программы на F# и всячески торчу.
50 строк на F# разворачивается в четыре автосгенеренных класса-замыкания, автоматически управляющих десятком объектов для доступа к базе данных и все это в итоге представляет собой функцию "коннект к Firebird -> хитрозаколдованная структура с данными".

А я еще собираюсь и сам код на F# сгенерить из результатов парсинга запросов в БД, чтобы вообще руками ничего не писать, кроме SQL запросов. Т.е. "чтобы было все и мне за это ничего не было".

Т.е. идея примерно такая:
1)есть структура реляционной БД - мне в ее категориях проще проектировать и думать.
2)есть запросы к ней и связи между ними - которые мне тоже проще придумать, чем делать маппинги в ORM или писать запросы на LINQToSQL, который вообще не факт что поддерживается для Firebird.

Я описываю запросы на SQL, кодогенератором автоматически конвертирую их в функции F# вида ("коннект к БД" -> "параметр запроса 1" -> "параметр запроса 2" -> ... -> "ленивая последовательность записей с результатами").
Затем полученные функции я собираю в законченную структуру, описывая связи между ними уже на F# и получаю на выходе что-то вроде "Запись, поля которой представляют собой ленивые последовательности с результами запросов, причем внутри эти результатов могут быть такие же поля - ленивые последовательности с результатами вложенных запросов".

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