Чуть больше двух лет назад я запустил один небольшой эксперимент с кодовым названием RoboMap.txt. Суть его заключалась в том, чтобы на практике выяснить какие ссылки способны опознать поисковики. Спустя три недели после начала эксперимента я подвел итоги и забыл о нем. До сегодняшнего дня.
В этом посте я процитирую свой ответ на одно из заданий в олимпиаде по веб-технологиям, о которой я писал в прошлом посте. Задание формулировалось примерно так: придумать концепт файлохранилища, полезного для пользователя и владельца, описать возможные схемы монетизации.
Вот что мне удалось сочинить за час, который я потратил на это задание:
Для удобства я сразу оговорю значение терминов, которыми буду пользоваться ниже.
Учитывая последние тенденции (которые некоторыми называются web 3.
для создания успешного файлового хранилища стоит следовать трем важным условиям:
Изначально я хотел лишь кратко описать саму олимпиаду и подробнее сфокусироваться на одном из заданий в ней, но рассказ вышел большим и я разделил пост на два. Так что тут будет немного жизнеописания, а в следующем - вещи уже более близкие тематике этого блога.
Речь пойдет об олимпиаде по веб-технологиям под эгидой Бийского технологического института, прошедшей в апреле этого года. Узнал я о ней еще в начале семестра благодаря объявлению, появившемуся на доске деканата. Поскольку веб-программирование - это мой профиль, то я заинтересовался и тут же залез на сайт. К моему удивлению, зарегистрироваться там не получилось: регистрация начиналась за месяц до начала олимпиады, а пресс-релиз был повешен гораздо раньше. Какой смысл этого ограничения - понятия не имею, пришлось ставить себе напоминалку в огранайзер, чтобы тупо не забыть про них.
Публикую перевод статьи API Battle Plans: Fighting for Next, давным-давно сделанный мною в рамках акции 50 лучших SEO-постов 2009 года и благополуно забытый в пылу учебы и работы
Только чейчас наткнулся на него в Гуглодоках, когда искал кое-какие материалы по одной интересующей меня теме. Тем не менее, лучше уж поздно, чем никогда, посему публикую.
В наши дни API достигли такого уровня зрелости, что все три ключевые компоненты Веба - контент, службы и данные можно легко получить с их помощью. Результатом этого процесса стало ничто иное как рождение новго Веба. Более умного Веба, предоставляющего более релевантную информацию, более удобного и дающего более широкие возможности получения прибыли. После того, как стали очевидны преимущества этого подхода, у современных компаний не осталось иного выбора, кроме как поддерживать суперструктуру API, столпами которой являются контент, сервисы, разработка и аналитика.
Хочу поделиться ссылками на пару моих статей на хабре, одна из которых была написана в апреле, потом неизвестно как попала в черновики и сегодня была возврращена на место. Вторая была написана вчера по мотивам возникшей у меня проблемы.
Периодически перед многими из вебмастеров возникает задача определить хостера, у которого живет тот или иной сайт. Мотивация для этого бывает самая разная, как простое любопытство, так и желание поселиться по соседству на хорошем и стабильном хостинге или наоборот не вляпаться в такое соседство. В этом посте я приведу несколько известных мне методов с их достоинствами и недостатками.
На досуге добавляя в фильтры AdBlock очередную баннерную сеть, подумал такую очевидную мысль: все популярные и как бы доходные рекламные сети, включая столь любимые публикой тизеры, уже давно добавлены во все возможные баннерорезки, коих уже немало. Одно только расширение AdBlock для Firefox, которым я успешно пользуюсь, имеет 813599 загрузок в неделю и является самым популярным расширением. Кроме того, во многих популярных виндоовых фаерволах, включая Outpost, уже давно есть встроенные баннерорезки.
Оценили насколько сужается аудитория и потенциальная прибыль?
Я должен был написать этот пост еще очень давно, три недели назад. Но все как-то руки не доходили. Теперь наконец дошли. Моя любимая девушка сделала мне вот такой замечательный подарок на День Вебмастера:
А вот и прототип:
Кстати, всем рекомендую. Кто держит (держал) кошку, тот поймет 
Свершилось!
И она работает!
Общее впечатление - быстрая, но еще шероховато. Есть небольшие глюки с рендерингом страниц и обработкой форм, но в основном юзабельно. Галерея скриншотов,в котороя я постарался отразить все асперты работы с новым браузером - под катом.
If you are using long file (more than 4Gb) support for C standart library (via defining _FILE_OFFSET_BITS 64 macro or something else) and lint shows you errors like this:
(88) warning: constant in conditional context
argument unused in function
(18) sig in sighandler
value type declared inconsistently
lseek llib-lc:unistd.h(396) long () :: unistd.h(396) long long ()
tell llib-lc:unistd.h(515) long () :: unistd.h(515) long long ()
ftello llib-lc:stdio.h(319) long () :: stdio.h(319) long long ()
function returns value which is always ignored
fflush fprintf printf fwrite
signal alarm lseek64
function argument ( number ) declared inconsistently
ftruncate (arg 2) llib-lc:unistd.h(320) long :: unistd.h(320) long long
lockf (arg 3) llib-lc:unistd.h(394) long :: unistd.h(394) long long
lseek (arg 2) llib-lc:unistd.h(396) long :: unistd.h(396) long long
pread (arg 4) llib-lc:unistd.h(410) long :: unistd.h(410) long long
pwrite (arg 4) llib-lc:unistd.h(434) long :: unistd.h(434) long long
truncate (arg 2) llib-lc:unistd.h(520) long :: unistd.h(520) long long
fseeko (arg 2) llib-lc:stdio.h(318) long :: stdio.h(318) long long
declared global, could be static
min main.c(13)
sighandler main.c(18)
fp main.c(11)
...Don't panic! It's known bug:
The lint(1B) utility will generate spurious error messages when _FILE_OFFSET_BITS is set to 64. This is because the binary libc lint library, /usr/lib/llib-lc.ln, is compiled only for the standard interfaces, not with _FILE_OFFSET_BITS set to 64. This deficiency hampers static error-checking for programs compiled in the large file compilation environment. (Source)
Damn it, I lost 3 hours before I found it.
Для одного из моих проектов, над которым я сейчас активно работаю понадобилось сделать возможность выполнения длинных запросов с "обратной связью", т. е. с возможностью отсылки информации о ходе выполнения скрипта. Поскольку подключать к проекту какого-нибудь монстра типа JQuery ради одной этой возможности я посчитал нецелесообразным, решено было написать свою простую библиотеку, выполняющую эту функцию. результат я представляю вам в этом посте.
Последние комментарии
/Недвижимость в Болгарии/ 32 минуты 29 секунд назад
/Недвижимость в Болгарии/ 35 минут 30 секунд назад
/Гость/ 20 часов 43 минуты назад
/Гость/ 21 час 11 минут назад
/Denis/ 21 час 12 минут назад
/Alek$/ 1 день 4 часа назад
/андрей/ 1 день 22 часа назад
/Alek$/ 2 дня 5 часов назад
/андрей/ 2 дня 23 часа назад
/}{yDo}|{HuK/ 3 дня 10 часов назад