2011-10-20

Масштабирование фотографий

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

Поэтому, как правило, большинство блогеров либо постят фотки сразу в большом разрешении, из-за чего их блог загружается минуть пятнадцать и съедает за раз месячный лимит GPRS трафика, либо читатели наслаждаются маленькими нечёткими картинками. Лишь самые трудолюбивые делают как нужно, ибо только самые трудолюбивые могут выполнить все шаги по обработки фотографий и не сломатья на пол пути.

Я - очень ленивый человек. Но делать плохо я тоже не люблю, если стоит выбор делать плохо или не делать вообще я всегда выбираю второй вариант. Наверно поэтому, я до сих пор постил мало фотографий. И вот недавно для одного проекта потребовался подобный функционал, тут уж не отвертеться, поэтому я придумал такую штуку:

- закачиваем на сервер исходную большую картинку через wysiwyg редактор
- адрес картинки нужного размера превьюшки формируется из адреса исходной, плюс некоторые "добавочки". При первом запуске сервер сам создает превьюшки нужного размера и кладет их в виде файлов, при последующих запросах они будут уже лежать в соответствующих папочках, т.е. масштабирование осуществляется только один раз.
- выпадающее окошко делается скриптом, который я выложил на ztools.org

Все просто. Закидываем фото, подправляем пути, и наслаждаемся:

Так растут бананы на пальме


P.S. Дизайн выпадающего окошка помог создать Паша Чуриков - лидер группы четвертый ветер и по-совместительству отличный веб-дизайнер.

 

Коментариев: 1

 
  2011-10-14

Как найти расстояние между двумя GPS точками

Понадобилось посчитать дистанцию между двумя точками заданными в GPS координатах. В PHP реализация такой фунции выглядит следующим образом:

function calcMiles ($Lat1, $Lon1, $Lat2, $Lon2){
    return 3958.75 * acos(  sin($Lat1/57.2958) * sin($Lat2/57.2958) + cos($Lat1/57.2958) * cos($Lat2/57.2958) * cos($Lon2/57.2958 - $Lon1/57.2958));
}

Ответ получается в милях, для перевода в метры, полученное значение нужно ещё умножить на 1609.344.

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

 

Оставить комментарий

 
  2011-10-13

Ташир-капут

Заказал в офис пиццу в Ташире. Выяснил, что Ташир больше не Ташир. Перец и соль к пицце больше не дают, пицца на тонком тесте совсем не отличается от пиццы на толстом. Начинки мало. Цена выросла. Пепси в подарок больше нет. И Ташир теперь будет называться "Миа".

Жаль. Вкусная у них была пицца.

 

Коментариев: 3

 
  2011-10-13

Ищу новый ноутбук

Созрел для покупки нового ноутбука. Свой Acer Aspire 4810TG мне всем нравится, легкий, комфортная диагональ, большое время работы от батарейки, большой диск, есть CD/DVD, вся нужная мне периферия, но...

Не все железо гладко работает под Linux. В частности, не смог корректно настроить микрофон для Skype, DVD не всегда монтируется, нет нативной поддержки сетевой карты, при каждом обновлении ядра нужно ставить соответствующий модуль, это не приятно. Дуальная загрузка делается через заход в BIOS, что тоже напрягает. Кнопка выключения тачпада выключает его и больше не включает.

Соответственно хочу такой же ноут, но от Dell или IBM или Lenovo - их железо лучше дружит с Linux.

Примерные характеристики должны быть такие:

Диагональ 14 дюймов
НЕ гибридный видеоадаптер - Линукс не умеет переключать графику на лету.
Винт >=320Gb
RAM >=4GB
Вес: < 2кг
Время работы от батарейки >6 часов, лучше 8
Чтобы все компоненты имели драйвера под Linux
Желательно чтобы цена была < $1000

может кто что посоветует?

 

Коментариев: 23

 
  2011-10-12

Умножение чисел в уме

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

Недавно шёл по магазину и видел двух девочек-промоутеров, одна из которых, держа в руке калькулятор, пыталась умножить 40 на 5!

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

"Расчеты, которые я провожу в голове, — это визуализация той или иной задачи. Например, сколько будет 64 умножить на 75? 64 — это квадратное число, а значит, его можно представить в виде квадрата 8 х 8. Так появляется форма, которую легче воспринимать. Теперь возьмем 75. Его легко представить как элемент числа 100, то есть квадрата 10 х 10. Нам остается только наложить эти фигуры друг на друга. В школе математику преподают совсем по-другому."

А ведь действительно, хотя лично у меня наложить квадрат 8x8 на часть квадрата 10x10 и увидеть ответ не получается - слишком круто. Мои размышления получаются немного длиннее. 75 это три четверти от сотни. Значит 64x75 это три четверти от 64x100. Четверть от 6400 это 1600, значит ответ это 6400 минус 1600 = 4800. Довольно просто.

Думаю, если больше считать в уме процесс можно ещё более оптимизировать, вот только нужно ли? Ведь под рукой есть калькулятор...

 

Коментариев: 2

 
  2011-10-11

Тень на плетень

Создание тени средствами CSS:

Бой с тенью

<b style="font-size: 2em; color: silver; text-shadow: 2pt 2px 2px rgb(127, 127, 127);">Бой с тенью</b>

Работает в Firefox, Crome, Opera.

 

Оставить комментарий

 
  2011-10-09

Текстовый редактор под Android

Выходные провёл с пользой - сделал ещё один простейший текстовый редактор, на этот раз под Андроид. Конечно, уже существует огромное множество готовых редакторов, но мне захотелось создать свой, ведь лучший способ научиться что-либо делать — делать самому. Собственно, идея сделать текстовый редактор появилась после того как я снёс с телефона Ted - работает весьма странно, иногда ни с того ни с сего портит кодировку файла а при сохранении постоянно спрашивает имя сохраняемого файла - это меня сильно достало, ведь сохраняюсь я постоянно, хотя, в целом ted — не плохой редактор.

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

Большое спасибо Александру Понамарёву за классный диалог выбора файлов, без него у меня бы ушло гораздо больше времени.

Ссылка на apk файл.

 

Оставить комментарий

 
  2011-09-29

PCRE поддерживает Posix литералы

Я уже писал, что нужно сделать, чтобы заменить в коде Posix регулярные выражения, которые в PHP 5.3 стали deprecated, на Perl совместимые. Оказывается Rerl совместимые регулярные выражения поддерживают литералы используемые в Posix такие как [[:allnum:]], [[:space:]] и т.д. В одном месте чужёго кода заметил это, и вот дошли руки проверить на практике: конструкция вида preg_match('/[[:space:]]/','df d') работает идентично конструкции вида preg_match('/\s/','df d') т.е. совсем не нужно при замене ereg на preg_match заменять еще и литералы, достаточно добавить слева и справа слеши "/". Кстати кроме слешей можно использовать любой другой символ, например "#" это полезно когда в регулярном выражении уже есть слеши - чтобы их не экранировать и не ухудшать читаемость кода.

 

Оставить комментарий

 
  2011-09-28

Как вводить японские иероглифы в Ubuntu

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

Здесь подробно написано как установить IME на Ubuntu 10.04 - у меня прекравсно все встало с первого раза.

お疲れさまです。

 

Оставить комментарий

 
  2011-09-20

Пипец - бардак

Не смотря на то, что экономика Турции значительную часть бюджета пополняет за счет туристов, производство в Турции хорошо развито. Здесь сильная текстильная промышленность, пищевая промышленность. Туристам всячески рекламируют сладости, кожаные и ювелирные изделия. Среди российских туристов очень популярные шоппинг туры в турецкие торговые центры.

Кожаные изделия. Турки очень хорошо выделывают кожу. Не знаю почему, но это факт, возможно, потому, что в Турции сильны традиции кочевых племен, которые одевались исключительно в кожу.

Ювелирные изделия. В Турции нет своего золота — все золото для своих ювелирных украшения они покупают в Швейцарии.

Не могу сказать, что цены в Турции какие то очень низкие. Скорее, это у нас с России цены на кожу задраны до небес, как будто, корова - это наше священное животное и говядину мы не едим. У меня сложилось впечатление, что цены на кожу в Турции почти такие же как в Европе - т.е. в два три раза ниже, чем в России при более высоком качестве.

В Турции принято торговаться, причем искусство торговаться возведено в ранг искусства. Неискушенного человека в Турецких магазинах так грамотно разведут, что купив вещь в втридорога он уйдет счастлив, что разорил магазин. В торговых залах торгуют как правило женщины, но когда дело доходит до торговли обычно приглашаются продавцы мужчины. Цена на товарах пишется обычно в два три раза больше чем та цена с которой начинается торговля, причем без указания денежных единиц. Торговля начинается с более низкой цены, чем та что написана, типа, продавец по своей доброте сделал вам такую королевскую скидку. Потом, этот факт будет использоваться продавцом в последующей торговле, типа, он и так уже вам сделал королевский подарок снизив цену ниже всех мыслимых пределов. Думаю, эту цену смело можно снизить еще в два раза но у меня пока такое ни разу не получилось. Туристические гиды рекомендуют такой алгоритм: продавец называет цену, покупатель должен предложить цену в два раза ниже, после этого если продавец не снижает свою цену или предлагает новую цену недостаточно низкую нужно развернуться и сделать вид что ты уходишь. Слишком быстро уходить не следует — продавец назовет цену пониже, после этого покупатель должен назвать свою новую цену. Цикл повторяется до тех пор пока продавец и покупатель не придут к компромиссной цене.

P. S. спросите что за странный заголовок в этом посте? Это нам сегодня гид рассказала прикол. Стакан по-турецки "бардак", соломинка чтобы пить воду по-турецки - "пипет", поэтому если служащему отеля сказать "пипец бардак" то с большой долей вероятности вам принесут именно эти две вещи.

 

Оставить комментарий