Redis has left the building
insanegigolo
В американской соц.сети imgur redis не выдержал нагрузки на что пользователи нарисовали пару карикатур.


Будапешт
insanegigolo
Первый город по поводу которого я не могу определиться. Чем то он похож на Петербург, чем-то на Париж. Ценообразование странное, кухня местная не сильноразнообразна, население сонное и местами приветливое. Закрывается все очень рано и молодежи мало, хотя здесь проходят крупные музыкальные фестивали. Язык инопланетный немецкий,красоты в нем не нашел. История Венгрии для меня слепое пятно. А самая известные для меня личности Рубик и эммигрант Нейман. Картина не складывается.


Кадр из венгерского мультика из моего детства.

dsl vs node.js
insanegigolo
А вот еще одна штука, пока одни пишут domain specific language и радуются поддержке этой фичт в языках, другие пытаються объединить сервер и фронтенд в одном языке.

Про интровертов и аутистов
insanegigolo
Оригинал взят у wizzard0 в Про интровертов и аутистов


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

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

В головах многих интровертность/аутизм коррелируют с гениальностью. На самом деле не-гениальные вещи тупо остаются незамеченными. Еще у таких людей больше времени заниматься, к примеру, наукой — вместо того чтобы социализироваться. Вот он, survivorship bias в чистом виде.

Это мы с товарищем рассуждали применительно к программистам, а именно, "почему подозрительно много технически крутых проектов написаны одним человеком, и при этом малоизвестны".

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

Когда я участвовал, а потом судействовал на конкурсах по программированию, я такое наблюдал неоднократно. А потом — просто когда мониторил инет в поисках всякой крутой фигни. Удивительно часто встречаются охуительные штуки с какой-то неадекватной бизнес-моделью, отсутствием связи с автором, которые потом тихо исчезают :(

Показательный пример - когда вышел Silverlight 2.0, я занимался игростроем и нашёл супербыстрый софт-рендерер на C#, с шейдерами, накрытый нестандартным сложным обфускатором (с динамическим кодогеном, все дела. еле разобрал), который продавался как контрол, рендерящий OBJ-файлы (!). Никакого API, просто контрол. Хотя по фичам он мог запросто уделать Unity3D, которого тогда то ли не было, то ли был в ранней бете. Он даже LODы сам генерил, умел партиклы, order-independent transparency, etc.

Сайт повисел, кажется, года два. Потом домен проэкспайрился. И всё :( Автор на предложения доделать сабж до движка так и не ответил, апдейтов, намекающих на real-world использование, я тоже так не нашел - хотя первое время фичи продолжали и продолжали добавляться...

(А вот фиг этот пост наберет столько же комментов, сколько и гитхабгейт...)

This entry was originally posted at http://wizzard.dreamwidth.org/406811.html. It has comment count unavailable comments. Please comment there using OpenID.

Генерация множества в комбинаторике
insanegigolo
Для меня самое сложное в задачах по комбинаторике это посчитать эти самые начальные множества, над которыми в дальнейшем и происходят все операции.

Дуализм
insanegigolo
У меня в rss ленте два человека один призывает всю логику писать в базе данных, а второй переписывает всю логику из базы данных в код сервера. Оба выстаупают на конференциях.

Принцип единственной обязанности и Фреймворк
insanegigolo
Можно разделять Фреймворки по принципу единственной обязанности. Соответствуют ли ему или нет:

  • Если соответсвутет: фреймворк получает на вход данные и отдает результат или вызывает события и все это по требованию пользователя. unix-way как он есть. Пример box2d. Проблема с ними что они расчитаны на какой-то определенный диапазон данных и взаимодействий. Тут бы подошли какие-нибудь расширения как это сделано в софте, дополнительные версии с дополнительным API. Пример: box2d-simple, box2d-pro, box2d-nonewton-liquid

  • Если не соответствует: тут я разделю их на два вида.


  1. Они притворяются что соответствуют. На вход данные принимают а дальше ведут себя как придумал автор. Например фреймвокр валидации jquery form validation. Поля и вид валидации установили, а вот дальше мы теряем контроль над происходящим. Валидация вызывается когда это захотел автор, мы не можем вызвать её по нажатию кнопки. И вывод результата это не ответ функции а изменение DOM дерева или вызов события.

  2. Организационные. Они включают в себя сразу множество таких подсистем которые между собой взаимодейтсвуют. Пример: Symphony, CakePHP, Zend Framework, Rails


Ссылка дня
insanegigolo
CADT model

Вот это моя проблема восприятия или все-таки проблема MySQL?
insanegigolo
Оказывается такой простой код, работает через раз. То поменяет все верно, то решит что содержится дублицированный ключ и ничего не сделает.

DELIMITER //
CREATE PROCEDURE SWAP(IN idx1 BIGINT(20), IN idx2 BIGINT(20))
BEGIN
 START TRANSACTION;

 UPDATE top20_apartment 
 SET top_index = -1
 WHERE top_index = idx1; 

 UPDATE top20_apartment
 SET top_index = idx1   
 WHERE top_index = idx2; 

 UPDATE top20_apartment
 SET top_index = idx2 
 WHERE top_index = -1;  

 COMMIT;

END;
//

Кукушиное хэширование (Cuckoo hashing)
insanegigolo
Берем две функции хэширования и две таблицы хэширования. Хэшируем значение по каждой функции, проверяем есть ли совпадение в таблицах. Вставляем в ту таблицу, где свободно. Если в обоих занято, то вынимаем из последней и перехэшируем значение, повторяем это пока не вставим, либо не закончится ограничение на цикл. При ограничении по циклу, увеличиваем таблицы и перехэшируем весь список. Все это прекрасно и быстро работает если влезает в кэш процессора. А здесь пример по английски.

You are viewing insanegigolo