Давным-давно (года 2 назад) судьба меня закинула на Мамбу. Совсем не в поисках второй половинки, скорее это было задание по работе. Задание было быстро выполнено, но с мамбы я после этого не ушел. Проект стал мне интересен именно как бизнес, пусть и чужой. И все это время я занимался лишь тем что ставил там эксперименты. Ни ради какой то выгоды, а скорее ради интереса. Сегодня своими наблюдениями я хотел бы поделиться с вами. Писать буду частями, в которых расскажу:
Илья @Bikerrr
User
Вышел релиз ExtJS 1.1
1 min
548Данная версия включает саму библиотеку, простой WYSIWYG HTML редактор, новый класс Ext.Ajax utility, улучшенные компоненты DateField and DatePicker а также расширенную документацию и исправления.
Самое приятное нововведение – независимость библиотеки от сторонних продуктов и минимальный размер базовой библиотеки (36 KB).
+9
BitLet.org — загружайте торренты без торрент-клиента!
1 min
7.5KBitLet — это web-based торрент клиент, работающий на Java и позволяющий Вам загружать торренты на компьютер через web-интерфейс!
+3
WP Text Ads — скрипт для рекламы
1 min
536WP Taxt Ads — ето плагин для движка WordPress 2.0 or higher. Плагин предназначен для продажы рекламного места, (ссылок) на вашем блоге.
-2
10 альтернатив Microsoft Word
1 min
9.2KGoogle Docs — Онлайновый текстовый редактор. По качеству возможностям и функциональности не является конкурентом с MS Word, однако одно из важных его достоинств то, что с документом можно работать на любом компьютере, подключенном к интернет. Google Docs — бесплатное приложение и его функциональности хватает большинству людей. Zoho Writer — Еще один онлайновый редактор. У него достаточно приятный интерфейс и добавлено несколько функций (по сравнению с Google Docs). Можно попробовать. ajaxWrite —отличительной особенностью его является то, что не нужна регистрация на сайте для того, чтобы начать работу.AbiWord —Кросс-платформеное приложение с открытым исходным кодом. Очень быстро запускается, по сравнению с MS Office и OpenOffice. DarkRoom— Портированая версия WriteRoom (текстовый редактор для Mac). DarkRoom работает только если в системе установлен .NET. JDarkRoom — Еще одна альтернатива WriteRoom, кросс-платформеное приложение. Работает на JAVA, бесплатна. Writer — Уже упомянутое приложение WriteRoom, его онлайн версия. Writer.app — Текстовый процессор для Mac. Гибкие настройки и большие возможности (например, может разорвать соединение с интернетом) TextEdit — Текстовый «как-бы» редактор, поставляется совместно с Mac OS X. Может открывать и редактировать документы в разных форматах, таких как DOC,RTF, HTML. RoughDraft — Бесплатный текстовый редактор (Windows), как говориться, написан для писателей. Если соберетесь писать роман, попробуйте эту программу, она вам может понравиться.
оригинал
оригинал
+14
Шесть вопросов, которые приводят к заключению сделки
3 min
2.7KПредлагаю вам универсальную схему постановки вопросов, которая даст вам значительные преимущества в переговорах. Эту схему можно применять не только для продажи, но и для любых других целей, которые предполагают получение от собеседника чего-либо: согласия на продолжение взаимодействия, дополнительной информации и так далее…
1 Вопрос о мнении. Задайте вопрос о мнении собеседника на какой-либо вопрос, который не подразумевает принятия решения. Выражение своего отношения ни к чему не обязывает и не раскрывает конфиденциальной информации. Рассказывая, человек начинает видеть в вас заинтересованного человека и начинает доверять вам.
Итак, собеседник выразил определенное мнение, начал видеть в вас понимающего собеседника и можно переходить непосредственно к теме встречи.
1 Вопрос о мнении. Задайте вопрос о мнении собеседника на какой-либо вопрос, который не подразумевает принятия решения. Выражение своего отношения ни к чему не обязывает и не раскрывает конфиденциальной информации. Рассказывая, человек начинает видеть в вас заинтересованного человека и начинает доверять вам.
Итак, собеседник выразил определенное мнение, начал видеть в вас понимающего собеседника и можно переходить непосредственно к теме встречи.
+14
Габриэль Гарсия Маркес — 13 ФРАЗ О ЖИЗНИ
1 min
5.8K1. Я люблю тебя не за то, кто ты, а за то, кто я, когда я с тобой.
2. Ни один человек не достоин твоих слез. А те, кто их достойны, никогда не заставят тебя плакать.
3. Только потому, что кто-то не любит тебя так, как тебе хочется, не означает, что он не любит тебя всем сердцем.
4. Настоящий друг — это тот, кто будет держать тебя за руку и чувствовать твое сердце.
5. Наихудший способ грустить о ком-то — это быть с ним и понимать, что он никогда не будет твоим.
6. Никогда не прекращай улыбаться, даже когда тебе грустно, потому что кто-то может влюбиться в твою улыбку.
7. Возможно, в этом мире ты лишь человек, но для кого-то ты — весь мир.
8. Не трать времени на человека, который не желает проводить его с тобой.
9. Возможно, Бог хочет, чтобы мы встречали не тех людей, пока мы не встретим ТОГО ЕДИНСТВЕННОГО. Чтобы, когда это в конце концов случится, мы были благодарны.
10. Не плачь, потому что это прошло. Улыбнись, потому что это было.
11. Всегда найдутся люди, которые сделают тебе больно. Нужно продолжать верить людям, просто быть немного осторожнее.
12. Стань лучше и сам пойми, кто ты, прежде чем встретишь нового человека и будешь надеяться, что он поймет тебя.
13. Не прикладывай столько усилий — все лучшее приходит неожиданно.
Источник: Хутір.info
2. Ни один человек не достоин твоих слез. А те, кто их достойны, никогда не заставят тебя плакать.
3. Только потому, что кто-то не любит тебя так, как тебе хочется, не означает, что он не любит тебя всем сердцем.
4. Настоящий друг — это тот, кто будет держать тебя за руку и чувствовать твое сердце.
5. Наихудший способ грустить о ком-то — это быть с ним и понимать, что он никогда не будет твоим.
6. Никогда не прекращай улыбаться, даже когда тебе грустно, потому что кто-то может влюбиться в твою улыбку.
7. Возможно, в этом мире ты лишь человек, но для кого-то ты — весь мир.
8. Не трать времени на человека, который не желает проводить его с тобой.
9. Возможно, Бог хочет, чтобы мы встречали не тех людей, пока мы не встретим ТОГО ЕДИНСТВЕННОГО. Чтобы, когда это в конце концов случится, мы были благодарны.
10. Не плачь, потому что это прошло. Улыбнись, потому что это было.
11. Всегда найдутся люди, которые сделают тебе больно. Нужно продолжать верить людям, просто быть немного осторожнее.
12. Стань лучше и сам пойми, кто ты, прежде чем встретишь нового человека и будешь надеяться, что он поймет тебя.
13. Не прикладывай столько усилий — все лучшее приходит неожиданно.
Источник: Хутір.info
+10
Склонение существительных с числительными
1 min
1.9KВы, наверное, сталкивались с проблемой, когда слово со значением числа, которое, например, выводится прямо из базы данных, нужно склонять в зависимости от значения, но Вы не знаете как. Нижеприведенная функция поможет Вам.
<?php
function plural($n, $form1, $form2, $form5)
{
$n = abs($n) % 100;
$n1 = $n % 10;
if ($n > 10 && $n < 20) return $form5;
else if ($n1 > 1 && $n1 < 5) return $form2;
else if ($n1 == 1) return $form1;
return $form5;
}
$n = 3; // Значение из базы данных
echo $n." ".plural($n, "письмо", "письма", "писем")." у Вас в ящике";
?>
+4
Поиск mp3 с помощью Google
1 min
2.2KВсе слушают музыку, только кто-то покупает диски, кто-то скачивает с Интернета. Про то, где лучше купить диск наверное рассказывать нет необходимости, а вот про скачивание музыки с сети поговорить стоит. Есть два варианта вытянуть музыку из Интернета: легально (может и не всегда) купить в он-лайн магазине или нелегально скачать, например, с каких-нибудь зайцев. Уважающий себя человек несомненно купит лицензионный диск или легально скачает музыку за небольшие деньги. Но. У всех когда-либо было желание послушать только что вышедший альбом любимой группы при полном отсутствии денег в электронном или настоящем кошельке. Вот в этом деле нам и поможет Google.
В предыдущей статье описывались эффективные способы поиска в Google, так и настало время ими воспользоваться!
Задача: найти музыку Элтона Джона :)
Составим запрос: intitle:«index of/» +«elton john»intitle:«index of/» — фраза которая должна быть в строке заголовка, в данном случае стандартное сообщение об ошибке — нет индексного файла. «Правильно» настроенный сервер любезно выдает список файлов в папке :)+«elton john» — означает, что данная фраза обязательно должна присутствовать в тексте в точной форме.Для уверенности в результате можно добавить +mp3 -html -htm -jpg -gif (где минус означает исключение данных слов в тексте). Дело в шляпе!Хочу обратить внимание, что в этом случае нельзя искать по типу файла (filetype:), ведь поиск идет по страницам, а не по самим файлам.
В предыдущей статье описывались эффективные способы поиска в Google, так и настало время ими воспользоваться!
Задача: найти музыку Элтона Джона :)
Составим запрос: intitle:«index of/» +«elton john»intitle:«index of/» — фраза которая должна быть в строке заголовка, в данном случае стандартное сообщение об ошибке — нет индексного файла. «Правильно» настроенный сервер любезно выдает список файлов в папке :)+«elton john» — означает, что данная фраза обязательно должна присутствовать в тексте в точной форме.Для уверенности в результате можно добавить +mp3 -html -htm -jpg -gif (где минус означает исключение данных слов в тексте). Дело в шляпе!Хочу обратить внимание, что в этом случае нельзя искать по типу файла (filetype:), ведь поиск идет по страницам, а не по самим файлам.
0
vixy.net – конвертор FLV в MPEG4 теперь opensource
1 min
661Многие знают (особенно пользователи YouTube) ресурс vixy.net – позволяющий в online конвертировать flv-видео в популярные видео-форматы, такие как AVI/MOV/MP4/MP3/3GP c последующей загрузкой себе на компьютер.
Отличная новость. Конвертор FLV в MPEG4 теперь opensource и вы можете использовать его в своих проектах.
+9
Через Google Talk можно будет звонить на обычные телефоны?
1 min
1.5KGoogle Talk не обновлялся уже 5 месяцев (в последнем обновлении появилась поддержка Windows Vista), значит в следующем релизе должны быть какие-нибудь важные функции.
Правдоподобной гипотезой можно считать возможность в новой версии делать звонки на SIP, или обычные телефонные номера. Google вставила в свою презентацию о Google Apps скриншот будущей версии Google Talk.
На этом скриншоте можно увидеть кнопки «Показать панель набора номера» (Show dialpad), «Подробности вызова» (Call details), а также панель поиска с подписью «Введите имя или телефонный номер» (Enter a name or phone number).
Интересно, это будет платный, или всё-таки бесплатный аналог Skype Out? Хотя, я в любом случае очень жду новой версии Google Talk.
Правдоподобной гипотезой можно считать возможность в новой версии делать звонки на SIP, или обычные телефонные номера. Google вставила в свою презентацию о Google Apps скриншот будущей версии Google Talk.
На этом скриншоте можно увидеть кнопки «Показать панель набора номера» (Show dialpad), «Подробности вызова» (Call details), а также панель поиска с подписью «Введите имя или телефонный номер» (Enter a name or phone number).
Интересно, это будет платный, или всё-таки бесплатный аналог Skype Out? Хотя, я в любом случае очень жду новой версии Google Talk.
+33
За какие слова Adwords-рекламодатели платят больше $1,000,000 в месяц?
2 min
1.5KGoogle периодически публикует список самых дорогих ключевых слов в Adsense. Но являются ли фразы с высокой ценой клика самыми прибыльными с точки зрения адсенсного сайта? Для ответа на этот вопрос нужно знать не только стоимость, но и количество кликов в месяц.
С помощью базы ключевых слов мы провели исследование, в котором получили список слов, за которые Adwords-рекламодатели платили в 2006 году больше $1,000,000 в месяц:
С помощью базы ключевых слов мы провели исследование, в котором получили список слов, за которые Adwords-рекламодатели платили в 2006 году больше $1,000,000 в месяц:
+19
Повышение эффективности интернет магазинов
3 min
1.1KБольшинство магазинов в сети страдают на одни и те же проблемы, которые пробрались до нас с реальных магазинов. Очень жаль, что мало кто из создателей таких магазинов заботиться о клиентах и не пользуется преимуществами интернета. В данной заметке я хочу рассмотреть несколько простых способов улучшения магазина.
Содеражние:
1. Структуризация
2. Борьба с «батареей»
3. Сортировка
4. Фильтрация
5. Поиск
Содеражние:
1. Структуризация
2. Борьба с «батареей»
3. Сортировка
4. Фильтрация
5. Поиск
+9
Кремлевский веб
1 min
467+8
Брутально-элегантная верстка
2 min
913Никогда я так раньше не делал, однако, все по порядку.
Случилось мне сверстать красиво оформленную поисковую форму со всякими PNG-фенечками и кнопкой картинкой. Все бы ничего, пару дней все работало как часы, отправлялось, искало и т.д. А тут мне менеджер проекта и говорит: «Форма не работает». Как так? Глянул в ФФ — работает, в Опере — Ок, в ИЕ7 — работает, на шестерке завал. Блин. Как будто disabled на <input type=«image» src=«картинка»> выставлен, ан нет — ничего подобного.
Пробую onclick=«this.form.submit()» — Фиг вам.
Пробую onclick=«document.forms['form_name'].submit()» — Фиг.
Думаю, а что, если дело не в кнопке, ставлю обычный Сабмит — срабатывает только при попадании в два крайних правых пиксела — Блин.
И тут уже пришлось извращаться:
Что характерно, работает везде… :)
UPD: Хотя можно было и просто картинку вставить…
Случилось мне сверстать красиво оформленную поисковую форму со всякими PNG-фенечками и кнопкой картинкой. Все бы ничего, пару дней все работало как часы, отправлялось, искало и т.д. А тут мне менеджер проекта и говорит: «Форма не работает». Как так? Глянул в ФФ — работает, в Опере — Ок, в ИЕ7 — работает, на шестерке завал. Блин. Как будто disabled на <input type=«image» src=«картинка»> выставлен, ан нет — ничего подобного.
Пробую onclick=«this.form.submit()» — Фиг вам.
Пробую onclick=«document.forms['form_name'].submit()» — Фиг.
Думаю, а что, если дело не в кнопке, ставлю обычный Сабмит — срабатывает только при попадании в два крайних правых пиксела — Блин.
И тут уже пришлось извращаться:
<form method="get" action="/search/" name="form_name">
<table cellpadding="0" cellspacing="0">
<tr>
<td><img src="/img/inner/spacer.gif" width="15" height="22"></td>
<td height="22"><input type="text" name="q" value="Поиск"></td>
<td width="27" height="22" onclick="document.forms['form_name'].submit()">
<input type="submit" value="" style="border-width: 0;
background-color: transparent;
background: url('/img/pretty_button.gif') 0px 3px no-repeat;
width: 27px; height: 22px;">
</td>
</tr>
</table>
</form>
Что характерно, работает везде… :)
UPD: Хотя можно было и просто картинку вставить…
+1
Дневник фрилансера
1 min
1.2KСегодня я анонсирую небольшой эксперимент. На блоге getafreelancer-daily.ru начиная с 1 ноября 2007 года в течение месяца каждый день я буду честно, подробно, ничего не скрывая, рассказывать о своем опыте удаленной работы. Вплоть до того, сколько мне заплатили за проект, сколько времени я потратил на поиск, выдержки из переписки с заказчиком и т.д. Все предельно конкретно с цифрами и ссылками.
+46
Похвала незаметности
4 min
593В этом тексте я надеюсь описать некоторые вопросы создания удобных для пользователя сайтов. Я постараюсь не затрагивать какой бы то ни было эстетики, так что для сугубо графиков эта статья не предназначена. Эта статья про интерфейс.
+14
Bluetooth в мотоциклетном шлеме
1 min
3.3KСистема BlueBike – не первая попытка оснастить мотоциклетный шлем беспроводным интерфейсом Bluetooth. Но по количеству функций эта реализация выглядит очень неплохо.
Технология, названная «модульной коммуникационной системой» может быть интегрирована в практически любой шлем, а три основные опции позволяют управлять прослушиванием музыки по Bluetooth, осуществлять коммуникацию с КПК или даже общаться с пассажиром (если у него есть такой же шлем с Bluetooth, конечно). Батареи «устройства» хватит на 20 часов работы. А стоит эта «радость мотоциклиста» $480. Однозначно, не каждый сможет себе позволить.
via Engadget
Технология, названная «модульной коммуникационной системой» может быть интегрирована в практически любой шлем, а три основные опции позволяют управлять прослушиванием музыки по Bluetooth, осуществлять коммуникацию с КПК или даже общаться с пассажиром (если у него есть такой же шлем с Bluetooth, конечно). Батареи «устройства» хватит на 20 часов работы. А стоит эта «радость мотоциклиста» $480. Однозначно, не каждый сможет себе позволить.
via Engadget
+3
Генерируем RSS
1 min
1.2KВсе знают про RSS и то как это читать и даже парсить, но как переделать из html-кода статью в валидный RSS для веб-разработчика может быть проблематично.К типичным проблемам можно отнести присутсвие символов <, >, &. Кроме того сложности с присутсвием тэгов object внутри description приводят к тому что сделать видео объект в rss нельзя. Пробуем FeedCreator. Громадина, поддерживает всевозможные ATOM, RSS 0.9-RSS 2.0, OPML, MBOX. Надо вручную менять на UTF8 кодировку, объект хочет сразу создать xml файл. Хорошо, это в принципе разумно, кэширование в один час для блога не критично, для новостных сайтов надо уменьшать до пары минут.
И в результате
$rss = new UniversalFeedCreator();
$rss->useCached();
$rss->title = "Artjom Kurapov";
$rss->description = "Personal Blog";
$rss->link = "http://kurapov.name/";
Валидатор всё равно ругается на flash (следовательно object не поддерживается). Кроме того не нравятся относительные пути. Конешно можно изменить WYSIWYG что-бы он сразу генерировал абсолютные пути, но в случае если надо будет менять домен прийдётся много с базой работать. Поэтому мы их генерируем вместе с RSS. $recEntry->description=preg_replace("//i",'',$recEntry->description);
$recEntry->description=str_replace("href='/","href='http://kurapov.name/",$recEntry->description);
$recEntry->description=str_replace('href="/','href="http://kurapov.name/',$recEntry->description);
$recEntry->date = date('r',$item->unix_added);
$rss->addItem($recEntry);
echo $rss->saveFeed("RSS2.0", "feed.xml");
И в результате
+8
Интегрируем google maps
2 min
2.8KGoogle maps — отличное средство для картографии и сейчас мы будем интегрировать его себе на сайт благодаря открытому API. Интегрировать будем не только фиксированное положение но и произвольное, а именно — создадим в базе данных таблицу «locations», впишем там поля title, x, y.
Теперь нам надо редактировать каждое местоположение. Создадим полотно, где будет отображаться карта.
Дальше — прикрутим вызов библиотеки из google. Поскольку я использую smarty, то я передаю ключ разработчика в виде переменной.
Теперь сделаем функцию, которая будет заниматься всей гразной работой — создавать карту в нашем div элементе, позиционировать согласно заданным координатам, устанавливать bubble. В случае если мы редактируем эти координаты, то функция будет по обратной связи прописывать в скрытые input-поля некоей формы «registration_form» новые координаты перенесённого pin-указателя.
Теперь нам надо редактировать каждое местоположение. Создадим полотно, где будет отображаться карта.
<div id="map" style="width: 250px; height: 250px"> </div>
Дальше — прикрутим вызов библиотеки из google. Поскольку я использую smarty, то я передаю ключ разработчика в виде переменной.
<script src="http://maps.google.com/maps?file=api&v=2&key={$google_maps_hash}" type="text/javascript"></script>
Теперь сделаем функцию, которая будет заниматься всей гразной работой — создавать карту в нашем div элементе, позиционировать согласно заданным координатам, устанавливать bubble. В случае если мы редактируем эти координаты, то функция будет по обратной связи прописывать в скрытые input-поля некоей формы «registration_form» новые координаты перенесённого pin-указателя.
<script type="text/javascript">
function load_map(x,y,title) {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(x, y), 13);
map.enableScrollWheelZoom();
point = new GLatLng(x, y);
marker = new GMarker(point);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addOverlay(marker);
marker.openInfoWindowHtml(title);
/*
var mgr = new GMarkerManager(map);
GEvent.addListener(marker, "dragend", function() {
//var center = map.getCenter();
var strCenter=marker.getPoint();
marker.openInfoWindowHtml(document.forms['registration_form'].title.value);
document.forms['registration_form'].geo_x.value=strCenter.lat();//arrCenter[0];
document.forms['registration_form'].geo_y.value=strCenter.lng();//arrCenter[1];
});
*/
}
}
</script>
+19
Information
- Rating
- Does not participate
- Location
- Донецкая обл., Украина
- Date of birth
- Registered