Чтобы добавлять сообщения и комментарии, .

@SannySanoff:
SannySanoff

Китайцы натравили deep learning на физиономии жуликов и нормальных людей, написали, что прикольно получается находить по рожам склонность людей к преступлениям (бывшим и наверное будущим)

Кроме всяких кривых, характеризующих насколько часто результаты расходятся с тем, как оно на самом деле, они задались вопросом "так что же характеризует жулика"? Расковыряли, стало быть, признаки, усреднили морды, и получилось, что, физиономия жулика — с насупленными глазами и опущенными уголками рта, а физиономия праведника — с круглыми глазами и улыбающимися губами (Figure 6), как смеющийся смайлик, короче. Только это все в микро-дозах на фоточках, а сеточка это как раз и ловит.

arxiv.org

@justonemore:
justonemore

Тёлка в программировании: youtube.com

@SannySanoff:
SannySanoff

Блютус LE в андроеде еще более ужасен чем в ios.
Смотрите, я объявил GATT Server, там залистил сервис:

public static final String MY_SERVICE = "a8a80b14-7958-42e5-9c69-26e20107ef8a";

В те редкие моменты, когда другой девайс смог подключиться к моему GATT серверу и прочитать список сервисов, он выдал вот что:

12-07 21:02:48.448 27602 27635 I BLEAPP : Service found 8aef0701-e226-699c-e542-5879140ba8a8

Байты в UUID идут задом наперед!!! Да, все ююиды у меня принимает и возвращает android bluetooth API, это не я нахомутал. И нет, это не endianness.

Это faggotry.

@shabda:
shabda

m.lenta.ru

@justonemore:
justonemore

Написал в своём коде на ЯваСцэнарии строчку

console.log('There is no such constructor as ' + constructor + '!');
И сегодня эта строчка меня таки выручила так как в консоли вывелась и я сразу понял в чём проблема. Со мной такое впервые.

@pololome:
pololome

Нашел язык программирования для гопников. Я так давно не смеялся.
yopta.space
github.com

@tzirechnoy:
tzirechnoy

Компания Mozilla опубликовала финансовый отчёт за 2015 год (via linux.org.ru ): mozilla.org

Что меня действительно удивляет — как можно за пол-миллиарда баксов выпускать такое говно? Я дажэ не про "не стыдно", я про то, что там какой-то средний уровень проектирования фичей где-то похужэ комплекта user.exe+gdi.exe+vfw+opengl 1.2, а уж уровень реализацыи просто нижэ плинтуса.

@max630:
max630

эта срань уже у меня в rss: paulspontifications.blogspot.com надо бы покомментировать, но там много букв и непонятно, он за энгельса или за каутского.

@justonemore:
justonemore

Московский хакатон в стрипушнике
ebanoe.it

@justonemore:
justonemore

Программирование как оно есть.

@qnikst:
qnikst

Вопрос про тесты:
1. есть поведение программы, оно неправильное, но прям сейчас починить нельзя
2. есть тест, он может быть написан так, что проверяет текущее (неправильное) поведение, может быть написан, что будет проверять правильное (но тогда падать)
Вопрос, что делать с тестом:
a. написать правильный отключить создать тикет, в коде оставить ссылку на тикет, в тикете ссылку на код
б. оставить тест проверяющий текущее поведение + тикет
в. как 1, но вместо отключения инвертировать результат

@qnikst:
qnikst

хочу fork и сигналы на винде, без оверхеда, кого позвать?

@qnikst:
qnikst

TFW пишешь тесты руками

giphy.com

Hughes на самом деле про это и говорит

@segfault:
segfault

autumnofcommunion.bandcamp.com

@justonemore:
justonemore

Пизде каких задротов выпустили на сцэну.
youtube.com

@qnikst:
qnikst

И какие-нибудь удобные форматы для упаковки чисел есть? Мне нужно компактно писать uint_64t, uint_128t с учетом того, что скорее всего большинство значений будут не очень далеко от 0?

@mismatch:
mismatch

Thinking In Parallel — а нужно ли распараллеливать решение задачи? Всегда ли это уменьшает время решения? Вопрос распараллеливания — это вопрос оптимизации. Об этом и не только говорит Brian Goetz в этом видео.

@O01eg:
O01eg

forum.simutrans.com Эпичная история про гонки:
"I have been working of late on the multi-threading of the passenger and mail generation in an attempt to make it network safe, and have encountered some complexities on which I should appreciate others' views as to possible solutions, and on the solutions that I propose below.
Firstly, I have dealt with the RNG problem by making the random seed and associated variables thread local, and re-initialising them on each thread when the threads are initialised. This will, however, have the effect that a single-threaded build will not stay in sync with a multi-threaded build. I will therefore need to have the option of keeping the multi-threading of passenger generation single threaded in network mode in case anyone wants to connect a single threaded client to a multi-threaded server or vice versa. There will need to be an explanation in the comments to simuconf.tab that disabling multi-threading of the passenger and mail generation will be necessary if single and multi-threaded clients/servers are to be connected together. I have already changed config.template to make enabling multi-threading the default.
Secondly, I have also changed the way in which the amount of mail and passengers to generate each step is calculated again to make it network safe. It is somewhat difficult to make this as accurate when done in parallel than when it was single-threaded, but the overall results should be deterministic and scale properly. Again, however, this will make single threaded clients incompatible with multi-threaded servers and vice versa. I do wonder whether it might be worthwhile indicating in the splash screen whether a given build is single-threaded.
The further issues are more complex. The next issue relates to the generation of pedestrians and private cars. Both of these are generated during the stepping of mail and passengers when passengers take a private car to their destination (in which case, a city car graphic is created) or when passengers walk either to their destination or to a stop, in which case pedestrian graphics are created.
Pedestrians are more straightforward, as, once created, they do not interact with any other objects. They do, however, call simrand() in various places when they are sync-stepped; but am I correct in deducing that, because they will always be sync-stepped from the main thread, simrand() will always be called in the same order even if each individual pedestrian object may be created in a different order (and therefore in the sync list in a different order) on each client?
Private cars are more tricky. They have the same issues as pedestrians, but also another issue: they interact with each other and with player vehicles on the roads. A particular problem might occur if one particular building during any one step creates multiple city cars. These would potentially be created in a different order on different clients. When multiple city cars are generated on a single tile in a single step, they form a stack, and the cars drive off the stack one by one, each waiting for the last to leave the next tile before moving, until none remains. I infer that the order in which they leave the stack will depend on the order in which they are inserted into this stack. This will lead to desynchronisations if different cars have different destinations (which will affect the probability with which they turn in any given way at junctions), different maximum speeds and different "time_to_life" durations (which, in experimental, are all based on the actual expected journey time of the particular packet of passengers taking the car rather than being a fixed number)..."

@OCTAGRAM:
OCTAGRAM

Если NGEN.EXE в .NET создаёт обычный машинный код, то и вызовы методов там должны быть какие-то такие, чтобы переживать изменения в зависимостях. В частности, про NGEN пишут такое (источник цитаты не понятен, но есть подозрение, что «CLR via C#» Джеффри Рихтера):
NGEN can't make as many assumptions about the execution environment as the JIT compiler can and therefore will produce unoptimized code.
For example: it adds indirections for static field access because the actual address of the static fields is known only at run time.

То есть, такой неафишируемый аналог SOM по сути, ведь после закрытия лавочки в IBM над .NET те же люди работали, Дженнифер Гамильтон, в частности. Ковырнул библиотечку из Native Image Cache в IDA, там какой-то ужас. Многочисленные нормально выглядящие поначалу функции вдруг содержат на ровном месте db 4 dup (0CCh), ломающий анализатор кода. Ни прыжка, ни потенциально безвозвратного вызова перед ними нет, ничего. Те же функции, которые были распознаны, не имеют перекрёстных ссылок. Надо, видимо, какой-нибудь класс экспортировать в COM, пройтись по нему NGEN.EXE, написать программу, которая создаст объект этого класса и войдёт в метод, чтоб иметь возможность сравнить результат деятельности NGEN.EXE с исходным кодом. Как это всё сшивается, по сравнению с SOM пока совсем не понятно.

@SannySanoff:
SannySanoff

к нам приехал, к нам приехал, приехал мне Titan X PASCAL!!

@OCTAGRAM:
OCTAGRAM

J. Hamilton. A model for implementing an object-oriented design without language extensions
Почитал. Выходит, селекторы должны указывать на смещение внутри таблицы виртуальных методов, а эти таблицы в общем случае должны предусматривать селекторы вообще для любого метода любого класса, а то, что на самом деле там их меньше, — это оптимизация. Этот доклад ссылается на объектные модели Smalltalk и Objective-C, в которых одиночное наследование, при этом ссылка на этот доклад найдена в книге «Programming with DirectToSOM C++», где модель однозначно поддерживает множественное наследование. Однако, в принципе, понятно, как применить одно к другому. В случае Smalltalk и Objective-C объектная модель плоская, допускающая коллизии между селекторами никак не связанных между собой классов, и именно разруливанию этих ситуаций посвящён доклад. А в SOM одноимённые методы классов так конфликтовать не могут, поскольку жетоны методов функционально эквивалентны кортежу из ссылки на класс-объект и имени метода. Однако конфликт возникает в другом месте, если мы пытаемся сделать у каждого класса таблицу виртуальных методов с поиском по индексу. Любое множественное наследование приводит к тому, что на один и тот же слот в таблице виртуальных методов начинают претендовать не подозревавшие о существовании друг друга классы, у которых появился общий потомок. В этом случае можно таблицы виртуальных методов родительских классов раздвинуть так, чтобы потомки не могли конфликтовать, и уже без проблем произвести таблицу виртуальных методов наследника. Приходится попариться при создании классов, зато потом всё летает. Хотя я ещё не исследовал перемычки SOM и не знаю, как оно там было на самом деле.

@mismatch:
mismatch

youtu.be — для тех, кто пишет многопоточные программы и использует разделяемое изменяемое состояние, но еще не в курсе, чем это может обернуться.

@qnikst:
qnikst

мне нужно писать бинарные логи, грубо говоря имеющие вид:
time,[scope],data
где scope это некоторое множество событий, и иметь достаточно быструю индексацию по времени и [scope], т.е. например выдать все логи оттуда до туда относящиеся к таким-то объектам.

есть, что-нить готовое, чтобы не переизобретать базу данных? Или какую использовать?

@SannySanoff:
SannySanoff

Такое ощущение, что Трампа выбрали, а невероятностный двигатель отключить-то и забыли!

(да, я в курсе, уже писали, но тут оно концентрирен!)

@rufuse:
rufuse

А кто что использует для агрегации бизнес-метрик и построения графиков по ним. Сходу на ум приходят kafka как буфер для пулеметных событий и graphite/kibana для метрик. Кто чем пользуется и почему?

@jt3k:
jt3k

Сделал мост между xmpp://javascript@conference.jabber.ru и telegram.me
Приходите поконтрибутить этот мост сюда github.com
Или обсудить джаваскриптик в один из чатов :)

@OCTAGRAM:
OCTAGRAM

По его словам, четвёртая технологическая революция может привести к тому, что все ресурсы будут сосредоточены в руках компаний-гигантов, у которых есть необходимые знания и навыки для создания софта, в то время как все остальные будут вынуждены довольствоваться крайне низкооплачиваемой работой.
Одним из выходов из сложившейся ситуации может стать повсеместное введение безусловного базового дохода. По мнению Тернера, государство должно поддерживать людей, которые оказались в крайне невыгодном положении из-за развития технологий — по крайней мере, выплачивать им пособия, достаточные для оплаты расходов на продукты питания и здравоохранение. С ним согласен финский экономист и предприниматель Бьорн Валрус, который считает, что автоматизация в скором времени приведёт к полному исчезновению рабочего класса.
Технологии подрывают капитализм

@OCTAGRAM:
OCTAGRAM

Причина, по которой некоторые языки программирования вообще и Оберон в частности находятся в таком бедственном положении
В переводе про совместимость примечательна сноска
e Текущие реализации Java не поддерживают такое, но новые спецификации ясно требуют, чтобы все наши трансформации поддерживались.В оригинале доклада были ещё номера страниц в спецификации. То есть, как я вижу ситуацию, у индустрии была серьёзная проблема с обеспечением совместимости, и в спецификации Java английским по белому писали, что можно, а что нельзя допускать, и одновременно была целая эпопея со способами вызова из других языков:

* JDK 1.0 native method interface
* Netscape’s Java Runtime Interface
* Microsoft’s Raw Native Interface and Java/COM interface
* Java Native Interface
* Java Native Access

Одновременно несмотря на претензии типо-Java-вости и украденных идей со стороны некоторых адвокатов Оберона я что-то не припоминаю, чтоб было какое-то аналогичное соревнование, как лучше совместить код на Обероне с другими языками программирования. По ключевым словам «Oberon Runtime Interface» и «Oberon Native Interface» ничего не находится. А было ли что красть?

И вообще, это надо ещё сильно постараться поискать, чтобы узнать, как обстоят дела в конкретной реализации, если скомпилировать динамическую библиотеку классов и приложение, а потом к библиотеке применить описанные в докладе трансформации и перекомпилировать её, а приложение — нет. Покажи адвокату Оберона таблицу из доклада — сможет ли он там расставить крестики и галочки для знакомых ему реализаций?

То есть, пока разработчики Java и около бурно решали серьёзнейшие проблемы индустрии и представили хоть и во многих смыслах дурацкое решение, но-таки решение, оберонщики занимались чем-то своим, щёлкали клювом, проблемы, стоящие перед индустрией, не решали и закономерно оказались не нужны. Даже, похоже, до сих пор так и не поняли, как это произошло.

@SannySanoff:
SannySanoff

Сейлсмены эти ваши яббл! Лекция девелоперам про блютус (advanced bluetooth), внутре которого они вынуждены руками передавать данные (здесь: vcard) через собственный яблочный CoreBluetooth API, разбивая кусочками по 20 байт, и устанавливая это раз за разом как текущее значение кастомного атрибута, смотрящего наружу (чтобы та сторона могла вычитать) !!! Коллбеки, "адаптер готов", индексы внутри буфера, и маркер "конец данных". Bluetooth 4! Bluetooth LE! 21й век.

Лектор возбужден, писяет кипятком, рассказывает "разве это не замечательно", "офигенно, не правда ли?". Продает разбиение мессага по 20 байт эппл-боям. Даже слышны в зале аплодисменты.

developer.apple.com

Ссылку наверное напрасно дал, т.к. показывает только на сафари.

Запомните: главное делать все с восхищенной улыбкой, даже продавать технологии каменного века. Купят, и прибегут еще, еще денег принесут.

@SannySanoff:
SannySanoff

Такая же фигня с блютусом. Блютус в текущем виде — самая дебильная технология, которую только можно было придумать. Кажется, создатели спецификации нарочно придумывали, как бы сделать так, что бы ничего, кроме нескольких сценариев, за которые несомненно за лицензии платятся миллионы баксов, нельзя было реализовать.

И начинается это с уровня контроллера, который более-менее реализует стандарт консорциума, но кто как. Но на уровне контроллера, в стеке хотя бы есть контроль над процедурой установления связи, дискавери, передачи итп... У меня был проект портануть блютус стек (на сишечке) на другое железо, и на другую ось, и прикрутить наверх неск сервисов с API этого стека. Все чудесно получилось, в рамках стандарта.

Но уровне programming api всяких андроедов и иосов там сценариев извлечения толку из блютуса в приложении — вообще 1 или 0. Сама ось пользует 95% возможностей блютус стека, открывая прогаммисту только копейки возможностей, которые проще выкинуть. Много ли вы выдели приложений которые работают с блютусами, расширяя мобильную ОС? Вот то-то же.

Невероятное уродище. Кривая ухмылка капитализма.

@qnikst:
qnikst

Няяяя!!!! sagestorage.eu

@OCTAGRAM:
OCTAGRAM

Approaches to Composition and Refinement in Object-Oriented Design
MN93 shows that framework refinement (in the sense of adapting a frame-work to yield another abstract framework) is not possible under either co-variant(Eiffel) or contravariant (Modula-3) typing rules.Надо бы как-нибудь ликвидировать свою безграмотность по части ковариантного и контравариантного вот этого всего.

@SannySanoff:
SannySanoff

@available(iOS, introduced=5.0, deprecated=8.0)

Мимо окна кагбэ проехал товарный поезд. Introduced: 21:28:10, ну а проехал весь до конца к 21:29:17

@qnikst:
qnikst

А как правильно понимать flame graph, ведь если меня интересует, что тормозит, то мне нужно искать максимальный diff между функцией и той, что она вызывает. А это как-то автоматизировать можно? (inverted похоже на то, что надо но я его чего-то не понимаю)

@mabu:
mabu

Реализовал на своём сервере метод CONNECT freebasic.su

@mismatch:
mismatch

vimeo.com — неплохое систематизированное введение в RxJava для тех, кто потерялся в документации

@mabu:
mabu

Политики IPSec — очень хорошая вещь. Сейчас запломбировал трафик на RDP‐порт 3389 со всех сетей класса A, кроме тех, что нужны.
Вот тут немножечко информации internet-pages.blogspot.ru

@tosh:
tosh

Няшный разбор полётов после длительной работы с докером. Похуизм кулибиных из дев-команды докера так и сочится из каждой строки.

Печальным остаётся тот факт, что в большинстве компаний ебаные хипстеры тащат всякое говно в продакшен, а разгребать последствия не умеют, от чего страдают здоровые люди. И как хорошо, что у нас есть кому послать хипстеров нахуй.

TL;DR: обратной совместимости нет, куча багов, велосипеды и массовые обсёры, о которых замалчивают. И так по кругу.

thehftguy.wordpress.com

@justonemore:
justonemore

luchanso.github.io
Лица web разработки. luchanso.github.io В разделе skills указано следующее: Full Stack JS, MongoDB, Phaser, Haxe, Java, sockets/TCP/UDP, C#/XNA, C++/C/QT, AoutoIT, HTML5/Pug/Stylus, PHP, MySQL and etc. На каждый чих лезет в поисковик искать как же это что–то сделать.

@SannySanoff:
SannySanoff

Сaffe с MKL (Intel's Math Kernel Library) быстрее работает с MKL_NUM_THREADS=1 чем с двумя и более. Кроме того, оно не ставится больше чем физических ядер, то есть гипертрединг отказывается кушать. Ну что ж, интел — барин, ему видней.