<?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/"
	>

<channel>
	<title>Bit Stories</title>
	<atom:link href="http://vhbit.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://vhbit.net/blog</link>
	<description></description>
	<lastBuildDate>Fri, 11 Jun 2010 17:18:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>iOS Dev Promises</title>
		<link>http://vhbit.net/blog/2010/06/ios4-dev-promises/</link>
		<comments>http://vhbit.net/blog/2010/06/ios4-dev-promises/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 17:15:23 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[asides]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=70</guid>
		<description><![CDATA[Подробное ревью что же вкусного ждет разработчиков в iOS4]]></description>
			<content:encoded><![CDATA[<p><a href="http://iphonedevelopmentbits.com/the-promise-of-iphone-4-ios-4">Подробное ревью</a> что же вкусного ждет разработчиков в iOS4</p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2010/06/ios4-dev-promises/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Старые баги</title>
		<link>http://vhbit.net/blog/2010/06/old-bugs/</link>
		<comments>http://vhbit.net/blog/2010/06/old-bugs/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 18:34:29 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=66</guid>
		<description><![CDATA[Выкладывая расширение, столкнулся со странной проблемой: несмотря на то, что был прописан правильный Content-Type, Safari открывал файл в текстовом виде. Что конечно же было не комильфо. В процессе отладки выяснилось, что это все происходило из-за того, что по счастливой случайности переход строки в заголовках попадал на 256-ой или 257-ой баг. И сервер в этом случае [...]]]></description>
			<content:encoded><![CDATA[<p>Выкладывая <a href="http://vhbit.net/blog/visualize-us-safari-extension">расширение</a>, столкнулся со странной проблемой: несмотря на то, что был прописан правильный Content-Type, Safari открывал файл в текстовом виде. Что конечно же было не комильфо.</p>
<p>В процессе отладки выяснилось, что это все происходило из-за того, что по счастливой случайности переход строки в заголовках попадал на 256-ой или 257-ой баг. И сервер в этом случае добавлял дополнительный заголовок &#8220;X-Pad: avoid browser bug&#8221;.</p>
<p>Оказалось, что сервер обходил баг Netscape с версии 2.0 и до 4.0b2. И сей фикс со стороны сервера существует с 21 апреля 1997 года.</p>
<p>Каким образом этот невинный заголовок портил жизнь Safari я не знаю, но сама ситуация позабавила &#8211; современный браузер некорректно работал с файлом из-за серверного фикса бага в другом браузере 13 лет назад <img src='http://vhbit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Победить не удалось, пришлось обходить стороной &#8211; менять размер заголовков переименовыванием файла <img src='http://vhbit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://george.hotelling.net/90percent/geekery/why_is_apache_sending_a_xpad_header.php">Английская версия истории бага</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2010/06/old-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualize Us Safari Extension</title>
		<link>http://vhbit.net/blog/2010/06/visualize-us-safari-extension/</link>
		<comments>http://vhbit.net/blog/2010/06/visualize-us-safari-extension/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:12:43 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=60</guid>
		<description><![CDATA[С выходом API для Safari свершилось моими же руками то, о чем так давно мечтал: постинг в visualize.us из контекстного меню. Расширение и пару слов о нем (англ.)]]></description>
			<content:encoded><![CDATA[<p>С выходом API для Safari свершилось моими же руками то, о чем так давно мечтал: постинг в visualize.us из контекстного меню. </p>
<p><a href="http://www.vhbit.net/blog/visualize-us-safari-extension">Расширение и пару слов о нем (англ.)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2010/06/visualize-us-safari-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adium &amp; iTerm 64 bit</title>
		<link>http://vhbit.net/blog/2009/12/adium-iterm-64-bit/</link>
		<comments>http://vhbit.net/blog/2009/12/adium-iterm-64-bit/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 12:36:21 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[iterm]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=28</guid>
		<description><![CDATA[В рамках постепенного переползания на 64 бита самодельные билды: iTerm Adium 1.5]]></description>
			<content:encoded><![CDATA[<p>В рамках постепенного переползания на 64 бита самодельные билды:<br />
<a href="http://vhbit.net/files/iTerm.zip">iTerm</a><br />
<a href="http://vhbit.net/files/Adium.zip">Adium 1.5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2009/12/adium-iterm-64-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PIL (Python Imaging) в Snow Leopard</title>
		<link>http://vhbit.net/blog/2009/10/pil-python-imaging-%d0%b2-snow-leopard/</link>
		<comments>http://vhbit.net/blog/2009/10/pil-python-imaging-%d0%b2-snow-leopard/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 19:28:33 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[pil]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=16</guid>
		<description><![CDATA[После перехода на Snow Leopard в Django перестали работать ImageField&#8217;ы. Причина оказалась в неработоспособном PIL&#8217;е, а точней в его привязке к libjpeg. (типичное сообщение об ошибке: ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart) Решение проблемы частично описано здесь (english) качаем отсюда: tar zxvf jpegsrc.v6b.tar.gz cd jpeg-6b cp /usr/share/libtool/config/config.sub . cp /usr/share/libtool/config/config.guess . ./configure --enable-shared --enable-static [...]]]></description>
			<content:encoded><![CDATA[<p>После перехода на Snow Leopard в Django перестали работать ImageField&#8217;ы. Причина оказалась в неработоспособном PIL&#8217;е, а точней в его привязке к libjpeg.<br />
(типичное сообщение об ошибке:<code><br />
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart</code>)</p>
<p>Решение проблемы частично описано <a href="http://jetfar.com/libjpeg-and-python-imaging-pil-on-snow-leopard/">здесь (english)</a><br />
качаем <a href="http://sourceforge.net/projects/libjpeg/files/libjpeg/6b/jpegsrc.v6b.tar.gz/download">отсюда</a>:<br />
<code><br />
tar zxvf jpegsrc.v6b.tar.gz<br />
cd jpeg-6b<br />
cp /usr/share/libtool/config/config.sub .<br />
cp /usr/share/libtool/config/config.guess .<br />
./configure --enable-shared --enable-static<br />
make<br />
sudo make install<br />
</code></p>
<p>Однако мне &#8220;повезло&#8221; и я оказался в числе тех, у кого это сразу не заработало &#8211; причина была в &#8220;зоопарке&#8221; установленных libjpeg&#8217;ов.<br />
Итак, делаем следующее:<br />
1. Смотрим все зависимости _imaging:<br />
<code>otool -L /Library/Python/2.6/site-packages/PIL/_imaging.so</code><br />
2. Получаем что-то вроде:<code><br />
/Library/Python/2.6/site-packages/PIL/_imaging.so:<br />
<strong>/sw/lib/</strong>libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)<br />
</code><br />
Дальше можно решить двумя способами:<br />
а) удалить &#8220;зоопарковую&#8221; библиотеку (в моем случае &#8211; из /sw/lib и пересобрать все заново)<br />
б) если удалять &#8211; не вариант, то можно перелинковать питоновский _imaging на правильную, свежесобраную библиотеку:<code><br />
install_name_tool -change <strong>/sw/lib/</strong>libjpeg.62.dylib <strong>/usr/local/lib</strong>/libjpeg.62.dylib _imaging.so<br />
</code><br />
После этого все должно работать <img src='http://vhbit.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2009/10/pil-python-imaging-%d0%b2-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python и полнотекстовый поиск (FTS) в sqlite</title>
		<link>http://vhbit.net/blog/2009/08/python-and-sqlite-fts/</link>
		<comments>http://vhbit.net/blog/2009/08/python-and-sqlite-fts/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 16:08:17 +0000</pubDate>
		<dc:creator>vhbit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://www.vhbit.net/blog/?p=3</guid>
		<description><![CDATA[Задача: получить поиск по всему тексту в питоне. Качаем последний sqlite-amalgamation (основное отличие &#8211; вся библиотека в одном файле) curl -O http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz Распаковываем: tar xzf sqlite-amalgamation-3.6.17.tar.gz Переходим в sqlite-3.6.17: Конфигурируем с включенным FTS3: CFLAGS="-Os -DSQLITE_ENABLE_FTS3=1" ./configure Билдим и устанавливаем make sudo make install Проблема: нельзя заменить системную, т.к. у нас нет 64битного билда и поэтому [...]]]></description>
			<content:encoded><![CDATA[<p>Задача: получить поиск по всему тексту в питоне.</p>
<p>Качаем последний sqlite-amalgamation (основное отличие &#8211; вся библиотека в одном файле)<br />
<code>curl -O http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz</code></p>
<p>Распаковываем:<br />
<code>tar xzf sqlite-amalgamation-3.6.17.tar.gz</code></p>
<p>Переходим в sqlite-3.6.17:<br />
Конфигурируем с включенным FTS3:<br />
<code>CFLAGS="-Os -DSQLITE_ENABLE_FTS3=1" ./configure</code></p>
<p>Билдим и устанавливаем<br />
<code>make<br />
sudo make install</code></p>
<p>Проблема: нельзя заменить системную, т.к. у нас нет 64битного билда и поэтому некоторые программы, расчитывающие на системную будут вылетать.</p>
<p>Решение: используем свою собственную библиотеку только для питона:</p>
<p>Переходим в папку питона:<br />
<code>cd /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/</code></p>
<p>Изменяем линки в загрузочной библиотеке:<br />
<code>install_name_tool -change /usr/lib/libsqlite3.0.dylib /usr/local/lib/libsqlite3.dylib _sqlite3.so</code></p>
<p>Запускаем питон и проверяем:<br />
<code> python<br />
Python 2.5.1 (r251:54863, Feb  6 2009, 19:02:12)<br />
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin<br />
Type "help", "copyright", "credits" or "license" for more information.<br />
>>> import sqlite3<br />
>>> sqlite3.sqlite_version<br />
'3.6.17'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://vhbit.net/blog/2009/08/python-and-sqlite-fts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
