<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>just for fun and not only</title>
	<atom:link href="https://hacktoall.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://hacktoall.wordpress.com</link>
	<description>Just another hackers site</description>
	<lastBuildDate>Fri, 18 Feb 2011 05:15:34 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hacktoall.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>just for fun and not only</title>
		<link>https://hacktoall.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://hacktoall.wordpress.com/osd.xml" title="just for fun and not only" />
	<atom:link rel='hub' href='https://hacktoall.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Релиз EPmail-0.2</title>
		<link>https://hacktoall.wordpress.com/2011/02/18/%d1%80%d0%b5%d0%bb%d0%b8%d0%b7-epmail-0-2/</link>
					<comments>https://hacktoall.wordpress.com/2011/02/18/%d1%80%d0%b5%d0%bb%d0%b8%d0%b7-epmail-0-2/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Fri, 18 Feb 2011 05:12:20 +0000</pubDate>
				<category><![CDATA[EPmail]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[epmail]]></category>
		<category><![CDATA[erlang]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=140</guid>

					<description><![CDATA[Сегодня, вышла новая версия под номером 0.2 почтовой системы EPmail написанной на erlang. Версия 0.1 уже описывалась в посте — EPmail. Что же нового в EPmail-0.2: * Сервер ошибок, сохранение лога ошибок в dets, с бэкапом в файлы. * Pop3 сервер совместимый с rfc 1939 * Smtp сервер, минимальная реализация rfc 5321 * Способность работать с [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Сегодня, вышла новая версия под номером 0.2 почтовой системы EPmail написанной на erlang. Версия 0.1 уже описывалась в посте — <a rel="nofollow" href="http://open-life.org/blog/1504.html">EPmail</a>.</p>
<p>Что же нового в EPmail-0.2:</p>
<p><strong>*</strong> Сервер ошибок, сохранение лога ошибок в dets, с бэкапом в файлы.</p>
<p><strong>*</strong> Pop3 сервер совместимый с rfc 1939</p>
<p><strong>*</strong> Smtp сервер, минимальная реализация rfc 5321</p>
<p><strong>*</strong> Способность работать с несколькими доменами</p>
<p><strong>*</strong> Хранение данных о пользователях (Имя -&gt; Пароль) в ets, dets или субд Mnesia</p>
<p><strong>Настройка системы:</strong></p>
<p>Настройка системы производится с помощью текстового конфигурационного файла. Состояние файла по дефолту cледущее:</p>
<p>Все что после знака % — комментарий</p>
<p>% Имя smtp сервера<br />
{smtp_server_name, &#171;_&#187;}.</p>
<p>% Имя pop3 сервера<br />
{pop3_server_name, &#171;_&#187;}.</p>
<p>%% Smtp порт<br />
{smtp_port, 25}.</p>
<p>%% POP3 порт<br />
{pop3_port, 110}.</p>
<p>%% запускать при запуске системы smtp сервер<br />
%% значиния start или not_start<br />
{smtp_server_start, start}.</p>
<p>%% запускать при запуске системы smtp сервер<br />
%% значиния start или not_start<br />
{pop3_server_start, start}.</p>
<p>%% Путь к файлу лога<br />
{error_logger_path, logger}.</p>
<p>%% Длменное имя<br />
{domain, [«localhost»]}.</p>
<p>%% Хранилище пользовательских данных<br />
%% Значения dets, ets или mnesia<br />
{user_storage, dets}.</p>
<p><strong>Запус системы:</strong></p>
<p>Для начала нужно собрать систему выполнив команду:</p>
<pre><code>make</code></pre>
<p>В операционной системы Windows выполнить *.bat файл.</p>
<p>Для запуска системы в erlang shell выполнить команду:</p>
<pre><code>popd_sup:start_link().</code></pre>
<p>Вот в принципе все. Этой командой запускается система, а так же сервера указанный в кофиге для запуска.</p>
<p>Сайт проекта — <a rel="nofollow" href="https://github.com/onlyshk/epmail">EPmail</a></p>
<p>Вопросы, пожелания, отчеты об ошибках — <a rel="nofollow" href="https://github.com/onlyshk/epmail/issues">Epmail issues</a></p>
<p>Вики проекта — <a rel="nofollow" href="https://github.com/onlyshk/epmail/wiki">EPmail wiki</a></p>
<p>Проект выпускается под открытой лицензией — <a rel="nofollow" href="https://github.com/onlyshk/epmail/blob/master/LICENSE">ERLANG PUBLIC LICENSE</a>. Добро пожаловать всем кто хочет принять участие в проекте и хочит подтянуть свои знания в функциональном программирровании и в erlang в частности.</p>
<p>Спасибо</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2011/02/18/%d1%80%d0%b5%d0%bb%d0%b8%d0%b7-epmail-0-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>Erlang и posix error</title>
		<link>https://hacktoall.wordpress.com/2011/01/21/erlang-%d0%b8-posix-error/</link>
					<comments>https://hacktoall.wordpress.com/2011/01/21/erlang-%d0%b8-posix-error/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Fri, 21 Jan 2011 10:25:58 +0000</pubDate>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[posix]]></category>
		<category><![CDATA[erlang]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=135</guid>

					<description><![CDATA[Второй день вылетает исключение в pop3 сервер написанном на Erlang. {{case_clause,{error,enotconn}}&#8230; Сегодня обнаружилописание всех  posix ошибок для Erlang и не только, думаю может пригодится &#8212; http://erldocs.com/R14B/kernel/inet.html?i=11&#38;search=inet]]></description>
										<content:encoded><![CDATA[<p>Второй день вылетает исключение в pop3 сервер написанном на Erlang.</p>
<p><strong>{{case_clause,{error,enotconn}}&#8230; </strong></p>
<p>Сегодня обнаружилописание всех  posix ошибок для Erlang и не только, думаю может пригодится &#8212; <a title="posix error" href="http://erldocs.com/R14B/kernel/inet.html?i=11&amp;search=inet">http://erldocs.com/R14B/kernel/inet.html?i=11&amp;search=inet</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2011/01/21/erlang-%d0%b8-posix-error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>[Erlang] Работа с привелигированными портами</title>
		<link>https://hacktoall.wordpress.com/2011/01/16/erlang-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%bf%d1%80%d0%b8%d0%b2%d0%b5%d0%bb%d0%b8%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8-%d0%bf%d0%be%d1%80%d1%82%d0%b0%d0%bc/</link>
					<comments>https://hacktoall.wordpress.com/2011/01/16/erlang-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%bf%d1%80%d0%b8%d0%b2%d0%b5%d0%bb%d0%b8%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8-%d0%bf%d0%be%d1%80%d1%82%d0%b0%d0%bc/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Sun, 16 Jan 2011 06:58:08 +0000</pubDate>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[setcap]]></category>
		<category><![CDATA[erlang]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=133</guid>

					<description><![CDATA[В UNIX системах порты начиная с 0 и до 1023 являются привелигированными. Для успешной работы с этими портами из Erlang в терминале достаточно набрать: setcap &#8216;cap_net_bind_service=+ep&#8217; /usr/lib/erlang/erts-5.6.5/bin/beam setcap &#8216;cap_net_bind_service=+ep&#8217; /usr/lib/erlang/erts-5.6.5/bin/beam.smp Естественно с вашей версией erts.]]></description>
										<content:encoded><![CDATA[<p>В UNIX системах порты начиная с 0 и до 1023 являются привелигированными. Для успешной работы с этими портами из Erlang в терминале достаточно набрать:</p>
<p>setcap &#8216;cap_net_bind_service=+ep&#8217; /usr/lib/erlang/erts-5.6.5/bin/beam<br />
setcap &#8216;cap_net_bind_service=+ep&#8217; /usr/lib/erlang/erts-5.6.5/bin/beam.smp</p>
<p>Естественно с вашей версией erts.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2011/01/16/erlang-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-%d0%bf%d1%80%d0%b8%d0%b2%d0%b5%d0%bb%d0%b8%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%bd%d1%8b%d0%bc%d0%b8-%d0%bf%d0%be%d1%80%d1%82%d0%b0%d0%bc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>[bash] Скрипт для запуска приложения</title>
		<link>https://hacktoall.wordpress.com/2011/01/13/bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b4%d0%bb%d1%8f-%d0%b7%d0%b0%d0%bf%d1%83%d1%81%d0%ba%d0%b0-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/</link>
					<comments>https://hacktoall.wordpress.com/2011/01/13/bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b4%d0%bb%d1%8f-%d0%b7%d0%b0%d0%bf%d1%83%d1%81%d0%ba%d0%b0-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Thu, 13 Jan 2011 12:23:48 +0000</pubDate>
				<category><![CDATA[bash]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=126</guid>

					<description><![CDATA[Доброго времени суток.  Нашел наконец-то очень удобный скрипт, который позволяет запустить приложение из терминала и сделать его независымым от терминала: Остальные полезные скрипты на bash-snippets]]></description>
										<content:encoded><![CDATA[<p>Доброго времени суток.  Нашел наконец-то очень удобный скрипт, который позволяет запустить приложение из терминала и сделать его независымым от терминала:</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash
if [ -z &quot;$TEMP&quot; ]; then
   TEMP='/tmp';
fi;
$@ &gt; &quot;$TEMP/$$.stdout.log&quot; 2&gt; &quot;$TEMP/$$.stderr.log&quot; &amp;
echo &quot;fork: \&quot;$@\&quot; : $$&quot;
</pre>
<div id="LC9"><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;"> </span></div>
<div id="LC9"><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size:small;"><span style="font-size:13px;line-height:19px;white-space:normal;">Остальные полезные скрипты на <a href="https://github.com/onlyshk/bash-snippets">bash-snippets</a></span></span></div>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2011/01/13/bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d0%b4%d0%bb%d1%8f-%d0%b7%d0%b0%d0%bf%d1%83%d1%81%d0%ba%d0%b0-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>[bash] Проверить почту на gmail</title>
		<link>https://hacktoall.wordpress.com/2010/11/18/bash-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d1%87%d1%82%d1%83-%d0%bd%d0%b0-gmail/</link>
					<comments>https://hacktoall.wordpress.com/2010/11/18/bash-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d1%87%d1%82%d1%83-%d0%bd%d0%b0-gmail/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Thu, 18 Nov 2010 14:02:37 +0000</pubDate>
				<category><![CDATA[bash]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=120</guid>

					<description><![CDATA[Хочу поделится простым скриптом написанным на bash, который проверяет почту на gmail.com Надеюсь он вам пригодится. p.s. Остальные полезные скрипты вы можете найти на &#8212; https://github.com/onlyshk/bash-snippets]]></description>
										<content:encoded><![CDATA[<p>Хочу поделится простым скриптом написанным на bash, который проверяет почту на gmail.com</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

read -p &quot;Input your name in gmail: &quot; username;
read -p &quot;Input your password in gmail: &quot; password;

echo -e &quot;Checking for new messages... \c&quot;

atomlines=`wget -T 3 -t 1 -q --secure-protocol=TLSv1 \
 --no-check-certificate \
 --user=$username --password= $password \
 https://mail.google.com/mail/feed/atom -O - \
 | wc -l`

echo -e &quot;\r\c&quot;

[ $atomlines -gt &quot;8&quot; ] \
 &amp;&amp; echo -e &quot; You have new gmail.&quot; \
 || echo -e &quot; No new gmail.&quot;
</pre>
<p>Надеюсь он вам пригодится.</p>
<p>p.s. Остальные полезные скрипты вы можете найти на &#8212; <a href="https://github.com/onlyshk/bash-snippets">https://github.com/onlyshk/bash-snippets</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/11/18/bash-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%b8%d1%82%d1%8c-%d0%bf%d0%be%d1%87%d1%82%d1%83-%d0%bd%d0%b0-gmail/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>Набор полезных bash скриптов</title>
		<link>https://hacktoall.wordpress.com/2010/11/06/%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d1%85-bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82%d0%be%d0%b2/</link>
					<comments>https://hacktoall.wordpress.com/2010/11/06/%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d1%85-bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82%d0%be%d0%b2/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Sat, 06 Nov 2010 14:27:30 +0000</pubDate>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[github]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=117</guid>

					<description><![CDATA[Как известно *nix пользователи имеют огромное преимущество перед Windows пользователями из-за отсутствия у последних такого мощного инструмента как bash. Я сам часто пользуюсь bash скриптами. Вот я и решил поделится с сообществом своими скромными нароботками. На github, создал репозиторий bash-snippets куда и буду складывать скрипты написанные на bash, которые мне оказались полезными надеюсь окажуться полезными [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Как известно *nix пользователи имеют огромное преимущество перед Windows пользователями из-за отсутствия у последних такого мощного инструмента как bash. Я сам часто пользуюсь bash скриптами. Вот я и решил поделится с сообществом своими скромными нароботками.<br />
На github, создал репозиторий bash-snippets куда и буду складывать скрипты написанные на bash, которые мне оказались полезными надеюсь окажуться полезными и вам.</p>
<p>Git — <a rel="nofollow" href="https://github.com/onlyshk/bash-snippets">https://github.com/onlyshk/bash-snippets</a><br />
Лицензия естественно GNU/GPL v3</p>
<p>Участи в проекте приветствуется. У кого скопились полезные скрипты а я думаю у каждого заядлого *nix пользователя таковые имеются форкайте проект на github&#8217;e и добавляйте свои скрипты. Потом соеденим в единый репозиторий. Вместе соберем полезную сообщесту коллекцию скриптов.</p>
<p>Надеюсь вам будет полезно.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/11/06/%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d1%85-bash-%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82%d0%be%d0%b2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>Презентация Лев Валкин — Кое-что про Erlang</title>
		<link>https://hacktoall.wordpress.com/2010/11/02/%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%bb%d0%b5%d0%b2-%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8%d0%bd-%e2%80%94-%d0%ba%d0%be%d0%b5-%d1%87%d1%82%d0%be-%d0%bf%d1%80%d0%be-erlang/</link>
					<comments>https://hacktoall.wordpress.com/2010/11/02/%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%bb%d0%b5%d0%b2-%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8%d0%bd-%e2%80%94-%d0%ba%d0%be%d0%b5-%d1%87%d1%82%d0%be-%d0%bf%d1%80%d0%be-erlang/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Tue, 02 Nov 2010 14:33:22 +0000</pubDate>
				<category><![CDATA[Презентации]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[презентации]]></category>
		<category><![CDATA[erlang]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=114</guid>

					<description><![CDATA[Сегодня обнаружил в сети давольно интересную призентацию об Erlang:]]></description>
										<content:encoded><![CDATA[<p>Сегодня обнаружил в сети давольно интересную призентацию об Erlang:</p>
<iframe src='https://www.slideshare.net/slideshow/embed_code/4625844' width='497' height='407' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/11/02/%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%bb%d0%b5%d0%b2-%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8%d0%bd-%e2%80%94-%d0%ba%d0%be%d0%b5-%d1%87%d1%82%d0%be-%d0%bf%d1%80%d0%be-erlang/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>Пример простого makefile для компиляции gtk+ приложений</title>
		<link>https://hacktoall.wordpress.com/2010/10/28/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-makefile-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bc%d0%bf%d0%b8%d0%bb%d1%8f%d1%86%d0%b8%d0%b8-gtk-%d0%bf%d1%80%d0%b8/</link>
					<comments>https://hacktoall.wordpress.com/2010/10/28/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-makefile-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bc%d0%bf%d0%b8%d0%bb%d1%8f%d1%86%d0%b8%d0%b8-gtk-%d0%bf%d1%80%d0%b8/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Thu, 28 Oct 2010 14:32:53 +0000</pubDate>
				<category><![CDATA[Makefile]]></category>
		<category><![CDATA[makefile]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=112</guid>

					<description><![CDATA[Autotools генерируют слишком большие makefile, иногда для простого приложения это излишне. Здесь я выкладываю пример простого makefile для компиляции gkt+ приложения:]]></description>
										<content:encoded><![CDATA[<p>Autotools генерируют слишком большие makefile, иногда для простого приложения это излишне. Здесь я выкладываю пример простого makefile для компиляции gkt+ приложения:</p>
<pre class="brush: bash; title: ; notranslate">

CC=gcc

LDLIBS='gtk-config --libs'

CFLAGS=-Wall -g 'gtk-config --cflags'gtktest: gtktest.o

$(CC) $(LDLIBS) gtktest.o -o gtktestgtktest.o: gtktest.c

$(CC) $(CFLAGS) -c gtktest.

cclean:

rm -f gtktestrm

rm -f *.o</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/10/28/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-makefile-%d0%b4%d0%bb%d1%8f-%d0%ba%d0%be%d0%bc%d0%bf%d0%b8%d0%bb%d1%8f%d1%86%d0%b8%d0%b8-gtk-%d0%bf%d1%80%d0%b8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
		<item>
		<title>Мини обзор Lubuntu 10.10</title>
		<link>https://hacktoall.wordpress.com/2010/10/23/%d0%bc%d0%b8%d0%bd%d0%b8-%d0%be%d0%b1%d0%b7%d0%be%d1%80-lubuntu-10-10/</link>
					<comments>https://hacktoall.wordpress.com/2010/10/23/%d0%bc%d0%b8%d0%bd%d0%b8-%d0%be%d0%b1%d0%b7%d0%be%d1%80-lubuntu-10-10/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Sat, 23 Oct 2010 13:56:53 +0000</pubDate>
				<category><![CDATA[Lubuntu]]></category>
		<category><![CDATA[lxde]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=106</guid>

					<description><![CDATA[Сегодня установил на ноутбук &#8212; Lubuntu 10.10 &#8212; официальный сайт &#8212; lubuntu.net. Lubuntu представляет из себя очень легковесный дистрибутив собранный на базе Ubuntu, но в качестве рабочей среды окружения &#8212; LXDE. Насчет быстродействия системы разработчики не обманули, система действительно очень быстрая и легкая. Тестов под рукой у меня нет, но цитата из wiki гласит: Первичное [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Сегодня установил на ноутбук &#8212; Lubuntu 10.10 &#8212; официальный сайт &#8212; <a href="lubuntu.net">lubuntu.net</a>. Lubuntu представляет из себя очень легковесный дистрибутив собранный на базе Ubuntu, но в качестве рабочей среды окружения &#8212; LXDE.</p>
<p>Насчет быстродействия системы разработчики не обманули, система действительно очень быстрая и легкая. Тестов под рукой у меня нет, но цитата из wiki гласит:</p>
<blockquote><p>Первичное тестирование Кристофером Смартом (Christopher Smart), обозревателем журнала Linux Magazine, показало, что по сравнению с Xubuntu и Ubuntu, Lubuntu использует почти вдвое меньше памяти при обычной установке на настольном компьютере, и почти втрое меньше при загрузке с Live CD</p>
<p><span id="more-106"></span></p></blockquote>
<p>Lubuntu включает в себя набор программ из проекта LXDE, а так же несколько программ не входящих в состав LXDE:</p>
<ul>
<li>Abiword</li>
<li>Gnumeric</li>
<li>pidgin</li>
<li>xchat</li>
<li>Chromium</li>
<li>Cheese</li>
<li>Gnome MPlayer</li>
<li>Transmission</li>
</ul>
<p>Остальной набор программ &#8212; это программы входящие в состав lxde.</p>
<p>После установки система выглядит следющим образом:</p>
<p><a href="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png"><img data-attachment-id="107" data-permalink="https://hacktoall.wordpress.com/2010/10/23/%d0%bc%d0%b8%d0%bd%d0%b8-%d0%be%d0%b1%d0%b7%d0%be%d1%80-lubuntu-10-10/2010-10-23-195042_1680x1050_scrot/" data-orig-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png" data-orig-size="1680,1050" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Lubuntu 10.10" data-image-description="" data-medium-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=300" data-large-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=497" class="aligncenter size-medium wp-image-107" title="Lubuntu 10.10" src="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=300&#038;h=187" alt="Lubuntu 10.10" width="300" height="187" srcset="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=300&amp;h=187 300w, https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=598&amp;h=374 598w, https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=150&amp;h=94 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Скриншот с файловым менеджером:</p>
<p><a href="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png"><img data-attachment-id="108" data-permalink="https://hacktoall.wordpress.com/2010/10/23/%d0%bc%d0%b8%d0%bd%d0%b8-%d0%be%d0%b1%d0%b7%d0%be%d1%80-lubuntu-10-10/2010-10-23-195108_1680x1050_scrot/" data-orig-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png" data-orig-size="1680,1050" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Lubuntu 10.10" data-image-description="" data-medium-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=300" data-large-file="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=497" class="aligncenter size-medium wp-image-108" title="Lubuntu 10.10" src="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=300&#038;h=187" alt="Lubuntu 10.10" width="300" height="187" srcset="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=300&amp;h=187 300w, https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=598&amp;h=374 598w, https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=150&amp;h=94 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Вобщем если вам нужна быстрая и легковесная система с необходимым набором программ в комплекте, то советую вам обратить внимание на Lubuntu.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/10/23/%d0%bc%d0%b8%d0%bd%d0%b8-%d0%be%d0%b1%d0%b7%d0%be%d1%80-lubuntu-10-10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>

		<media:content url="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195042_1680x1050_scrot.png?w=300" medium="image">
			<media:title type="html">Lubuntu 10.10</media:title>
		</media:content>

		<media:content url="https://hacktoall.files.wordpress.com/2010/10/2010-10-23-195108_1680x1050_scrot.png?w=300" medium="image">
			<media:title type="html">Lubuntu 10.10</media:title>
		</media:content>
	</item>
		<item>
		<title>[pure C] Преобразование целого числа в строку</title>
		<link>https://hacktoall.wordpress.com/2010/10/21/int_to_string/</link>
					<comments>https://hacktoall.wordpress.com/2010/10/21/int_to_string/#respond</comments>
		
		<dc:creator><![CDATA[shk]]></dc:creator>
		<pubDate>Thu, 21 Oct 2010 14:53:19 +0000</pubDate>
				<category><![CDATA[C]]></category>
		<category><![CDATA[coding]]></category>
		<guid isPermaLink="false">http://hacktoall.wordpress.com/?p=81</guid>

					<description><![CDATA[Сегодня на stackoverflow.com был интересный вопрос: I recently read a sample job interview question: Write a function to convert an integer to a string. Assume you do not have access to library functions i.e., itoa(), etc&#8230; How would you go about this? Как же нам все таки преобразовать int в char* без использования каких-либо сторонних [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Сегодня на <a href="http://stackoverflow.com/">stackoverflow.com</a> был интересный вопрос:</p>
<blockquote><p>I recently read a sample job interview question:</p>
<p>Write a function to convert an integer to a string. Assume you do not have access to library functions i.e., itoa(), etc&#8230;</p>
<p>How would you go about this?</p></blockquote>
<p>Как же нам все таки преобразовать int в char* без использования каких-либо сторонних библиотек в том числе и stdlib?</p>
<p><span id="more-81"></span></p>
<p>Здесь я приведу свой вариант, а так же варианты которые предложили уважаемые поситители stackoverflow.com</p>
<p>Для начала мой вариант. Перед тем как его показать несколько слов о самом коде: Да он длинноват и в целом сотстоит из 3 функций:<br />
&#8212; Получение длины строки<br />
&#8212; Реверс строки<br />
&#8212; Конвертация из int -&gt; char*</p>
<p>Действительно давольный длинный и не тривиальный ход, но я думаю это будет полезно новичкам в Си. Сам код выглядит следующим образом:</p>
<div class="highlight" style="text-align:left;">
<pre><span style="color:#008000;font-weight:bold;">static</span> <span style="color:#b00040;">char</span><span style="color:#666666;">*</span>
itoa(<span style="color:#b00040;">int</span> n, <span style="color:#b00040;">char</span> s[])
{
    <span style="color:#b00040;">int</span> i, sign;
    <span style="color:#008000;font-weight:bold;">if</span> ((sign <span style="color:#666666;">=</span> n) <span style="color:#666666;">&lt;</span> <span style="color:#666666;">0</span>)
        n <span style="color:#666666;">=</span> <span style="color:#666666;">-</span>n;
    i <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>;
<span style="color:#008000;font-weight:bold;">    </span><span style="color:#008000;font-weight:bold;">do</span>
    {
      s[i<span style="color:#666666;">++</span>] <span style="color:#666666;">=</span> n <span style="color:#666666;">%</span> <span style="color:#666666;">10</span> <span style="color:#666666;">+</span> <span style="color:#ba2121;">'0'</span>;
    } <span style="color:#008000;font-weight:bold;">while</span> ((n <span style="color:#666666;">/=</span> <span style="color:#666666;">10</span>) <span style="color:#666666;">&gt;</span> <span style="color:#666666;">0</span>);   

    <span style="color:#008000;font-weight:bold;">if</span> (sign <span style="color:#666666;">&lt;</span> <span style="color:#666666;">0</span>)
        s[i<span style="color:#666666;">++</span>] <span style="color:#666666;">=</span> <span style="color:#ba2121;">'-'</span>;

    s[i] <span style="color:#666666;">=</span> '\0';
    reverse(s);

    <span style="color:#008000;font-weight:bold;">return</span> s;
}</pre>
<p>Далее как я уже говорил 2 фукцнии: реверс строки и получение длины строки:</p>
</div>
<p style="font-size:.8em;color:#666;margin:2em 0 1em;padding:0;">&nbsp;</p>
<div class="highlight">
<pre><span style="color:#b00040;">int</span> strlen(<span style="color:#008000;font-weight:bold;">const</span> <span style="color:#b00040;">char</span><span style="color:#666666;">*</span> str)
{
   <span style="color:#b00040;">int</span> i <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>;
   <span style="color:#008000;font-weight:bold;">while</span> (str <span style="color:#666666;">!=</span> <span style="color:#ba2121;">''</span>)
   {
       i<span style="color:#666666;">++</span>;
       str<span style="color:#666666;">++</span>;
   }

   <span style="color:#008000;font-weight:bold;">return</span> i;
}

<span style="color:#008000;font-weight:bold;">static</span> <span style="color:#b00040;">void</span>
reverse(<span style="color:#b00040;">char</span> s[])
{
    <span style="color:#b00040;">int</span> i, j;
    <span style="color:#b00040;">char</span> c;

    <span style="color:#008000;font-weight:bold;">for</span> (i <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>, j <span style="color:#666666;">=</span> strlen(s)<span style="color:#666666;">-1</span>; i<span style="color:#666666;">&lt;</span>j; i<span style="color:#666666;">++</span>, j<span style="color:#666666;">--</span>) {
        c <span style="color:#666666;">=</span> s[i];
        s[i] <span style="color:#666666;">=</span> s[j];
        s[j] <span style="color:#666666;">=</span> c;
    }
}</pre>
<p>Вот мое решение данной проблемы. Согласен не самое красивое, но имеет право на жизнь.</p>
<p>Посетители stackoverflow.com решили эту же проблему следующими способами:</p>
</div>
<div class="highlight">
<pre><span style="color:#b00040;">char</span><span style="color:#666666;">*</span> itoa(<span style="color:#b00040;">int</span> val, <span style="color:#b00040;">int</span> base){

    <span style="color:#008000;font-weight:bold;">static</span> <span style="color:#b00040;">char</span> buf[<span style="color:#666666;">32</span>] <span style="color:#666666;">=</span> {<span style="color:#666666;">0</span>};

    <span style="color:#b00040;">int</span> i <span style="color:#666666;">=</span> <span style="color:#666666;">30</span>;

    <span style="color:#008000;font-weight:bold;">for</span>(; val <span style="color:#666666;">&amp;&amp;</span> i ; <span style="color:#666666;">--</span>i, val <span style="color:#666666;">/=</span> base)

        buf[i] <span style="color:#666666;">=</span> <span style="color:#ba2121;">"0123456789abcdef"</span>[val <span style="color:#666666;">%</span> base];

    <span style="color:#008000;font-weight:bold;">return</span> <span style="color:#666666;">&amp;</span>buf[i<span style="color:#666666;">+1</span>];

}</pre>
</div>
<p style="font-size:.8em;color:#666;margin:2em 0 1em;padding:0;"><span style="background-color:#f5f5f5;padding:0 1em;"> Colored with <a style="color:#333;" href="http://dumpz.org">dumpz.org</a></span></p>
<p>Следующий вариант:</p>
<div class="highlight">
<pre><span style="color:#b00040;">int</span> num <span style="color:#666666;">=</span> ...;
   <span style="color:#b00040;">char</span> res[MaxDigitCount];
   <span style="color:#b00040;">int</span> len <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>;
   <span style="color:#008000;font-weight:bold;">for</span>(; num <span style="color:#666666;">&gt;</span> <span style="color:#666666;">0</span>; <span style="color:#666666;">++</span>len)
   {
      res[len] <span style="color:#666666;">=</span> num<span style="color:#666666;">%10+</span><span style="color:#ba2121;">'0'</span>;
      num<span style="color:#666666;">/=10</span>;
   }
   res[len] <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>; <span style="color:#408080;font-style:italic;">//null-terminating</span>

   <span style="color:#408080;font-style:italic;">//now we need to reverse res</span>
   <span style="color:#008000;font-weight:bold;">for</span>(<span style="color:#b00040;">int</span> i <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>; i <span style="color:#666666;">&lt;</span> len<span style="color:#666666;">/2</span>; <span style="color:#666666;">++</span>i)
   {
       <span style="color:#b00040;">char</span> c <span style="color:#666666;">=</span> res[i]; res[i] <span style="color:#666666;">=</span> res[len<span style="color:#666666;">-</span>i<span style="color:#666666;">-1</span>]; res[len<span style="color:#666666;">-</span>i<span style="color:#666666;">-1</span>] <span style="color:#666666;">=</span> c;
   }</pre>
</div>
<p style="font-size:.8em;color:#666;margin:2em 0 1em;padding:0;"><span style="background-color:#f5f5f5;padding:0 1em;"> Colored with <a style="color:#333;" href="http://dumpz.org">dumpz.org</a></span></p>
<p>И последний вариант:</p>
<div class="highlight">
<pre><span style="color:#b00040;">int</span> n <span style="color:#666666;">=</span> INT_MIN;
<span style="color:#b00040;">char</span> buffer[<span style="color:#666666;">50</span>];
<span style="color:#b00040;">int</span> i <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>;

<span style="color:#b00040;">bool</span> isNeg <span style="color:#666666;">=</span> n<span style="color:#666666;">&lt;0</span>;

<span style="color:#b00040;">unsigned</span> <span style="color:#b00040;">int</span> n1 <span style="color:#666666;">=</span> isNeg <span style="color:#666666;">?</span> <span style="color:#666666;">-</span>n <span style="color:#666666;">:</span> n;

<span style="color:#008000;font-weight:bold;">while</span>(n1<span style="color:#666666;">!=0</span>)
{
    buffer[i<span style="color:#666666;">++</span>] <span style="color:#666666;">=</span> n1<span style="color:#666666;">%10+</span><span style="color:#ba2121;">'0'</span>;
    n1<span style="color:#666666;">=</span>n1<span style="color:#666666;">/10</span>;
}

<span style="color:#008000;font-weight:bold;">if</span>(isNeg)
    buffer[i<span style="color:#666666;">++</span>] <span style="color:#666666;">=</span> <span style="color:#ba2121;">'-'</span>;

buffer[i] <span style="color:#666666;">=</span> <span style="color:#ba2121;">''</span>;

<span style="color:#008000;font-weight:bold;">for</span>(<span style="color:#b00040;">int</span> t <span style="color:#666666;">=</span> <span style="color:#666666;">0</span>; t <span style="color:#666666;">&lt;</span> i<span style="color:#666666;">/2</span>; t<span style="color:#666666;">++</span>)
{
    buffer[t] <span style="color:#666666;">^=</span> buffer[i<span style="color:#666666;">-</span>t<span style="color:#666666;">-1</span>];
    buffer[i<span style="color:#666666;">-</span>t<span style="color:#666666;">-1</span>] <span style="color:#666666;">^=</span> buffer[t];
    buffer[t] <span style="color:#666666;">^=</span> buffer[i<span style="color:#666666;">-</span>t<span style="color:#666666;">-1</span>];
}

printf(buffer);</pre>
</div>
<p style="font-size:.8em;color:#666;margin:2em 0 1em;padding:0;"><span style="background-color:#f5f5f5;padding:0 1em;"> Colored with <a style="color:#333;" href="http://dumpz.org">dumpz.org</a></span></p>
<p>А как бы данную проблему решили вы?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hacktoall.wordpress.com/2010/10/21/int_to_string/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://0.gravatar.com/avatar/fcdcaf99b5c0a6fff852f3f670f57b9c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">onlyshk</media:title>
		</media:content>
	</item>
	</channel>
</rss>
