Я потихоньку переезжаю с Google Blogger на Jekyll на GitHub Pages, хочется сделать сайт более легковесным и немного сменить направление развития.
Новый блог будет вестись на английском, основными темами будут веб, непрерывная интеграция и всякое цифровое искусство (музыка, фотографии).
Сейчас он располагается по адресу new.rudeshko.com. Там почти всё написано с нуля, поэтому подписывайтесь, комментируйте и не стесняйтесь поправлять меня и репортить баги =)
Всем хорошего дня!
понедельник, 18 ноября 2013 г.
четверг, 3 октября 2013 г.
Oxycanta III
В замечательный день 30-го сентября вышла очередная серия эмбиент сборника Oxycanta под номером III.
Не пропустите.
Не пропустите.
четверг, 29 августа 2013 г.
Помощь в отладке JS
Бывает очень много случаев когда хочется отладить одну конкретную функцию с нужными аргументами и простым брейкпоинтом тут не отделаешься. На помощь спешит команда
debugger!суббота, 24 августа 2013 г.
Искушённые маководы
Привет, сегодня у нас краткие заметки про настройку макоси. Пишу для себя или для любого другого любителя-виндовода, разрабатывающегося под макосью =)
вторник, 20 августа 2013 г.
Разделяем элементы массива
Последнее время меня мучила небольшая задачка по добавлению разделителей любого типа (не только строки, но и объекты, другие массивы) между всеми элементами данного массива. То есть что-то вроде
Например:
Естественно, задачка очень проста и решается кучей различных способов. Моей проблемой является не нахождение решения, а поиск его наиболее элегантного варианта.
Я перепробовал массу вариантов, но постоянно внутренний мир был недоволен. Хотелось, конечно, сделать в функциональном стиле, но красиво не вышло.
Совесть замолчала на следующей конечной реализации:
Можно легко переделать как на расширение прототипа, так и на неразрущающий вариант.
А как выглядит элегантное решение на вашем языке?
Array#join(separator), но чтобы на выходе получался массив, а не строка.Например:
[1, 2, 3] => [1, 'sep', 2, 'sep', 3]
Естественно, задачка очень проста и решается кучей различных способов. Моей проблемой является не нахождение решения, а поиск его наиболее элегантного варианта.
Я перепробовал массу вариантов, но постоянно внутренний мир был недоволен. Хотелось, конечно, сделать в функциональном стиле, но красиво не вышло.
Совесть замолчала на следующей конечной реализации:
function insertSeparator(array, separator) {
var index = array.length - 1;
while (index) array.splice(index--, 0, separator);
return array;
}
Можно легко переделать как на расширение прототипа, так и на неразрущающий вариант.
А как выглядит элегантное решение на вашем языке?
Хорошего дня!
четверг, 25 июля 2013 г.
пятница, 19 июля 2013 г.
Команда copy в Chromium DevTools
А вот и ещё одна команда, которая может оказаться чрезвычайно полезной как при отладке, так и при разработке веб приложений.
воскресенье, 14 июля 2013 г.
Debuggex
Debuggex — отличный сервис, который надёжно избавит вас от боли отладки регулярных выражений в вашем JS. Бесплатно и без СМС!
Например, не так то просто понять регулярное выражение для IPv4:
Но debuggex мгновенное превращает это в наглядную схему:
И дальше можно пройтись по любому тексту используя это регулярное выражение шаг за шагом, выявить проблемы. Кроме того, сервис предлагает несколько рандомных совпадений, а так же различные примеры регулярных выражений (как, например, упомянутый IPv4). А вот пример для IPv6:
Есть и краткий туториал:
Например, не так то просто понять регулярное выражение для IPv4:
(?:(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])\.){3}(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])
Но debuggex мгновенное превращает это в наглядную схему:
И да, естественно, можно пользоваться не только для отладки джаваскриптовых регулярных выражений, но и для всех остальных. Нужно только учитывать особенности.
Хорошего дня!
понедельник, 1 июля 2013 г.
Мониторинг веб-сервера
Опишу неизощрённый и простой способ определения доступности веб-сервера.
Допустим у вас длительный процесс поднятия веб-сервера (например, клонирование виртуалки) и хотелось бы не пялиться в логи, а получить уведомление о доступности сервера. Достаточно в цикле выполнять команду
Осталось только набросать вокруг цикл со
Допустим у вас длительный процесс поднятия веб-сервера (например, клонирование виртуалки) и хотелось бы не пялиться в логи, а получить уведомление о доступности сервера. Достаточно в цикле выполнять команду
curl, которая бы дёргала интересующий нас url:curl -Is test.rudeshko.com
-I - вывести только заголовки ответа;-s - silent, ничего не выводить. Я так понял, что это про ошибочный вывод, ибо над обычным (http) силы не имеет. Есть смысл использовать в скриптах в совокупности с кодом возврата команды, например, RESULT=$?:curl -Is test.rudeshko.com > /dev/null RESULT=$?
Осталось только набросать вокруг цикл со
sleep =)
Хорошего дня!
четверг, 27 июня 2013 г.
Символические ссылки
Сегодня у нас краткая заметка про символические ссылки.
Удалить ссылку очень просто:
Удалить ссылку очень просто:
rm linkА как удалить файл, на который указывает ссылка? Вот так:
rm `readlink link`
Хорошего дня!
вторник, 25 июня 2013 г.
вторник, 2 апреля 2013 г.
Music update
Всем привет!
Немного интересных названий за последнее время.
Хорошего дня!
четверг, 28 марта 2013 г.
График работы
Подумалось мне тут, что было бы интересно, если бы в дневную рабочую норму (8-9 часов) по закону было включено ещё и время, затрачиваемое на поездку. Тогда и сам работодатель был бы заинтересован в расположении работников ближе к работе, и люди бы так не уставали.
И овцы живы, и волки сыты)
Хорошего дня!
Google Keep
Не то, чтобы гугл кип был сильно хорош, но вот что точно хорошо, так это автоматическая синхронизация где-то в фоне. Синхронизация - прямо таки бич нашего века, даёшь гит репозиторий в каждую софтинку =)
Можно ехать в метро и действительно делать всякие заметки, как, например, сейчас) Тот же евернот мне сразу не понравился - слишком уж тяжеловесный и тормозной, постоянно ломал форматирование (даже то, которого нет); гугл докс тоже отпадает - не попишешь в оффлайне.
Ничего не отвлекает, только текст - сиди записывай! =) И не тормозит даже! В последнем андроиде заметки можно делать прямо с локскрина.
И да, сотый пост =)
Можно ехать в метро и действительно делать всякие заметки, как, например, сейчас) Тот же евернот мне сразу не понравился - слишком уж тяжеловесный и тормозной, постоянно ломал форматирование (даже то, которого нет); гугл докс тоже отпадает - не попишешь в оффлайне.
Ничего не отвлекает, только текст - сиди записывай! =) И не тормозит даже! В последнем андроиде заметки можно делать прямо с локскрина.
И да, сотый пост =)
четверг, 7 февраля 2013 г.
Тормозной Android
Думаю, не я один столкнулся с проблемой достаточно существенного и необъяснимого замедления операционки на базе HTC. Переломный момент я не отследил, но говорят, что подобная фигня произошла после крайнего обновления системы.
Пытаясь решить проблему я нагуглил весьма незамысловатое решение - factory reset. Ну что же, терять особо нечего, подумал я. Контакты синхронизируются, SD карточку оно не чистит, только внутреннее хранилище.
И поресетил.
Пытаясь решить проблему я нагуглил весьма незамысловатое решение - factory reset. Ну что же, терять особо нечего, подумал я. Контакты синхронизируются, SD карточку оно не чистит, только внутреннее хранилище.
И поресетил.
воскресенье, 6 января 2013 г.
Тонкости Picasa
Пока разгребал фотки, наткнулся на очень интересную особенность Picasa и Google+ в целом.
Как вы, возможно, могли заметить на сайте picasaweb, внизу страницы указан объём, сожранный вами от бесплатных 5 Гб. Примечательна политика расходования этого бесплатного места. Мало того что оно распространяется на все сервисы Google (GPlus, Picasa, GMail, GDrive) и само по себе невероятно дёшево (100 Гб за $5 в месяц ≈ 150р, в дропбоксе - в два раза дороже), так оно ещё и тратиться очень хитро.
воскресенье, 9 декабря 2012 г.
Word Masterpiece
Вполне себе кричащий заголовок, не правда ли? =)
Общеизвестно, что большинству студентов в конце своего жизненного цикла надлежит сдать нечто называющееся "пояснительной запиской" к диплому, что по факту представляет собой набор макулатуры, успешно прошедшей естественный отбор в процессе отделывания от учебного заведения. Именно на этом этапе сейчас нахожусь я.
Общеизвестно, что большинству студентов в конце своего жизненного цикла надлежит сдать нечто называющееся "пояснительной запиской" к диплому, что по факту представляет собой набор макулатуры, успешно прошедшей естественный отбор в процессе отделывания от учебного заведения. Именно на этом этапе сейчас нахожусь я.
среда, 7 ноября 2012 г.
Хабраюзер
Последнюю неделю довольно активно разрабатывал это расширение для Google Chrome. Посвящается всем, кто более-менее активно читает хабр. Сегодня выкатил достаточно большое обновление и хотел бы немного рассказать о нём.
К слову, несмотря на то, что расширение называется Хабраюзер, чтобы им пользоваться, зарегистрированным хабраюзером быть не обязательно =) Достаточно быть просто читателем, на функционал это никак не влияет.
Начиналось всё с того, что я просто пытался сделать быстрый доступ к карме пользователя. Это вызвало двоякий резонанс на хабре, но я всё равно остался вполне доволен результатом. Примерно там же в обсуждении и родилась довольно банальная идея для второй фичи: подсветка автора.
Прошло немало времени, прежде чем у меня дошли руки и я реализовал этот функционал и обновил расширение (которое в то время называлось Habrauser popup).
В то время я стал замечать за собой такое поведение при чтении комментариев: листаем-листаем-листаем, считаем голоса и читаем сильно заплюсованные комментарии и их эпсилон-окрестность. А почему бы не делать это программно? Подсветим топовые комментарии!
Пока разрабатывал эту фичу, совершенно случайно наткнулся на пост, в комментарии к которому автор вопрошал, чегойто у него один из людей красненький! Я даже попытался на месте всё объяснить, но не очень успешно. Хм, людей надо как-то уведомлять об обновлениях и новых фичах. Да и может не всем по вкусу эти фичи.
Это послужило стимулом для инфраструктурной разработки: страница опций! Почему-то именно она выпила больше всего крови! Но была успешно допилена в версии 0.8.6, в которой я только и пытался уведомить о том, что расширение - это теперь не только ценный попап. Название было обновлено.
Закончив с подсветкой топовых комментариев, я стал оптимизировать. Немного покопавшись в Chrome Extension API я избавился от кучи лишнего неочевидного тяжеловесного кода, значительно упростил и включил синхронизацию настроек. Вот и опубликована версия 0.9.2 (нолик в начале ужасно читерски спасает от излишних придирок, типа: это бета-версия, чо вы хотите! Усё исправим! =) )
Надеюсь, кому-нибудь кроме меня покажется полезным =)
Собственно, установить отсюда.
Исходный код на GitHub: репортим баги, реквестим фичи, ставим звёздочки, присылаем пул-реквесты =)
К слову, несмотря на то, что расширение называется Хабраюзер, чтобы им пользоваться, зарегистрированным хабраюзером быть не обязательно =) Достаточно быть просто читателем, на функционал это никак не влияет.
Начиналось всё с того, что я просто пытался сделать быстрый доступ к карме пользователя. Это вызвало двоякий резонанс на хабре, но я всё равно остался вполне доволен результатом. Примерно там же в обсуждении и родилась довольно банальная идея для второй фичи: подсветка автора.
Прошло немало времени, прежде чем у меня дошли руки и я реализовал этот функционал и обновил расширение (которое в то время называлось Habrauser popup).
В то время я стал замечать за собой такое поведение при чтении комментариев: листаем-листаем-листаем, считаем голоса и читаем сильно заплюсованные комментарии и их эпсилон-окрестность. А почему бы не делать это программно? Подсветим топовые комментарии!
Пока разрабатывал эту фичу, совершенно случайно наткнулся на пост, в комментарии к которому автор вопрошал, чегойто у него один из людей красненький! Я даже попытался на месте всё объяснить, но не очень успешно. Хм, людей надо как-то уведомлять об обновлениях и новых фичах. Да и может не всем по вкусу эти фичи.
Это послужило стимулом для инфраструктурной разработки: страница опций! Почему-то именно она выпила больше всего крови! Но была успешно допилена в версии 0.8.6, в которой я только и пытался уведомить о том, что расширение - это теперь не только ценный попап. Название было обновлено.
Закончив с подсветкой топовых комментариев, я стал оптимизировать. Немного покопавшись в Chrome Extension API я избавился от кучи лишнего неочевидного тяжеловесного кода, значительно упростил и включил синхронизацию настроек. Вот и опубликована версия 0.9.2 (нолик в начале ужасно читерски спасает от излишних придирок, типа: это бета-версия, чо вы хотите! Усё исправим! =) )
Надеюсь, кому-нибудь кроме меня покажется полезным =)
Собственно, установить отсюда.
Исходный код на GitHub: репортим баги, реквестим фичи, ставим звёздочки, присылаем пул-реквесты =)
Хорошего дня!
пятница, 2 ноября 2012 г.
Код в Blogger
Уже не раз писал о том, каково это, вставлять сюда какой-либо код.
Недавно задумался о том, что у гитхаба есть ничего так себе гисты (gist), с подсветкой, версионированием и форками, и их, к тому же, уж очень удобно встраивать! Посмотрим как это в будущем спасёт мир!
В самом редакторе они, почему-то, не отображаются, пустое место. Ну и фиг с ним. Заэмбеддим мальца!
И ещё сиквела!
Расскажите, как это в RSS это читается? Всё видно?
Недавно задумался о том, что у гитхаба есть ничего так себе гисты (gist), с подсветкой, версионированием и форками, и их, к тому же, уж очень удобно встраивать! Посмотрим как это в будущем спасёт мир!
В самом редакторе они, почему-то, не отображаются, пустое место. Ну и фиг с ним. Заэмбеддим мальца!
И ещё сиквела!
Расскажите, как это в RSS это читается? Всё видно?
пятница, 26 октября 2012 г.
Intangible EP
Вчера положил старый вечно-недоделанный-с-2009-и-по-никогда трек на SoundCloud. Трек хороший, мне нравится, пусть и недопиленный, но вполне слушабельный.
Можно послушать прям тут:
Можно послушать прям тут:
Сегодня от нечего делать оформил 7 старых и вечно-недоделанных треков 2009 года розлива в Intangible EP (EP = extended play - это уже не сингл, где только 1-3 трека, но и не полноценный альбом, который > 70 мин). Перевёл в статус общественного достояния, а то чё я только один слушаю.
Треки все старые потому что получены с восстановленного винчестера, который подох в 2009 и только недавно дошли руки его уже наконец оживить.
Все треки недопилинные потому-что фрукт у меня конечно есть, но большинства использованных VST инструментов уже и не существует, а поиспользовал я дофига! Да и лень, все те идеи уже тютю.
Саморелиз потому что... просто, потому что. Нафиг лейблы. С первым альбомом навозился и толку никакого. Да, задистрибьютили, молодцы, спасибо. Я лучше на трекер выложу.
Часть названий и картинку тоже придумал только вчера.
И да... хорошего дня!
Подписаться на:
Сообщения (Atom)

