<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7894988062760014899</id><updated>2012-02-17T16:51:26.522+04:00</updated><category term='apache'/><category term='parser3'/><category term='regexp'/><category term='artlebedev'/><category term='css'/><category term='javascript'/><category term='links'/><title type='text'>Parser 3 Web Development</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-4424412540818505931</id><published>2011-12-29T13:50:00.002+04:00</published><updated>2011-12-29T13:54:05.337+04:00</updated><title type='text'>Золотое сечение</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 13px; "&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 13.0px 0.0px; font: 13.0px Arial; color: #333233"&gt;История знает массу примеров мистификаций и приписок, причем из самых благих намерений. Так же и в символике. Надо чтобы люди чувствовали ее глубинный смысл, а сама форма не так важна. Возьми любую картинку, в ней обязательно что-нибудь золото секущееся да отыщется. Чем древнее, тем лучше. Самый древний у нас Египет, поупражняемся на нем. &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 13.0px Arial; color: #333233"&gt;Нет причин не заявить, что Египтяне знали о золотом сечении и специально все так сделали. В гробнице Петосириса, если покопаться с линейкой и циркулем можно много чего найти.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 13.0px Arial; color: #333233"&gt;А вот современность - это поинтересней. Оказывается во многих предметах, в том числе, в айподе скрыты эти самые древние пропорции. &lt;a href="http://nordisk.pp.ru/83/"&gt;Золотое сечение&lt;/a&gt; так вообще используется тут и там в этих девайсах.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 13.0px Arial; color: #333233"&gt;Читайте полную статью по ссылке, там все рассказано.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-4424412540818505931?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://nordisk.pp.ru/83/' title='Золотое сечение'/><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/4424412540818505931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=4424412540818505931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/4424412540818505931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/4424412540818505931'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2011/12/blog-post.html' title='Золотое сечение'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-7551824965755296534</id><published>2008-01-10T11:49:00.000+03:00</published><updated>2008-01-10T11:51:47.011+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Cinema - movies reviews</title><content type='html'>Hey guys, I reanimated my website with funny reviews on different movies &lt;a href="http://cinema.nordisk.pp.ru/"&gt;CINEMA&lt;/a&gt;&lt;br /&gt;Although, most of you could not get any use of it, because it's in Russian.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-7551824965755296534?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/7551824965755296534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=7551824965755296534' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/7551824965755296534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/7551824965755296534'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2008/01/cinema-movies-reviews.html' title='Cinema - movies reviews'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-6853674132380636321</id><published>2007-07-30T14:45:00.000+04:00</published><updated>2007-07-30T14:51:13.152+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>JQuery - cool JavaScript library</title><content type='html'>Here is very useful and lightweight JavaScript library that you could use to add proper web 2.0 feel to your page. If you need to. There is also huge, huge amount of plugins that you absolutely must take-a-look.&lt;br /&gt;Here is the url: &lt;a href="http://www.jquery.com"&gt;http://www.jquery.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-6853674132380636321?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/6853674132380636321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=6853674132380636321' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6853674132380636321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6853674132380636321'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/07/jquery-cool-javascript-library.html' title='JQuery - cool JavaScript library'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-6091288677564118030</id><published>2007-04-23T16:47:00.000+04:00</published><updated>2007-04-23T16:55:26.662+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parser3'/><title type='text'>Applying LEFT to UTF-8 string in MySQL 3</title><content type='html'>While applying LEFT function (MySQL built-in or Parser's) to the data encoded in UTF-8 in MySQL 3 database, you could get an charset dismatch error.&lt;br /&gt;&lt;br /&gt;One chap at &lt;a href="http://www.teletype.ru/"&gt;TeleType&lt;/a&gt; studio had written a quick workaround. This function chops the string by the first preceding space:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color:#0000cc"&gt;&lt;br /&gt;@subString[content;length]&lt;br /&gt;$length(^length.int(0))&lt;br /&gt;^while(^content.mid($length;1) ne ' ' &amp;&amp; $i&amp;lt;^content.length[]){&lt;br /&gt;^length.dec(1)&lt;br /&gt;}&lt;br /&gt;$result[^content.left($length)]&lt;br /&gt;#/subString &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-6091288677564118030?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/6091288677564118030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=6091288677564118030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6091288677564118030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6091288677564118030'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/applying-left-to-utf-8-string-in-mysql.html' title='Applying LEFT to UTF-8 string in MySQL 3'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-1943615155363969383</id><published>2007-04-20T10:55:00.000+04:00</published><updated>2007-04-20T10:58:52.384+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Preloading images in JavaScript</title><content type='html'>Old trick to preload images so that they could change smoothly in rollovers.&lt;br /&gt;&lt;br /&gt;Act like this in &amp;lt;head&amp;gt; section:&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="JavaScript"&amp;gt;&lt;br /&gt;camera1 = new Image();&lt;br /&gt;camera1.src = "/p/common/camera1.jpg";&lt;br /&gt;camera2 = new Image();&lt;br /&gt;camera2.src = "/p/common/camera2.jpg";&lt;br /&gt;camera3 = new Image();&lt;br /&gt;camera3.src = "/p/common/camera3.jpg";&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;This is used on &lt;a href="http://www.lean-m.ru/?intro=no"&gt;www.lean-m.ru/?intro=no&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-1943615155363969383?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/1943615155363969383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=1943615155363969383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/1943615155363969383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/1943615155363969383'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/preloading-images-in-javascript.html' title='Preloading images in JavaScript'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-8572666692450446806</id><published>2007-04-13T11:35:00.000+04:00</published><updated>2007-04-13T11:38:46.855+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Virtual file structure with mod_rewrite</title><content type='html'>It is cool to use virtual directory structure. You could keep all your code in several files and all the content in the DB.&lt;br /&gt;&lt;br /&gt;Here is trick with mod_rewrite that you can put into .htaccess file on the root of your site. The urls, that are not physically exist on the server will be passed into index.html and you could parse them yourself.&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#0000cc"&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;RewriteCond %{REQUEST_FILENAME} !-d&lt;br /&gt;RewriteRule ^(.*)$ index.html?uri=/$1 [QSA,L]&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-8572666692450446806?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/8572666692450446806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=8572666692450446806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/8572666692450446806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/8572666692450446806'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/virtual-file-structure-with-modrewrite.html' title='Virtual file structure with mod_rewrite'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-8684534257799312466</id><published>2007-04-11T18:19:00.000+04:00</published><updated>2007-04-11T18:28:52.558+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Cursor types in CSS</title><content type='html'>Here is quick reference on cursor types in CSS&lt;br /&gt;&lt;br /&gt;self-explaining:&lt;br /&gt;style="cursor:auto;" &lt;br /&gt;style="cursor:crosshair;" &lt;br /&gt;style="cursor:default;" &lt;br /&gt;style="cursor:hand;" &lt;br /&gt;style="cursor:text;" &lt;br /&gt;style="cursor:wait;"&lt;br /&gt;style="cursor:help;"  &lt;br /&gt;style="cursor:move;" &lt;br /&gt;&lt;br /&gt;arrow cursors "n", "w", etc. indicates "north", "west", and so on:&lt;br /&gt;style="cursor:n-resize;" &lt;br /&gt;style="cursor:ne-resize;" &lt;br /&gt;style="cursor:nw-resize;" &lt;br /&gt;style="cursor:s-resize;" &lt;br /&gt;style="cursor:se-resize;" &lt;br /&gt;style="cursor:sw-resize;" &lt;br /&gt;style="cursor:e-resize;" &lt;br /&gt;style="cursor:w-resize;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-8684534257799312466?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/8684534257799312466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=8684534257799312466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/8684534257799312466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/8684534257799312466'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/cursor-types-in-css.html' title='Cursor types in CSS'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-621775300122116450</id><published>2007-04-09T10:45:00.000+04:00</published><updated>2007-04-09T10:52:36.084+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parser3'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Actual and requested server name</title><content type='html'>&lt;p&gt;There are differences between requested server name and actual server name. Because of aliases this may vary, but you could get both by apache environment variables. In Parser 3 it is as easy as an apple.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Assume you have a website at at www.hoogabooga.com and a bunch of aliases pointing to it:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0000cc"&gt;$env:SERVER_NAME&lt;/span&gt; will get you an www.hoogabooga.com (actually it's an value of ServerName apache directive).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0000cc"&gt;$env:HTTP_HOST&lt;/span&gt; gets whatever.hoogabooga.com that was input into the address box of the browser.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-621775300122116450?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/621775300122116450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=621775300122116450' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/621775300122116450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/621775300122116450'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/actual-and-requested-server-name.html' title='Actual and requested server name'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-6241941419530892902</id><published>2007-04-07T23:39:00.000+04:00</published><updated>2007-04-07T23:58:10.105+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parser3'/><title type='text'>How to send HTML email with images</title><content type='html'>When you are sending an HTML email (you don't want this for spam, aren't you?) and want a picture to be shown in a message body, you need to do this:&lt;br /&gt;&lt;br /&gt;- attach an image to the message&lt;br /&gt;- each image should be given an id&lt;br /&gt;- in message's HTML you use this counstruction&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;img src="cid:image_id" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In Parser 3 sending such an email is a really easy job.&lt;br /&gt;&lt;br /&gt;Here is the self-explaining code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0000cc"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;^mail:send[&lt;br /&gt;  $.from[from@server.com]&lt;br /&gt;  $.to[user@server.com]     &lt;br /&gt;  $.subject[enlarge your appetite]&lt;br /&gt;  $.charset[windows-1251]     &lt;br /&gt;  $.html{&lt;br /&gt;   &amp;lt;html&amp;gt;&lt;br /&gt;   &amp;lt;img src="cid:logo" /&amp;gt;&lt;br /&gt;   &amp;lt;/html&amp;gt;&lt;br /&gt;  }&lt;br /&gt;  $.file[&lt;br /&gt;   $.value[^file::load[binary;/p/common/logo.gif]]&lt;br /&gt;   $.name[logo.gif]&lt;br /&gt;   $.content-id[logo]&lt;br /&gt;  ]&lt;br /&gt;]    &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-6241941419530892902?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/6241941419530892902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=6241941419530892902' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6241941419530892902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/6241941419530892902'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/how-to-send-html-email-with-images.html' title='How to send HTML email with images'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-7797835780737650707</id><published>2007-04-06T16:26:00.000+04:00</published><updated>2007-04-06T16:35:00.672+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regexp'/><category scheme='http://www.blogger.com/atom/ns#' term='parser3'/><title type='text'>Check for valid email regexp</title><content type='html'>Here is regular expression I use to check for valid email&lt;br /&gt;&lt;pre&gt;&lt;span style="color: #000099"&gt;&lt;br /&gt;#&lt;br /&gt;# Check whether string seems like an email&lt;br /&gt;@IsEmail[email]&lt;br /&gt;$result(^if(def $email &amp;&amp;amp; ^email.match[^^\w+([.-]?\w+)+\@\w+([.-]?[^^@]\w+)*\.[a-z]{2,4}^$][i]){1}{0})&lt;br /&gt;#/IsEmail&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;And example of use:&lt;br /&gt;&lt;pre&gt;&lt;span style="color: #000099"&gt;^if(!^IsEmail[user@aol.com]){Invalid email}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-7797835780737650707?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/7797835780737650707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=7797835780737650707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/7797835780737650707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/7797835780737650707'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/check-for-valid-email-regexp.html' title='Check for valid email regexp'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7894988062760014899.post-1238702005117157411</id><published>2007-04-04T12:50:00.000+04:00</published><updated>2007-04-04T14:15:56.214+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parser3'/><category scheme='http://www.blogger.com/atom/ns#' term='artlebedev'/><title type='text'>What is Parser 3?</title><content type='html'>Parser 3 is a web language developed by the &lt;a href="http://www.artlebedev.com"&gt;Art.Lebedev Studio &lt;/a&gt;- the greatest Russian design studio, creators of Optimus keyboard and Vilcus plug dactyloadapter. They use it in their web projects as long as some other russian studios. It's simply designed, cgi- or apache-module thing that parse .html files and execute instructions.&lt;br /&gt;&lt;br /&gt;It is class-based typeless language that would be easy to any PHP-developer to learn. At the same time it could be much more cost-effective to use in common web-application that PHP or Perl.&lt;br /&gt;&lt;br /&gt;It features transparent charset handling including UTF-8, working with different database, XSLT transformation, XML parsing and other things.&lt;br /&gt;&lt;br /&gt;The main feature of the language is that it keeps to be simple while providing almost every capabilities you could think of.&lt;br /&gt;&lt;br /&gt;Further reading, documentation, downloads and support could be found at &lt;a href="http://www.parser.ru/en/"&gt;www.parser.ru/en/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS: Yes I've used to work for Art.Lebedev some time ago :)&lt;br /&gt;PPS: I know there are a lot of grammar problems. Normally I speak Russian most of the time, you know :))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7894988062760014899-1238702005117157411?l=parser3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parser3.blogspot.com/feeds/1238702005117157411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7894988062760014899&amp;postID=1238702005117157411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/1238702005117157411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7894988062760014899/posts/default/1238702005117157411'/><link rel='alternate' type='text/html' href='http://parser3.blogspot.com/2007/04/what-is-parser-3.html' title='What is Parser 3?'/><author><name>Dmitry Litvinenko</name><uri>http://www.blogger.com/profile/14996540578171270811</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
