<?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>Another blog bites the dust &#187; Tips n&#8217; Tricks</title> <atom:link href="http://eran.sandler.co.il/category/tips-n-tricks/feed/" rel="self" type="application/rss+xml" /><link>http://eran.sandler.co.il</link> <description>Not biting dust since 2005</description> <lastBuildDate>Sat, 19 Nov 2011 22:32:44 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>UIImage in iOS 5, Orientation and Resize</title><link>http://eran.sandler.co.il/2011/11/07/uiimage-in-ios-5-orientation-and-resize/</link> <comments>http://eran.sandler.co.il/2011/11/07/uiimage-in-ios-5-orientation-and-resize/#comments</comments> <pubDate>Mon, 07 Nov 2011 07:15:51 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Code]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[iOS]]></category> <category><![CDATA[iOS 5]]></category> <category><![CDATA[Objective-C]]></category> <category><![CDATA[UIImage]]></category> <category><![CDATA[UIImage+Resize]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=367</guid> <description><![CDATA[One of the things I found very strange is the fact that most operations that came with iOS prior iOS 5 which revolved around UIImage didn&#8217;t take into account the orientation of the image. This meant that if you want to read a picture from the camera roll and resize it, you&#8217;d have to roll [...]]]></description> <content:encoded><![CDATA[<p>One of the things I found very strange is the fact that most operations that came with iOS prior iOS 5 which revolved around UIImage didn&#8217;t take into account the orientation of the image. This meant that if you want to read a picture from the camera roll and resize it, you&#8217;d have to roll your own code to correctly flip and/or rotate the image according to its orientation value.</p><p>Being my lazy self I used the <a
href="http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/">fine code</a> of Trevor Harmon in UIImage+Resize. Trevor added some categories to make handling UIImage a bit nicer.Â The code takes create of everything including orientation.</p><p>My app worked great on iOS 4 and early betas of iOS 5, however in the late beta of iOS 5 and in the release it wrongfully rotated the images.</p><p>After further investigation it seems iOS 5 already rotates the image correctly. UIImage+Resize rotated it again, causing the images to get skewed.<br
/> A quick fix would simply avoid the transposition code in UIImage+Resize.</p><p>Since the code ran perfectly fine in iOS 4, for backwards compatibility I added a check for OS version and for anything below 5.0 the old code would work.<br
/> Check out <b><a
href="https://gist.github.com/1344380">this gist</a></b>:<br
/><script src="https://gist.github.com/1344380.js"></script></p><p>For better performance I would store a boolean flag somewhere in the app saying you are running in iOS 5 and check that instead of keep on checking the OS version every run, but this is just to get you started.</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2011/11/07/uiimage-in-ios-5-orientation-and-resize/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Clone S3 Bucket Script</title><link>http://eran.sandler.co.il/2011/10/10/clone-s3-bucket-script/</link> <comments>http://eran.sandler.co.il/2011/10/10/clone-s3-bucket-script/#comments</comments> <pubDate>Mon, 10 Oct 2011 13:35:30 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Amazon]]></category> <category><![CDATA[Code]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Amazon S3]]></category> <category><![CDATA[Amazon Simple Storage Service]]></category> <category><![CDATA[Bucket]]></category> <category><![CDATA[Clone]]></category> <category><![CDATA[gist]]></category> <category><![CDATA[S3]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=361</guid> <description><![CDATA[I had to backup an S3 bucket so I whiped out a small script to clone a bucket. It&#8217;s written in Python and depends on the excellent Boto library. If you are running Python &#60; 2.7 you&#8217;ll also need the argparse library (both available also via pip). View the gist here:Â https://gist.github.com/1275085 Or here below:]]></description> <content:encoded><![CDATA[<p>I had to backup an S3 bucket so I whiped out a small script to clone a bucket.</p><p>It&#8217;s written in Python and depends on the excellent <a
href="http://code.google.com/p/boto/">Boto library</a>. If you are running Python &lt; 2.7 you&#8217;ll also need the <a
href="http://code.google.com/p/argparse/">argparse library</a> (both available also via pip).</p><p>View the gist here:Â <a
href="https://gist.github.com/1275085">https://gist.github.com/1275085</a></p><p>Or here below:<br
/><script type="text/javascript" src="https://gist.github.com/1275085.js">/*<![CDATA[*/<p>/*]]>*/</script></p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2011/10/10/clone-s3-bucket-script/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PPTP VPN on Ubuntu 10.04 for your iPhone / iPad</title><link>http://eran.sandler.co.il/2010/08/30/pptp-vpn-on-ubuntu-10-04-for-your-iphone-ipad/</link> <comments>http://eran.sandler.co.il/2010/08/30/pptp-vpn-on-ubuntu-10-04-for-your-iphone-ipad/#comments</comments> <pubDate>Mon, 30 Aug 2010 13:51:24 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[iPad]]></category> <category><![CDATA[iPhone]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[10.04]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[PPTP]]></category> <category><![CDATA[Tunneling]]></category> <category><![CDATA[VPN]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=278</guid> <description><![CDATA[Below are the steps necessary to connect your iPhone / iPad or any other computer via a PPTP VPN. Why would I want to do this? For various reasons such as allow you to access information and servers that are behind a firewall, or maybe you just need to route traffic through different servers. I&#8217;ve [...]]]></description> <content:encoded><![CDATA[<p>Below are the steps necessary to connect your iPhone / iPad or any other computer via a PPTP VPN.</p><p>Why would I want to do this? For various reasons such as allow you to access information and servers that are behind a firewall, or maybe you just need to route traffic through different servers.</p><p>I&#8217;ve tested this on a 256mb <a
href="http://www.rackspacecloud.com/1431.html">Rackspace Cloud</a> instance running Ubuntu 10.04 and with an iPhone and an iPad. Thanks to <a
href="http://yaniv.golan.name/blog/">Yaniv</a> for debugging the instructions.</p><p><strong>Disclaimer</strong>: This is for educational uses only and I take no responsibility as to what you may do with it. The PPTP VPN setup via the instructions below has no encryption and uses the simplest and lowest form of password authentication. If you require stricter encryption and authentication methods you&#8217;ll need to read more about pptpd configuration.</p><p><strong><span
style="text-decoration: underline;">Assumptions:</span></strong></p><ul><li>The instance you are using is blank, specifically from firewall rules in iptables, otherwise, you&#8217;ll need to patch things up.</li><li>All commands assume you are current a root user. If you logged in as root, that&#8217;s great. If not, run:<div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">sudo</span> <span
class="kw2">su</span></div></div></li><li>Instead of messing a lot with iptables commands, I&#8217;m using <a
href="https://help.ubuntu.com/community/UFW">ufw</a> (Uncomplicated FireWall). In general, to most people, it will be easier to manage and work with.</li></ul><h1>Setting up the PPTP Server</h1><p>In general we are going to create a PPTP VPN that is very basic without encryption and with basic authentication security (not fancy authentication protocols). Since Rackspace Cloud instance has an external interface (eth0) that has the instance public IP and an internal interface (eth1) with an internal IP used to communicate with your other Rackspace Cloud server (if you have them), we&#8217;ll create an alias network interface card that will have some other set of internal ips, which will be given to the devices connected via the VPN.</p><ol><li>Install the necessary software (pptpd, pptp-linux, ppp and ufw &#8211; for firewall):<div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">apt-get</span> <span
class="kw2">install</span> pptpd pptp-linux ppp ufw</div></div></li><li>Enable port 22 (ssh) in the firewall, so we don&#8217;t get locked out of our instance:<div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;">ufw allow <span
class="nu0">22</span></div></div></li><li> Enable port 1723 (pptpd) in the firewall to enable access to the pptpd dameon:<div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;">ufw allow <span
class="nu0">1723</span></div></div></li><li>Enable ufw:<div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;">ufw <span
class="kw3">enable</span></div></div></li><li>Add an aliased network interface card (eth0:0): (We use the address space of 192.168.88.0/24 since its usually free for most networks for most users. You can feel free to change this address if it is already taken)<br
/> Edit /etc/network/interfaces:</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>network<span
class="sy0">/</span>interfaces</div></div><p>Enter the following text at the end of the file:</p><div
class="codesnip-container" ><div
class="dos codesnip" style="font-family:monospace;">auto eth0:0<br
/> iface eth0:0 inet static<br
/> address 192.168.88.1<br
/> netmask 255.255.255.0<br
/> gateway <span
class="br0">&#40;</span>same value as listed <a
href="http://www.ss64.com/nt/for.html"><span
class="kw1">for</span></a> eth0<span
class="br0">&#41;</span><br
/> dns-nameservers <span
class="br0">&#40;</span>same value as listed <a
href="http://www.ss64.com/nt/for.html"><span
class="kw1">for</span></a> eth0<span
class="br0">&#41;</span></div></div><p>Replace the value of &#8220;gateway&#8221; with the same value you will see in this file for &#8220;eth0&#8243;, the real public network interface.<br
/> Replace the value of &#8220;dns-nameservers&#8221; with the same value you will see in this file for &#8220;eth0&#8243;</li><li>Configure the pptpd daemon:<br
/> Edit /etc/ppp/pptpd-options:</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>ppp<span
class="sy0">/</span>pptpd-options</div></div><p>Comment out (add a &#8220;#&#8221; char at the start of the line) the following lines:<br
/> &#8220;refuse-pap&#8221;<br
/> &#8220;refuse-chap&#8221;<br
/> &#8220;refuse-mschap&#8221;<br
/> &#8220;refuse-mschap-v2&#8243;<br
/> &#8220;require-mppe-128&#8243;</p><p>replace &#8220;#ms-dns 10.0.0.1&#8243; with &#8220;ms-dns 8.8.8.8&#8243;<br
/> replace &#8220;#ms-dns 10.0.0.2&#8243; with &#8220;ms-dns 4.4.4.4&#8243;</p><p>The last 2 lines above sets the DNS server the devices connecting to your PPTP VPN will use. The addresses above are for the <a
href="http://code.google.com/speed/public-dns/">Google Public DNS</a> server, but can be any other DNS server (including the same DNS servers as Rackspace or your hosting provider use)</p><p>Edit /etc/pptpd.confÂ :</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>pptpd.conf</div></div><p>Add at the bottom of the file:</p><div
class="codesnip-container" >localip 192.168.88.1<br
/> remoteip 192.168.88.2-20</div><p>The value of &#8220;remoteip&#8221; will be the set of IP addresses the devices connecting to the VPN will get upon successful connection. Currently, we have here 18 addresses, which is enough for 18 concurrent devices. You can make this range bigger if needed.</li><li>Configure the username and password that will be used to authenticate client accessing the VPN:<br
/> Edit /etc/ppp/chap-secrets:</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>ppp<span
class="sy0">/</span>chap-secrets</div></div><div
class="codesnip-container" ># client        server  secret                  IP addresses<br
/> <strong>[UserName]</strong> pptpd <strong>[Password]</strong> *</div><p>Replace [UserName] with the username you wish to use.<br
/> Replace [Password] with the password you wish to use (I suggest a long random password. Try <a
href="http://www.random.org/passwords/">this</a> generator)</li><li>Enable IP forwarding in the kernel:<br
/> Edit /etc/sysctl.confÂ :</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>sysctl.conf</div></div><p>Uncomment the line &#8220;net.ipv4.ip_forward=1&#8243;<br
/> For IPv6, uncomment &#8220;net.ipv6.conf.all.forwarding=1&#8243;</li><li>Enable IP forwarding in ufw:<br
/> Edit /etc/default/ufw:</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>default<span
class="sy0">/</span>ufw</div></div><p>Change the value of &#8220;DEFAULT_FORWARD_POLICY&#8221; from &#8220;DROP&#8221; to &#8220;ACCEPT&#8221;</li><li>Add IP masquerading rule in ufw, so that NAT will work and devices connecting to the VPN will be seen as if the traffic goes out of the VPN server:<br
/> Edit /etc/ufw/before.rules:</p><div
class="codesnip-container" ><div
class="bash codesnip" style="font-family:monospace;"><span
class="kw2">nano</span> <span
class="sy0">/</span>etc<span
class="sy0">/</span>ufw<span
class="sy0">/</span>before.rules</div></div><p>Paste the text below after the header and before the &#8220;*filter&#8221; rules:</p><div
class="codesnip-container" ># nat Table rules<br
/> *nat<br
/> :POSTROUTING ACCEPT [0:0]</p><p># Allow forward traffic from eth0:0 to eth0<br
/> -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE</p><p># don&#8217;t delete the &#8216;COMMIT&#8217; line or these nat table rules won&#8217;t be processed<br
/> COMMIT</p></div></li><li>Reboot the machine, cross your fingers and hope for the best :-)</li></ol><h1>Configuring your iPhone / iPad</h1><ol><li>In your iPhone / iPad go to &#8220;Settings&#8221; -&gt; &#8220;General&#8221; -&gt; &#8220;Network&#8221; -&gt; &#8220;VPN&#8221;<br
/> <img
class="alignright" style="border: 2px solid black;" title="PPTP VPN Configuration" src="http://eran.sandler.co.il/wp-content/uploads/2010/08/photo-200x300.png" alt="PPTP VPN Configuration" width="160" height="240" /></li><li>Select &#8220;Add VPN Configuration&#8221;</li><li>Select &#8220;PPTP&#8221;</li><li>In &#8220;Description&#8221; enter the name of the VPN connection</li><li>In &#8220;Server&#8221; enter the IP address of the server (or a server name, if you mapped the server&#8217;s IP address to a domain name)</li><li>In &#8220;Account&#8221; enter the username you have entered into the &#8220;/etc/ppp/chap-secrets&#8221; file</li><li>In &#8220;Password&#8221; enter the password you entered for the above username in &#8220;/etc/ppp/chap-secrets&#8221;</li><li>Make sure &#8220;Send All Traffic&#8221; is turned to &#8220;ON&#8221;</li><li>Set &#8220;Encryption Level&#8221; to &#8220;None&#8221; (this is how we configured the PPTP server in this post, if you setup an encryption try to keep it in &#8220;Auto&#8221;</li><li>Select save</li></ol><p><a
href="http://eran.sandler.co.il/wp-content/uploads/2010/08/photo.png"></a></p><div><span
style="color: #0000ee; -webkit-text-decorations-in-effect: underline;"><br
/> </span></div> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2010/08/30/pptp-vpn-on-ubuntu-10-04-for-your-iphone-ipad/feed/</wfw:commentRss> <slash:comments>25</slash:comments> </item> <item><title>Varnish High, Ever increasing CPU usage workaround</title><link>http://eran.sandler.co.il/2010/05/26/varnish-high-ever-increasing-cpu-usage-workaround/</link> <comments>http://eran.sandler.co.il/2010/05/26/varnish-high-ever-increasing-cpu-usage-workaround/#comments</comments> <pubDate>Wed, 26 May 2010 08:40:47 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Caching]]></category> <category><![CDATA[CPU]]></category> <category><![CDATA[high cpu]]></category> <category><![CDATA[http]]></category> <category><![CDATA[Varnish]]></category> <category><![CDATA[workaround]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=241</guid> <description><![CDATA[If you are using Varnish version &#62;= 2.1 and experiencing an ever increasing CPU usage up to a point where you need to restart the service to force CPU usage to drop you may want to add the &#8220;-h classic&#8221; argument to the command line. This will revert to use the older hashing method instead [...]]]></description> <content:encoded><![CDATA[<p>If you are using <a
href="http://varnish-cache.org">Varnish</a> version &gt;= 2.1 and experiencing an ever increasing CPU usage up to a point where you need to restart the service to force CPU usage to drop you may want to add the &#8220;-h classic&#8221; argument to the command line.</p><p>This will revert to use the older hashing method instead of the newer &#8220;critbit&#8221; that was first introduced in version 2.1.</p><p>You can read a little bit more about it on the <a
href="http://devblog.yedda.com/index.php/2010/05/26/varnish-2-1-ever-increasing-high-cpu-over-time-workaround/">Yedda Dev Blog</a>.</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2010/05/26/varnish-high-ever-increasing-cpu-usage-workaround/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Disco Tip &#8211; Crunching web server logs</title><link>http://eran.sandler.co.il/2010/03/21/disco-tip-crunching-web-server-logs/</link> <comments>http://eran.sandler.co.il/2010/03/21/disco-tip-crunching-web-server-logs/#comments</comments> <pubDate>Sun, 21 Mar 2010 13:22:57 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Disco]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Erlang]]></category> <category><![CDATA[MapReduce]]></category> <category><![CDATA[Processing Log Files]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Tips]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=224</guid> <description><![CDATA[At myÂ day job we useÂ Disco, a Python + Erlang based Map-Reduce framework, to crunch our web servers and application logs to generate useful data. Each web server log file per day is a couple of GB of data which can amount to a lot of log data that needs to be processed on a daily. [...]]]></description> <content:encoded><![CDATA[<div><p>At myÂ <a
href="http://yedda.com">day job</a> we useÂ <a
href="http://discoproject.org">Disco</a>, a Python + Erlang based Map-Reduce framework, to crunch our web servers and application logs to generate useful data.<img
class="alignright" title="discoball" src="http://eran.sandler.co.il/wp-content/uploads/2010/03/discoball.png" alt="" width="90" height="120" /></p><p>Each web server log file per day is a couple of GB of data which can amount to a lot of log data that needs to be processed on a daily.</p><p>Since the files are big it was easier for us to perform all the necessary filtering of find the rows of interest in the &#8220;map&#8221; function. The problem is, that it requires us to return some generic null value for rows that are not interesting for us. This causes the intermediate files to contains a lot of unnecessary data that has the mapping of our uninteresting rows.</p><p>To significantly reduce this number, we have started to use the &#8220;combiner&#8221; function so that our intermediate results contains an already summed up result of the file the node is currently processing that is composed only from the rows we found interesting using the filtering in the &#8220;map&#8221; phase.</p><p>For example, if we have 1,000 rows and only 200 answer a certain filtering criteria for aÂ particularÂ report, instead of getting 1,000 rows in the intermediate file out of which 800 have the same null value, we now get only 200 rows.</p><p>In some cases we saw an increase of up to 50% in run time (the increase in speed is the result of reducing less rows from the intermediate files), not to mention a reduction in disk space use during execution due to the smaller intermediate files.</p><p>That way, we can keep the filtering logic in the &#8220;map&#8221; function while making sure we don&#8217;t end up reducing unnecessary data.</p></div> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2010/03/21/disco-tip-crunching-web-server-logs/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Ubuntu 9.10 Karmic Koala and ies4linux &#8211; Installation</title><link>http://eran.sandler.co.il/2009/12/30/ubuntu-9-10-karmic-koala-and-ies4linux-installation/</link> <comments>http://eran.sandler.co.il/2009/12/30/ubuntu-9-10-karmic-koala-and-ies4linux-installation/#comments</comments> <pubDate>Wed, 30 Dec 2009 09:01:44 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[IE 4 Linux]]></category> <category><![CDATA[IE for Linux]]></category> <category><![CDATA[ie4linux]]></category> <category><![CDATA[ies4linux]]></category> <category><![CDATA[karmic koala]]></category> <category><![CDATA[ubuntu 9.10]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=219</guid> <description><![CDATA[Installing ies4linux on Ubuntu 9.10 Karmic Koala by just running &#8220;./ies4linux&#8221; might show some warnings such as: IEs4Linux 2 is developed to be used with recent Wine versions (0.9.x). It seems that you are using an old version. Itâ€™s recommended that you update your wine to the latest version (Go to: winehq.com). In my case [...]]]></description> <content:encoded><![CDATA[<p>Installing <a
href="http://www.tatanka.com.br/ies4linux/page/Main_Page">ies4linux</a> on Ubuntu 9.10 Karmic Koala by just running &#8220;./ies4linux&#8221; might show some warnings such as:</p><blockquote><p>IEs4Linux 2 is developed to be used with recent Wine versions (0.9.x). It seems that you are using an old version. Itâ€™s recommended that you update your wine to the latest version (Go to: winehq.com).</p></blockquote><p>In my case it showed the above text, which seems to be a warning, and run the UI but then got stuck and didn&#8217;t complete anything.</p><p>To overcome this issue simply run the installation without the GTK based UI in a terminal window:</p><blockquote><p>./ies4linux &#8211;no-gui</p></blockquote><p>That&#8217;s it. Works like a charm.</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2009/12/30/ubuntu-9-10-karmic-koala-and-ies4linux-installation/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Google AppEngine &#8211; Python &#8211; issubclass() arg 1 must be a class</title><link>http://eran.sandler.co.il/2009/09/14/google-appengine-python-issubclass-arg-1-must-be-a-class/</link> <comments>http://eran.sandler.co.il/2009/09/14/google-appengine-python-issubclass-arg-1-must-be-a-class/#comments</comments> <pubDate>Mon, 14 Sep 2009 11:56:22 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[Google AppEngine]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[GAE]]></category> <category><![CDATA[Google App Engine]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Python 2.6]]></category> <category><![CDATA[SDK]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/2009/09/14/google-appengine-python-issubclass-arg-1-must-be-a-class/</guid> <description><![CDATA[If you are getting the error &#8220;&#8221;issubclass() arg 1 must be a class&#8221;" with Google App Engine SDK for Python on Linux its probably because you are running Python 2.6 (and will probably happen to you when you run Ubuntu 9.04 &#8211; 2.6 is the default there). Just run the dev server under python 2.5 [...]]]></description> <content:encoded><![CDATA[<p>If you are getting the error &#8220;&#8221;issubclass() arg 1 must be a class&#8221;" with Google App Engine SDK for Python on Linux its probably because you are running Python 2.6 (and will probably happen to you when you run Ubuntu 9.04 &#8211; 2.6 is the default there).</p><p>Just run the dev server under python 2.5 (i.e. python2.5 dev_appserver.py)</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2009/09/14/google-appengine-python-issubclass-arg-1-must-be-a-class/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Error: &#8220;Operation could not be completed (error 0x000006d1)&#8221; when adding a Samba based network printer to Vista</title><link>http://eran.sandler.co.il/2009/01/20/error-operation-could-not-be-completed-error-0x000006d1-when-adding-a-samba-based-network-printer-to-vista/</link> <comments>http://eran.sandler.co.il/2009/01/20/error-operation-could-not-be-completed-error-0x000006d1-when-adding-a-samba-based-network-printer-to-vista/#comments</comments> <pubDate>Tue, 20 Jan 2009 19:19:37 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[0x000006d1]]></category> <category><![CDATA[network printer]]></category> <category><![CDATA[operation could not be completed]]></category> <category><![CDATA[samba]]></category> <category><![CDATA[samba printer]]></category> <category><![CDATA[Vista]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=172</guid> <description><![CDATA[If you are getting the following error while adding a Samba based network printer to Vista: Windows cannot connect to the printer. Operation could not be completed (error 0x000006d1). And you have a Samba server (version 3.0 and above) consider using the following technique to add the printer: Add a local printer (not a network [...]]]></description> <content:encoded><![CDATA[<p>If you are getting the following error while adding a Samba based network printer to Vista:</p><blockquote><p>Windows cannot connect to the printer. Operation could not be completed (error 0x000006d1).</p></blockquote><p>And you have a Samba server (version 3.0 and above) consider using the following technique to add the printer:</p><ul><li>Add a local printer (not a network one!)</li><li>Select &#8220;create a new port&#8221;</li><li>Select &#8220;Local port&#8221; as type of port</li><li>In the port name enter the printer&#8217;s SMB path, i.e. \\sambaserver\printer_name</li><li>Select the right driver</li></ul><p>That&#8217;s all. Works like a charm!</p><p>If you have an older version of Samba (&lt; 3.0) know that Vista uses NTLMv2 by default. Follow <a
href="http://www.builderau.com.au/blogs/codemonkeybusiness/viewblogpost.htm?p=339270746">these instructions</a> to revert back to NTLMv1 by default (also true for regular shares).</p><p>Also note that since this is a local printer that prints to a print queue on the Samba server, you might not be able to delete print jobs that were completely sent to the Samba server print queue, since we essentially created a local queue.</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2009/01/20/error-operation-could-not-be-completed-error-0x000006d1-when-adding-a-samba-based-network-printer-to-vista/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>&#8220;Unable to retrieve MSN Address Book&#8221; on Pidgin on Ubuntu / Debian?</title><link>http://eran.sandler.co.il/2009/01/12/unable-to-retrieve-msn-address-book-on-pidgin-on-ubuntu-debian/</link> <comments>http://eran.sandler.co.il/2009/01/12/unable-to-retrieve-msn-address-book-on-pidgin-on-ubuntu-debian/#comments</comments> <pubDate>Mon, 12 Jan 2009 16:42:28 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Pidgin]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[Adium]]></category> <category><![CDATA[libpurple]]></category> <category><![CDATA[MSN]]></category> <category><![CDATA[msn-pecan]]></category> <category><![CDATA[Unable to retrieve MSN Address Book]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=166</guid> <description><![CDATA[Today I got the following error on Pidgin (I&#8217;m running version 2.5.2 on Ubuntu 8.10 Intrepid Ibex) while it tried to connect to MSN: &#8220;Unable to retrieve MSN Address Book&#8221; After searching a bit I found this post by Gijs Nelissen which said to use a different MSN plugin for Pidgin called msn-pecan. I&#8217;ll reiterate [...]]]></description> <content:encoded><![CDATA[<p>Today I got the following error on Pidgin (I&#8217;m running version 2.5.2 on Ubuntu 8.10 Intrepid Ibex) while it tried to connect to MSN:</p><blockquote><p>&#8220;Unable to retrieve MSN Address Book&#8221;</p></blockquote><p>After searching a bit I found <a
href="http://www.lifelog.be/2009/01/12/pidgin-unable-to-retrieve-msn-address-list/">this post</a> by Gijs Nelissen which said to use a different MSN plugin for Pidgin called <a
href="http://code.google.com/p/msn-pecan/downloads/list">msn-pecan</a>.</p><p>I&#8217;ll reiterate the instructions for those with Ubuntu / Debian:</p><ol><li>Close Pidgin (make sure the process is really down)</li><li>Run &#8220;apt-get install msn-pecan&#8221;</li><li>Start pidgin</li><li>Change your MSN account type from MSN to WLM</li><li>Reconnect</li></ol><p><span
style="text-decoration: line-through;">I don&#8217;t know if this error affects other libpurple based multi-headed IMs (such as <a
href="http://www.adiumx.com">Adium</a>)</span> (<strong>UPDATE:</strong> It appears this IS a libpurple issue &#8211; so Adium IS affected), however, the msn-pecan project has a Windows binary release as well as source release (if you care/need/want to compile it for Mac OS X or other Linux distributions).</p> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2009/01/12/unable-to-retrieve-msn-address-book-on-pidgin-on-ubuntu-debian/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Failed to run /usr/sbin/synaptic Unable to copy the user&#8217;s Xauthorisation file</title><link>http://eran.sandler.co.il/2008/04/27/failed-to-run-usrsbinsynaptic-unable-to-copy-the-users-xauthorisation-file/</link> <comments>http://eran.sandler.co.il/2008/04/27/failed-to-run-usrsbinsynaptic-unable-to-copy-the-users-xauthorisation-file/#comments</comments> <pubDate>Sun, 27 Apr 2008 08:46:14 +0000</pubDate> <dc:creator>Eran Sandler</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Tips n' Tricks]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[synaptic]]></category><guid
isPermaLink="false">http://eran.sandler.co.il/?p=152</guid> <description><![CDATA[If you get the following error while running Synaptic: Failed to run /usr/sbin/synaptic Unable to copy the user&#8217;s Xauthorisation file. Make sure to that you have enough space in your /tmp directory. To check if that is indeed the problem run the following command in your terminal: df -h This command will show you each [...]]]></description> <content:encoded><![CDATA[<p>If you get the following error while running Synaptic:</p><blockquote><p><strong>Failed to run /usr/sbin/synaptic<br
/> Unable to copy the user&#8217;s Xauthorisation file.</strong></p></blockquote><p>Make sure to that you have enough space in your /tmp directory.</p><p>To check if that is indeed the problem run the following command in your terminal:</p><blockquote><p>df -h</p></blockquote><p>This command will show you each mounted volumes you may have including the one mounted to /tmp.</p><p>/tmp usually contains temporary data for applications while they run. It sometimes may reach a point where it 100% full (might have happened to me while I upgraded to Hardy Heron 8.04).</p><p>To clear /tmp run the following commands (<span
style="text-decoration: underline;"><strong>BE CAREFUL NOT TO RUN rm -rf ON ANYWHERE OTHER THAN /tmp</strong></span>):</p><blockquote><p>cd /tmp</p><p>pwd   # just to make sure you are really in /tmp</p><p>rm -rf *</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://eran.sandler.co.il/2008/04/27/failed-to-run-usrsbinsynaptic-unable-to-copy-the-users-xauthorisation-file/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached (User agent is rejected)
Database Caching 1/44 queries in 0.019 seconds using disk: basic
Object Caching 846/984 objects using disk: basic

Served from: eran.sandler.co.il @ 2012-02-05 02:47:23 -->
