Мои мысли и ощущения


Вот прямо руки чешутся написать про это, а точнее высказать свое негодование.

Представьте, что вам вдруг во время программирования яблокодевайса понадобилось указать какой-либо цвет (ну там подхайлайтить что-то), то вы, определившись с цветом с помощью пипетки или на глаз (ну там ВЫРВИГЛАЗНОЖЕЛТЫЙ) пытаетесь создать объект класса UIColor. И тут начинается ступор. Я конечно понимаю, что компания Apple еще те извращенцы пытается быть не как все, но чтобы извратиться и придумать конструктор от объекта UIColor в виде покомпонентно разложенных каналов, причем не от нуля до 0xff (да-да, я чуть не охренел от эротической фантазии того, кто это придумал), — а от дробного числа в  интервале [0..1]!!!!

Блин, ну ребята, задавать цвет в rgb hex формате - это стандарт, который используется ну просто везде, начиная с самых древнейших версий HTML, CSS, Qt и так далее. Даже в андроиде не поленились написать метод Color.parseColor. Максимум, где я встретил такую нотацию - это при создании цвета в OpenGL. Т.е. примерно у каждого ui-разработчика есть представление в голове, что вот, противно- приятно-голубой цвет, который используется просто повсюду - это #0099cc, оранжевый - это наоборот надо поменять местами каналы, и так далее. И тут у тебя начинается разрыв мозга, как привычный цвет в голове быстренько перевести в систему счисления от нуля до единицы?)) не, ну я конечно заметил, что разработчики ПРОВЕЛИ ИССЛЕДОВАНИЯ и заметили, что 50 оттенков серого настолько популярны, что они сделали специальный конструктор для этого - colorWithWhite:alpha:

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

Подробнее




Представим, что мы хотим получать смску в определенное время каждый день, причем, где бы мы не находились) Конечно же, можно тупо поставить обычный будильник на телефон, но вся прелесть в том, что можно передавать какие-нибудь данные, которые периодически изменяются, например, курсы валют, погоду или какие-то свои технические данные с сервера. Для этого нам поможет сервис LittleSMS с открытым API, вся прелесть которого сводится к копеечным ценам за отправку смс (например, на номера российских операторов 0,5-0,9 рублей). Вам остается зарегистрироваться и получить ключ апи, для теста будет предложено несколько бесплатных смс.

Ну и сам код скрипта на bash

Подробнее




Бывает, что настает такой момент, когда мы начинаем понимать, что нам не хватает ограничений, наложенных виртуальным хостингом, и, наконец, собравшись духом, мы приобретаем выделенных виртуальный сервер на Linux, на котором, хм, кроме ssh-доступа на данный момент нет ничего. В этой статье я ничего не расскажу нового или сверхестественного, я ее просто помечу для себя, чтобы быстро настраивать очередной сервер, на случай переезда (предыдущий кстати очень дико тормозил, отвечал 2-3 секунды после запроса, частенько заканчивалась память сама по себе, либо он лежал). Кстати один раз они (2servers.ru) потеряли все данные на диске просто так и дико извинялись, благо я делал недавно бекап, так что обошлось.

Что ж, смелее, приступим. Речь пойдет про выделенный сервер на основе Ubuntu 12.04 LTS.

Подробнее




Бывает такое очень страшное желание выкачать весь сайт целиком (с картинками, скриптами, шаблонами и так далее). Не буду признаваться зачем, просто оставлю это здесь:

site="http://cleancanvas.herokuapp.com/";
domain="cleancanvas.herokuapp.com";
wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains $domain  --no-parent $site
Подробнее




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

Так вот, проблема заключается в следующем: как без установки фотошопа и без запуска gimp легко и просто массово изменить размеры всех изображений, находящихся в папке в линукс, используя лишь консоль?

Для начала поставим пакет imagemagick

$ sudo apt-get install imagemagick

Ну и собственно сам скриптец:

for file in *.png; do
	convert $file -resize 65x59 $file;
done

Так же мы можем распараллелить сам процесс конвертации, если у нас несколько процессоров:

procs=`cat /proc/cpuinfo | grep processor -c`;

for file in *.jpg; do
	echo "converting $file...";
	while [ `ps -e | grep convert -c` -ge $procs ] ; do
		sleep 1s;
	done;
	convert $file -resize 33% $file &
done;

Доне.

Подробнее




Ура! Наконец-то случилось полное обновление официального сайта Bingo's Soft! Теперь-то он стал гораздо лаконичнее, понятнее, да и выглядеть гораздо приличнее и минималистично, одновременно хорошо отображаясь на мобильных устройствах! Ща какую-нибудь картинку добавим из завалявшихся архивов для пестроты самой новости:

Bingo's Soft

Насколько вы помните, а может вы находитесь впервые на моем сайте, но не важно, суть остается прежней - здесь я выкладываю свои разработки, актуальные версии  своих программ и описания для них, иногда я буду писать интересные или не очень новости о новых релизах или мои околопогромиздсцкие заметки

Подробнее