ruX mind: о выборе сотрудников

Очень много читал и слышал о роли людей в команде или в компании, про их эффективность, оценки KPI. Даже читал, что в стартапе инвестор вкладывается по большей части не в идею, а в конкртеных людей. Ну да, я никогда с этим не спорил, принимал за правду. Да и логично, как говорится \"Не Боги горшки обжигают\".

А сегодня вечером пришёл инсайт и в очередной раз показал какой глубокий смысл в роли людей.

Read more

Play framework: SELECT .. IN

Наткнулся на очередную невозможность сделать казалось бы простые вещи: выполнить запрос SELECT .. WHERE something In listт.е. выбрать все записи, в которых поле something равно чему то из списка list.

Обойти можно через JPA:


@Entity
@Table(name="ezTroubleCode")
public class TroubleCode extends Model {
@Index(name = "IDXcode")
@Column(nullable=false, length=5)
public String code;

. . .

/**
* Search for codes by codeId
*/
public static List<troublecode> findByCode(List<string> codes) {
Query q = JPA.em().createQuery("SELECT tc FROM TroubleCode tc WHERE code IN (:codes)");
q.setParameter("codes", codes);
return q.getResultList();
}
}
</string></troublecode>

Read more

Мысли: о ведении проектов

\"\"
Последние пол года после заморозки закрытия проекта GeoChat я принимаю участие в других проектах. Причин этому несколько:

  • Отдохнуть от ведения проекта (за это время я уже соскучился по этому делу)
  • Уйти временно в разработку (меня уже воротит от кодинга)
  • Нет идей - и я не знаю что с этим делать, надеюсь коучи на MTE из меня их выпотрашат, а преподы помогут посмотреть вокруг и увидеть пробеммы (а значит и возможности)
  • Поглазеть на то, как другие фаундеры ведут процесс, может чем научится. Ага, наивный чукотский юноша
  • \"Don\'t put all your eggs in one basket\" (ц)
  • Во всех проектах есть определённый share

Но пост совсем не об этом :)

Read more

ИТМО: работа во время учебы

Мне часто задают вопрос можно ли работать и учиться в НИУ ИТМО парелельно и не напряжно?

Мой ответ - да.

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

Если все устраивает (как и половину студентов) - дальше не стоит утруждать себя чтением.

Read more

Новое поколение линуксоидов

Они уже здесь

Филосовские мысли на тему десктопного линукса и его пользователей

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

Read more

android: поиск в actionbar

Есть большая проблема: compatibility library не включает ActionBar. К счастью, есть хорошая библиотека, которая реализует экшнбары для младших версиий андроида, а для старших - проксирует вызовы к системным компонентам. Но и тут не всё гладко: сейчас нет полноценной реализации компонента SearchView(UI для строки поиска).

Есть несколько костылей способов как решить эту проблему. На просторах сети я нашёл библиотеку MenuItemSearchAction которая реализует функциональность SearchView для старых андроидов. По сути - эта "библиотека" - всего лищь несколько классов которые оборачивают создают MenuItem и оборачивают EditText, вешая на них обработчики событий. Я несколько переделал этот компонент: теперь он использует встроенный SearchView на современных платформах и создаёт свой, если в системе не нашлось.

Read more

Баним ВКонтакте по IP

Читатель этого поста наверняка знает зачем собирается банить вконтакте на раутере/сервере/etc :)

На просторах интернетов я наткнулся на рабочие диапазоны IP vk.com:

93.186.0.0 / 255.255.0.0
87.240.0.0 / 255.255.0.0

Достаточно закрыть доступ из локальной сети в интернет на маршрутизаторе к этим адресам и вы освободите много часов личного времени для людей.

Творите добро - освобождайте людей :)

Android: альтернативы java


Java - действительно хороший, простой и стабильный язык. Код, написанный десять лет назад будет не только работать на современных JVM, но должен компилироваться.

Выбор разработчиков андроида в качестве языка программирования java вполне понятен: популярная платформа, managed code, множество готовых библиотек, понятный и простой код.

Read more

HTC Desire: почти brick

В один прекрасный момент телефон просто перестал загружаться. Как на зло во время тура. Висит на htc splashscreen.

Девайс: HTC Desire A8181, прошивка: Runnymede AIO V6.0.4.3, HBOOT: 0.93, S-OFF: off

Подцепившись [cci]adb shell[/cci] увдел, что недоступна /data, не распаковывает code.jar, framework.jar и прочие андроид библиотеки. Все отваливалось на попытке извлечь содержимое jar в dex файлы в dalvik-cache. Вытаскивание SD-card ни к чему не привело (да и не должно было бы: часть системы на ней)

Read more