← All posts tagged programming

amyodov
programming А кто-нибудь знает какой-нибудь десктопно/интерактивный вьюер логов, в котором можно было бы легко задать критерий (например, значение поля в логе, содержащее thread ID), и этот вьюер показывал бы логи не в одну колонку, а в несколько, наподобие sequence diagram — из каждого конкретного thread-а в соответствующей ему колонке?
amyodov
programming Шёл 2017-ый год.
Миллионный страдалец, отчаявшись решить проблему с говноподелкой 80-ых годов и времён мейнфреймов с телетайпами, зашёл на Stackoverflow и нашёл там спасение в статье stackoverflow.com
amyodov
NoSQL MongoDB programming Кто там хотел ACID и «нормальное хранилище вместо основанного на mmap-е» в MongoDB?
Встречайте MongoDB 2.8.0 rc0 с подключаемыми storage engine-ами, и, в качестве «первого пробного камня» — WiredTiger, от архитекторов Berkeley DB в Sleepycat Software (купленном потом Oracle-ом): blog.mongodb.org
amyodov
programming mesh Кто-нибудь знает какие-нибудь mesh-сети/протоколы, которые бы, с одной стороны, не требовали никакого центрального координатора (как требует ZigBee) – то есть каждый узел был бы самодостаточен? А с другой стороны, устанавливали соединение с новой сетью за время порядка секунды, не больше?
Этакий mesh UDP, для бродкастов своего состояния соседям и на несколько хопов вглубь.
amyodov
programming Хелп нид. Ни у кого случайно под рукой нет диаграммки/таблички, в которой бы наглядно сравнивалась скорость различных примитивных программных операций? Типа, cached memory read, non-cached memory read, SSD read, HDD read, network read? Вспоминаю, я такую видел, но найти не могу с лёту.

А ещё мне кажется, что на той диаграмме не было информации, сколько времени занимает переключение в режим ядра и сколько занимает переключение между потоками. А вот это мне сейчас как раз интересно.
amyodov
Apple WWDC Objective-C Swift programming Пролистал книжку про Swift.
Да, приятные фенечки есть, даже много (например, весьма порадовала фенечка с optional chaining, пришедшая явно из функционального мира и композиции функций с монадой Maybe; или там возможность сделать observer на любое property; ну, выведение типов опять же).
Но, как и в Objective-C, жутко не хватает сопроцедур и функций-генераторов. И, соответственно, каких-нибудь fiber-ов на их базе. Впрочем, подозреваю, для этого понадобится много чего изменять в LLVM...
Зато нет никаких указателей, уже за одно это можно быть благодарным :)
amyodov
Juick nolj programming Напомню, что чеклист для любого разработчика, реализующего на сервисе механизм рейтингов и кармы, состоит из одного пункта:
[ ] Прочитать про доверительный интервал Вильсона для параметра Бернулли (http://habrahabr.ru/company/darudar/blog/143188/ — рус, evanmiller.org — оригинал на англ.)
amyodov
politics Valve interesting programming washingtonpost.com — Гейб Ньюелл из Valve рассказывает об управлении компанией — и, в частности, использует интересный подход к управлению крупной компанией как к задаче по масштабированию:

“Part of me as somebody with a computer software background thinks most systems that have trouble scaling it's because of internal communications bandwidth problems. If you look at the old way of doing things called master-slave computing systems, they tended to clog up around I/O if you really want to scale something to huge levels what you have to do is have as much local data as possible and minimize the amount of shared state between all of the different processors. That's a description of about how some engineer at Google who is thinking about how they do search, but it applies to organizations just as much as describing very, very large computing problems.
I actually think that it's testable, and we'll find out. I think our structure will work better than most of the older command and control type hierarchical systems that require a huge amount of shared state between everybody, and move very ponderously, and have to throw away huge amounts of data because otherwise the person at the top can't possibly know what every single person at the organization is doing. To me it always seems like a lot of those organizations, the person at the top seems incredibly ignorant of the actual experiences of their customers. And it's really that if everything has to go through that one person they have to trivialize and simplify everything down to stuff that is really sort of a caricature of what is really going on in their organization or for their customers.”

Казалось бы, при чём тут Путин.
amyodov
news interesting programming Рождество — это время сказок, милости и прощения.

Вот и ещё одна затянувшаяся история закончилась как раз на сочельник, ещё один гештальт закрыт, ещё немножко легче и радостнее стало в мире.

С 24-го декабря официально вступает в силу Королевское помилование для Алана Тюринга.

bbc.co.uk
amyodov
politics lytdybr programming Слушайте, а у нас сейчас Госдума же всё равно безумная, и каждый новый принятый законопроект страннее предыдущего, да?
Так давайте хоть какую-нибудь пользу от этого получим, а? Куда выставить законопроект о введении на территории всей России одной таймзоны, причём UTC?

(Сорри, рабочим навеяло).
amyodov
Linux Golang Yandex programming Хороший вопрос подняли (но недотянули) сегодня на Go Moscow Meetup — а почему языки с green threads и, в частности, Go, не использует шедулер ядра для их шедулинга и прочих фишечек? Там бы могло быть и вытеснение, и thread affinity...
И вообще, в ядре Linux есть какая-нибудь реализация fibers? Чтобы её для этого как раз можно было использовать.