to post messages and comments.

Друпаловская тусовка расколота: из из сообщества изгнан БДСМ-разработчик друпала, и теперь там и сям петиции с угрозами, чтобы его разбанили.

В те редкие моменты, когда я вынужден был иметь дело с друпалом, я отчаянно искал слово, которое описывает процесс разработки под него. Вот: БДСМ это слово. Так вижу.

потыкал в 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, видимо так и попытаюсь.

Собрал Caffe под гейбуком, бранч clCaffe (которое OpenCL). AMD-шные clblas, clfft с гита туда вставил, как предусмотрено.

Таки работает: когда тренирует сеточку, графика вперде: даже мыша с трудом ездеет, и загрузка GPU показана дофига (а CPU 20%).

По производительности Intel Iris Graphics 6100 заявлено 844 GFlops.
У меня дома есть старинная nVidia GT 640 rev2. У нее 804 GFlops.

Так вот, количество картинок в секунду у них приблизительно одинаково.

Однако, прикольно. Ну, это почти топовая интеловская видяха карточка, к тому же в ноутбуке.

кто хочет поработать на благо военки в славном городе гатчине (от питера добраться просто) за какие-то 80-90к (если все уметь) или на сколько-то меньше, если быть готовым учиться. Делать так чтобы корабли меньше тонули, а на складах было меньше ЧП, ну или хотя бы чтобы об этом узнали все кому следует знать. Там всякие C + возможно что-то более высокоуровневое можно.
Говорят секретности или нет или та, что проблем с загран паспортом и выездами не будет.

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


Антивирус Куранина New Age Edition

Год/Дата Выпуска: 2017
Версия: 1.8.3.1 Build 40 beta
Разработчик: KurSecurityProtection | Куранин Илья
Сайт разработчика: kuranin.net

Разрядность: 32bit, 64bit
Язык интерфейса: Русский
Таблэтка: не требуется
Системные требования: Microsoft Windows Whistler, Windows XP (SP2 и выше), Microsoft Longhorn, Windows Vista, Windows 7 (Seven), Windows 8, Windows 8.1, Windows 10, Windows Server Standard/Enterprise 2003 (от SP2), Windows Server Standard/Enterprise 2008 R2, Windows Small Business Server (Essentials/Standard) 2011, Windows MultiPoint Server 2011, Windows Standard R2/Foundation Windows Server 2012, Windows Server 2016 Essentials/Standard (x32/x64 bit)

Процессор: от 800 Mhz и выше

Оперативная память: от 128 Mb RAM

Место на жестком диске: от 100 Mb


Дополнительные требования: Microsoft Internet Explorer 8 и выше.

Описание: Антивирус Куранина — комплексный защитный программный продукт, основанный на инновационных технологиях XXI века. Включает в себя все необходимые компоненты, такие как базовая (Basic) и эвристическая (HIPS, Behavior) защиты. Отличительной особенностью продукции компании KurSecurityProtection является возможность ее бесплатного использования не только на домашних компьютерах, но и в небольших/крупных корпорациях, на файловых серверах и т. д. Мои приложения высоко ценятся не только простыми пользователями, но и ведущими специалистами в области информационной безопасности.

Из основных нововведений можно выделить следующее:

1) Облегченная работа программы даже на слабых компьютерах;
2) Уникальная технология обнаружения "Ano Protection", способная выявить даже новые и неизвестные модификации вредоносного ПО;
3) Не требует наличия платформы .NET Framework, работа антивируса осуществляется на низкоуровневом Root командном процессоре;
4) Поддержка красочных шкурок на любой вкус и цвет
5) Возможность обновления версии модулей без переустановки антивирусного пакета
6) Возможность локального обновления (без наличия доступа к сети Интернет)
7) И многое другое...

Что такое паутина коллективного разума "Kuranin Security Network"?
Это уникальная запатентованная система, при помощи которой все пользователи антивируса Куранина объединяются в сеть безопасности, за счет чего усиливается уровень конфиденциальности данных.

Сразу отвечаю на вопрос, "откуда я беру антивирусные базы?"
Для меня открыт доступ к таким архивам вирусов, как VirusShare, VirusSign, VXvault etc, где по требованию предоставляются соответствующие материалы.

Приобретите бесплатную безопасность уже сегодня!

Из интернетов:
"Байт-код зевнул и поковылял к кровати. Хорошенько взбив подушку, он лег, накрылся одеялом и тотчас же уснул. Снаружи наступила ночь. Всё повторится на следующий цикл, но никто не знал, будет ли всё то же самое или же немного изменится. Из газет все знали что причин для неоптимальной работы не было, но странные явления всё-таки присутствовали, о чём сообщало радио "Эхо Глобального Кэша" и газета "Электрон", но о которых не сообщали официальные газеты. Чипоновский активно набирал электорат, множество протестно настроенных байт-кодов."

opennet.ru <opennet.ru>
При обновлении GCC 7 некоторые пакеты в Fedora перестали собираться и уполномоченным разработчикам пришлось в экстренном порядке вносить правки (как правило замена printf(variable) на printf("%s", variable)), не дожидаясь реакции мэйнтейнеров
Типы нинужны.

Это просто праздник какой-то: linux.org.ru
"Состоялся первый публичный релиз системы управления версиями Pijul 0.3, написанной на языке программирования Rust. Pijul объединяет в себе производительность git и простоту использования darcs. Основанная на модели теории патчей, система Pijul направлена на то, чтобы сделать операции слияния и забора определенных коммитов (cherry-pick) более интуитивным.
Pijul можно установить при помощи Cargo (пакетного менеджера для Rust): команда cargo install pijul соберёт самую последнюю версию. Минимальная для сборки версия Rust — 1.15.1."

Вот и появился скриптовый язык моей мечты: github.com
"Documentation
Gluon is a small, statically-typed, functional programming language designed for application embedding.
Features
Statically typed — Static typing makes it easier to write safe and efficient interfaces between gluon and the host application.
Type inference — Type inference ensures that types rarely have to be written explicitly giving all the benefits of static types with none of the typing.
Simple embedding — Marshalling values to and from gluon requires next to no boilerplate, allowing functions defined in Rust to be directly passed to gluon.
UTF-8 by default — Gluon supports unicode out of the box with utf-8 encoded strings and unicode codepoints as characters.
Separate heaps — Gluon is a garbage-collected language but uses a separate heap for each executing gluon thread. This keeps each heap small, reducing the overhead of the garbage collector.
Thread safe — Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel (example)*
* Parallel execution of gluon programs is a recent addition and may still have issues such as deadlocks."

blog.rust-lang.org
"The largest addition to Rust 1.16 is cargo check. This new subcommand should speed up the development workflow in many cases."
Мощно:
"When slicing a &str, you’ll see better errors. For example, this code:
&"abcαβγ"[..4]
Is incorrect. It generates this error:
thread 'str::test_slice_fail_boundary_1' panicked at 'byte index 4 is not
a char boundary; it is inside 'α' (bytes 3..5) of `abcαβγ`'
The part after the ; is new."

Открыл для себя Vert.x, плюс Kotlin = полностью асинхронное всё: http сервер, https (!!) клиент, кафка, постгрес, вебсокеты уже то понятно. В котлине 1.1.1 все на корутинах.. прямо скала. Адопшн кажется будет побольше чем у скалы, поэтому ожидаем вскорости бум. С небольшим набором корутинных врапперов пишем буквально следующее:

    suspend fun graphAPI(request: String, access: String) : JsonObject {
        val resp = VX.getJson("https://graph.facebook.com/v2.3/$request&access_token=$access")
        when(resp.statusCode) {
            200 -> return JsonObject(resp.response)
            else -> throw IOException("Facebook invalid response: "+resp.toString());
        }
    }

        when (req.path()) {
            "/register_server" -> {
                exec("delete from other_servers where ip_address=${v(param("ip"))}")
                exec("insert into other_servers(ip_address, hostname) values(${v(param("ip"))},${v(param("host"))}) ")
                commit()
                output(JsonObject(Pair("result","OK")))
            }

(во втором куске кода sql bindings безопасные если шо)
(может можно кое что еще проще, пока не знаю как)
(обработка ошибок, выделение коннекшнов, транзакциы всякие итп - все снаружи)
(ексепшны в котлине отлично дружат в асинхронном коде)
(а и не скажешь, что асинхронный, верно?)

21 век настал.

А есть ли какие-то флаги для GHC RTS кроме -H, которые могут повлиять на то, при какой занятости кучи врубается GC? -H поднимает минимальную планку, которая suggest'ится в RTS, а свипы все равно срабатывают на 30% загрузке емнип. Хотелось бы флажок, который бы оверрайдил эти 30%, а не потенциально блоатил кучу.

Коллективный разум, помоги отдебажить: тестировал приложение яндекс-танком(нагрузочная тестилка такая), обнаружился странный момент — если дать постоянную нагрузку без "простоев", то приложение в какой-то момент перестает отвечать за разумное время(я в танке жду 60с и это совсем неприемлимо, в нормальном режиме за 10-15 отстреливает), как будто у него внутри локи какие-то, а проц до конца даже и не догружает. GC сейчас гляну(пока компилит), но вообще не очень понятно куда и как копать.

Оказалось, что даже при использовании WSF файлов модульность получается условной. На деле во время выполнения весь код как бы сливается в один большой скрипт, и для простых функций Private и Public теряют смысл. То же самое касается переменных и констант на верхнем уровне. Похоже, единственный способ заизолировать код – пихать всё в классы. Тоесть один файл – один класс. Плюс там же в файле «модуля» объявлять переменную и тут же присваивать ей объект этого класса. Объекты все создадутся при старте скрипта нормально, но, разумеется, придётся указывать переменную при вызове функций. Пичалька.

А какие существуют рекомендации по дефолтному количеству ядер и вообще железу для хаскелльных приложений? Есть приложение, где не получается честно замерить пока что, а рекомендации по железу уже нужны. С ОЗУ там понятно — чем больше, тем лучше, а по количеству ядер ЦПУ капается производительность где?

Если у нас сокеты, скажем, в каком-нибудь Net::HTTP, и случается ошибка, то вот вот это:
$stderr.puts "Ошибка: #{ e.message }"может кончиться этим:
incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)Поэтому нужно делать так:
$stderr.puts "Ошибка: #{ e.message.force_encoding("windows-1251").encode("UTF-8") }"Собственно, это результат мышления в стиле «двух кодировок» и «какой-такой UTF-16 я в линупсах привык к UTF-8 и доки не читаю».
pics.lindachan.net

Давно, отседова уже и не видно, мне выпала лёгкая задачка про программированию. У некоего гражданина был комплект картинок с БК-11М, созданные в его программе по его специальности. Мне нужно было эти картинки перетащить на PC. "Картинки" это просто набор бит. 0-чёрный пиксель, 1-белый., без заголовков. Ну что там делать? берём картинку, инвертируем (пожелание клиента), пришиваем заголовок BMP, получаем картинку на PC. Коротенькая программа, натравливаем на каталог, на выходе получаем полное собрание иллюстраций для учебника. Открываем любую бмпшку и... бляяять!? чтозанахуй!? То, что картинка в зеркальном отображении по горизонтали, это ладно. Но блять там же обратный порядок бит в байте! Чуток поколупавшись всё сделал как надо. Но теперь не надо мне рассказывать про big endian vs little endian, я это видел так наглядно, наглядней просто некуда. Жаль, тогда я не знал как это называется и не соотнёс со Свифтом и его "остроконечниками" и "тупоконечниками"...

bnw.im "I sexually Identify as a full-stack developer. Ever since I was a boy I dreamed of soaring over the codebases dropping hot sticky patches on disgusting bugs. People say to me that a person being a full-stack developer is Impossible and I’m fucking retarded but I don’t care, I’m 10x. I’m having a devops install node.js, React and MongoDB on my workstation. From now on I want you guys to call me “El Stacko” and respect my right to write both Node.js AND React. If you can’t accept me you’re a stackphobe and need to check your platform privilege. Thank you for being so understanding."