<?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-6042702622717345659</id><updated>2011-12-24T07:10:43.329-08:00</updated><category term='driver'/><category term='linux'/><category term='gif'/><category term='pngout'/><category term='cygwin'/><category term='jpeg'/><category term='findutils'/><category term='optipng'/><category term='php'/><category term='gen_tbar'/><category term='x11'/><category term='fcrackzip'/><category term='perl'/><category term='finddup_suite'/><category term='xargs'/><category term='apt'/><category term='nt3.51'/><category term='font'/><category term='pngnq'/><category term='bmp'/><category term='httping'/><category term='png'/><category term='library'/><category term='taskbar'/><category term='c'/><category term='mp4'/><category term='tclock'/><category term='firefox'/><category term='audio'/><category term='animated'/><category term='advdef'/><category term='text'/><category term='python'/><category term='browser'/><category term='vnc2flv'/><category term='debian'/><category term='windows'/><category term='network'/><category term='aac'/><category term='ttx'/><category term='image'/><category term='deflopt'/><category term='winamp'/><category term='greenpad'/><category term='c++'/><category term='password'/><category term='zip'/><title type='text'>RT's Free Soft</title><subtitle type='html'>Some free/open source softwares, libraries, codes created/modified by me.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-7184451123901879326</id><published>2011-12-11T04:53:00.001-08:00</published><updated>2011-12-11T18:15:32.164-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>phpfm 0.9.3</title><content type='html'>Changes:&lt;br /&gt;- fixes chmod() on current directory when no directory is selected&lt;br /&gt;- escapes only &amp;lt; and &amp;gt; on edit(), that fixes editing UTF-8 files&lt;br /&gt;- UTF-8-ized whole PHP file to suit UTF-8 file system&lt;br /&gt;&lt;br /&gt;&lt;a href="http://roy.orz.hm/soft/phpfm.php.gz"&gt;Download fixed and UTF-8-ized phpfm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-7184451123901879326?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/7184451123901879326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2011/12/phpfm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/7184451123901879326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/7184451123901879326'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2011/12/phpfm.html' title='phpfm 0.9.3'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-5017494641922636945</id><published>2011-06-19T14:02:00.000-07:00</published><updated>2011-11-24T20:16:58.119-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='bmp'/><category scheme='http://www.blogger.com/atom/ns#' term='gif'/><category scheme='http://www.blogger.com/atom/ns#' term='jpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>repng2jpeg 1.0.4.2</title><content type='html'>repng2jpeg is a simple image resizer using libgd.&lt;br /&gt;Supported Input: PNG, JPG, GIF, BMP[added in 1.0.4.1]&lt;br /&gt;Supported Output: PNG, JPG, GIF, BMP[added in 1.0.4.2]&lt;br /&gt;&lt;br /&gt;Download Win32 Binary: &lt;a href="http://roy.orz.hm/gpc/files1.rt/repng2jpeg-win32.zip"&gt;repng2jpeg-win32.zip&lt;/a&gt;&lt;br /&gt;svn source repository: &lt;a href="http://rtoss.googlecode.com/svn/repng2jpeg/"&gt;http://rtoss.googlecode.com/svn/repng2jpeg/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Change since 1.0.4:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[1.0.4.2] added BMP writing support (requires &lt;a href="https://bitbucket.org/pierrejoye/gd-libgd/overview"&gt;libgd 2.1.0-alpha&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;[1.0.4.1] added BMP reading support (requires &lt;a href="https://bitbucket.org/pierrejoye/gd-libgd/overview"&gt;libgd 2.1.0-alpha&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-5017494641922636945?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/5017494641922636945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2011/06/repng2jpeg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5017494641922636945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5017494641922636945'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2011/06/repng2jpeg.html' title='repng2jpeg 1.0.4.2'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-9013811888165631153</id><published>2011-05-14T19:33:00.000-07:00</published><updated>2011-11-24T20:17:09.713-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='gen_tbar'/><category scheme='http://www.blogger.com/atom/ns#' term='winamp'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>Winamp Plugin: Titlebar Info 1.53.1</title><content type='html'>Binary(Unicode): &lt;a href="http://roy.orz.hm/gpc/files1.rt/gen_tbar.7z"&gt;Download&lt;/a&gt;&lt;br /&gt;Sources (svn): &lt;a href="http://rtoss.googlecode.com/svn/gen_tbar/"&gt;http://rtoss.googlecode.com/svn/gen_tbar/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changes from 1.53:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;remove chrome from blacklist&lt;/li&gt;&lt;li&gt;add title bar redraw hack&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Changes from &lt;a href="http://www.mzuther.de/en/contents/gen-tbar"&gt;gen_tbar_2 1.52&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;add chrome window class to blacklist&lt;/li&gt;&lt;li&gt;Updated Winamp SDK (5.55)&lt;/li&gt;&lt;li&gt;Updated StdString.h (2006-2-21)&lt;/li&gt;&lt;li&gt;Unicode build available (gen_tbar\Release_2_Uni\gen_tbar_2.dll)&lt;/li&gt;&lt;li&gt;Build with VC.NET 2003 SP1&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-9013811888165631153?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/9013811888165631153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/winamp-plugin-titlebar-info.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/9013811888165631153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/9013811888165631153'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/winamp-plugin-titlebar-info.html' title='Winamp Plugin: Titlebar Info 1.53.1'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-4663400239615011695</id><published>2011-04-29T23:41:00.000-07:00</published><updated>2011-06-09T00:40:13.478-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nt3.51'/><category scheme='http://www.blogger.com/atom/ns#' term='greenpad'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>GreenPad for NT 3.x</title><content type='html'>Make GreenPad open and save dialog works in NT 3.x. (Still works in newer version of Windows)&lt;br /&gt;GreenPad Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open/Save dialog, Document Type Menu, MRU Menu fix for NT 3.51&lt;/li&gt;&lt;li&gt;UTF-1, UTF-9(1997) support&lt;/li&gt;&lt;li&gt;enhanced Multiple Language detection&lt;/li&gt;&lt;li&gt;Code page list addition and arrangement&lt;/li&gt;&lt;li&gt;Unicode version(provided binary) works in Windows 95/98/Me if system has &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ed06-4F0D-80A4-2A7EEAEE17E2&amp;amp;displaylang=en"&gt;Microsoft Layer for Unicode&lt;/a&gt; installed.&lt;/li&gt;&lt;li&gt;[100511] add "cs=" .lay font charset value entry support&lt;/li&gt;&lt;li&gt;[100511] Use "System" font for NT 3.51's Open/Save dialog.&lt;/li&gt;&lt;li&gt;[100514] fix UTF-7/8 support in NT 3.51&lt;/li&gt;&lt;li&gt;[100515] NT3.1 and NT 3.5 version merged into GreenPad NT 3.51 repository. Binary for Win32s, NT 3.1, NT 3.5 are included in package.&lt;/li&gt;&lt;li&gt;[100516] Add chardet.dll charset detector support. Place chardet.dll to same place as GreenPad executable to use.&lt;br /&gt;chardet.dll is available in separated packages as license is different(GreenPad is licensed in NYSL Version 0.9982, but chardet.dll is tri-licensed in MPL/GPL/LGPL)&lt;/li&gt;&lt;li&gt;[100517] Add UTF-1/UTF-9(1997) BOM support.&lt;/li&gt;&lt;li&gt;[100517] Use chardet when size &amp;gt; 80 bytes on NT4/Win95 or newer.&lt;/li&gt;&lt;li&gt;[100517] Move EUC/UTF-8 check to last, pervert EUC check on non Japanese Edition Windows which leads to misdetection.&lt;/li&gt;&lt;li&gt;[100517] textfile: keep U+FEFF in Unicode content, remove BOM only.&lt;/li&gt;&lt;li&gt;[100517] Add legacy Chinese Traditional charset support (c_20001.nls - c_20005.nls are in install disc, need manual installing them)&lt;/li&gt;&lt;li&gt;[100517] Add preliminary support of detect BOM-less UTF-16/32 (BE/LE) files. (ideas taken from Footy2)&lt;/li&gt;&lt;li&gt;[100517] chardetAutoDetection: add EUC-TW/CNS detection&lt;/li&gt;&lt;li&gt;[100520] Fix writing surrogate pairs in UTF-1/UTF-9, fix not converting non-BMP code prints to surrogate pair when reading UTF-1/UTF-9&lt;/li&gt;&lt;li&gt;[100520] Add SCSU/BOCU-1 support&lt;/li&gt;&lt;li&gt;[100523] Fix crash when Quit with Global IME installed&lt;/li&gt;&lt;li&gt;[100605] check for valid code page instead of checking OS version for UTF-7/8&lt;/li&gt;&lt;li&gt;[100607] fix new file with UNKN encoding when NewfileCharset don't exist in OS&lt;/li&gt;&lt;li&gt;[100608] fix Config dialog in NT 3.5, fine tune control positions, change full-width katakana to half-width katakana to save space for NT 3.x which doesn't have MS PGothic.&lt;/li&gt;&lt;li&gt;[100706] add "Save and Exit" menu&lt;/li&gt;&lt;li&gt;[100711] add "Discard and Exit" menu&lt;/li&gt;&lt;li&gt;[100712] Add preliminary support of print function.&lt;br /&gt;known issues: Copies are not working in XP, no Page Setup(header/footer/margin/etc.) support (yet?)&lt;br /&gt;untested on Windows other than XP. only tested with PrimoPDF and XPS Writer virtual printers.&lt;/li&gt;&lt;li&gt;[100714] Print: break long lines that cross pages.&lt;/li&gt;&lt;li&gt;[100714] Menu: Add "Reconversion" and "IME On/Off" menu.&lt;/li&gt;&lt;li&gt;[110228] Add GB18030 codepage support.&lt;/li&gt;&lt;li&gt;[110409] Fixed BOCU-1 reader out-of-bound crash when reading invalid BOCU-1 stream&lt;/li&gt;&lt;li&gt;[110420] Fixed &amp;gt; 65535 lines scrolling on NT 3.51 version (It cannot be fixed on NT 3.5/3.1/Win32s version because GetScrollInfo API is not available)&lt;/li&gt;&lt;li&gt;[110429] Fixed chardet UTF-8 detection&lt;/li&gt;&lt;/ul&gt;chardet Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[100517] Update chardet to Mozilla-1.9.2 branch (enabling Thai detection)&lt;/li&gt;&lt;/ul&gt;Download binary:&lt;br /&gt;&lt;a href="http://files1.rt.googlepages.com/GreenPad_nt3x.zip"&gt;GreenPad_nt3x.zip&lt;/a&gt; (last updated: 2011-04-20)&lt;br /&gt;&lt;a href="http://files1.rt.googlepages.com/chardet.zip"&gt;chardet.zip&lt;/a&gt; (VC2 statically compiled, last updated: 2010-05-17)&lt;br /&gt;&lt;br /&gt;Executables:&lt;br /&gt;&lt;dl&gt;&lt;dt&gt;GreenPad.exe&lt;/dt&gt;&lt;dd&gt;GreenPad for NT 3.51 and newer version of windows.&lt;/dd&gt;&lt;dt&gt;GreenPad-nt350.exe&lt;/dt&gt;&lt;dd&gt;GreenPad for NT 3.5 and newer version of windows. You may need a &lt;a href="http://files1.rt.googlepages.com/dummy-imm32.zip"&gt;dummy IMM32.DLL&lt;/a&gt; when running in NT 3.5.&lt;/dd&gt;&lt;dt&gt;GnPad32s.exe&lt;/dt&gt;&lt;dd&gt;GreenPad for Win32s (for test purpose only).&lt;/dd&gt;&lt;dt&gt;GPadnt31.exe&lt;/dt&gt;&lt;dd&gt;GreenPad for NT 3.1.&lt;/dd&gt;&lt;/dl&gt;Download source (obsoleted):&lt;br /&gt;&lt;a href="http://files1.rt.googlepages.com/GreenPad_nt351.src.7z"&gt;GreenPad_nt351.src.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;GreenPad SVN repository:&lt;br /&gt;&lt;a href="http://rtoss.googlecode.com/svn/GreenPad/"&gt;http://rtoss.googlecode.com/svn/GreenPad/&lt;/a&gt;&lt;br /&gt;chardet SVN repository:&lt;br /&gt;&lt;a href="http://rtoss.googlecode.com/svn/libchardet/"&gt;http://rtoss.googlecode.com/svn/libchardet/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tips &amp; Tricks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you want to have a common section instead of separated setting per user, you can remove other users' INI sections, and then add a section called "[SharedConfig]"(with bracket but not quote), and then add "Enable=1"(without quote) line and save.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-4663400239615011695?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/4663400239615011695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/greenpad-for-nt-351.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4663400239615011695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4663400239615011695'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/greenpad-for-nt-351.html' title='GreenPad for NT 3.x'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-2819407528372659684</id><published>2011-04-10T21:49:00.000-07:00</published><updated>2011-11-24T20:19:39.243-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xargs'/><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='optipng'/><category scheme='http://www.blogger.com/atom/ns#' term='deflopt'/><category scheme='http://www.blogger.com/atom/ns#' term='advdef'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='pngout'/><title type='text'>png optimize suite(Win32) (Ver 2011-04-11)</title><content type='html'>&lt;a href="http://roy.orz.hm/gpc/files1.rt/pngopt-110411.7z"&gt;Download pngopt-110411.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changes since Ver 2009-05-29:&lt;br /&gt;+ Add xargs.exe for parallel processing&lt;br /&gt;+ Add pngoptall_nproc.bat and pngoptone.bat for parallel processing&lt;br /&gt;! pngoptall.bat uses programs that sit with it&lt;br /&gt;^ update optipng to 0.6.5-icc-sse&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt;pngoptall.bat [/r] : Original (Single process) version for all PNG in current directory (and subdirectories)&lt;br /&gt;pngoptall_nproc.bat [/r] [/b] : Parallel version for all PNG in current directory (and subdirectories)&lt;br /&gt;pngoptone.bat [/b] {file} : for One file. Will be called by pngoptall_nproc.bat&lt;br /&gt;&lt;br /&gt;Switches: (must be in order, reversed order is not allowed)&lt;br /&gt; /r: Recursive to further directories&lt;br /&gt; /b: Start processes in "Below-Normal" priority&lt;br /&gt;&lt;br /&gt;UnxUtils xargs (mod) binary/source (GPLv2)&lt;br /&gt;&lt;a href="http://rtfreesoft.blogspot.com/2011/04/my-enhanced-unxutils-xargs.html"&gt;My Enhanced UnxUtils xargs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-2819407528372659684?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/2819407528372659684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/png-optimize-suitewin32-ver-2011-04-11.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2819407528372659684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2819407528372659684'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/png-optimize-suitewin32-ver-2011-04-11.html' title='png optimize suite(Win32) (Ver 2011-04-11)'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-3594418462474490652</id><published>2011-04-09T06:30:00.000-07:00</published><updated>2011-11-24T20:20:32.015-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xargs'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='findutils'/><title type='text'>My Enhanced UnxUtils xargs</title><content type='html'>Binary: &lt;a href="http://roy.orz.hm/gpc/files1.rt/xargs.7z"&gt;xargs.7z&lt;/a&gt;&lt;br /&gt;Source: &lt;a href="http://roy.orz.hm/gpc/files1.rt/UnxUtilsSrc-findutils.7z"&gt;UnxUtilsSrc-findutils.7z&lt;/a&gt;&lt;br /&gt;Source repository: &lt;a href="http://rtoss.googlecode.com/svn/UnxUtils/"&gt;http://rtoss.googlecode.com/svn/UnxUtils/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added "-w" (--whole-line) switch (like "-d '\n'" in later versions, but this will quote the whole line)&lt;/li&gt;&lt;li&gt;Added "-c" (--no-escape) switch. So that backslash will not be sorrowed.&lt;/li&gt;&lt;li&gt;Removed "\" to "/" hack&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-3594418462474490652?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/3594418462474490652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/my-enhanced-unxutils-xargs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3594418462474490652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3594418462474490652'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2011/04/my-enhanced-unxutils-xargs.html' title='My Enhanced UnxUtils xargs'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-883471291133592187</id><published>2011-03-29T22:56:00.000-07:00</published><updated>2011-11-24T20:21:59.795-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='optipng'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>OptiPNG 0.6.5 icc9.1 win32</title><content type='html'>Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/optipng-0.6.5-icc91.7z"&gt;optipng-0.6.5-icc91.7z&lt;/a&gt;&lt;br /&gt;- icc9.1 core2duo and sse build&lt;br /&gt;- with zlib 1.2.4 LC2 patch&lt;br /&gt;&lt;br /&gt;For updating optipng in suite:&lt;br /&gt;rename optipng_c2d.exe or optipng_sse.exe to optipng.exe (depending CPU) and replace optipng.exe in suite's folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-883471291133592187?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/883471291133592187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/optipng-064-icc91-win32.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/883471291133592187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/883471291133592187'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/optipng-064-icc91-win32.html' title='OptiPNG 0.6.5 icc9.1 win32'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-3936778791569278655</id><published>2010-10-09T09:28:00.000-07:00</published><updated>2011-11-24T20:22:15.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='greenpad'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><title type='text'>ICU uconv EBCIDC Edition</title><content type='html'>a plain compiled ICU uconv targeted for EBCDIC-Unicode interconversion i.e. many other MBCS tables are stripped out. This may co-work with GreenPad for open/save EBCDIC files in the future.&lt;br/&gt;&lt;br /&gt;UPX-ed. requires MSVCP71.DLL and MSVCR71.DLL&lt;br/&gt;&lt;br /&gt;&lt;a href="http://roy.orz.hm/gpc/files1.rt/uconv442-ebcdic.7z"&gt;uconv442-ebcdic.7z&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-3936778791569278655?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/3936778791569278655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/10/icu-uconv-ebcidc-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3936778791569278655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3936778791569278655'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/10/icu-uconv-ebcidc-edition.html' title='ICU uconv EBCIDC Edition'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-5661058895389175924</id><published>2010-06-22T23:45:00.000-07:00</published><updated>2011-11-24T20:22:27.007-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tclock'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='taskbar'/><title type='text'>TClock2ch-081012</title><content type='html'>Changelog:&lt;br /&gt;- [100622] update sources to TClock2ch-081012.&lt;br /&gt;- [100622] add ToolbarWindow32 task switch class detection.&lt;br /&gt;- [080624] A bit modified about the removal of top black line of transparent taskbar.&lt;br /&gt;&lt;br /&gt;Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/TClock2ch-081012x.7z"&gt;TClock2ch-081012x.7z&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-5661058895389175924?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/5661058895389175924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2008/06/tclock2ch-080624.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5661058895389175924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5661058895389175924'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2008/06/tclock2ch-080624.html' title='TClock2ch-081012'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-794749225988590205</id><published>2010-03-21T08:28:00.000-07:00</published><updated>2011-11-24T20:22:49.846-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='httping'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>HTTPing-1.4.1 (Win32)</title><content type='html'>Quite heavily hacked for MinGW build environment. OpenSSL is not enabled in this build and OpenSSL  support is untested.&lt;br /&gt;Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/httping-1.4.1-win32.7z"&gt;httping-1.4.1-win32.7z&lt;/a&gt; (source and binary)&lt;br /&gt;&lt;br /&gt;Recommended usage:&lt;br /&gt;&lt;code&gt;httping -r -g http://address/&lt;/code&gt;&lt;br /&gt;[Ctrl]+[C] to abort.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-794749225988590205?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/794749225988590205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/httping-141-win32.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/794749225988590205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/794749225988590205'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/httping-141-win32.html' title='HTTPing-1.4.1 (Win32)'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-4253074274326409317</id><published>2010-03-05T20:32:00.000-08:00</published><updated>2010-03-05T20:34:28.239-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='cygwin'/><title type='text'>Fix breakage on current Firefox trunk in cygwin build environment</title><content type='html'>Today's update in Firefox trunk breaks in my cygwin build environment, following modifications applied and fix building breakage.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;cygwin_wrapper: escape &amp;lt;xxx&gt; to \&amp;lt;xxx\&gt;, new cygwin_wrapper look like this:&lt;br /&gt;&lt;pre&gt;#!/usr/bin/perl&lt;br /&gt;$prog=$ARGV[0];&lt;br /&gt;shift;&lt;br /&gt;exit 1 if(!length($prog));&lt;br /&gt;&lt;br /&gt;# If $CYGDRIVE_MOUNT was not set in configure, give $mountpoint the results of mount -p&lt;br /&gt;$mountpoint=$ENV{'CYGDRIVE_MOUNT'};&lt;br /&gt;if(!length($mountpoint)) {&lt;br /&gt; $mountpoint=`mount -p`;&lt;br /&gt; if(!length($mountpoint)) {&lt;br /&gt;  print "Cannot determine cygwin mount points. Exiting";&lt;br /&gt;  exit 1;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Delete everything but "/cygdrive" (or other mountpoint) from mount=`mount -p`&lt;br /&gt;($dummy,$mountpoint) = split(/\//,$mountpoint);&lt;br /&gt;($mountpoint,$dummy) = split(/\s/,$mountpoint);&lt;br /&gt;&lt;br /&gt;$args="";&lt;br /&gt;$up="";&lt;br /&gt;$process=1;&lt;br /&gt;&lt;br /&gt;if($prog eq "-up") {&lt;br /&gt; $up=1;&lt;br /&gt; $prog=$ARGV[0];&lt;br /&gt; shift;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach my $arg (@ARGV) {&lt;br /&gt; if($arg eq "-wrap") {&lt;br /&gt;  $process=1;&lt;br /&gt; } elsif($arg eq "-nowrap") {&lt;br /&gt;   $process=0;&lt;br /&gt; } else {&lt;br /&gt;   if($up) {&lt;br /&gt;    $arg =~ s|-I([a-zA-Z]):/|-I/${mountpoint}/\1/|g;&lt;br /&gt;   } else {&lt;br /&gt;    $arg =~ s|/${mountpoint}/([a-zA-Z])/|\1:/|g;&lt;br /&gt;   }&lt;br /&gt;   $arg =~ s/\\/\\\\/g;&lt;br /&gt;   $arg =~ s/"/\\"/g;&lt;br /&gt;&lt;br /&gt;# replace &amp;lt;xxx&gt; to \&amp;lt;xxx\&gt; only&lt;br /&gt;   $arg =~ s/&amp;lt;([^\s]+)&gt;/\\&amp;lt;\1\\&gt;/g;&lt;br /&gt;&lt;br /&gt;#   $arg =~ s/&amp;lt;/\\&amp;lt;/g;&lt;br /&gt;#   $arg =~ s/&gt;/\\&gt;/g;&lt;br /&gt;#   $arg =~ s/\(/\\(/g;&lt;br /&gt;#   $arg =~ s/\)/\\)/g;&lt;br /&gt;   $args.=($arg =~ / /)?" \"".$arg."\"":" ".$arg;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#print "$prog $args";&lt;br /&gt;exec "$prog $args";&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;configure.in: add $CYGWIN_WRAPPER to libffi configure command, configure.in diff:&lt;br /&gt;&lt;pre&gt;diff -r c05d0ac56307 configure.in&lt;br /&gt;--- a/configure.in      Fri Mar 05 14:19:30 2010 -0800&lt;br /&gt;+++ b/configure.in      Sat Mar 06 12:28:24 2010 +0800&lt;br /&gt;@@ -2292,7 +2292,7 @@&lt;br /&gt;         AC_MSG_ERROR([MOZ_TOOLS is not set])&lt;br /&gt;     fi&lt;br /&gt;&lt;br /&gt;-    MOZ_TOOLS_DIR=`cd $MOZ_TOOLS &amp;&amp; pwd -W`&lt;br /&gt;+    MOZ_TOOLS_DIR=`cd $MOZ_TOOLS &amp;&amp; pwd`&lt;br /&gt;     if test "$?" != "0" || test -z "$MOZ_TOOLS_DIR"; then&lt;br /&gt;         AC_MSG_ERROR([cd \$MOZ_TOOLS failed. MOZ_TOOLS ==? $MOZ_TOOLS])&lt;br /&gt;     fi&lt;br /&gt;@@ -2303,7 +2303,7 @@&lt;br /&gt;     MOZ_TOOLS_DIR=`$CYGPATH_W $MOZ_TOOLS_DIR | $CYGPATH_S`&lt;br /&gt;&lt;br /&gt;     if test -n "$GLIB_PREFIX"; then&lt;br /&gt;-        _GLIB_PREFIX_DIR=`cd $GLIB_PREFIX &amp;&amp; pwd -W`&lt;br /&gt;+        _GLIB_PREFIX_DIR=`cd $GLIB_PREFIX &amp;&amp; pwd`&lt;br /&gt;         if test "$?" = "0"; then&lt;br /&gt;             if test `echo ${PATH}: | grep -ic "$_GLIB_PREFIX_DIR/bin:"` = 0; then&lt;br /&gt;                 AC_MSG_ERROR([GLIB_PREFIX must be in your \$PATH.])&lt;br /&gt;@@ -2328,7 +2328,7 @@&lt;br /&gt;     fi&lt;br /&gt;&lt;br /&gt;     if test -n "$LIBIDL_PREFIX"; then&lt;br /&gt;-        _LIBIDL_PREFIX_DIR=`cd $LIBIDL_PREFIX &amp;&amp; pwd -W`&lt;br /&gt;+        _LIBIDL_PREFIX_DIR=`cd $LIBIDL_PREFIX &amp;&amp; pwd`&lt;br /&gt;         if test "$?" = "0"; then&lt;br /&gt;             if test `echo ${PATH}: | grep -ic "$_LIBIDL_PREFIX_DIR/bin:"` = 0; then&lt;br /&gt;                 AC_MSG_ERROR([LIBIDL_PREFIX must be in your \$PATH.])&lt;br /&gt;@@ -6890,8 +6890,12 @@&lt;br /&gt;     if test ! -d "$WIN32_CRT_SRC_DIR"; then&lt;br /&gt;       AC_MSG_ERROR([Invalid Win32 CRT source directory: ${WIN32_CRT_SRC_DIR}])&lt;br /&gt;     fi&lt;br /&gt;-    WIN32_CRT_SRC_DIR=`cd "$WIN32_CRT_SRC_DIR" &amp;&amp; pwd -W`&lt;br /&gt;-    _objdir_win=`pwd -W`&lt;br /&gt;+#    WIN32_CRT_SRC_DIR=`cd "$WIN32_CRT_SRC_DIR" &amp;&amp; pwd -W`&lt;br /&gt;+#    _objdir_win=`pwd -W`&lt;br /&gt;+&lt;br /&gt;+    WIN32_CRT_SRC_DIR=`$CYGPATH_W "$WIN32_CRT_SRC_DIR" | $CYGPATH_S`&lt;br /&gt;+    _objdir_win=`$CYGPATH_W . | $CYGPATH_S`&lt;br /&gt;+&lt;br /&gt;     WIN32_CUSTOM_CRT_DIR="$_objdir_win/memory/jemalloc/crtsrc/build/$_WIN32_CRT_CPU"&lt;br /&gt;     MOZ_MEMORY_LDFLAGS="-MANIFEST:NO -LIBPATH:\"$WIN32_CUSTOM_CRT_DIR\" -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcrtd -NODEFAULTLIB:msvcprt -NODEFAULTLIB:msvcprtd -DEFAULTLIB:mozcrt19 -DEFAULTLIB:mozcpp19"&lt;br /&gt;     dnl Also pass this to NSPR/NSS&lt;br /&gt;@@ -8496,8 +8500,8 @@&lt;br /&gt;     WIN_TOP_SRC=`cd $srcdir; pwd -W`&lt;br /&gt;     ;;&lt;br /&gt; cygwin*|msvc*|mks*)&lt;br /&gt;-    HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC"&lt;br /&gt;-    HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX"&lt;br /&gt;+#    HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC"&lt;br /&gt;+#    HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX"&lt;br /&gt;     CC="\$(CYGWIN_WRAPPER) $CC"&lt;br /&gt;     CXX="\$(CYGWIN_WRAPPER) $CXX"&lt;br /&gt;     CPP="\$(CYGWIN_WRAPPER) $CPP"&lt;br /&gt;@@ -8738,7 +8742,7 @@&lt;br /&gt;   if test "$_MSC_VER"; then&lt;br /&gt;     # Use a wrapper script for cl and ml that looks more like gcc.&lt;br /&gt;     # autotools can't quite handle an MSVC build environment yet.&lt;br /&gt;-    ac_configure_args="$ac_configure_args CC=$_topsrcdir/js/ctypes/libffi/msvcc.sh LD=link CPP=\"cl -nologo -EP\""&lt;br /&gt;+    ac_configure_args="$ac_configure_args CC=\"$CYGWIN_WRAPPER $_topsrcdir/js/ctypes/libffi/msvcc.sh\" LD=\"$CYGWIN_WRAPPER link\" CPP=\"$CYGWIN_WRAPPER cl -nologo -EP\""&lt;br /&gt;   fi&lt;br /&gt;   if test "$SOLARIS_SUNPRO_CC"; then&lt;br /&gt;     # Always use gcc for libffi on Solaris&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;cygwin/bin/ln: rename ln.exe to cygln.exe (prevert libffi's configure from using ln and break the build process)&lt;/li&gt;&lt;li&gt;cygwin/bin/arch: create a program/script to print "i686" to STDOUT and name it "arch" in cygwin's bin directory&lt;/li&gt;&lt;li&gt;msvcc.sh: add "-wd4826" in nowarn (for Platform SDK 2003)&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-4253074274326409317?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/4253074274326409317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/fix-breakage-on-current-firefox-trunk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4253074274326409317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4253074274326409317'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/03/fix-breakage-on-current-firefox-trunk.html' title='Fix breakage on current Firefox trunk in cygwin build environment'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-7115328245769209447</id><published>2010-02-10T01:23:00.000-08:00</published><updated>2011-12-06T22:32:01.221-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='finddup_suite'/><title type='text'>Find Duplicate Files Suite (Initial)</title><content type='html'>FindDup Suite&lt;br /&gt;&lt;br /&gt;FindDup Suite contains 3 parts:&lt;br /&gt;- finddup.pl&lt;br /&gt;- dupselect.php&lt;br /&gt;- unlink.pl&lt;br /&gt;&lt;br /&gt;finddup.pl is the duplicate file finder which will search duplicate files in &lt;br /&gt;current directory or specified directory. Progress will print to STDERR and &lt;br /&gt;duplicate file list will print to STDOUT.&lt;br /&gt;&lt;br /&gt;Usage:&lt;br /&gt; $ perl finddup.pl [Path] &gt; [duplicate-files.txt]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;dupselect.php is a PHP web application for helping user to select duplicate &lt;br /&gt;files. Copy/move [duplicate-files.txt] to same directory as dupselect.php in &lt;br /&gt;the web server. For example, creating a web server with PHP in localhost, then &lt;br /&gt;copy dupselect.php and duplicate-files.txt to /var/www/html, and then fire up &lt;br /&gt;a web browser(such as Firefox) and go to http://localhost/dupselect.php and &lt;br /&gt;you will have a screen like this:&lt;br /&gt;&lt;br /&gt; duplicate-files.txt DupSelect CalcTotal&lt;br /&gt;&lt;br /&gt;The DupSelect link will go to selecting duplicate files using &lt;br /&gt;duplicate-files.txt duplicate file list.&lt;br /&gt;The CalcTotal link show you a list and calculate Total size of all files in the &lt;br /&gt;file.&lt;br /&gt;&lt;br /&gt;In DupSelect mode, you will see a group seperated by horizontal line like this:&lt;br /&gt;&lt;br /&gt;   [generate]&lt;br /&gt;     _________________________________________________________________&lt;br /&gt;   &lt;br /&gt;   [ ] ./20080428/kaberen22204.jpg (f66f689f)&lt;br /&gt;   [X] ./20080427/kaberen22204.jpg (f66f689f)&lt;br /&gt;     _________________________________________________________________&lt;br /&gt;&lt;br /&gt;   [ ] ./20080105/T2AW_WP_3/T2AW_10/T2AW_10z.psd (274a3199) (*)&lt;br /&gt;   [X] ./20080910/Al_4575/T2AW_10/T2AW_10z.psd (274a3199) (**)&lt;br /&gt;   [X] ./20071124/T2AW_WP_2/T2AW_10.psd (274a3199)&lt;br /&gt;     _________________________________________________________________&lt;br /&gt;&lt;br /&gt;   [ ] ./20080506/moeura26162.png (37645a01)&lt;br /&gt;   [X] ./20081228/moeura46760.png (37645a01)&lt;br /&gt;     _________________________________________________________________&lt;br /&gt;&lt;br /&gt;The first file in each group is kept by default. dupselect.php will think &lt;br /&gt;the file in deeper directory is more important.&lt;br /&gt;There is two marks, (*) and (**). (*) repersents there is a file in deeper &lt;br /&gt;directory in this group while (**) means there is more than one file in &lt;br /&gt;deeper directory.&lt;br /&gt;The selected files will generate a duplicate-files-delete.txt and &lt;br /&gt;duplicate-files-delete.lst file in server after pressing [generate] button.&lt;br /&gt;duplicate-files-delete.txt is for you to view a report using CalcTotal mode.&lt;br /&gt;duplicate-files-delete.lst is for deleting using unlink.pl.&lt;br /&gt;&lt;br /&gt;Inside dupselect.php:&lt;br /&gt;There is some variables in dupselect.php for the sorting and selecting &lt;br /&gt;strategy.&lt;br /&gt;&lt;br /&gt; $excludes_order = array('detail');&lt;br /&gt; $includes_order = array('waren','kaberen','moeren','kabeura','moeura');&lt;br /&gt; $deselects = array('this-one-needs-duplicate');&lt;br /&gt; $normal_depth = 2;&lt;br /&gt;&lt;br /&gt;The $excludes_order variable controls which file should place in the back.&lt;br /&gt;The $includes_order variable controls which file should place in the fronter, &lt;br /&gt;but the file in deeper directory still have higher priority.&lt;br /&gt;The $deselects variable controls which file should not be selected in &lt;br /&gt;DupSelect mode.&lt;br /&gt;The $normal_depth variable controls which file become more important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;unlink.pl is an utility for deleting files using a .lst list file.&lt;br /&gt;Usage:&lt;br /&gt; $ perl unlink.pl [duplicate-files-delete.lst]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Download:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://rtoss.googlecode.com/svn/finddup_suite/dupselect.php"&gt;dupselect.php&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://rtoss.googlecode.com/svn/finddup_suite/finddup.pl"&gt;finddup.pl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://rtoss.googlecode.com/svn/finddup_suite/unlink.pl"&gt;unlink.pl&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-7115328245769209447?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/7115328245769209447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/02/find-duplicate-files-suite-initial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/7115328245769209447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/7115328245769209447'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/02/find-duplicate-files-suite-initial.html' title='Find Duplicate Files Suite (Initial)'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-3545920369015358918</id><published>2010-02-10T01:18:00.000-08:00</published><updated>2011-11-24T20:34:39.564-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vnc2flv'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>vnc2flv-20100207 Win32</title><content type='html'>Compiled with Py2Exe/Python 2.6 with a modified setup.py.&lt;br /&gt;Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/vnc2flv-20100207.7z"&gt;vnc2flv-20100207.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;setup.py:&lt;pre&gt;#!/usr/bin/env python&lt;br /&gt;import psyco&lt;br /&gt;psyco.full()&lt;br /&gt;&lt;br /&gt;import os, sys&lt;br /&gt;from distutils.command.build_ext import build_ext&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt; # load py2exe distutils extension, if available&lt;br /&gt; import py2exe&lt;br /&gt;except ImportError:&lt;br /&gt; pass&lt;br /&gt;&lt;br /&gt;from distutils.core import setup, Extension&lt;br /&gt;from vnc2flv import __version__&lt;br /&gt;&lt;br /&gt;py2exe_options = dict(includes=['flvscreen'], # Include&lt;br /&gt;                      excludes=['_ssl',  # Exclude _ssl&lt;br /&gt;                                '_hashlib',"bz2", "_ctypes",&lt;br /&gt;                                'doctest',"pywin", "pywin.debugger", "pywin.debugger.dbgcon",&lt;br /&gt;                                "pywin.dialogs", "pywin.dialogs.list",&lt;br /&gt;                                "Tkconstants","Tkinter","tcl",&lt;br /&gt;                                "compiler","email","ctypes","logging","unicodedata",&lt;br /&gt;                                "pydoc_topics","pydoc","httplib","cookielib","cookielib","urllib",&lt;br /&gt;                                'pickle', 'calendar'],  # Exclude standard library&lt;br /&gt;                      dll_excludes=['msvcr71.dll'],  # Exclude msvcr71&lt;br /&gt;                      ascii=1,&lt;br /&gt;                      compressed=1,&lt;br /&gt;                      optimize=2,&lt;br /&gt;                      bundle_files=2&lt;br /&gt;                      )&lt;br /&gt;&lt;br /&gt;setup(&lt;br /&gt;  name='vnc2flv',&lt;br /&gt;  version=__version__,&lt;br /&gt;  description='Screen recording tool that captures a VNC session and saves as FLV',&lt;br /&gt;  long_description='Vnc2flv is a screen recorder. It captures a VNC desktop session '&lt;br /&gt;  'and saves it as a Flash Video (FLV) file.',&lt;br /&gt;  license='MIT/X',&lt;br /&gt;  author='Yusuke Shinyama',&lt;br /&gt;  author_email='yusuke at cs dot nyu dot edu',&lt;br /&gt;  url='http://www.unixuser.org/~euske/python/vnc2flv/index.html',&lt;br /&gt;  packages=[&lt;br /&gt;    'vnc2flv'&lt;br /&gt;    ],&lt;br /&gt;  scripts=[&lt;br /&gt;    'tools/flvrec.py',&lt;br /&gt;    'tools/flvcat.py',&lt;br /&gt;    'tools/flvdump.py',&lt;br /&gt;    'tools/flvaddmp3.py',&lt;br /&gt;    'tools/flvsplit.py',&lt;br /&gt;    'tools/recordwin.sh'&lt;br /&gt;    ],&lt;br /&gt;  keywords=['vnc', 'flv', 'video', 'screen recorder'],&lt;br /&gt;  classifiers=[&lt;br /&gt;    'Development Status :: 4 - Beta',&lt;br /&gt;    'Environment :: Console',&lt;br /&gt;    'Intended Audience :: Developers',&lt;br /&gt;    'Intended Audience :: Science/Research',&lt;br /&gt;    'License :: OSI Approved :: MIT License',&lt;br /&gt;  ],&lt;br /&gt;  ext_modules=[Extension('flvscreen',&lt;br /&gt;                         ['flvscreen/flvscreen.c'],&lt;br /&gt;                         #define_macros=[],&lt;br /&gt;                         #include_dirs=[],&lt;br /&gt;                         #library_dirs=[],&lt;br /&gt;                         #libraries=[],&lt;br /&gt;                         )],&lt;br /&gt;  options={'py2exe': py2exe_options},&lt;br /&gt;  console=['tools/flvrec.py', 'tools/flvcat.py', 'tools/flvdump.py', 'tools/flvaddmp3.py', 'tools/flvsplit.py'],&lt;br /&gt;  zipfile = "vnc2flv.lib",&lt;br /&gt;  )&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-3545920369015358918?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/3545920369015358918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2010/02/vnc2flv-20100207-win32.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3545920369015358918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/3545920369015358918'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2010/02/vnc2flv-20100207-win32.html' title='vnc2flv-20100207 Win32'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-5684573675892768112</id><published>2009-12-17T06:59:00.000-08:00</published><updated>2009-12-28T19:37:38.773-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='x11'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Historic Web browser reborn trial: midasWWW, violaWWW</title><content type='html'>Thanks www.mmmt.ru ftp search engine, I got midasWWW-2.1 and violaWWW 3.3(viola-3.3) from ftp archives.&lt;br /&gt;&lt;br /&gt;progress:&lt;br /&gt;violaWWW, the first browser having scripting and style sheet capabilities. latest version is 3.3. &lt;br /&gt;&lt;br /&gt;Hacks: using rs6000 config and follow gcc error messages to fix.&lt;br /&gt;Status: double free/pointer corrupt, munmap_chunk(): invalid pointer when exit, HTFWriter_put_character segfaults when connecting Google, almost no online capability.&lt;br /&gt;&lt;br /&gt;Screen shot:&lt;br /&gt;viola (pure Xlib version):&lt;br /&gt;&lt;a href="http://img22.imageshack.us/i/viola33.png/" target="_blank"&gt;&lt;img src="http://img22.imageshack.us/img22/4702/viola33.th.png" border="0"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;vw (viola motif version):&lt;br /&gt;&lt;a href="http://img51.imageshack.us/i/vw33.png/" target="_blank"&gt;&lt;img src="http://img51.imageshack.us/img51/5738/vw33.th.png" border="0"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;midasWWW, an early browser which runs in VMX system.&lt;br /&gt;&lt;br /&gt;Hacks: follow gcc error messages to fix.&lt;br /&gt;Status: &lt;br /&gt;- It builds, and it dies in startup with buffer overflow of libMrm(MrmOpenHierarchy--&gt;Urm__OpenHierarchy--&gt;UrmIdbOpenFileRead--&gt;Idb__HDR_GetHeader--&gt;__strcpy_chk) when reading /usr/local/lib/midas.uid. libmotif uil generates midas.uid and midaswww.uid correctly.&lt;br /&gt;- (18/12/2009 12:00 GMT+8) open motif 2.2.3-4 in utuntu 9.10 seems buggy and I had to rebuilt open motif 2.3.2 from sources with "--enable-xft --enable-jpeg --enable-png", but Midas only popups "Error Dialog Label" and stalls.&lt;br /&gt;Log:&lt;pre&gt;Error: No converter declared for String to DynamicPixmap&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Set Value .^ iconPixmap MidasWWWIcon&lt;br /&gt;from widget WWWMain (class XmMainWindow)&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Popup WWWMain&lt;br /&gt;from widget WWWMain (class XmMainWindow)&lt;br /&gt;Cannot convert string "If FontSize=="Small" For All ....WWWHyper...default Set Value . fontSize 12&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...default Set Value . fontSize 14&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...default Set Value . fontSize 17&lt;br /&gt;If FontSize=="Small" For All ....WWWHyper...h2 Set Value . fontSize 14&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...h2 Set Value . fontSize 17&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...h2 Set Value . fontSize 20&lt;br /&gt;If FontSize=="Small" For All ....WWWHyper...h1 Set Value . fontSize 17&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...h1 Set Value . fontSize 20&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...h1 Set Value . fontSize 24&lt;br /&gt;If FontSize=="Small" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 12&lt;br /&gt;Else If FontSize=="Medium" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 14&lt;br /&gt;Else If FontSize=="Large" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 17&lt;br /&gt;If FontSize=="Small" Update Named Resource . "m &lt;br /&gt;Error: Could not follow path ....WWWHyper&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Set value ....WWWHyper naturalWidth 0++(GetValue(..WWWMain,width)-40)&lt;br /&gt;from widget WWWMain (class XmMainWindow)&lt;br /&gt;Error: Could not follow path ..WWWMain&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Set Ingot ..WWWMain PSState 0&lt;br /&gt;from widget WWWMain (class XmMainWindow)&lt;br /&gt;Error: Could not follow path ....Home_Page&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Invoke Callback ....Home_Page activateCallback&lt;br /&gt;from widget WWWMain (class XmMainWindow)&lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;Cannot find callback list in XtAddCallback &lt;br /&gt;^C&lt;/pre&gt;&lt;br /&gt;[29/12/2009]&lt;br /&gt;tested in RedHat Linux 6.2 with Open Motif 2.1.32:&lt;pre&gt;Cannot convert string "If FontSize=="Small" For All ....WWWHyper...default Set Value . fontSize 12&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...default Set Value . fontSize 14&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...default Set Value . fontSize 17&lt;br /&gt;If FontSize=="Small" For All ....WWWHyper...h2 Set Value . fontSize 14&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...h2 Set Value . fontSize 17&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...h2 Set Value . fontSize 20&lt;br /&gt;If FontSize=="Small" For All ....WWWHyper...h1 Set Value . fontSize 17&lt;br /&gt;Else If FontSize=="Medium" For All ....WWWHyper...h1 Set Value . fontSize 20&lt;br /&gt;Else If FontSize=="Large" For All ....WWWHyper...h1 Set Value . fontSize 24&lt;br /&gt;If FontSize=="Small" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 12&lt;br /&gt;Else If FontSize=="Medium" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 14&lt;br /&gt;Else If FontSize=="Large" Update Named Resource . "midaswww*WWWHyper*default.fontSize" 17&lt;br /&gt;If FontSize=="Small" Update Named Resource . "m &lt;br /&gt;Error: Could not follow path ....WWWHyper&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Set value ....WWWHyper naturalWidth 0++(GetValue(..WWWMain,width)-40)&lt;br /&gt;       from widget WWWMain (class XmMainWindow)&lt;br /&gt;Error: Could not follow path ..WWWMain&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Set Ingot ..WWWMain PSState 0&lt;br /&gt;       from widget WWWMain (class XmMainWindow)&lt;br /&gt;Error: Could not follow path ....Home_Page&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Invoke Callback ....Home_Page activateCallback&lt;br /&gt;       from widget WWWMain (class XmMainWindow)&lt;/pre&gt;&lt;br /&gt;for midasWWW-1.0, it popups an empty dialog and stalls.&lt;br /&gt;Log:&lt;pre&gt;Error: Could not open customization file for CUSTOM&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Custom Create CUSTOM .&lt;br /&gt;from widget Midas_Main (class XmMainWindow)&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Popup Midas_Main&lt;br /&gt;from widget Midas_Main (class XmMainWindow)&lt;br /&gt;Error: Illegal command&lt;br /&gt;Error: Error interpreting command: Midas Popup Midas_Main&lt;br /&gt;from widget Midas_Main (class XmMainWindow)&lt;br /&gt;^C&lt;/pre&gt;&lt;br /&gt;P.S.: I created a project site of early Web browser reborn in Google Code:&lt;br /&gt;&lt;a href="http://code.google.com/p/earlybrowserreborn/"&gt;http://code.google.com/p/earlybrowserreborn/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-5684573675892768112?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/5684573675892768112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/historic-web-browser-reborn-trial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5684573675892768112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/5684573675892768112'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/historic-web-browser-reborn-trial.html' title='Historic Web browser reborn trial: midasWWW, violaWWW'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-2635572678704702089</id><published>2009-12-16T22:50:00.000-08:00</published><updated>2011-11-24T20:27:01.540-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='x11'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>ErwisE: first X11 World Wide Web browser</title><content type='html'>My fixed source works in ubuntu 9.10.&lt;br /&gt;You can download here:&lt;br /&gt;&lt;s&gt;erwise-0.1-src.tar.gz&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;For playing it in ubuntu 9.10 wihout compiling yourself, you can greb the prebuilt checkinstall-generated deb package here:&lt;br /&gt;&lt;s&gt;erwise_0.1-1_i386.deb&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;Screenshot:&lt;br /&gt;&lt;a href="http://img36.imageshack.us/i/erwiseubuntu910.png/" target="_blank"&gt;&lt;img src="http://img36.imageshack.us/img36/9051/erwiseubuntu910.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;P.S.: I created deb package of &lt;a href="http://www.floodgap.com/retrotech/machten/mosaic/"&gt;Mosaic-CK&lt;/a&gt; too, and Cameron had it mirrored to his site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-2635572678704702089?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/2635572678704702089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/erwise-first-x11-world-wide-web-browser.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2635572678704702089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2635572678704702089'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/erwise-first-x11-world-wide-web-browser.html' title='ErwisE: first X11 World Wide Web browser'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-6548215087405353021</id><published>2009-12-16T18:06:00.000-08:00</published><updated>2011-11-24T20:27:18.694-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><title type='text'>ldd package finder (APT)</title><content type='html'>I wrote a bash shell script for getting package names from ldd output.&lt;br /&gt;apt-file, awk, basename, egrep, sort, uniq are needed.&lt;br /&gt;it will list lib64 packages if arg2 = 64. e.g.:&lt;br /&gt;&lt;pre&gt;# ./lddpkgs.sh /bin/bash 64&lt;/pre&gt;&lt;br /&gt;an example for using in checkinstall:&lt;br /&gt;&lt;pre&gt;# checkinstall --requires=`lddpkgs.sh src/mysoft|xargs|sed -e 's/ /,/g'` (...)&lt;/pre&gt;&lt;br /&gt;for executable with multiple libraries, you can append all libraries' lddpkgs.sh output to one file, sort and uniq that file and you will get the package dependency of those binaries.&lt;br /&gt;&lt;br /&gt;one line is a bit long so please ensure you selected all things between Start of File and End Of File.&lt;br /&gt;-Start of File-&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;if [ "$2" = "64" ];then&lt;br /&gt;&lt;br /&gt;  EGR='libc|libdl|dbg'&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;  EGR='libc|libdl|dbg|lib64'&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ldd $1|awk '{tmp ="basename "$1; tmp|getline bnso;system("apt-file find "bnso);close(tmp)}'|egrep -v $EGR|awk -F':' '{print $1}'|sort|uniq&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;-End Of File-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-6548215087405353021?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/6548215087405353021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/ldd-package-finder-apt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6548215087405353021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6548215087405353021'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/12/ldd-package-finder-apt.html' title='ldd package finder (APT)'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-2211689188324964362</id><published>2009-10-27T23:04:00.000-07:00</published><updated>2011-11-24T20:28:28.835-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='mp4'/><category scheme='http://www.blogger.com/atom/ns#' term='aac'/><title type='text'>adif2mp4</title><content type='html'>A tool from ISO MP4 Reference Library which can convert ADTS AAC files to ADIF AAC file or in MP4 container format. Compiled with MSVC .NET 2003 SP1 Static.&lt;br /&gt;&lt;br /&gt;Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/adif2mp4.7z"&gt;adif2mp4.7z&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-2211689188324964362?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/2211689188324964362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/10/adif2mp4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2211689188324964362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/2211689188324964362'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/10/adif2mp4.html' title='adif2mp4'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-6575398686523126032</id><published>2009-09-29T20:22:00.000-07:00</published><updated>2011-11-24T20:28:47.286-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='password'/><category scheme='http://www.blogger.com/atom/ns#' term='fcrackzip'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='c'/><category scheme='http://www.blogger.com/atom/ns#' term='zip'/><title type='text'>fcrackzip-1.0 for Win32</title><content type='html'>Compiled with MinGW gcc 3.3.4 with charset patch which adds 0x20-0xFF into find table.&lt;br /&gt;Download: &lt;a href="http://roy.orz.hm/gpc/files1.rt/fcrackzip-1.0-win32.7z"&gt;fcrackzip-1.0-win32.7z&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-6575398686523126032?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/6575398686523126032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/09/fcrackzip-10-for-win32.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6575398686523126032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6575398686523126032'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/09/fcrackzip-10-for-win32.html' title='fcrackzip-1.0 for Win32'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-1728714829876856535</id><published>2009-08-23T08:17:00.000-07:00</published><updated>2011-11-24T20:29:02.587-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='pngnq'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>PNGnq 1.0</title><content type='html'>&lt;a href="http://roy.orz.hm/gpc/files1.rt/pngnq-1.0.zip"&gt;PNGnq-1.0&lt;/a&gt; SSE build compiled with ICC 9.1.&lt;br /&gt;&lt;br /&gt;not fully tested.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-1728714829876856535?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/1728714829876856535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/pngnq-10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/1728714829876856535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/1728714829876856535'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/pngnq-10.html' title='PNGnq 1.0'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-1103206057298573804</id><published>2009-08-23T05:55:00.000-07:00</published><updated>2011-11-24T20:29:24.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nt3.51'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='driver'/><title type='text'>some driver/library hex-edited for NT 3.51</title><content type='html'>&lt;a href="http://roy.orz.hm/gpc/files1.rt/nt35vmmouse.zip"&gt;VMWare VMMouse Driver for NT 3.51&lt;/a&gt;&lt;br /&gt;for direct replacement of i8042prt.sys(backup it first) for VMMouse support in NT 3.51 in VMWare, which fixes strange mouse movement when remote controlling using VMWare remote control function.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://roy.orz.hm/gpc/files1.rt/msvbvm60-nt351.zip"&gt;Visual Basic 6.0 runtime for NT 3.51&lt;/a&gt;&lt;br /&gt;Removed version check which prevents running VB6 programs in NT 3.51.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-1103206057298573804?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/1103206057298573804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/some-driverlibrary-hex-edited-for-nt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/1103206057298573804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/1103206057298573804'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/some-driverlibrary-hex-edited-for-nt.html' title='some driver/library hex-edited for NT 3.51'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-4714613882468282906</id><published>2009-08-23T05:46:00.000-07:00</published><updated>2011-11-24T20:29:40.295-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='animated'/><category scheme='http://www.blogger.com/atom/ns#' term='gif'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>isanigif</title><content type='html'>got source of gif reader from optipng, and created the checking animated gif function by modifying gifdump.c.&lt;br /&gt;&lt;br /&gt;Download compiled binary(Win32) and source.&lt;br /&gt;&lt;a href="http://roy.orz.hm/gpc/files1.rt/isanigif.7z"&gt;isanigif.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How to use:&lt;br /&gt;isanigif [-s] &lt;file.gif&gt;&lt;br /&gt;when -s switch it shows the frame count.&lt;br /&gt;returns &lt;i&gt;exit code 0&lt;/i&gt; if it is a static gif (only 1 frame in the gif file.)&lt;br /&gt;returns &lt;i&gt;exit code 1&lt;/i&gt; if it is an animated gif or there is an error, check STDERR output for any error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-4714613882468282906?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/4714613882468282906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/isanigif.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4714613882468282906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/4714613882468282906'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/isanigif.html' title='isanigif'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-6392538912849465584</id><published>2009-08-04T22:44:00.000-07:00</published><updated>2011-11-24T20:33:46.733-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='font'/><category scheme='http://www.blogger.com/atom/ns#' term='ttx'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>WinTTX 2.2</title><content type='html'>Getting TTX 2.2 svn trunk r568 compiled with Python 2.6 py2exe 0.6.9.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://roy.orz.hm/gpc/files1.rt/WinTTX-2.2-svn-trunk-r568.7z"&gt;WinTTX-2.2-svn-trunk-r568.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;with modified setup.py:&lt;br /&gt;&lt;pre&gt;#! /usr/bin/env python&lt;br /&gt;import psyco&lt;br /&gt;psyco.full()&lt;br /&gt;&lt;br /&gt;import os, sys&lt;br /&gt;from distutils.core import setup, Extension&lt;br /&gt;from distutils.command.build_ext import build_ext&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt; # load py2exe distutils extension, if available&lt;br /&gt; import py2exe&lt;br /&gt;except ImportError:&lt;br /&gt; pass&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt; import numpy&lt;br /&gt;except ImportError:&lt;br /&gt; print "*** Warning: FontTools needs the numpy library, see:"&lt;br /&gt; print "        http://numpy.scipy.org/"&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt; import xml.parsers.expat&lt;br /&gt;except ImportError:&lt;br /&gt; print "*** Warning: FontTools needs PyXML, see:"&lt;br /&gt; print "        http://sourceforge.net/projects/pyxml/"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class build_ext_optional(build_ext):&lt;br /&gt; """build_ext command which doesn't abort when it fails."""&lt;br /&gt; def build_extension(self, ext):&lt;br /&gt;  # Skip extensions which cannot be built&lt;br /&gt;  try:&lt;br /&gt;   build_ext.build_extension(self, ext)&lt;br /&gt;  except:&lt;br /&gt;   self.announce(&lt;br /&gt;    '*** WARNING: Building of extension "%s" '&lt;br /&gt;    'failed: %s' %&lt;br /&gt;    (ext.name, sys.exc_info()[1]))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if sys.version_info &gt; (2, 3, 0, 'alpha', 1):&lt;br /&gt; # Trove classifiers for PyPI&lt;br /&gt; classifiers = {"classifiers": [&lt;br /&gt;  "Development Status :: 4 - Beta",&lt;br /&gt;  "Environment :: Console",&lt;br /&gt;  "Environment :: Other Environment",&lt;br /&gt;  "Intended Audience :: Developers",&lt;br /&gt;  "Intended Audience :: End Users/Desktop",&lt;br /&gt;  "License :: OSI Approved :: BSD License",&lt;br /&gt;  "Natural Language :: English",&lt;br /&gt;  "Operating System :: OS Independent",&lt;br /&gt;  "Programming Language :: Python",&lt;br /&gt;  "Topic :: Multimedia :: Graphics",&lt;br /&gt;  "Topic :: Multimedia :: Graphics :: Graphics Conversion",&lt;br /&gt; ]}&lt;br /&gt;else:&lt;br /&gt; classifiers = {}&lt;br /&gt;&lt;br /&gt;long_description = """\&lt;br /&gt;FontTools/TTX is a library to manipulate font files from Python.&lt;br /&gt;It supports reading and writing of TrueType/OpenType fonts, reading&lt;br /&gt;and writing of AFM files, reading (and partially writing) of PS Type 1&lt;br /&gt;fonts. The package also contains a tool called "TTX" which converts&lt;br /&gt;TrueType/OpenType fonts to and from an XML-based format.&lt;br /&gt;"""&lt;br /&gt;&lt;br /&gt;py2exe_options = dict(&lt;br /&gt;                      excludes=['_ssl',  # Exclude _ssl&lt;br /&gt;                                '_hashlib',"bz2", "_ctypes",'_socket',&lt;br /&gt;                                'doctest',"pywin", "pywin.debugger", "pywin.debugger.dbgcon",&lt;br /&gt;                                "pywin.dialogs", "pywin.dialogs.list",&lt;br /&gt;                                "Tkconstants","Tkinter","tcl",&lt;br /&gt;                                "compiler","email","ctypes","logging","unicodedata",&lt;br /&gt;                                "pydoc_topics","pydoc","httplib","cookielib","cookielib","urllib",&lt;br /&gt;                                'pickle', 'calendar'],  # Exclude standard library&lt;br /&gt;                      dll_excludes=['msvcr71.dll'],  # Exclude msvcr71&lt;br /&gt;                      compressed=1,&lt;br /&gt;                      optimize=1,&lt;br /&gt;                      bundle_files=2&lt;br /&gt;                      )&lt;br /&gt;&lt;br /&gt;setup(&lt;br /&gt;  name = "fonttools",&lt;br /&gt;  version = "2.2",&lt;br /&gt;  description = "Tools to manipulate font files",&lt;br /&gt;  author = "Just van Rossum",&lt;br /&gt;  author_email = "just@letterror.com",&lt;br /&gt;  maintainer = "Just van Rossum",&lt;br /&gt;  maintainer_email = "just@letterror.com",&lt;br /&gt;  url = "http://fonttools.sourceforge.net/",&lt;br /&gt;  license = "OpenSource, BSD-style",&lt;br /&gt;  platforms = ["Any"],&lt;br /&gt;  long_description = long_description,&lt;br /&gt;  &lt;br /&gt;  packages = [&lt;br /&gt;   "",&lt;br /&gt;   "fontTools",&lt;br /&gt;   "fontTools.encodings",&lt;br /&gt;   "fontTools.misc",&lt;br /&gt;   "fontTools.pens",&lt;br /&gt;   "fontTools.ttLib",&lt;br /&gt;   "fontTools.ttLib.tables",&lt;br /&gt;   "fontTools.ttLib.test",&lt;br /&gt;  ],&lt;br /&gt;  package_dir = {'': 'Lib'},&lt;br /&gt;  extra_path = 'FontTools',&lt;br /&gt;  ext_modules = [&lt;br /&gt;   Extension(&lt;br /&gt;    "fontTools.misc.eexecOp",&lt;br /&gt;    ["Src/eexecOp/eexecOpmodule.c"],&lt;br /&gt;    include_dirs=[],&lt;br /&gt;    define_macros=[],&lt;br /&gt;    library_dirs=[],&lt;br /&gt;    libraries=[],&lt;br /&gt;   )&lt;br /&gt;  ],&lt;br /&gt;  console=[{'script': 'Tools/ttx', &lt;br /&gt;                'other_resources': [(u"VERSIONTAG",1,'2.2')],&lt;br /&gt;                             'icon_resources': [(1,'Windows/ttx.ico')]&lt;br /&gt;               }],&lt;br /&gt;  options={'py2exe': py2exe_options},&lt;br /&gt;  cmdclass = {"build_ext": build_ext_optional},&lt;br /&gt;  data_files = [('man/man1', ["Doc/ttx.1"])],&lt;br /&gt;  zipfile = None,&lt;br /&gt;  **classifiers&lt;br /&gt; )&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-6392538912849465584?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/6392538912849465584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/winttx-22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6392538912849465584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/6392538912849465584'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/08/winttx-22.html' title='WinTTX 2.2'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6042702622717345659.post-8823673439244025390</id><published>2009-05-30T06:13:00.000-07:00</published><updated>2011-11-24T20:31:06.571-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='optipng'/><category scheme='http://www.blogger.com/atom/ns#' term='deflopt'/><category scheme='http://www.blogger.com/atom/ns#' term='advdef'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='pngout'/><title type='text'>png optimize suite(Win32) (Ver 2009-05-29)</title><content type='html'>&lt;a href="http://roy.orz.hm/gpc/files1.rt/pngopt-090529.7z"&gt;Download pngopt-090529.7z&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;+ Add binmay.exe for APNG detection (deflopt and pngout will erase fdAT chunk)&lt;br /&gt;! pngoptall.bat will rename APNG files to ".apng" file extension&lt;br /&gt;! pngoptall.bat will end that round of optimization when encountering errorous png file&lt;br /&gt;^ update optipng too 0.6.3-icc-sse&lt;br /&gt;&lt;br /&gt;binmay-0.3 (mod) source (GPLv2)&lt;br /&gt;&lt;a href="http://roy.orz.hm/gpc/files1.rt/binmay-0.3-src.7z"&gt;binmay-0.3-src.7z&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6042702622717345659-8823673439244025390?l=rtfreesoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rtfreesoft.blogspot.com/feeds/8823673439244025390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://rtfreesoft.blogspot.com/2009/05/png-optimize-suitewin32-ver-2009-05-29.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/8823673439244025390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6042702622717345659/posts/default/8823673439244025390'/><link rel='alternate' type='text/html' href='http://rtfreesoft.blogspot.com/2009/05/png-optimize-suitewin32-ver-2009-05-29.html' title='png optimize suite(Win32) (Ver 2009-05-29)'/><author><name>Roy</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://img67.echo.cx/img67/1355/lsnklinss0wm.jpg'/></author><thr:total>0</thr:total></entry></feed>
