<?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>engin aydogan &#187; programming</title>
	<atom:link href="http://engin.bzzzt.biz/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://engin.bzzzt.biz</link>
	<description>&#039;s journal</description>
	<lastBuildDate>Thu, 02 Feb 2012 21:22:31 +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>Windows, PHP, cURL SSL certificate problem.</title>
		<link>http://engin.bzzzt.biz/2012/02/02/windows-php-curl-ssl-certificate-problem/</link>
		<comments>http://engin.bzzzt.biz/2012/02/02/windows-php-curl-ssl-certificate-problem/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 21:22:31 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=538</guid>
		<description><![CDATA[When you use a library that wraps an API (Facebook PHP SDK, AWS PHP SDK) usage, it often boils down to cURL in the core. These libraries often want to communicate over SSL by default. So, any call you make on these libraries involves a cURL request over a SSL connection. The problem with this is  [...]]]></description>
			<content:encoded><![CDATA[<p>When you use a library that wraps an API (Facebook PHP SDK, AWS PHP SDK) usage, it often boils down to cURL in the core. These libraries often want to communicate over SSL by default. So, any call you make on these libraries involves a cURL request over a SSL connection. The problem with this is that cURL does not ship CA certificates bundle any more, so SSL certificates of the sites the requests are addressed to cannot be verified.</p>
<p>For instance, with AWS PHP SDK, you&#8217;ll get the following error if your cURL setup is not fixed:</p>
<pre><strong>Fatal error</strong>: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\Users\Engin\Code\PHP\unuttumbile\AWSSDKforPHP\lib\requestcore\requestcore.class.php:824
Stack trace:
#0 C:\Users\Engin\Code\PHP\unuttumbile\AWSSDKforPHP\services\s3.class.php(895): RequestCore-&gt;send_request()
#1 C:\Users\Engin\Code\PHP\unuttumbile\AWSSDKforPHP\services\s3.class.php(1125): AmazonS3-&gt;authenticate('php-sdk-getting...', Array)
#2 C:\Users\Engin\Code\PHP\unuttumbile\AWSSDKforPHP\_samples\cli-s3_get_urls_for_uploads.php(60): AmazonS3-&gt;create_bucket('php-sdk-getting...', 's3-us-west-1.am...')
#3 {main}
thrown in <strong>C:\Users\Engin\Code\PHP\unuttumbile\AWSSDKforPHP\lib\requestcore\requestcore.class.php</strong> on line <strong>824</strong></pre>
<p>cURL explains the situation in depth <a href="http://curl.haxx.se/docs/sslcerts.html">here</a>.</p>
<p>2 step easy <strong>solution</strong>:</p>
<div>
<ol>
<li><span style="line-height: normal;">Generate CA bundle yourself via scripts provided by cURL. Either via <a href="https://raw.github.com/bagder/curl/master/lib/mk-ca-bundle.pl">mk-ca-bundle.pl</a> (PERL) or <a href="https://raw.github.com/bagder/curl/master/lib/mk-ca-bundle.vbs">mk-ca-bundle.vbs</a> (Windows Shell). Then copy it to c:\Windows just for convenience.</span>
<pre>Engin@Engin-VAIO ~
$ perl mk-ca-bundle.pl
Downloading 'certdata.txt' ...
Processing  'certdata.txt' ...
Done (137 CA certs processed, 32 untrusted skipped).

Engin@Engin-VAIO ~
$ cp ca-bundle.crt /cygdrive/c/Windows/ -vf
`ca-bundle.crt' -&gt; `/cygdrive/c/Windows/ca-bundle.crt'</pre>
</li>
<li><span style="line-height: normal;">Then add the following line in your php.ini&#8217;s [PHP] section. Note that this configuration option is available since PHP 5.3.7. See <a href="http://www.php.net/manual/en/curl.configuration.php">not so very detailed info</a>.</span>
<pre>[PHP]
curl.cainfo = c:\windows\ca-bundle.crt</pre>
</li>
<li>Restart your HTTP server and you&#8217;re done.</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2012/02/02/windows-php-curl-ssl-certificate-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>9Gagtension &#8211; Facebook comment, message and chat trendy meme emoticons support</title>
		<link>http://engin.bzzzt.biz/2011/12/16/9gagtension-facebook-comment-message-and-chat-trendy-meme-emoticons-support/</link>
		<comments>http://engin.bzzzt.biz/2011/12/16/9gagtension-facebook-comment-message-and-chat-trendy-meme-emoticons-support/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 06:39:44 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=531</guid>
		<description><![CDATA[I noticed I was using quite some meme references in my Facebook comments such as :sweet jesus: or :mother of god:. So, yesterday evening, I put together an Chrome extension for this. Very simple.

List of memes and other information: http://engin.bzzzt.biz/9gagtension
Source code:  [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed I was using quite some meme references in my Facebook comments such as <b>:sweet jesus:</b> or <b>:mother of god:</b>. So, yesterday evening, I put together an Chrome extension for this. Very simple.</p>
<p><img class="aligncenter" src="9gagtension/screenshot2.jpg" alt="" /></p>
<p>List of memes and other information: <a href="http://engin.bzzzt.biz/9gagtension/">http://engin.bzzzt.biz/9gagtension</a></p>
<p>Source code: <a href="https://github.com/engina/9gagtension">https://github.com/engina/9gagtension</a></p>
<p>This is where you install: <a href="https://chrome.google.com/webstore/detail/adafadjkcdmlkijioppodjdkfknihkml">Chrome Extension Page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/12/16/9gagtension-facebook-comment-message-and-chat-trendy-meme-emoticons-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>uIP 1.0 for Windows</title>
		<link>http://engin.bzzzt.biz/2011/07/12/uip-1-0-for-windows/</link>
		<comments>http://engin.bzzzt.biz/2011/07/12/uip-1-0-for-windows/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 09:34:56 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[stuff i coded]]></category>
		<category><![CDATA[uip]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=488</guid>
		<description><![CDATA[Thanks to some other guy&#8217;s (Higepon, I assume) efforts (whom site is now offline), I got uIP-1.0 to run on my Windows 7. You can see and get the code yourself https://github.com/engina/uip-1.0-win
Engin@Engin-VAIO ~/Code/uip-1.0-win/x86-gcc
$ ./uip
0 - (TAP-Win32 Adapter V9)
          [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to some other guy&#8217;s (<a href="http://higepon.monaos.org/moin.py/Higepon">Higepon</a>, I assume) efforts (whom site is now offline), I got uIP-1.0 to run on my Windows 7. You can see and get the code yourself <a href="https://github.com/engina/uip-1.0-win">https://github.com/engina/uip-1.0-win</a></p>
<pre>Engin@Engin-VAIO ~/Code/uip-1.0-win/x86-gcc
$ ./uip
0 - (TAP-Win32 Adapter V9)
         fe80::b89d:19c6:5f43:ec4e%32 [0]
         0.0.0.0 [0]
1 - (VMware Virtual Ethernet Adapter)
         fe80::b98e:1fe8:9121:d0f2%24 [0]
         192.168.67.1 [0]
2 - (Microsoft)
         fe80::b4cb:2e7f:d890:9004%21 [0]
         0.0.0.0 [0]
3 - (Microsoft)
         192.168.1.223 [0]
4 - (Microsoft)
         fe80::cd43:876e:3b0b:5b79%14 [0]
         0.0.0.0 [0]
5 - (Microsoft)
         fe80::2daf:5bd7:5b32:618e%15 [0]
         192.168.1.111 [0]
6 - (VMware Virtual Ethernet Adapter)
         fe80::5431:7f2f:1920:632c%23 [0]
         192.168.9.1 [0]
7 - (Intel(R) 82567LM Gigabit Network Connection)
         fe80::5872:faab:8d21:2e44%10 [0]
         192.168.1.142 [0]
Choose:</pre>
<p>This is useful as a debugging aid, a reference implementation and rapid development.</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/07/12/uip-1-0-for-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench fetching&#8230; problem solved</title>
		<link>http://engin.bzzzt.biz/2011/04/06/mysql-workbench-fetching-problem-solved/</link>
		<comments>http://engin.bzzzt.biz/2011/04/06/mysql-workbench-fetching-problem-solved/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 20:55:22 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=473</guid>
		<description><![CDATA[In my previous post about Restoring MySQL Databases from an HDD Image I&#8217;ve talked about restoring previous a MySQL development environment from a backup. First of all, there&#8217;s a documentation about it, which admittedly I haven&#8217;t read. I have simply copied @@datadir and my applications apparently  [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous post about <a title="Restoring MySQL Databases from an HDD Image" href="http://engin.bzzzt.biz/2011/03/31/restoring-mysql-databases-from-an-hdd-image/">Restoring MySQL Databases from an HDD Image</a> I&#8217;ve talked about restoring previous a MySQL development environment from a backup. First of all, there&#8217;s a <a title="InnoDB Backup" href="http://dev.mysql.com/doc/refman/5.0/en/innodb-backup.html">documentation</a> about it, which admittedly I haven&#8217;t read. I have simply copied @@datadir and my applications apparently worked fine but Workbench didn&#8217;t like it very much. Whenever I tried to expand database tables it kept telling me &#8220;Fetching&#8230;&#8221;. I checked the error logs and it looks something like this:</p>
<pre>110406 23:09:00 [Note] Plugin 'FEDERATED' is disabled.
110406 23:09:00 InnoDB: The InnoDB memory heap is disabled
110406 23:09:00 InnoDB: Mutexes and rw_locks use Windows interlocked functions
110406 23:09:00 InnoDB: Compressed tables use zlib 1.2.3
110406 23:09:01 InnoDB: Initializing buffer pool, size = 128.0M
110406 23:09:01 InnoDB: Completed initialization of buffer pool
110406 23:09:01 InnoDB: highest supported file format is Barracuda.
110406 23:09:01  InnoDB: Waiting for the background threads to start
110406 23:09:02 InnoDB: 1.1.5 started; log sequence number 3061735
110406 23:09:02 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'threads' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
110406 23:09:02 [ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure
110406 23:09:02 [Note] Event Scheduler: Loaded 0 events
110406 23:09:02 [Note] C:\PROGRA~2\EASYPH~1.0\MySql\bin\mysqld.exe: ready for connections.
Version: '5.5.10-log'  socket: ''  port: 3306  MySQL Community Server (GPL)
110406 23:13:36 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found type char(64).</pre>
<p>If you look careful enough you&#8217;ll <strong>see </strong><em><strong>please run mysql_upgrade to create it</strong></em> . So I&#8217;ve just did it and viola! It looks like fixed. Everything is working fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/04/06/mysql-workbench-fetching-problem-solved/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running an HTTP server in default port 80 on Windows</title>
		<link>http://engin.bzzzt.biz/2011/03/31/running-an-http-server-in-default-port-80-on-windows/</link>
		<comments>http://engin.bzzzt.biz/2011/03/31/running-an-http-server-in-default-port-80-on-windows/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 09:44:55 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=443</guid>
		<description><![CDATA[
Summary: SQL Server Reporting Services is listening on port 80 from within System (PID 4) process.

I tried to run a HTTP server on my Vista box. It couldn&#8217;t bind to that port. So I looked around a bit.
Engin@Engin-PC ~
$ netstat -n -a -p tcp -b -o

Active Connections

  Proto  Local Address        [...]]]></description>
			<content:encoded><![CDATA[<pre>
<strong>Summary</strong>: <strong>SQL Server Reporting Services</strong> is listening on port 80 from within System (PID 4) process.
</pre>
<p>I tried to run a HTTP server on my Vista box. It couldn&#8217;t bind to that port. So I looked around a bit.</p>
<pre>Engin@Engin-PC ~
$ netstat -n -a -p tcp -b -o

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:22             0.0.0.0:0              LISTENING       3816
 [sshd.exe]
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

 Can not obtain ownership information</pre>
<p>From Process Explorer I can tell that it is System process. So why does such a core part of my OS listening on port 80. A rather easy way to find out is to simply netcat to that port.</p>
<pre>$ nc localhost 80
help
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Thu, 31 Mar 2011 08:44:26 GMT
Connection: close
Content-Length: 326

&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Bad Request&lt;/TITLE&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; Content=&quot;text/html; charset=us-ascii&quot;&gt;&lt;/HEAD&gt;
&lt;BODY&gt;&lt;h2&gt;Bad Request - Invalid Verb&lt;/h2&gt;
&lt;hr&gt;&lt;p&gt;HTTP Error 400. The request verb is invalid.&lt;/p&gt;
&lt;/BODY&gt;&lt;/HTML&gt;
</pre>
<p><strong>Server: Microsoft-HTTPAPI/2.0</strong> hmm. A little bit googling told me that this is due to <strong>SQL Server Reporting Services</strong>. When you stop this service, port 80 will be available again.</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/31/running-an-http-server-in-default-port-80-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restoring MySQL Databases from an HDD Image</title>
		<link>http://engin.bzzzt.biz/2011/03/31/restoring-mysql-databases-from-an-hdd-image/</link>
		<comments>http://engin.bzzzt.biz/2011/03/31/restoring-mysql-databases-from-an-hdd-image/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 08:34:03 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=436</guid>
		<description><![CDATA[

UPDATE: There&#8217;s an update to this MySQL Workbench fetching… problem solved


I don&#8217;t know what is the proper way of handling this but this is rather a cumbersome process apparently.
You can see your datadir by issuing:
select @@datadir;
Replace this directory with your backed up datadir. Datadir  [...]]]></description>
			<content:encoded><![CDATA[<div class="update">
<p style="margin: 6px 0px 6px 0px">
<strong>UPDATE:</strong> There&#8217;s an update to this <a href="http://engin.bzzzt.biz/2011/04/06/mysql-workbench-fetching-problem-solved/">MySQL Workbench fetching… problem solved</a>
</p>
</div>
<p>I don&#8217;t know what is the proper way of handling this but this is rather a cumbersome process apparently.</p>
<p>You can see your datadir by issuing:</p>
<pre>select @@datadir;</pre>
<p>Replace this directory with your backed up datadir. Datadir can also be found in my.ini (or my.cnf in GNU/Linux I guess).</p>
<p>When I did, I got the following error while trying to start the MySQL server:</p>
<pre>110331  9:56:57 [Note] Plugin 'FEDERATED' is disabled.
110331  9:56:57 InnoDB: The InnoDB memory heap is disabled
110331  9:56:57 InnoDB: Mutexes and rw_locks use Windows interlocked functions
110331  9:56:57 InnoDB: Compressed tables use zlib 1.2.3
110331  9:56:57 InnoDB: Initializing buffer pool, size = 128.0M
110331  9:56:57 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 55574528 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
110331  9:56:58 [ERROR] Plugin 'InnoDB' init function returned error.
110331  9:56:58 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
110331  9:56:58 [ERROR] Unknown/unsupported storage engine: InnoDB
110331  9:56:58 [ERROR] Aborting

110331  9:56:58 [Note] C:\PROGRA~2\EASYPH~1.0\MySql\bin\mysqld.exe: Shutdown complete</pre>
<p>I&#8217;ve added &#8220;<strong>innodb_log_file_size = 53M</strong>&#8221; parameter to my my.cnf and the server started just fine. You see the <em>55574528</em> in the above error log ? That is precisely 53M (55574528/(1024*1024)=53). Though MySQL Workbench still can&#8217;t browse the databases in the UI, it tells me</p>
<pre>Error:	Time: 10:56:43	Message: Error Code: 1548
Cannot load from mysql.proc. The table is probably corrupted	Details: Get schema contents</pre>
<p>Though I can use the databases as below:</p>
<pre>use myolddb;
select * from atable;</pre>
<p>Even though Workbench is not happy with this, it works. I&#8217;ll update if I find anything useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/31/restoring-mysql-databases-from-an-hdd-image/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update to SharkIt</title>
		<link>http://engin.bzzzt.biz/2011/03/31/update-to-sharkit/</link>
		<comments>http://engin.bzzzt.biz/2011/03/31/update-to-sharkit/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 08:26:51 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=431</guid>
		<description><![CDATA[My brother told me SharkIt stopped working, I&#8217;ve updated it to work again.
Changes include:

Again compatible with Grooveshark
Faster session retriving, hence you can log in faster!
Handles bad file names
More cross platform file handling.

Download the update.
]]></description>
			<content:encoded><![CDATA[<p>My brother told me <a href="http://engin.bzzzt.biz/sharkit/">SharkIt</a> stopped working, I&#8217;ve updated it to work again.</p>
<p>Changes include:</p>
<ol>
<li>Again compatible with Grooveshark</li>
<li>Faster session retriving, hence you can log in faster!</li>
<li>Handles bad file names</li>
<li>More cross platform file handling.</li>
</ol>
<p><a href="http://engin.bzzzt.biz/sharkit/">Download the update.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/31/update-to-sharkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireless module of Sony VAIO VGN-Z790 broken</title>
		<link>http://engin.bzzzt.biz/2011/03/11/wireless-module-of-sony-vaio-vgn-z790-broken/</link>
		<comments>http://engin.bzzzt.biz/2011/03/11/wireless-module-of-sony-vaio-vgn-z790-broken/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 21:22:21 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=419</guid>
		<description><![CDATA[Me and my partner got two Sony VAIO VGN-Z790DIB notebooks 1.5 years ago. Admittedly, I still think it is the best PC notebook out there (P9700 CPU, 4G RAM, 1.47kg, ~6h battery). Though, wireless module of my partner&#8217;s notebook stopped working in the first month. The wireless module got physically  [...]]]></description>
			<content:encoded><![CDATA[<p>Me and my partner got two Sony VAIO VGN-Z790DIB notebooks 1.5 years ago. Admittedly, I still think it is the best PC notebook out there (P9700 CPU, 4G RAM, 1.47kg, ~6h battery). Though, wireless module of my partner&#8217;s notebook stopped working in the first month. The wireless module got physically broken, completely disappeared from system as it is not connected at all.</p>
<p>Today, it turned out that these notebooks have some kind of design fault, as mine also got broken. It literally disappeared all of a sudden. It is not a software problem as it is not seen by GNU/Linux or anything.</p>
<p>I tried to order another Wireless Module for VGN-Z790 but all my searches failed. Then, I decided to disassemble it, in hope that I could find a part number etc. After all, I have changed broken parts of my previous notebooks anyway.</p>
<p>It is a very painful task to disassemble this notebook. It took almost 1h to disassemble and assemble the notebook back. Here&#8217;s the <a href="http://engin.bzzzt.biz/files/Vgn_z_e.zip">service manual</a> for VGN-Z series, it is almost impossible to work on this notebook without this. I&#8217;d expect a much better service manual from a company such as Sony, but it was quite low quality if you ask me. Dell&#8217;s service manuals were way better.</p>
<p>Anyway, I got it! The wireless module of VGN-Z790 is 512AN_HMW. You can see the pictures below.</p>
<p><img src="http://engin.bzzzt.biz/files/512AN_HMW_front.jpg"><img src="http://engin.bzzzt.biz/files/512AN_HMW_back.jpg"></p>
<p>Luckily, if you search with this model number you can find this part from ebay. I&#8217;ll order one soon and see if it is the module that is getting broken or it is something else that is affecting it &#8212; only if I don&#8217;t get a new notebook! This is a pretty damn good excuse to get one, amarite ?</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/11/wireless-module-of-sony-vaio-vgn-z790-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TIM: Time Is Money! Standalone meeting calculator in HTML/Javascript</title>
		<link>http://engin.bzzzt.biz/2011/03/03/tim-time-is-money-standalone-meeting-calculator-in-htmljavascript/</link>
		<comments>http://engin.bzzzt.biz/2011/03/03/tim-time-is-money-standalone-meeting-calculator-in-htmljavascript/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 18:44:57 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=411</guid>
		<description><![CDATA[This is my take on TIM calculator, you can download, modify and run it in any browser (I&#8217;ve tested with IE8, Chrome, FF). View, download or use it online.
Modify the currency to your liking. Oh, and of course, best viewed with Chrome.
]]></description>
			<content:encoded><![CDATA[<p>This is <a href="http://engin.bzzzt.biz/files/tim.html">my take</a> on TIM calculator, you can download, modify and run it in any browser (I&#8217;ve tested with IE8, Chrome, FF). <a href="http://engin.bzzzt.biz/files/tim.html">View, download or use it online</a>.</p>
<p>Modify the currency to your liking. Oh, and of course, best viewed with Chrome.</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/03/tim-time-is-money-standalone-meeting-calculator-in-htmljavascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DHCP Servers: Stock routers&#8217;, Microsoft Windows ICS&#8217;s, Mac OS X&#8217;s</title>
		<link>http://engin.bzzzt.biz/2011/03/02/dhcp-servers-stock-routers-microsoft-windows-icss-mac-os-xs/</link>
		<comments>http://engin.bzzzt.biz/2011/03/02/dhcp-servers-stock-routers-microsoft-windows-icss-mac-os-xs/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 14:52:03 +0000</pubDate>
		<dc:creator>engin</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[enda]]></category>

		<guid isPermaLink="false">http://engin.bzzzt.biz/?p=407</guid>
		<description><![CDATA[MS Windows and Mac OS X let&#8217;s you share your internet from one network interface to another one. i.e. You can share your Wireless internet to your Ethernet port. In Windows it is called ICS (Internet Connection Sharing). In Mac OS X, you can do it in the Sharing section for your settings. Not  [...]]]></description>
			<content:encoded><![CDATA[<p>MS Windows and Mac OS X let&#8217;s you share your internet from one network interface to another one. i.e. You can share your Wireless internet to your Ethernet port. In Windows it is called ICS (Internet Connection Sharing). In Mac OS X, you can do it in the Sharing section for your settings. Not surprisingly, Mac OS X UI is much more intuitive.</p>
<p>In a few days, we&#8217;ll be in an industrial automation fair and only available internet connection there will be Wireless. We want to connect our devices to internet there but our devices only have Ethernet port. So we&#8217;ll rely on connection sharing of one of these OSes. The problem is that their DHCP servers are acting a bit different than a stock router you&#8217;d have.</p>
<p>Windows does not give responses quickly, after my DHCP REQUEST message, it takes a like 1-2 seconds to get ACK message back. And Windows&#8217;s DHCP server keeps sending OFFERs and ACKs like crazy for the previously received messages even though an IP address is acquired already. Tweaking the timeouts and making sure my client does not honor OFFERs once that state is passed fixed the issues with Windows&#8217; DHCP server.</p>
<p>However the issue with the Mac was a more subtle one. My device couldn&#8217;t acquire IP address at all. I checked if my Windows laptop could get an IP from it and, not surprisingly, it could! My device couldn&#8217;t even get an OFFER for its DISCOVER message. I compared Windows&#8217; DISCOVER message with mine to find the differences. There were two differenes:</p>
<ol>
<li>Seconds field</li>
<li>Options field</li>
</ol>
<div>First I tried to make the Options field identical. Of course, Murphy&#8217;s laws applied and it turned out that it is because of Seconds field. When I changed my Seconds field from 0 to 4 (like Windows do) it all worked out with Mac&#8217;s DHCP server.</div>
<div>According to <a href="http://tools.ietf.org/html/rfc2131">RFC 2131</a>&#8216;s Section 2, page 10, the Seconds field is for:</div>
<blockquote><p>secs          2  Filled in by client, seconds elapsed since client began address acquisition or renewal process.</p></blockquote>
<p>I don&#8217;t see how this affects the behavior but it fixes the issue.</p>
<p>See also <a href="http://engin.bzzzt.biz/2010/07/20/zero-configuration-connectivity-on-embedded-computers/">previous mistake I made about DHCP</a>.</p>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://engin.bzzzt.biz/2011/03/02/dhcp-servers-stock-routers-microsoft-windows-icss-mac-os-xs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

