2008-06-04

Вредные советы вебмастерам

1. Побольше используйте стилей с именами style1, style2, style3... и не нужно проверять существуют ли такие стили в каскадной таблице - результат может оказаться даже лучше чем вы его представляли - так оно даже интересней. Человеческие имена стилей - удел ламеров и юзеров, нормальные пацаны с компьютером на ты и всегда могут отличить стиль style13 от style12. Побольше стилей с такими именами!

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

3. Побольше вложенных таблиц! Это просто праздник когда много таблиц вложены одна в другую! Не беда что в большинстве случаев можно обойтись вообще без них, давайте таблиц и побольше!

4. Одиночные теги закрывать не нужно, что мы не знаем что они одиночные что ли...

5. Стили Вайтсмита и Кернигана-Ричи - отстой, будем использовать все сразу и отступы делать как придется - тот кто будет после нас переделывать переформатирует так как ему нравится если такой дотошный...

 

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

 
  2008-05-22

Jabber

Встала задача сделать небольшой такой чат для сайта - обнаружилась аба-а-а-а-лденная штука, называется OpenFire сервер для работы со службами мгновенных сообщений. В отличие от других аналогичных решений на моей машине развернулся в два счета. Написан на джаве, на том же сайте нашел исходники для Flash некоего тулкита для создания своих решения на ActionScript, что-то в структуре файлов мне показалось знакомым. И тут то я пережил культурный шок - оказывается можно создавать флешки на еклипсе без всяких там дополнительных приложиний от Макромедии. Как? здесь подробное описание как скачать и настроить Eclipse и создать Hello World приложение...
 

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

 
  2008-05-14

Техосмотр

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

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

Для того чтобы получить техпаспорт мне потребовалось ровно 2(ДВА!) дня! При этом если знаешь правильных людей, ну например если в кассе где платят госпошлину работает твоя бывшая одноклассница - процедура может уместиться в тридцать минут.

Чтобы получить права - a я недавно продлял свои старые - которые по истечении десяти лет подлежат замене. Для этого нужно всего лишь прийти к восьми утра в МРЭО ГИБДД и тогда часам к пяти вечера можно получить свои вожделенные новые корочки. При этом, если в конторе совершенно случайно работает твой бывший одногрупник, с которым вместе учились в институте - то процедура запросто умещается в тридцать минут!

А вы когда нибудь видели людей которые чесно проходят технический осмотр автомобиля? Я еще удивлялся почему таких людей исчезающе мало. Нужно будет поместить на сайт мою фотографию, чтобы вы могли увидеть первого такого человека, этот человек - я. Да я сегодня прошел технический осмотр. Что для этого нужно? Да сущие пустяки, перво-наперво нужно съездить в ЕДИНСТВЕННУЮ в городе сберкассу, где принимаю госпошлину за технический осмотр - это рядом с МРЭО на выезде из города - если приехать часам к восьми утра то можно даже быть первым в очереди. Очереди там обычно знатные, так как это единственная в городе сберкасса где принимаются такие платежи. Почему нельзя заплатить в любом отделении любого банка большая загадка, ведь для этого банки у нас вроде и существуют...

Шаг второй: нужно приехать к месту прохождения техосмотра - как правило это место привязывается к району - вот у меня например район Кировский а следовательно техосмотр проходится гдето на ебенях на другом конце города в Ленинском районе, чувстуете какую нибудь корреляцию? вот и я нет, а она явно есть так как проходить нужно именно там... Ну да ладно на машине можно и туда съездить. Не беда если с первого раза вы приедете и увидите что именно сегодня станция не работает по причине отсутствия света... или горячей воды... или ко каким нибудь еще там техническим причинам,... дело то житейское... Не трудно же приехать в другой день, правда ведь... херня вопрос через весь город на ебеня можно ведь и в другой день что же делать...

Приезжаем в другой день, к восьми утра (станция начинает работать с 8.30 но наученные опытом со сберкассой лучше приехать пораньше...). Ровно в 9.40 станция открывается и вы проходите сначала в такое маленькое помещение с двумя окошками, куда вы должны сдать свои документы - техпаспорт, ПТС права, полис ОСАГО, паспорт, права, медицинскую справку по форме 11Ю или как она там еще называется, т.е. ту которая действительна три года и которая нужна для получения прав... Что нет справки? Не взяли? Как зачем для прохождения ТЕХНИЧЕСКОГО осмотра нужна МЕДИЦИНСКАЯ справка? Молодой человек зачем задаете вопросы которые вам совсем не нужно задавать, недовольный капитан в окошке смотрит на вас с неодобрением, нет справки - нет техосмотра...

Херня вопрос - едете вы домой искать справку, находите ее в офисе на работе в столе куда запихнули ее думая что она вам больше никогда не понадобится, едете обратно, приезжаете в к 11.45 однако уже начался обед который здесь начинается в 12.00 кто же вам за пятнадцать минут до обеда что делать будет... Ну чтож, у вас есть честно заработанные полтора часа здорового сна в своей машине, откидываем кресло, устраиваемся поудобнее, спим... Через полтара часа идем, сдаем документы, тов. капитан одобрительно смотрит на справку, молодец мол а говорил что нету справки... теперь все в порядке... Далее заезжаем в специальный такой гараж с дыркой вдоль пола, проезжаем над дыркой, что-то противно скрежещет по днищу вашего новенького Hyundai Getz - фигня машет инспектор, просто у ямы борта высоковаты - не рассчитаны на иномарки... Ну посмотрели аптечку, огнетушитель... поморгали световыми приборами... Делее инспектор просит ключи, заехал на такую фигню с двумя барабанам, поездил по ней сначала передними колесами, потом задними... Говорит езжай ка ты браток на станцию и прокачай тормоза, где-то говорит пузырек воздуха в системе по параметрам не дотягивает... Но заключение все же выдает положительное, и еще минут через сорок мне выдают вожделенный стикер, корый нужно наклеить на лобовое стекло.

Ура! Техосмотр пройден.

Времязатраты на прохождение техосмотра - 3 часа поездка в специальную сберкассу, 3 часа - поиск специальной станции где вы должны проходить техосмотр где-то на ебенях с последующим обнаружением что она сегодня не работает. 8 часов - попытка номер два + плюс поиски медсправки + плюс здоровый обеденный сон. Итого 14 часов. Помножаем на ваш почасовой рейт получаем сколько вам вышло получить техосмотр штатным законным методом в денежном эквиваленте, ну и плюс удовольстие - оно бесценно... Всего этого можно избежать если есть знакомый гаишник - за гораздо более дешевые деньги (сумма зависит от степени близости знакомства и от должности знакомого гаишника) он вам сделает техосмотр без всего этого удовольствия.

Интересно у нас в России всегда всё будет через жопу?...

 

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

 
  2008-05-07

Как в Safary под Windows активизировать меню Debug?

Добавить в "C:\Documents and Settings\[username]\Application Data\Apple Computer\Safari\Preferences.plist"

<key>IncludeDebugMenu</key> <true/>

Upd: в новых версиях Safari это можно сделать выбрав чекбокс "Показывать меню разработчика в сторое меню" доступную на вкладку "дополнения" панели настроек.

 

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

 
  2008-05-07

Вопросы проектирования

Как бы человек создал, ну например человека? Прежде всего составил бы техническое задание, обосновал все функции будущего создания, необходимые характеристики, затем бы принялся конструировать. Механику наверное начал строить начиная с скелета, скелет построен, давайте экспериментировать с мышцами связками, питанием, удалением продуктов распада, после этого стоит подумать над обеспечением автономности, способами питания, перевариванием пищи, ремонтопригодностью, все механика сделана займемся программированием поведения, фух... вроде готово.... блин забыли функции размножения, срочно все разбираем раскручиваем, добавляем деталей, перепрограммируем, патчим фух... вроде работает...

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

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

 

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

 
  2008-05-01

Как используя GnuPG зашифровать сообщение из программы на PHP?

Встала задача - закодировать мейлы посылаемные с сервера крипростойким образом.

В принципе что сложного - ставим на сервер GnuPG, на рабочую станцию PGP импортируем на сервер открытый ключ с рабочей станции и дело в шляпе. Одна загвосдка - GnuPG - это консольная утилита которой для того чтобы зашифровать файл нужно его передать через stdin, результат будет выдан на stdout. Как вызвать ее из программы на PHP? Можно конечно создать временный файл и уже через переадресацию ввода вывода залить его в программу, но это то как то не секьюрно.

Оказывается в PHP есть отличная функция - proc_open, которая позволяет реализовать переадресацию стандартных потоков через pipes - просто и элегантно.

Вот что получилось:

$s = "string to encrypt"; $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") // stderr is a file to write to ); $cmd = 'gpg -e --always-trust -r USERID'; $cwd = '/tmp'; $env = array('HOME' => '/tmp'); $process = proc_open($cmd, $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { // $pipes now looks like this: // 0 => writeable handle connected to child stdin // 1 => readable handle connected to child stdout // Any error output will be appended to /tmp/error-output.txt fwrite($pipes[0], $s); fclose($pipes[0]); echo stream_get_contents($pipes[1]); fclose($pipes[1]); $error = stream_get_contents($pipes[2]); echo $error; fclose($pipes[2]); // It is important that you close any pipes before calling // proc_close in order to avoid a deadlock $return_value = proc_close($process); echo "command returned $return_value\n"; }
 

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

 
  2008-04-29

Касперский зажигает

Сегодня попросили меня показать как на JS сделать опрос удаленного сервера по HTTP, ну код для этого совершенно тривиальный:

var fso = new ActiveXObject('Scripting.FileSystemObject'); var f = fso.CreateTextFile('C:\\test.txt'); var http = new ActiveXObject('XMLDOM3.XMLHTTP'); http.open('http://www.microsoft.com'); http.send(); var f.Write(http.ResponseText);

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

 

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

 
  2008-04-29

Занимательная физика

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

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

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

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

 

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

 
  2008-04-16

Чем опасно печенье

Почему многие социальные сети не разрешают размещать на своих страничках JavaScript теги? JavaSacript в отличии от например Flash роликов будучи загружен с ЛЮБОГО сайта начинает выполняться на машине пользователя точно также как если бы он был загружен с сайта на котором пользователь находится в настоящее время. А это значит что этот скрипт имеет полный доступ к той части клиентской информации к которой имеет доступ сайт, например к кукисам. Зачастую в кукисах хранятся пароли, например если пользователь выбрал автоматическую регистрацию при заходе на сайт. Дальше дело техники - конечно передать значения куки через XMLHTTP не получится - получим Access Denied ошибку, да это и не нужно, можно например динамически создать тег IMG а в аттрибуте SRC указать адрес вашего скрипта а после знака вопроса передать любые параметры которые хотим ему переслать. Вуаля, имеем куки пользователя. Ну а уж использовать его для входа на сайт это уже дело техники.

В принципе это относится к любым сайтам не только к социальным сетям.

 

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

 
  2008-04-14

Полезная функция для валидации email на JavaScript

function validateEmail(elementValue){ 
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
    return emailPattern.test(elementValue);  
}
 

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