суббота, 4 июня 2011 г.

Делаем AUX (line-in) вход на штатной магнитоле Mitsubishi Colt

Вредные японцы, на вашей магнитоле есть AUX и даже есть кнопка что бы его включать (нужно жать 2 секунды CD), так неужели было так сложно сделать нормальный вход?

Что нам понадобиться?

  • Собственно штатная магнитола Mitsubishi Colt
  • Две металические панельки шириной 5-7 мм., толшиной 1 мм. и длиной 7-10 см
  • Акустический кабиль с помощью которого соединяют звуковую карту и cd-rom
  • Разъем от наушников


понедельник, 30 мая 2011 г.

Image Resizing with Rails Paperclip and ImageMagick

The Rails Paperclip plugin uses ImageMagick for creating thumbnail images, etc.

You specify the size of images using ImageMagick's Geometry syntax which can be a little confusing. Here are the aspects of that which are most useful for Paperclip users.

В чем разница между Proc и Lambda в Ruby?

Концепции Proc (сокр. От Procedure – процедура) и Lambda (Лямбда-функция) в Ruby имеют очень тонкие различия, которые новичкам могут показаться незначительными, а могут и вообще не показаться=) Этот пост — попытка продемонстрировать и объяснить эти их особенности.

Кроссдоменный AJAX на основе CSS

Недавно столкнулся с проблемой как передать данные с сервера A в
javascript на сервер B, если на сервере B серверный код писать нельзя,
а на А можно.
И нашел элегантное решение.
Суть решения в том, что для использования предлагается объект
CSSHttpRequest, предоставляющий выполнять AJAX-запросы на базе CSS. Это
работает, поскольку CSS не имеет ограничений безопасности, которые имеет
стандартный объект XMLHttpRequest.
Код выглядит следующим образом.

CSSHttpRequest.get(
 'http://www.nb.io/hacks/csshttprequest/hello-world/',
 function(response) { alert(response); }
 );

Данные кодируются на сервере в виде 2-х килобайтных цепочек. Ответ
возвращается в в виде:
#c0 { background: url(data:,Hello%20World!); }
 #c1 { background: url(data:,I’m%20text%20encoded%20in%20CSS!); }
 #c2 { background: url(data:,I%20like%20arts%20and%20crafts.); }

На сервере B с помощью javascript создается невидимый IFRAME, в который
и загружается CSS.
Это также работает и в XHTML.

Данное решение совместимо с IE6+, Firefox 2+, Safari 3+, iPhone.
Вид лицензии: Apache License

(Via Хабрахабр:.)

Превращаем Midnight Commander в консольный браузер для GIT

Вместо предисловия...

Мне давно хотелось отсматривать код примерно как это сделано в meld, но только в консоли, и еще мне хотелось чтобы это все было увязано с системой управления версиями файлов GIT. В общем чтобы все делалось 1 кнопкой не выходя из mc.

Ydiff

Однажды у нас на канале (или это было на траке...) проявился некто Daniel Borca пошумел-пошумел и убежал, видимо не понравилась ему наша бюрократия, но зато оставил он после себя несколько сыроватых патчей, к готовившемуся релизу 4.7.0-pre1 миднайт коммандера. Один из них содержал в себе ydiff.[ch] и zdiff.[ch]… Как оказалось, то что я хотел получить, было давно уже реализовано в древнем форке mc-mp и в последней версии ru-fork. После 2-х дневного «перепиливания» я подключил функцию сравнения файлов к последней версии mc… Полдела было сделано. :)
"
(Via Хабрахабр:.)

RDropbox

RDropbox – Ruby библиотка для работы с сервисом Dropbox.



# STEP 1: Authorize the user
session = Dropbox::Session.new('your_consumer_key', 'your_consumer_secret')
puts 'Visit #{session.authorize_url} to log in to Dropbox. Hit enter when you have done this.'
gets
session.authorize
session.sandbox = true

# STEP 2: Play!
session.upload('testfile.txt')
uploaded_file = session.file('testfile.txt')
puts uploaded_file.metadata.size

uploaded_file.move 'new_name.txt'
uploaded_file.delete

Ротация логов рельсового приложения

hay roller

Введение

Это уже давно известная тема, и я не претендую на открытие Америки, но для себя зафиксирую это знание.
Даже если вы используете капистрано для выкладывания проекта в сеть, логи приложения хранятся в одном и том же месте (папка shared/log и разрастаются до огромных размеров. Можно, конечно, запускать после каждого обновления файлов проекта комманду:
rake log:clear
Но есть более цивилизованные методы. Тем более, после определённого времени код проекта начинает обновляться всё реже и реже.

Конструктор регулярных выражений

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

Расшарьте свой локальный веб-сервер в Интернете с помощью localtunnel

Иногда во время тестирования веб-приложений может понадобится доступ к ним снаружи (то есть из публичного Интернета). Например некоторые API используют коллбеки.

В таком случае можно создать обратный SSH-туннель чтоб расшарить свой локальный сервер. Но для этого нужен доступ к публично доступной машине с SSH и нужными портами открытыми на фаерволе.

Но не всегда найдется такая машина, и влом покупать VPS или что-то в этом роде. В таком случае localtunnel — как раз то что надо.