Category: it

Category was added automatically. Read all entries about "it".

Природа, Канада, twitter

Книгу про "Создание Продукта" как-то написал...

С полгода назад написал онлайн книгу про то как делать продукты.

Там всего 9 "страничек" про то что важно в бизнесе, а что можно отложить до лучших времен.

Паника!, Google, AAA

А помнишь? Гуртовщик мыши, файл сапог-полено.txt и прочие авто-переводы 1995 года

Нашел у себя на компе файлик с названием "Гуртовщик мыши.txt", начал ржать еще не открыв! Все кто помнит времена когда Ынтернет еще не было, хотя бы 1 раз угорали с чтения этого автоматического перевда инструкции по подключению манипулятора Мышь к новейшей и иновационной тогда системе Windows 95. Вот, можете почитать, хотя сейчас уже наверное не так смешно.


Microsoft компания получает много откликов после появления Окон 95.

Мы выявили, что много пользователей встpетили пpоблему мыши. В этом документе Cлужба Техничного Упоpа Microsoft компании сводит вместе всю полезную инфоpмацию о возможных пpоблемах с мышами и гуpтовщиками мыши и забота-стpеляние.

Если вы только что закpепили себе Окна 95, вы можете увидеть, что ваша мышь плохо себя ведет. Куpсоp может не двигаться или движение мыши может пpоявлять стpанные следы на повеpхности стола, окнах и обоях. Мышь может не-адекватно pеагиpовать на щелчок по почкам. о не спешите! Это могут быть физические пpоблемы, а не клоп Окон 95.

Почистите вашу мышь. Отсоедините ее поводок от компьютеpа, вытащите гениталий и пpомой-те его и pолики внутpенностей спиpтом. Cнова зашейте мышь. Пpовеpьте на пеpеломы поводка. Подсоедините мышь к компьютеpу.

Пpиглядитесь к вашей пpокладке (подушке) - она не должна быть источником мусоpа и пыли в гениталии и pоликах. Повеpхность пpокладки не должна стеснять движения мыши.

Может быть вам стоит купить новую мышь. Мы настоятель-но pекомендуем Microsoft мышь. Она эpгономично спpоектиpована, особо сделана под Окна 95 и имеет тpетью почку в виде колеса, котоpые могут завивать окна.

Cовокупление Microsoft мыши и Окон 95 делает вашу повседневную pаботу легко пpиятной. Испытайте все это. Если пpоблемы остались - ваш гуpтовщик мыши плохо стоит под Окнами 95. Его пpидется убpать.

Вам нужен новый гуpтовщик мыши. Если вы пользователь Microsoft мыши посетите Microsoft Cлугу Паутины, где в особом подвале вы сможете опустить-загpузить самого текущего гуpтовщика Microsoft мыши. Если пpоизводитель вашей мыши дpугой, узнайте о ее гуpтовщике. Все основные пpоизводители мыши уже имеют гуpтовщиков мыши для Окон 95.

Пеpед тем как вы будете закpеплять гуpтовщика мыши, сделайте заднюю-веpхнюю копию ваших досье. Почистить ваш винчестеp имеет смысл. У вас должен быть стаpт-ввеpх диск от Окон 95. После того, как вы закpепили нового гуpтовщика, скоpее всего ваши пpоблемы pешены. Если они остались, напишите в Cлужбу Техничного Упоpа Microsoft, и вашим случаем займется Особый Отдел.

Для эффективной помощи техничного упоpа, наш инженеp должен знать тоpговую маpку вашей мыши, тип (в-поpтовая мышь, пеpиодическая мышь, автобусная мышь, Полицейский Участок /2 мышь, без поводка мышь, гениталий, на гусеничном ходу и т.п.), веpсию гуpтовщика, пpоизводителя компьютеpа (матеpи-доски), положение поpтов и pубильников на матеpи-доске (и pас-клад каpт), а также содеpжимое досье Авто-#####.bat, config.sys и Cапог-полено.txt.

Кpоме того, несколько полезных советов:

  • не закpепляйте себе Окна 95 в то же самое место, где у вас закpеплены Окна 3.икс, вы не сможете хоpошо делать кое-что пpивычное.
  • если вы новичок под Окнами 95, пpивыкните к новым возможностям мыши. Щелкните по левой почке - выделите пункт, щелкните по пpавой кнопке меню с контекстом всплывет, быстpо удаpьте два pаза по левой почке - запустите повестку в суд.
  • отpаботайте быстpый двойной удаp по почкам мыши с помощью специального тpенажеpа на пульте упpавления Окнами 95.
  • специалисты Microsoft компании после большого числа опытов выявили, что наиболее эффективной командой из-под Окон 95 является "Послать на ...", котоpая доступна в любом вpемени и месте пpи удаpе по пpавой почке мыши. Если вы только что закpепили себе окна 95, вы сумеете послать только на А (Б) и в специальное место "Мой поpтфель". но по меpе того как вы будете закpеплять себе новые пpогpаммы для Окон 95, вы начнете посылать на все более сложные и интеpесные места и объекты. Особую эффективность команда "Послать на..." пpиобpетет пpи пеpедачи посланий чеpез Е-почту и общение с вашими коллегами и дpузьями в местной сети-pаботе. Попpобуйте мощь команды "Послать на ...", и вы быстpо убедитесь, что без нее тpудно существовать под Окнами 95.

Пишите нам и помните, что Microsoft компания всегда думает о том, как вас лучше сделать.

Кушаю, Горы

Что делать в жизни дальше?

За последний год в Ынтернет я:

  • Создавал сайты и лендинг-пейджи (много, бессмысленно и беспощадно)
  • Заводил сотни социальных аккаунтов во всевозможных соц.сетях, половину названий вы даже не знаете :)
  • Знакомил людей между собой и приглашал на всякие мероприятия и конференции. В общем SMM как сейчас говорят.
  • Создавал виртуальных персонажей в соц.сетях. Ну это реально для некоторых бизнес-процессов необходимо!
  • Много копался с клауд сервисами и делал разные бизнес решения на основе Google Apps, Dropbox и прочего.
  • Монтировал много видео и делал много фотографий. Хотя с фотками теперь легче, их Саша делает.
  • Занимался SEO и барыжил ссылками. Ну еще немножко программы продавал :)

За последний год в офлайне я:

  • Работал со стартаперами, инвесторами, менторами и прочим "шоу-бизнесом".
  • Посещал тематические конференции, ивенты и собеседования. Активно знакомил людей между собой.
  • Много снимал видео. Разного и всякого. Стал "миллионником" на YouTube, или это уже онлайн? :)
  • Вернулся к авиамоделизму и электронике. Хотя серьезных достижение пока нет.
  • Чинил кучу техники для друзей и знакомых. Немного паял новых устройств.
  • Так и не доделал ни мебель, ни "умный дом" :(

За последний год я программировал на:

  • PHP (чистый, под Wordpress и немного Drupal)
  • Delphi - под Windows и потуги под MacOS.
  • C# - пробовал освоить WinRT и Win Mobile.
  • С - под микроконтроллеры, но там мелочь.
  • HTML+CSS+JavaScript - ну это так вообще почти каждый день что-то. Скоро на HTML разговаривать буду.

К чему это я все? Во всем перечисленном я профессионал, но меня это все задолбало и надоело! Хочу чего-то нового, полезного и интересного. Желательно еще чтобы и деньги приносило :)

Какие будут идеи и предложения?

Природа, Канада, twitter

Один год из жизни Shareware (продажа программ с пробным периодом)

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

За год у меня нарисовалось 4 коммерческих проекта (еще примерно столько же есть фриварных), комплект индикаторов под каждый светодиод клавиатуры и набор полезных кнопок Missing Buttons.

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

Так же могу сказать что SEO (основной источник трафика в шареваре) напнулось медным тазом, особенно для доменов состоящих из ключевых слов. Мои сайты бесплатных программ (с трафиком 10К+ людей в день) вылетели из выдачи даже по названию продукта :(

Социальные сети для продуктов типа "системная утилита" тоже нифига не работают. Ну, в смысле люди иногда пишут туда благодарности и общаются между собой, но уже точно не ищут индикатор Caps Lock для беспроводной клавиатуры в Facebook или Google Plus...

Ну а теперь немного цифр за 1 год шароварной жизни:

Caps Lock Indicator

  • Посещений сайта (уникальных): 10,522 (8,735)
  • Среднее число посетителей сайта, через браузер, в день: 28
  • Максимальное число посетителей сайта в день: 78
  • Закачек программы, со своего сайта: 926
  • Установок программы: 1,701
  • Запущенных копий в день, примерно: 60
  • Продаж за месяц в среднем: 20
  • Всего продаж: 249 (301 лицензий) на сумму $3,142 (доход примерно $2,450)

Num Lock Indicator

  • Посещений сайта (уникальных): 1,170 (889)
  • Среднее число посетителей сайта, через браузер, в день: 3 :)
  • Закачек программы, со своего сайта: 104
  • Установок программы: 146
  • Запущенных копий в день, примерно: 7
  • Продаж: 49 на сумму $245 (доход около $135)

Scroll Lock Indicator

  • Посещений сайта (уникальных): 1,408 (601)
  • Продаж: 13 на сумму $39 (доход ~ $15 :))

Missing Buttons

  • Посещений сайта (уникальных): 627 (250)
  • Продаж: 3 на сумму $30 (доход ~ $20 :))

Итого: 2450 + 135 + 15 + 20 = $2,620
Или всего $218 в месяц!

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

P.S. Даже средней руки программист (в Киеве) сейчас за 1 месяц получает, как шаровара дала мне за год. Так что выводы делайте сами.

Паника!, Google, AAA

Как заставить Internet Explorer 8 (и более старые) нормально отображать HTML5 сайты

Если сайт/документ делаешь полностью сам, то можно конечно психануть и сделать верстку в формате XHTML 1.0 или даже HTML 3.2 :)

Но чаще приходится иметь дело с чужими темами, плагинами, скриптами... А там уже 2й год мода пошла делать все на HTML5 c header, article, section и прочими новыми тагами.

За последний месяц у меня спрашивали как решить такую проблему минимум 3 раза. Ну раз такое дело, опишу решение в блоге и всех буду отсылать сюда :)

Полностью функциональность HTML5 получить конечно не получится, но чтобы сайт хотя бы выглядел пристойно достаточно добавить вот такой код в head страницы:

...

<!--[if lt IE 9]>
	<script type="text/javascript">
		document.createElement('header'); document.createElement('footer'); document.createElement('nav'); 
		document.createElement('article'); document.createElement('section'); document.createElement('aside');	
	</script>
	<style type="text/css">header, footer, nav, article, section, aside {display: block;}</style>
<![endif]-->
</head>


Если используете еще какие-то теги, просто добавьте их в скрипт и стиль. И главное не меняйте формат комментариев! Вся магия в [if] ... [endif] :)
ХедШот!, убью, стреляю

Wordpress, PHP и ошибки в HTML коде

Я не встречал еще ни одной темы для Wordpress в которой стандартная форма поиска генерит корректный HTML код при втором ее добавлении на страницу, например в body для 404 ошибки.

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

Вся проблема в том, что горе-программисты жестко записывают id формы и элементов ввода прямо в HTML темплит! В результате при добавлении 2 и последующих копий, в пределах одной страницы появляются кучи элементов с одинаковыми айди!

Для Wordpress приходиться каждый раз топать в редактор темы, и для файла Search Form (обычно "searchform.php") добавлять подобный код в начале:

<?php
 
global $some_variable;
if (isset($some_variable)) $some_variable += 1; else $some_variable = 0;   

$form_id = '';
if ($some_variable > 0) $form_id = $some_variable;

?>

Ну а потом фиксить HTML код самой формы, добавляя цифру порядкового номера формы в параметры id и name. Вот реальный пример с одного сайта:

<form role="search" method="get" id="searchform<?php echo $form_id ?>" class="searchform" action="<?php echo home_url( '/' ); ?>">
    <input type="text" value="" name="s" id="s<?php echo $form_id ?>" />
    <input type="submit" id="searchsubmit<?php echo $form_id ?>" value="<?php _e('Search','priimo'); ?>" />
</form>

Надеюсь что такой "фокус" будет полезен для продвинутых владельцев сайтов на Wordpress.

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

Повбывавбы...

Паника!, Google, AAA

Шаровара здравствуй снова :)

Уже думал, что никогда не вернусь к созданию и продаже программного обеспечения по модели Try Before You Buy, в просто наречии шаровара (от shareware).

Но возникла задача освоить новую систему защиты программ VMProtect и не придумал ничего лучше как создать для этого отдельный новый продукт.

Чтобы долго не заморачиваться взял список пожеланий пользователей одной из моих бесплатных утилит и собрал Caps Lock Indicator

Caps Lock Indicator for Windows


Программу писал на Delphi XE2, так что пришлось еще и эту штуку освоить. Так же заодно посмотрел, насколько сейчас легко/сложно запускать в продажу программные продукты в 2012 году.

С 1998 годом не сравнить, все поднимается с пол пинка. Даже генерация ключей делается в 2 клика. Правда это особенность интеграции протектора VMProtect и регистратора PayPro Global.

В общем: Back to School Again :)

P.S. Где продажи! Где продажи! ©
ХедШот!, убью, стреляю

Как делать Google Chrome Extension

Пока не забыл всех особенностей секса с Google Chrome Extension запишу все грабли на которые я наступил. Надеюсь, кому-то пригодится :)

Прочитать http://code.google.com/chrome/extensions/docs.html конечно же полезно. Но дьявол таки в деталях. Вот моменты, которые неясны даже после прочтения доков, факов и рассматривания готовых примеров:

Chrome Extension - это набор .html, .js, .css файлов, главный из которых manifest.json. В манифесте описывается приложение, его тип, необходимые пермишены (например, загружать внешние скрипты), поведение и т.д. Все файлы можно держать в отельной папке, а можно "скомпилировать" в .crx файл (на самом деле ZIP архив).

Экстеншены бывают нескольких видов. Обычно это "кнопки в тулбар", которые работают с контентом таба (иконка в тулбаре) или пейджа (иконка в адресной строке), есть приложения на всю страницу браузера. Так же есть и вообще что-то наподобие отдельных программ их даже трудно отличить от нетивных приложений системы.

Добавляются экстеншены в Chrome через menu->tools->extensions, либо кликом по ссылке/файлу с .crx расширением.

Для тестирования и отладки приложений локально, надо нажать галку Developers Mode вверху страницы этих самых Экстеншенов. После этого можно загружать не запакованные приложения (из папки), а так же создавать готовые .crx файлы для распространения самостоятельно.

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

Background page - это не страница/скрипт которые отображаются в Chrome! Это невидимая страница, которая запускается в одном экземпляре и позволяет взаимодействовать со всеми частями (страницами, скриптами, стилями) экстеншена.

Никакого JavaScript в HTML! Будут работать только подключаемые файлы, это типа защита от инжекшена скриптов. Файлы .js надо класть рядом с .html и просто подключать srs="abc.js". Это важный момент, а он описан мелким текстом в дебрях документации...

Стандартный .crx файл это ZIP архив, но для паблишинга в Chrome Web Store .crx не подойдет :) Google требует заливать именно .zip файл со всеми файлами приложения. Более того в manifest.json не должно быть комментариев и лишних строк! Иначе при публикации буду непонятные ошибки типа: "An error occurred. Your error has been reported to Google." :) Так же для публичного экстеншена не должно быть пункта "update_url" в манифесте (офигенная логика!)

Если будете хостить .crx файл на своем сайте, то обязательно пропишите MIME для .crx файлов. Иначе хром будет скачивать приложение, а на установке ругаться. Для апача в .htaccess файле надо прописать:
AddType application/x-chrome-extension .crx

Для автоматического апедейта приложения надо заполнить "update_url" поле в манифесте. По URL должен открываться udate.xml файл, в котором надо не забыть прописать верный appid='xxxxxyyyyyzzzz'. ID найти не так уже и просто :) Надо установить .crx в Chrome, зайти на страницу приложений, и включить Developers mode. Тогда в списке приложений так же появятся и их ID (случайно нашел!)

Если дойдете до паблишина в Chrome Web Store, то будьте готовы заплатить 5 баксов (разово) за открытие аккаунта.

Developers Dashbord глючная и не совсем понятная штука, так что готовьтесь внимательно читать мелкий тест и следить за ошибками. Особенно бесит, что опубликованное в Tester Account приложение нельзя скопировать в публичный доступ. Приходится вводить все описания и загружать медиа файлы по новой...

Для добавления Экстеншена в Chrome Web Store потребуется иконка размером 128x128, но при этом картинка должна влезть в размер 96х96! Исключение для "круглых иконок", там рабочее поле посередине и 112x112 пикселей. Короче очередная шизиловка от Google :)

Так же для Chrome Web Store понадобится скриншот (640x400 или 1280x800) и как минимум один промо материал (440x280).

После паблишинга Экстеншена не спешите всем сообщать новость о том, какой вы крутой. Скорее всего приложение опубликуется в тестовый аккаунт и будет работать только у пары-тройки ваших друзей (там есть списочек). Проверьте работоспособность ссылок на разных компьютерах и под разными операционными системами (Win, Mac, nix) ну а уже потом рассылайте новость о своей "поделке" :)


Ну вроде все. Будут и другие грабли, но на самом деле все не так уж страшно. Желаю успехов в написании приложений для Google Chrome!

P.S. Моим первым экстеншеном было вот это: Bad Pixel Test for Google Chrome
Паника!, Google, AAA

Секс с отправкой почты через SMTP.GMAIL.COM

Если вдруг захотите слать почту через SMTP.GMAIL.COM, из почтового клиента или из своей программы, запомните следующие важные моменты:

Все адреса, в том числе СС, BCC и т.д. должны предаваться обернутыми в <>, и неважно указано имя или нет! То есть, работать будут только такие адреса:

Баба Катя <baba@katya.xxx>
<baba@katya.xxx>

Любые другие варианты будут приводить ошибкам типа "RCPT first", "Syntax error" или вообще что-то не вменяемое типа "Error 555"

В любой момент Gmail может решить, что вы рассылает слишком много писем через SMTP. И тут уже почтовый клиент не поможет! Надо будет ручками открывать браузер, легироваться в Gmail аккаунт и потом топать по вот такой ссылке: https://accounts.google.com/DisplayUnlockCaptchaV2 и нажимать там кнопочку "Continue". Но и такая фигня поможать всего минут на 10, у Google реально паранойя :(

Ну и информация для программистов:

Для SMTP.GMAIL.COM по 587 порту требует Explicit SSL и команды "STARTTLS" сразу после соединения.

SMTP.GMAIL.COM по 465 порту работает как Implicit SSL, немного медленнее, и по-моему чаще приводит к срабатыванию защиты от mass mail.

Если вы программите на Delphi и используете библиотеку Indy. Особенно комбинацию Delphi7 + Indy9 то я вам соболезную :) Я 2 дня убил на то, чтобы подобрать рабочие версии нестандартных OpenSSL библиотек для корректной работы с SMTP.GMAIL.COM

Так же будьте внимательны с TidMessage.Recepients - это коллекция объектов и в случаи появления там элемента с пустым email или кривым name - начнется секс с "RCPT first", "Syntax error"

Отака хуйня малята © Дид Панас