Модно порой говорить об ангажированности нашей власти, о несправедливости нашей правовой системы и т.п. Говорится про это, конечно, в не менее ангажированных тонах, с уклоном, понятное дело, в противоположную сторону. С передёргиваниями и/или с подменой понятий, но сейчас не о ней. Подмена понятий — это вообще особая тема, это как в каких-нибудь «задачках Толстого» — на то, чтобы найти подвох, нужно потратить секунд 30, а кому-то написать уравнения на бумаге и затратить 3 минуты.
Чего-то в последнее время во всяких там Гуглах стали чаще и чаще просачиваться версии форумов, индексированных именно через протокол https. Подумал-подумал я, и решил приделать и к своему блогу такую штуковину. Так что знайте теперь, если вдруг в адресной строке нет зелёного замочка, значит — кругом эвил хацкеры собираются ваши пароли стырить. Прелестей использования https для всего контента я не понял, но хотя бы окошки логина планирую везде прикрыть: пусть враги недоумевают и не получат моих паролей, даже если они вломятся в мою вайфай сеть или куда-нибудь там ещё.
На днях делали Диане томографию в МСЧ «Лисма» (она же, вроде, 13 больница). Ну, ту которая модная — магнитную, дорогую (ну точнее как дорогую, — 2700 рублей, терпимо). Из первых уст информация — томограф там хороший, и новый, и эргономичный — с высоким «потолком», и закрывает пациента «всего лишь» наполовину, не то что «гроб», в котором мне довелось делать томографию. В целом, понравилось даже обслуживание. Ну, только начало нашего визита туда было «не очень», а дальше всё было вполне ОК.
Иной раз ёбу даёшься, читая интернеты. Такие замечательные вещи люди выписывают, и ещё при этом, вероятно, свято верят в их правдивость. Например, по делу и без дела в преддверии предстоящих президентских выборов принято критиковать Путина. Для достижения цели, видимо, все средства хороши: и справедливая правдивая критика, и поклёп, и потоки отборного бреда. Что касается непосредственно меня — мой голос отправится в копилку Путина во втором туре. Партия, на которую тому пришлось опираться, — моего голоса не получит.
Давным-давно ещё натыкался на штуковину под названием Quercus в J2EE-сервере Resin. Сейчас решил попытаться на своём сервере сэкономить немножко памяти посредством её использования. Сервер – недорогой двухъядерный AMD x64 Athlon 5600+, ОС Debian, 4GB RAM. Дополнительно: ядро 2.6.32-5-amd64, java version "1.6.0_26", PHP 5.3.8-1~dotdeb.2 with Suhosin-Patch, nginx: nginx version: nginx/1.0.9. Congratulations! Quercus™ Pro 4.0.7 is compiling PHP pages. Have fun! MySQL держит 150 одновременных подключений, nginx – имеет 2 воркера по 1000 подключений каждый, а вот пул php-fpm – имеет всего лишь 50 воркеров (50 воркеров по 64 Мб съедают почти всю память системы, а ведь некоторым задачам в wordpress уже надо по 128 Мб, именно из-за этого я и посмотрел в сторону Quercus).
Два года с этим ноутбуком (Samsung R519) несколько изменили моё отношение к ноутам в целом. Когда-то я думал, что необходим 1 нетбук и 1 стационарный компьютер. Теперь я склоняюсь к тому, что достаточно одного ноутбука, а функции нетбука следует передать телефону. Что касается самого устройства, им я очень доволен. У меня не сломалось ничего, кроме Windows. Windows циклично начинала устанавливать драйверы для веб-камеры, наплодив мне около 1000 Unknown Device’ов в системе (да, я зачем-то писал в Google+, а не в основной блог), прежде чем я нашёл и подсунул ей настоящие драйверы для веб-камеры ноутбука Samsung.
Был в сериале «Все ненавидят Криса» такой персонаж, Юрий Антоныч. Мало того, что работал на двух работах, так ещё регулярно собирал и пользовался купонами. Вот, теперь периодически меня Диана так называет, Юрием Антонычем. Почему? Ну, тут всё довольно-таки просто… Во-первых, у меня есть некая особенность замечать краем глаза во всяких рекламных рассылках или в рекламе в интернетах полезную информацию о скидках на то, что действительно было бы сейчас полезно приобрести.
В который раз из стандартного бустера в одном из наших проектов, «Берсерк: Катаклизм» вытаскиваю промо-карту (ага, нечасто такое бывает). Кстати, это гораздо более быстрая игра, чем «Берсерк Онлайн» — возможно, стоит попробовать :-) Я, правда, играю ещё с тех пор, когда игра ещё не была выпущена в открытое альфа-тестирование, — так что догнать и перегнать меня практически невозможно. Но попытаться стоит! ;) Скриншот под катом, как водится.
Очень понравился подход к поддержке софта одного из отечественных SEO-программистов. Я понятия не имею, кто этот человек или эти люди, скрывающиеся за названием «Sapient Tools», но однозначно им дикий респект от меня. В 2009 году я приобрёл любопытный мне на тот момент софт, программу Sapient Social Submitter. Вроде бы за 35 баксов, если память не врёт. Программа регистрирует учётные записи во всяких разных каталогах соц. закладок, а также добавляет в эти учётные записи нужные и полезные нам закладки.
Пишу в первую очередь для себя, чтобы не забыть. Частенько при работе с большим объёмом статистических данных, глядя на лист, забываешь, что в каком столбце должно находиться. Хорошо, что мне такой функционал нужен нечасто, успеваю забыть :-). Итак, пример таблицы, которую неудобно просматривать без фиксации заголовка: Всё оттого, что к 100й строке она выглядит уже совершенно неприглядно. Например, посмотрите — совершенно непонятно, что находится в столбце E, например: Но если мы перейдём на ячейку A2, и выберем в меню «Окно → Фиксировать» таким образом:
Как известно, если неприятность может произойти — она случается. Неприятностей в этом году у нас случилось порядочное количество, большинство из них — с нашим офисом. То водица, дающая кому-то жизнь, аккуратно капает на компьютер главбуха. Почти как когда-то 4 года назад, ещё на съёмной квартире. То после починки — начинает капать на телевизор. Глючат компьютеры (это обычно не проблема, чаще всего удаётся просто подойти к ним и они начинают работать, как положено).
На редкость необычный сегодня выдался понедельник. Как правило, с неспанья я не могу похвастаться какой-то высокой производительностью труда, творческими успехами и т.п. — традиционно мой мозг работает в полную силу лишь когда я просыпаюсь ближе к обеду, опаздывая хотя бы на час — впрочем, таких знаменательных моментов давненько не было. Да и работоспособность страдает. Сегодня же, кажется, всё было с точностью до наоборот. У меня завершился один из этапов работы над проектом, всё работает и всё такое.
Разговорились на днях с товарищем, посетовали друг другу на жизнь горькую. Он жаловался на свой почти что топовый Wi-Fi роутер D-LINK за 3500 рублей, который неплохо работал до тех пор, пока не завёлся новый и хороший интернет по витой паре, который впоследствие нужно было раздавать по Wi-Fi. У меня была в чём-то похожая ситуация: мой на тот момент топовый Wi-Fi роутер Asus RT-N16 на поверку, даже двум компьютерам раздавал интернет со скрипом, если в сети было 2 работающих торрент-клиента (не более 1000 активных соединений, а в документации обещают поддержку 30000).
Производительность Grails Рано или поздно, любой программист слышит, что производительность инструмента, который он использует или инструмента, который он сделал — невысока. Будь то какой-нибудь синтетический бенчмарк, или сложные распределённые вычисления. Будь то работа с базой данных или с файлами. Все хотят максимальной производительности! Всегда! Немедленно! Как известно, часто максимальная производительность достигается путём жертв. Пожертвовать удобством, настраиваемостью, масштабируемостью, поддерживаемостью — то и другое, и третье и четвёртое — можно принести на алтарь производительности.
Несмотря на то, что сейчас такие вещи, как последнее обновление записи, модно делать с помощью ORM, — в том случае, если вы можете быть платформенно-зависимы (всю жизнь с MySQL, или готовы переписать триггеры в случае перехода на другую БД вроде PostgreSQL), возможно, есть смысл воспользоваться триггерами. MySQL позволяет сделать один автообновляемый таймстамп, например таким образом: CREATE TABLE games (name VARCHAR(64), created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP); Либо на обновление: CREATE TABLE games (name VARCHAR(64), updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP);
Иной раз казалось бы, вполне себе невинный и очень даже простой метод count() может стать серьёзной проблемой для производительности. Предположим, что у нас есть два доменных класса: Игрок и Предмет. Имеем реляцию: Игрок hasMany Предмет. Классы будут называться: Player, Item. Поле с коллекцией предметов — items. Коллекция предметов нужна нечасто, поэтому для её подгрузки используется lazy-loading. В случае, если нам необходимо просто подсчитать количество предметов, мы могли бы использовать такой код:
Я слышал массу мнений, что «хакинтош это не мак вовсе», и честно говоря, до сих пор не могу понять этих людей. Хакинтош – это обычная MacOS X на обычном компьютере. Просто добавьте загрузчик операционки вместо EFI, и 3 драйвера. That’s all! Некоторым компьютерам может понадобиться и вовсе 1 драйвер. Некоторым, конечно, больше. Особенно если ваш компьютер на AMD. Мой первый и пока последний хакинтош потребовал уйму времени на настройку, а ещё немного времени потребовалось при major апгрейде с 10.
У товарища на работе на ноутбуке Sony ни в какую не работают кнопки яркости. Возились и там и сям, большинство комбинаций кнопок работает (вроде кнопок, регулирующих и отключающих громкость звука), а вот яркость ни в какую. На ноутбук была установлена Windows 7 «с нуля», не имеет никакого отношения к предустановленной операционке от Sony. Первое, на что мы подумали — на то, что нужно установить какие-то хитрые драйверы от Sony, для управления яркостью экрана.
Вообще пост был написан в первой декаде июня, но по некоторым причинам свет так и не увидел. Попал в черновики, а затем было дохуя работы и дорабатывать его времени не было. Сейчас я на него наткнулся и решил выложить в свет необработанным. Два дня назад мой город прославился на все Интернеты. Некто побывал возле Перинатального Центра (ну, это новый саранский роддом с дорогим оборудованием и дорогими койкоместами) и обратил внимание на то, что машинка поливает зелёной жижей землю.
В офисе у нас завёлся второй ипад. Ну, типа не второй по счёту, а ipad 2. Не, я не подался в стан яблочников — ипад нужен для тестирования всякой разной фигни, конечно. Второй ипад на исследуемом приложении (графика на HTML5 канвасе) показал «замечательную» производительность (я позориться и разглашать цифры не буду, понятное дело что по неоптимизированной альфа-версии о производительности не судят). Мой телефон прошлого года выпуска с устаревшим, казалось бы, одноядерным процессором, показал производительность почти в 9 раз большую.