old_ufo: (old_ufo)

Pytyhon OpenCV FLANN may crash with message:

"OpenCV Error: Assertion failed (The data should normally be NULL!) in allocate, file /home/old-ufo/opencv/modules/python/src2/cv2.cpp, line 163
Traceback (most recent call last):
File "kd.py", line 120, in <module>
flann.add( [ descs ] )
cv2.error: /home/old-ufo/opencv/modules/python/src2/cv2.cpp:163: error: (-215) The data should normally be NULL! in function allocate"
old_ufo: (old_ufo)

Несколько часов не мог найти баг в своем коде.
Потом плюнул, потратил время на убирание хардкодинга, отрефакторил, причесал.
Баг исчез сам. Нет бы сразу нормально написать :)

old_ufo: (old_ufo)
Вчера сходил на мастер-класс (а скорее семинар) создателя DOU и djinni.co Макса Ищенко "Как найти программиста и не разориться".

Не скажу, что было сильно полезно на данном этапе, но послушать было интересно.
Тезисы выступления:

  1. Воронка найма хороша, если есть из кого выбирать. С программистами же напряженка.

  2. Хорошо откликаются на вакасии только джуниоры и тестеры. Остальных надо искать не (только) на сайтах работы.

  3. Лучшие кандидаты - не откликаются, их разбирают раньше. Откликаются только 20% специалистов - те, которые ищут работу и она нужна им сейчас. Собственно, нацеленность семинаров - найти хороших сеньоров и миддлов - программистов. У меня немного другая задача пока - джуниоры, да еще и на исследовательскую позицию, потому и "не сильно полезно".

  4. Чек-листы с требованиями - плохая идея, т.к. они ставят лишние препоны и не говорят о том, что действительно будет нужно на рабочем месте. Лучше писать критерии внутреннего оценивания, или что именно делать. Например не "intermediate English", a "еженедельные совещания по скайпу с иностранным заказчиком" - сразу понятно, потянешь или нет.

  5. Не продавать "работу" == "40-часовая раб.неделя, зарплата, печеньки", а продавать "карьеру" = "работа с фреймворком Х, разработка технологии поиска для гугла" == то, что интересно и повышает стоимость сотрудника в будущем.

  6. Хотите отсеять 90% кандидатов - задайте простой вопрос, на который надо ответить по почте дополнительно. Большинство не будет париться и отправлять.

  7. Лучший поиск - в своей сети контактов. Если просите помощи, просите не в формате "Найди мне С++ миддла, пожалуйста", а "Подойдет ли твой знакомый Вася Х на С++ миддла?".

  8. Посоветовал книгу The Essential Guide for Hiring & Getting Hired Луи Адлера. Я еще не смотрел, так что пока ничего не скажу.

Рекламы Джинна почти не было, наоборот люди сами задавали про него вопросы. Особенно понравилась рекрутерша, которая попросила "сделать так, чтобы анонимные резюме, которые из нашей компании, подсвечивались. А то предлагаешь человеку 3К, а он у нас уже на 2К работает". Все повеселились :)

Ах да, "Часопис" - побывал там впервые - вполне хорошее место, мне понравилось. Час с чем-то - 29 грн.
old_ufo: (old_ufo)
Давно заметил такую вещь: коренные жители города обычно отвечают на вопрос "Как добраться?" следующим образом:
"Пройдешь по Шевченко, повернешь на бульвар Белки и Стрелки, через два квартала - площадь им. Дарта Вейдера, дом 42".
Понаехавшие вроде меня используют следующую конструкцию:
"От метро Зябликова идешь по широкой улице, там дальше универмаг "Детский мир", большой такой. От него направо. Дальше иди, пока не увидишь памятник мужику с хренью, возле него кирпичный дом. Номер 42".

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

Вещь заметил давно, а сегодня, поймав себя на том, что я уже через консоль по папкам хожу и файлы в vim редактирую, провел параллель между способом указания дороги и командной строкой(и\или горячими клавишами) vs. окошки с кнопочками.

Когда делать надо много, часто и быстро, трата времени на освоение интерфейса себя окупает многократно. Когда же редко и мало, то GUI, даже очень кривой, - замечательная интуитивно понятная штука, намного лучше консоли. Идеальный же интерфейс должен включать себя и то, и другое.
old_ufo: (Default)
Вчера очень в тему оказалась реплика с одного форума: "Если человек публикует какой-то исходный код, это не значит, что он работает как нужно, запускается или вообще компилируется".
old_ufo: (old_ufo)
...будет как-нибудь в другой раз. Нет, я его правда пишу. Только очень медленно. По-швейцарски, как сказала бы теперь[livejournal.com profile] brebis_blanche.

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

Сейчас эта идея получила некоторое развитие, хотя и неспециально. У меня на ноуте сейчас стоят две системы: Windows 7 для души и Ubuntu 12.04 для работы. Во-первых, очень удобно: на каждой есть все инструменты для одних занятий и нет для противоположных. Т.е. даже если будет секунда слабости, то ждать минуту перезагрузки - влом...т.е. лень уже работает на нас :)

А теперь, чем хорошая каждая система. )
old_ufo: (old_ufo)
При прописывании новых путей в переменную PATH в Windows 7 не должно быть пробелов после точки с запятой.
Т.е.
c:\QtSDK\Desktop\Qt\4.8.1\mingw\bin;C:\QtSDK\mingw\bin; - будет работать
c:\QtSDK\Desktop\Qt\4.8.1\mingw\bin; C:\QtSDK\mingw\bin; - не будет работать.
В XP, насколько я понмю, этого прикола не было та же история - [livejournal.com profile] me_geneva
old_ufo: (Default)
Некоторое время назад довольно много времени потратил на установку Linux и его последующую настройку на плате IGEP v2


Поскольку я Linux знаю довольно слабо (и более того, не особо горю желанием его осваивать сверх необходимого минимума - ну не интересно это мне), то изрядно потоптался по граблям. Судя по Гуглу, не я один такой (причем большинство из найденных ссылок не помогает), так что решил описать все, что делал. Чтобы не писать два раза, дальше будет на английском.
How to install Linaro with X11 and ssh support on IGEPv2 )
old_ufo: (Default)
Дело Корчевателя и научных статей в КПИ успешно продолжил московский союз писателей. 
Как пишет Цензор.Net:
«Корреспондент НТВ при помощи компьютерной программы написал брошюру бессмысленных стихов, опубликовал под именем Б. Сивко (аббревиатура 

 бред сивой кобылы), нанял актёра и провёл презентацию в Центральном Доме литераторов. Руководство Московской организации Союза писателей России чествует поэта и вручает ему членский билет Союза и Есенинскую медаль».
old_ufo: (Default)
Искал информацию по нейросетям, наткнулся на забавную ссылку.

Какой-то парень написал программу для генетической оптимизации стратегии игры в Starcraft 2 (т.н. build order – очередность постройки юнитов и зданий).
Поскольку думать компьютер пока еще не может, задачу на оптимизацию (уж не знаю насколько с потолка) поставил человек – найти порядок постройки, при котором максимально быстро построятся 7 роучей (юнит такой).
Программа чуть-чуть посчитала и выдала стратегию, нарушающую общепринятые подходы к развитию. Никто из людей до такого не додумался, ведь это нелогично, неправильно и вообще бред. Зато очень быстрый бред.
Этой стратегии можно противостоять, но это довольно сложно (если верить статье и знакомому старкрафтеру, лично я ни разу не играл в SC2). 

А на форумах сразу начали обсуждать, насколько этично, морально и вообще честно привлекать науку и прочие достижения прогресса в такой древней и традиционной игре. Ну-ну.

Оригинал статьи: http://lbrandy.com/blog/2010/11/using-genetic-algorithms-to-find-starcraft-2-build-orders/
 
old_ufo: (Default)
Четвертый день, он же пятница.
Из интересного без грифа «секретно» — нам провели ознакомительный курс по программам моделирования движения спутников.
Это такая программа, которая моделирует движение спутников, ваш К.О. которая в самом простом случае показывает положение спутника на орбите в плоском (карта) или трехмерном виде. Добрые американские военные публикуют параметры движения всех объектов на орбите в формате TLE — раз в  две недели. Программа скачивает эти данные и по ним, а так же заложенным уравнениям и рассчитывает значения на текущий момент.

Самая крутая программа в этой области Satellite Toolkit позволяет рассчитать и смоделировать что угодно — хоть полет на Луну от старта до посадки, с учетом влияния практически всех известных факторов. Причем не только рассчитать — но и контролировать, для связи и управления в ней есть все необходимое. Разумеется, все эти вкусности доступны только  тем, кто купил за нереальную сумму полную версию. Впрочем, бесплатная тоже умеет многое. Кроме нее есть куча других, уже полностью бесплатных программ, в том числе open-source.
Студенты ТУБа (Берлинский технический университет) пишут такие программы в качестве курсовых и лабораторных. Конечно, с минимальным интерфейсом и для самых простеньких орбит, но тем не менее.


Кому интересно — вот список ссылок на эти самые программы.
  • STK;
  • Orbitron;
  • JSatTrak (с показом в 3D, open-source);
  • GMAT. Нет, это не тест для поступления на MBA. Это open-source программа от NASA. Очень крутая и настраиваемая;
  • DAS 2.0. от той же NASA.
А теперь чуть-чуть фотографий )
old_ufo: (old_ufo)
Писал программу, долго мучался из-за одной особенности Delphi. Это банально, но на нее я убил два дня, а в интернете решения не нашел.
Итак, вдруг кому-то пригодится.

В Delphi есть класс TObjectList. Представляет собой список, в котором хранятся объекты. Именно сами объекты, причем любого типа, а не ссылки на них как в динамическом массиве.
В книгах TObjectList есть, в help, а когда в самой программе пишешь:

var
List1: TObjectList;

компилятор ругается:
Undeclared identifier: 'TObjectList'

А подсказчик кода (Ctrl+Space) тоже не знает такого класса/типа, а предлагает лишь TObject и TObjectTypeList. Последний - совсем не то, что надо.

Так вот, чтобы Delphi увидел класс TObjectList, нужно подключить модуль Сontnrs:

uses Contnrs;

Тогда все будет хорошо. Удачи!

Profile

old_ufo: (Default)
old_ufo

July 2017

S M T W T F S
      1
2345678
9101112131415
16 171819202122
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 02:44 am
Powered by Dreamwidth Studios