История про программиста

@shipilev: @qwwdfsad Там давно уже не LCG, а Marsaglia xor-shift, но сути комментария это не меняет
@qwwdfsad: о, он теперь по дефолту включен?
@shipilev: да
@shipilev: Trivia: я его случайно переключил, когда пушил @Contended в восьмёрку, но обнаружилось это только когда восьмёрка уже вышла во все поля
@shipilev: https://bugs.openjdk.java.net/browse/JDK-8006176
@shipilev: Не, ну я проверил, что распределения не удолбищные. Оно даже многие DieHard проходило. Из спектральных тестов невооружённым глазом видно, что лучше: http://cr.openjdk.java.net/~shade/8006176/randomicity/
@shipilev: Потому что это был экспериментальный однострочный фикс, на котором я перф тестировал. Он просто так утёк в коммит другой фичи, гыгы.
@gurinderu: @shipilev и никто не заметил?)
@shipilev: Судя по всему, нет. Потому что мне самому кто-то в твитторе года два спустя сказал, что “да вон парни из Оракла переключили hashcode=5, и всё стало шоколадно”. И тут я посмотрел в историю и понял…
@gurinderu: понял почему Шипилёва выгнали из Оракла
@shipilev: Но-но! Я косячнул один раз и это всё равно улучшило перформанс. Beat that, suckers.

The Brave One

JavaScript creator and Mozilla co-founder Brendan Eich just released version 0.11.6 of Brave browser.

It’s amazing how easy it’s today to make the browser: just take Node.js, Electron and a small team… Boom, you have a modern browser with the latest web technologies.

Brave has good privacy defaults: https everywhere, tracking protection and ad blocking. Also, you can block scripts in few clicks, it’s really funny since Brendan is JavaScript creator. For sure I’ll keep this browser and maybe will use it from time to time.

Hope Firefox will apply this defaults too.

Master Foo Discourses on the Graphical User Interface

Как-то раз Мастер Фу и Ньюби посетили встречу программистов, собравшихся для обмена знаниями. Один из программистов поинтересовался у Ньюби, к какой школе принадлежат он и его учитель. Услышав, что они последователи Великого Пути Unix, тот презрительно усмехнулся.

— Инструменты командной строки Unix грубые и отсталые, — бросил он, — современные правильно спроектированные операционные системы делают всё через графический интерфейс!

Мастер Фу промолчал, но ткнул пальцем на луну. Собака неподалёку залаяла на руку Мастера.

— Я не понимаю вас! — сказал программист.

Мастер Фу, по-прежнему храня молчание, ткнул на изображение Будды. Затем на окно.

— Что вы пытаетесь сказать? — вопрошал программист.

Мастер Фу ткнул на голову программиста. Затем на камень.

— Почему вы не можете сказать ясно? — потребовал ответа программист.

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

Пока программист пытался выбраться оттуда, пробегавшая мимо собака помочилась на него.

В этот момент программист достиг просветления.

Полный перевод Unix-коанов на русский язык

Backendsecret

Backendsecret – это “Коллективный твиттер-аккаунт для бэкенд-разработчиков с новым автором каждую неделю”. И мне посчастливилось побыть одним из авторов. Интересный опыт, хоть я и не был очень активным, но зато как мне кажется удачно осветил тему Котлина и возможно об этом замечательном языке узнало еще пару человек 🙂

А вот и статистика 🙂

TP-Link TP-WR842ND v1.1 and TD-W8968 v3

Сегодня занялся админскими делами и наконец-то дома заменил данный провайдером (byfly) ZTE ZXV10 W300 на TD-W8968.

Задача настройки ADSL на нем не такая простая как я думал, но уже ADSL настроен и интернет раздается по Wi-Fi, когда будет время надо будет покрутить другие ручки такие как второй/третий SSID для гостей/со включеным VPN.

В общем пишите, если нужно помогу его настроить.

Тем временем второй TP-Link’овский роутер, TP-WR842ND который после прошивки на гаруглью я успешно сделал кирпичом (как я не знаю :D) пришлось восстанавливать. Первая мысль что пора вспоминать UART и идти за паяльником к счастью осталась просто мыслью: данный роутер умеет восстанавливать себя сам (sic! спасибо китайцам за эти роутеры, с ними даже GPL идет распечатанная!) В общем вооружившись tftp я восстановил его (опять непонятно как :D). Пользовался я следующими гайдами:

http://wiki.openwrt.org/toh/tp-link/tl-wr842nd
http://forum.tp-linkru.com/viewtopic.php?f=216&t=1292

В общем остался я доволен тем что делают китайцы. Кстати, если еще не слышали, то посмотрите на смартфон Oneplus One: он тоже на открытой прошивке работает – CyanogenMod, надеюсь со временем все больше таких девайсов будет.

Впечатления от Cyanogen Mod 11 на Sony Ericsson Live With Walkman

Знаете, я всегда недоверчиво относился к кастомным прошивкам для телефонов/планшетов. Я считал что нет ничего лучше “родной” прошивки, а все остальное лишь игрушки.

Несколько лет назад у меня появился Sony Ericsson Live With Walkman (WT19i). До этого у меня было два Sony Ericsson’a, и мне они очень нравились. Приложения на J2ME это конечно круто, но время идет и пришла пора “полноценной” Java на телефонах: Привет, Android! Что ж, первое время я довольствовался прошивкой 2.3.6, которая шла по умолчанию. А так как это был мой первый андроид то я был ей вполне доволен. Все бы хорошо, но потихоньку получал распространение Android 4.0, а Android 3.0 так и не вышел из беты. Многие разработчики не хотели поддерживать вторую ветку, соответственно появилось желание поставить что-нибудь посвежее. В стандартном приложении PC Companion мне не предлагали обновить моего старичка, хотя в интернетах вовсю трубили о выходе четверки под LWW. Что ж, я запасся мануалами и Flashtool’ом и без труда накатил свежего робота. Счастью не было предела, я изучал новые возможности и свежий софт, даже делал попытки разработки, но не втянулся.

Время шло и телефон устаревал, вот уже 4.1, а за ней 4.2, далее 4.3 и бам Кит-Кат! Я приобрел Nexus 7 и почувствовал насколько морально устарел мой Walkman. А последнее время начался сильный жор батареи. Первая мысль: мне нужен рут, чтобы снести весь шлак с телефона и я получу лучшую производитель и автономность! Но чтобы получить рут нужно немало поплясать с бубном, и не факт что это заработает. Поэтому я пошел по легкому пути: забрел на форум 4pda и начал читать ветки с прошивками на WT19i. Больше всего понравилась ветка с цианом и я приступил к его установке.

Следую шагам и включая мозги я перепрошил телефон примерно за 20 минут и получил навыходе LWW с свежайшим Кит Катом и без лишнего софта на телефоне.

Собственно переходим к теме статьи, мои ощущения от циана на данном телефоне:

  • Циан офигеннен – даже по сравнению со стоковой прошивкой Nexus 7
  • Телефон стал супер быстрым – медленнее чем Nexus 7, но субъективно очень плавный и отзывчивый
  • Внутренняя память освободилась – больше места для нужных приложений
  • Больше контроля над телефоном – тут даже терминал есть! Я могу сделать ssh user@host прямо с телефона и рестартануть nginx едя в автобусе!
  • Автономность значительно увеличилась – телефон больше не разряжается за 10 часов ожидания
  • Свежий софт – меньше проблем с безопасностью

Я хотел брать Nexus 5, но теперь неуверен нужна ли мне эта покупка. LWW продолжает радовать меня, и если не возникнет каких-нибудь проблем в будущем я буду продолжать его использовать. Отсюда мораль: не спешите выкидывать старый смартфон!

What The Hack – или как я участвовал в хакатоне

24-ый час бодрствования
24-ый час бодрствования

Неудачный опыт – тоже опыт. Вот так можно охарактеризовать мое участие в wth.by.

Попал на хакатон я случайно и принял решение участвовать. Как следствие никакой предварительной подготовки, идей, планов и команды из друзей или знакомых. Зато был получен опыт и капитанские выводы на тему “Как успешно участвовать в хакатоне”.

Так как же?

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

Исходя из выше сказанного оставлю на будущее план по подготовке к хакатону:

  1. Поиск команды/генерирование идей
  2. Доукомплектование команды
  3. Проработка идеи
  4. Разделение на части
  5. Проработка API между частями
  6. Заглушки/быстрое прототипирование чтобы дать возможность тестировать/разрабатывать отдельные модули
  7. Сон в первую часть разработки, оставить ~24 часа на финиш
  8. Прогон презентации
  9. ???
  10. Profit!

Видимо следующий хакатон я буду стараться проводить именно по такому плану, а что получится – увидим.

Результаты WTH 2014:
http://xbsoftware.ru/blog/wth2014-sensornaja-bumaga-ebuben-drugaja-magija/
http://management.bel.biz/news/v_minske_proshel_pervyj_pravilnyj_hakaton/
http://generation.by/news6738.html

Месяц на codeschool почти бесплатно

Не знаю как это работает, но по этой ссылке я сегодня купил месяц курсов на Code School за 4$, что есть сущие копейки.
На самом деле ссылка скидывает цену до 9$, но у меня еще были 5$ за прохождение Try Git пару лет назад, возможно, пройдя его вы тоже получите скидку!

codeschool

Почему стоит купить подписку? Наверно потому что на Code School есть куча крутых курсов по следующим направлениям: Ruby, JavaScript, HTML/CSS, iOS и Git, а скоро должен появится курс по SQL.

Ушел проходить Backbone.js 🙂