tag:blogger.com,1999:blog-41101239060054462922009-07-06T20:26:29.292+02:00LCF blogLCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.comBlogger35125tag:blogger.com,1999:blog-4110123906005446292.post-26233809563672613072009-07-06T20:22:00.003+02:002009-07-06T20:26:29.300+02:00Ice Age: Dawn of the Dinosaurs - Sun movie ?<blockquote>Blue Sky Studios, a wholly-owned unit of Fox Filmed Entertainment, deployed Sun Blade servers and Sun Ultra workstations for the rendering of its new animated feature Ice Age: Dawn of the Dinosaurs, giving them four times better performance than their previous solution.</blockquote><br /><blockquote>Blue Sky deployed a Sun Constellation System consisting of 10 Sun Blade 6048 chassis with a total of 480 Sun Blade X6250 server modules, each powered by two Intel Xeon processor 5400 series; 120 Sun Ultra 24 workstations powered by the Intel Core 2 processor; and Sun's Enterprise Installation Services. After full implementation, Blue Sky reaped performance that was four times faster than their previous solution, allowing them to render digital frames faster and create more frames in less time.</blockquote><br /><a href="http://www.sun.com/aboutsun/pr/2009-07/sunflash.20090706.1.xml">http://www.sun.com/aboutsun/pr/2009-07/sunflash.20090706.1.xml</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-2623380956367261307?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-50783363779477425042009-05-09T14:51:00.001+02:002009-05-09T14:54:02.506+02:00FCoEToday find 2 nice videos about FCoE:<br /><br /> - <a href="http://www.datacenterknowledge.com/archives/2008/12/16/an-overview-of-fcoe/">Overview</a><br /> - <a href="http://www.datacenterknowledge.com/archives/2009/05/08/what-will-an-fcoe-network-look-like/"> FCoE looks like</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-5078336377947742504?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-88345093970100308162009-04-22T14:28:00.004+02:002009-04-22T14:39:10.656+02:00GMV in Gdańsk<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__MGEfjzDCWY/Se8NlajNXSI/AAAAAAAAE_g/BRMkBbhvG4U/s1600-h/IMG_0110.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/__MGEfjzDCWY/Se8NlajNXSI/AAAAAAAAE_g/BRMkBbhvG4U/s400/IMG_0110.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5327491820635905314" /></a><br /><br /><a href="http://www.uitp.org/vienna2009/exhibition/pr/PN_026-08_Polonia_mar091.pdf">GMV</a> Create First Real-Time Passenger Information System For Gdansk...<br /><br /><br />... Not always everything goes smooth :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-8834509397010030816?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-87185838608226995412009-03-23T10:31:00.001+01:002009-03-23T10:33:21.779+01:00warning: peer certificate won't be verified in this SSL session<blockquote><pre><br /># Remove warning: "warning: peer certificate won't be verified in this SSL session"<br />require 'openssl'<br />module OpenSSL<br /> module SSL<br /> remove_const :VERIFY_PEER<br /> end<br />end<br />OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE<br /></pre></blockquote><br /><br />Nice and useful.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-8718583860822699541?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-5473213289011373332009-03-19T17:16:00.002+01:002009-03-19T17:24:53.568+01:00Sun Cloud Computing<a href="http://www.sun.com/events/communityone/index.jsp">Sun Cloud Computing executives Dave Douglas and Lew Tucker preview the Sun Cloud - the industry's most flexible, open and portable public cloud platform.</a><br /><br />Since yesterday I'm really excited about Sun Cloud. From what I've seen, Sun Open Cloud Computing is more powerfull solution then AWS Amazon. Check how simple you can drag&drop hole environment then select hole or part and create "clone" for HA - Impressive!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-547321328901137333?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-35635535793042221012009-03-18T23:27:00.001+01:002009-03-19T09:48:20.181+01:00Supernap<center><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jvlXe2ahxiM&hl=pl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jvlXe2ahxiM&hl=pl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />Just incredible.</center><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-3563553579304222101?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-46320771012116543742009-03-06T23:37:00.002+01:002009-03-06T23:43:52.745+01:00[A-100] Firmware 01-17-090125-15-POP-402#v+<br />[...]<br />11. Fixed HDD spin-up during standby<br />[...]<br />#v-<br /><br />w0w finally they fix that. My ears love them :)<br /><br /><a href="http://www.networkedmediatank.com/showthread.php?tid=18219">Release notes</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-4632077101211654374?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-75053047325527881092009-03-04T22:55:00.004+01:002009-03-05T21:24:00.727+01:00My recent tricks for postgresql<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.jagiello.org/db_fs.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 703px; height: 214px;" src="http://code.jagiello.org/db_fs.png" border="0" alt="" /></a><br /><br />1. echo deadline > /sys/block/{device}/queue/scheduler<br /><br />2. change filesystem from ext3 into reiserfs<br /><br />Really nice for hour work include synchronize nodes. Of course after find out what to do :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-7505304732552788109?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-87288243173445753502008-12-24T16:28:00.005+01:002008-12-26T12:47:51.611+01:00check_pgpool - nagios plugin for pgpool-II<a href="http://code.jagiello.org/check_pgpool.rb">check_pgpool.rb</a> - simple nagios plugin to check pgpool nodes status with pcp_node_info. Usefull to monitor are all nodes conneted.<br /><br />checkcommands.cfg:<br /><pre><code><br />define command {<br /> command_name check_pgpool<br /> command_line $USER1$/check_pgpool.rb $ARG1$<br />}<br /></code></pre><br /><br />services.cfg:<br /><pre><code><br />define service {<br /> use generic-service<br /> host_name pool.hostname<br /> service_description PGPOOL1<br /> is_volatile 0<br /> check_period 24x7<br /> max_check_attempts 4<br /> normal_check_interval 5<br /> retry_check_interval 1<br /> contact_groups admins<br /> notification_interval 960<br /> notification_period 24x7<br /> check_command check_pgpool!1<br />}<br /></code></pre><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-8728824317344575350?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com1tag:blogger.com,1999:blog-4110123906005446292.post-4231605788098011272008-12-17T10:28:00.003+01:002008-12-17T11:03:59.319+01:00PostgreSQL tricks with broken dbFew PostgreSQL tricks for broken db:<br /><br />case:<br /><code><br />pg_dump: query returned 0 rows instead of one: SELECT typlen, typinput, typoutput, typreceive, typsend, typmodin, typmodout, typanalyze, typinput::pg_catalog.oid as typinputoid, typoutput::pg_catalog.oid as typoutputoid, typreceive::pg_catalog.oid as typreceiveoid, typsend::pg_catalog.oid as typsendoid, typmodin::pg_catalog.oid as typmodinoid, typmodout::pg_catalog.oid as typmodoutoid, typanalyze::pg_catalog.oid as typanalyzeoid, typdelim, typbyval, typalign, typstorage, pg_catalog.pg_get_expr(typdefaultbin, 'pg_catalog.pg_type'::pg_catalog.regclass) as typdefaultbin, typdefault FROM pg_catalog.pg_type WHERE oid = '1325300'::pg_catalog.oid<br /></code><br />solution:<br /><code><br />reindexdb -h localhost -U postgres db_name<br /></code><br /><br />case:<br /><code><br />pg_dump: Error message from server: ERROR: catalog is missing 4 attribute(s) for relid 1325439<br /></code><br />solution:<br /><code><br />REINDEX TABLE pg_catalog.pg_attribute;<br /></code><br /><br />case:<br /><code><br />pg_dump: failed sanity check, parent table OID 16401 of pg_rewrite entry OID 16403 not found<br /></code><br />solution:<br /><code><br />delete from pg_rewrite where oid = 16403;<br />REINDEX TABLE pg_catalog.pg_rewrite;<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-423160578809801127?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-79580982295717849262008-12-02T20:30:00.005+01:002008-12-02T22:19:51.749+01:00Amazon CloudFront in RubyLast month Amazon launch new service - Amazon CloudFront. Amazon CloudFront delivers your content from Amazon S3 using a global network of edge locations. Sweet, really nice solution for quite expensive Akamai (yes, I know Akamai is cheaper at some level, but startups don't have such budget). At start they release only Amazon CloudFront Authentication Tool for Curl. So decide to wrote own tool in ruby (atm there is RightScale Ruby library but when I wrote that there wasn't any such tool).<br /><br />First, I try use <a href=http://curb.rubyforge.org/>curb</a> (Libcurl bindings for Ruby), but then notice that can be done more simple only with <a href=http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/index.html>Net::HTTP</a><br /><br />According to <a href=http://docs.amazonwebservices.com/AmazonCloudFront/2008-06-30/DeveloperGuide/>Developer Guide</a> correct REST Requests needs URI indicates the particular resource you want to act on, also needs correct Request Headers (Authorization, Content-Length, Content-Type, Date, Host, x-amz-date).<br /><br />Date/x-amz-date like at provided by Amazon curl script, get from Amazon server:<br /><pre><br />def self.server_date(url)<br /> server_date=''<br /> uri = URI.parse(url)<br /> http = Net::HTTP.new(uri.host,443)<br /> http.use_ssl = true<br /> http.verify_mode = OpenSSL::SSL::VERIFY_NONE<br /> response=http.request_get(uri.path)<br /> response['Date']<br />end<br /></pre><br /><br />Authorization generate as Amazon documentation said:<br /><pre><br />def self.sign(date)<br /> digest = OpenSSL::Digest::Digest.new('sha1')<br /> hmacd=HMAC.new(AWS_SECRET_ACCESS_KEY, digest)<br /> hmacd.update(date)<br /> signature=Base64.encode64(hmacd.digest)<br />end<br /></pre><br /><br />So simple list distribution can be done like that:<br /><pre><br />def ACFList(url)<br /> date=server_date(url)<br /> uri = URI.parse(url)<br /> http = Net::HTTP.new(uri.host,443)<br /> http.use_ssl = true<br /> http.verify_mode = OpenSSL::SSL::VERIFY_NONE<br /> headers = {<br /> 'X-AMZ-Date' => date,<br /> 'Authorization' => 'AWS ' + AWS_ACCESS_KEY_ID + ':' + sign(date).chop<br /> }<br /> response=http.request_get(uri.path,headers)<br /> response<br />end<br /></pre><br /><br />Example:<br /><pre><br />./acf.rb list https://cloudfront.amazonaws.com/2008-06-30/distribution<br />&lt;?xml version="1.0"?&gt;<br />&lt;DistributionList xmlns="http://cloudfront.amazonaws.com/doc/2008-06-30/"&gt;&lt;Marker&gt;&lt;/Marker&gt;&lt;MaxItems&gt;100&lt;/MaxItems&gt;&lt;IsTruncated&gt;false&lt;/IsTruncated&gt;&lt;/DistributionList&gt;<br /></pre><br /><br />Hole code can be find <a href=http://code.jagiello.org/acf.tar.gz>here</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-7958098229571784926?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-59387189423889147182008-12-01T21:35:00.006+01:002008-12-01T21:47:31.057+01:00Kreatywna matematyka według TescoDzisiaj w Tesco odkryłem nową, kreatywną wersje matematyki. Idąc między regałami zauważyłem:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__MGEfjzDCWY/STRLNJGnUeI/AAAAAAAADDc/BhB4LneGtSo/s1600-h/iphone-01.12.2008+002.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/__MGEfjzDCWY/STRLNJGnUeI/AAAAAAAADDc/BhB4LneGtSo/s320/iphone-01.12.2008+002.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274923752711737826" /></a><br /><br />Ser Philadelphia - 3,29zł (ta mała cena po lewej stronie). Promocja 2 sztuki za 6zł. Niby ok, jest promocja jest dobrze. Niepokoi mnie tylko informacja "Oszczędzasz 6zł" <br /><br />WTF ?!? <br /><pre><br />2x3,29zł = 6,58zł <br /> - 6,00zł<br />-----------------<br /> 0,58zł (nijak 6zł nie wychodzi)<br /></pre><br />Idąc za ciosem zrobiłem jeszcze kilka zdjęć:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__MGEfjzDCWY/STRMS03Xl9I/AAAAAAAADDk/xTodmLl2yIE/s1600-h/iphone-01.12.2008+011.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/__MGEfjzDCWY/STRMS03Xl9I/AAAAAAAADDk/xTodmLl2yIE/s320/iphone-01.12.2008+011.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274924949869926354" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__MGEfjzDCWY/STRMzaab0AI/AAAAAAAADDs/X3uR1nfhjCc/s1600-h/iphone-01.12.2008+008.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/__MGEfjzDCWY/STRMzaab0AI/AAAAAAAADDs/X3uR1nfhjCc/s320/iphone-01.12.2008+008.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274925509704929282" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__MGEfjzDCWY/STRM_uOhKxI/AAAAAAAADD0/YUSnWn8ply8/s1600-h/iphone-01.12.2008+003.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/__MGEfjzDCWY/STRM_uOhKxI/AAAAAAAADD0/YUSnWn8ply8/s320/iphone-01.12.2008+003.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274925721182087954" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-5938718942388914718?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com1tag:blogger.com,1999:blog-4110123906005446292.post-91093849652395703322008-11-13T20:08:00.004+01:002008-11-18T09:31:51.280+01:00Less spam ? Yeah McColo's is down.Really interesting news <a href="http://thenextweb.com/2008/11/13/you-now-have-66-less-spam/"> read </a> today. According to <a href="http://thenextweb.com/author/boris/">Boris Veldhuijzen van Zanten</a> spam levels fell by 66% after Tuesday. That happened after Internet providers cut off <a href="http://www.mccolo.com/">McColo’s</a> (Site is down) connectivity to the Internet.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__MGEfjzDCWY/SSJ9XagqOaI/AAAAAAAADDU/TW4P8MMssAU/s1600-h/spamcop.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://4.bp.blogspot.com/__MGEfjzDCWY/SSJ9XagqOaI/AAAAAAAADDU/TW4P8MMssAU/s320/spamcop.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5269912355183671714" /></a><br /><br />Incredible isn't it ?<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-9109384965239570332?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-88714689473175706932008-10-30T15:29:00.001+01:002008-10-30T15:31:04.369+01:00Dj Wonter - Wings - Official Music VideoWicked tune made by Wonter. Check it !<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/FDfuivg8gCI&hl=pl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FDfuivg8gCI&hl=pl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-8871468947317570693?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-20198124509250903562008-10-27T21:25:00.006+01:002008-10-27T21:45:52.246+01:00Squid with AWStatsI've search a bit, but couldn't find any nice howto. All links told me to turn on "emulate_httpd_log" or change logformat in squid.conf. Cool, but I've got logs from last month with standard logformat - squid and like to know how much bandwidth at Amazon EC2 will cost.<br /><br />Lets see, standard squid logs looks like that:<br /><code><br />1224992424.377 0 127.0.0.1 TCP_MEM_HIT/200 1046 GET http://sitename/www/Etrade/js/translation.js? - NONE/- application/x-javascript<br /></code><br />With little <code>sed</code> help, logs could looks like that:<br /><code><br />1224992424 0 127.0.0.1 TCP_MEM_HIT 200 1046 GET /sitename/www/Etrade/js/translation.js? - NONE/- application/x-javascript<br /></code><br />How ?<br /><code><br />LogFile="cat /path/to/log/squid-access_log | sed 's/\.[0-9]\{3\}\s\{5\}//' | sed 's/\// /' | sed 's/http\:\///' |"<br /></code><br />Now just few min generate report .. et voila ;)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-2019812450925090356?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-43616287096120332832008-09-25T20:22:00.003+02:002008-09-25T20:50:17.204+02:00Why EC2 command line API-tools sucks...Every time cron daemon run ruby scripts witch contain command line EC2 API-tools load grow up and take a lot resources. In last days decide to rewrite it. For some configure files need to check often what IP's got working www backends or database backends. Got for that class in ruby:<br /><br />machine.rb:<br /><pre class="code"><br />require 'resolv'<br /><br />class Machine<br /><br /> IMAGES = {<br /> 'www' => ['ami-WWWWWWWW'],<br /> 'db' => ['ami-DBDBDBDB'],<br /> 'kolektor' => ['ami-POOLPOOL'],<br /> }<br /><br /> MACHINES = {<br /> 'www' => [],<br /> 'db' => [],<br /> 'kolektor' => [],<br /> }<br /><br /> def self.getips<br /> output=`ec2-describe-instances`<br /> output.split("\n").each do |line| <br /> IMAGES.each do |type, amis|<br /> amis.each do |ami|<br /> if line.match('\s' + ami + '\s.*?running')<br /> ip = Resolv.getaddress(line.split[3])<br /> MACHINES[type] << ip <br /> end<br /> end<br /> end<br /> end<br /> MACHINES<br /> end<br />end<br /></pre><br /><br />Easy for use at other scripts like that:<br /><br />getwww.rb:<br /><pre class="code"><br />#!/usr/bin/ruby<br /><br />require 'machines.rb'<br /><br />puts Machine.getips['www']<br /></pre><br /><br />But that was slow and take too much resources. Discover project <a href=http://amazon-ec2.rubyforge.org/>amazon-ec2.rubyforge.org</a> and rewrite that class. <br /><br />machines_new.rb:<br /><pre class="code"><br />require 'resolv'<br />require 'rubygems'<br />require 'EC2'<br /><br />class Machine<br /><br /> ACCESS_KEY_ID = 'your_access_key_id'<br /> SECRET_ACCESS_KEY = 'your_secret_access_key'<br /><br /><br /> IMAGES = {<br /> 'www' => ['ami-WWWWWWWW'],<br /> 'db' => ['ami-DBDBDBDB'],<br /> 'kolektor' => ['ami-POOLPOOL'],<br /> }<br /><br /> MACHINES = {<br /> 'www' => [],<br /> 'db' => [],<br /> 'kolektor' => [],<br /> }<br /><br /> def self.getips<br /> ec2 = EC2::Base.new(:access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY)<br /> ec2.describe_instances.reservationSet.item.each do |reservation|<br /> IMAGES.each do |type, amis|<br /> amis.each do |ami|<br /> reservation.instancesSet.item.each do |item| <br /> if item.imageId.match(ami)<br /> ip = Resolv.getaddress(item.dnsName)<br /> MACHINES[type] << ip<br /> end<br /> end<br /> end<br /> end<br /> end<br /> MACHINES<br /> end<br />end<br /></pre><br /><br />How fast could be use non-JAVA EC2 API-tools ?<br /><br />With old class:<br /><pre class="code"><br /># time for i in `seq 1 20`; do ./getwww.rb ; done<br />real 3m58.211s<br />user 0m48.870s<br />sys 0m2.650s<br /></pre><br />With new class:<br /><pre class="code"><br /># time for i in `seq 1 20`; do ./getwww.rb ; done<br />real 0m20.234s<br />user 0m6.570s<br />sys 0m0.870s<br /></pre><br />Only <b> 11.5x </b> times faster ! And doesn't take 80mb mem, just 10mem for 1 sec.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-4361628709612033283?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-36479191104661864272008-09-21T18:44:00.002+02:002008-09-21T18:47:11.515+02:00Ksero...Nigdy nie pomyślałbym, że ksero może mnie potrzebować. Widać to moje przeznaczenie, albo matrix i jestem tylko kawałkiem softu :(<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__MGEfjzDCWY/SNZ6PUC25cI/AAAAAAAADDM/vB2NSX9P_f0/s1600-h/LCF-ksero.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__MGEfjzDCWY/SNZ6PUC25cI/AAAAAAAADDM/vB2NSX9P_f0/s320/LCF-ksero.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5248516819244213698" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-3647919110466186427?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-79842028945729535642008-09-10T21:32:00.002+02:002008-09-10T21:36:21.132+02:00"Prawie" bezpiecznie :)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__MGEfjzDCWY/SMghBFnMf9I/AAAAAAAADDE/JTu3FTOHI5I/s1600-h/google.png"><img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/__MGEfjzDCWY/SMghBFnMf9I/AAAAAAAADDE/JTu3FTOHI5I/s320/google.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5244478068643102674" /></a><br /><br />Nie ma to jak zaufanie, że nikt nie zwróci na to uwagi :)<br /><br />ps. Zabezpieczeniem były 3 naklejki, więc nie trzeba było nawet rozklejać, żeby sprawdzić co jest w środku.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-7984202894572953564?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com2tag:blogger.com,1999:blog-4110123906005446292.post-67585918226163446362008-09-02T12:20:00.002+02:002008-09-02T12:42:30.606+02:00Google ChromeOd wczoraj wszędzie jest głośno o Google <a href="http://blogoscoped.com/google-chrome">Chrome</a>. Wszyscy zastanawiają jaka będzie przeglądarka od Google ? Wielu wróży walkę Google z Microsoftem na polu przeglądarek internetowych. Pytanie tylko czy Microsoft ma się czego obawiać ? Według mnie nie ma czego, wręcz stwierdził bym, że Google zamierza przejąć użytkowników FF i Opery. <br />IE króluje na rynku przeglądarek internetowych dlatego, że jest domyślnie instalowana wraz z systemem operacyjnym. Klient kupując komputer z systemem operacyjnym (a który w znakomitej większości to Windows) otrzymuje od razu przeglądarkę internetową. Jeżeli mu czegoś w tym produkcie nie brakuje to taki użytkownik nie będzie zmieniał tej przeglądarki bo i po co. Oczywiście FF, Opera walczą o takiego użytkownika, ich udział w rynku się zwiększa, ale zwiększa się głównie o użytkowników którzy zobaczyli inne możliwości i są świadomi faktu że mogą sobie zmienić przeglądarkę internetową. Są to dokładanie Ci sami użytkownicy który przeczytają/dowiedzą się/usłyszą o nowym produkcie Google i postanowią go wypróbować. Jeżeli produkt będzie na odpowiednim poziomie, pewnie przy nim zostaną.<br />Należy się również zastanowić jaki biznes widzi w tym Google. Nie od dzisiaj wiadomo, że z produktami Google jest jak z mężczyzną z reklamy - muszą zarabiać. Skoro muszą, a jasne jest że Google to nie organizacja non-profit, więc należy się zastanowić czy reklamy nie będą drażnić osoby przyzwyczajone do aplikacji takich jak FF, gdzie reklam nie mają ze strony samej aplikacji.<br />Reasumując odnoszę wrażenie, że Google postanowiło przejąć fragment rynku zajęty przez FF czy Operę oferując produkt który rozwiązuje pewne uciążliwe wady dostępnych przeglądarek. Natomiast nie sądzę żeby w perspektywie kilku lat Google mogło zagrozić dominacji IE. Chodź nie wykluczone jest, że w przypadku wypuszczenia systemu operacyjnego przez Google z domyślną przeglądarkę Chrome taki stan rzeczy może ulec zmianie.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-6758591822616344636?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-39342856163911775452008-09-01T11:17:00.006+02:002008-09-01T22:24:58.041+02:00Nowa guildiaW ostatnim czasie źle się działo w Beltaine dlatego spora część trzeźwo myślących osób (w tym ja) zmieniło guildie na Enclave. A wraz z nową guildią zaczęło się raidowanie. Na dzień dobry poszło SSC (The Lurker Below,Morogrim Tidewalker), a następnie dla rozluźnienia Gruul's Lair jako, że zostało trochę czasu z zaplanowanych 4h grania.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__MGEfjzDCWY/SLu0yKwzvYI/AAAAAAAADCk/J5xKsMhBUeM/s1600-h/WoWScrnShot_082808_183807.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/__MGEfjzDCWY/SLu0yKwzvYI/AAAAAAAADCk/J5xKsMhBUeM/s320/WoWScrnShot_082808_183807.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240981365351234946" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__MGEfjzDCWY/SLu08aPbP_I/AAAAAAAADCs/T8AOZ-FoI-4/s1600-h/WoWScrnShot_082808_191446.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/__MGEfjzDCWY/SLu08aPbP_I/AAAAAAAADCs/T8AOZ-FoI-4/s320/WoWScrnShot_082808_191446.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240981541304877042" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__MGEfjzDCWY/SLu1FWWmNuI/AAAAAAAADC0/SmZYdQbRAZQ/s1600-h/WoWScrnShot_082808_201931.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/__MGEfjzDCWY/SLu1FWWmNuI/AAAAAAAADC0/SmZYdQbRAZQ/s320/WoWScrnShot_082808_201931.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240981694880036578" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__MGEfjzDCWY/SLu1Mee17JI/AAAAAAAADC8/io8dEHbai7M/s1600-h/WoWScrnShot_082808_213321.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__MGEfjzDCWY/SLu1Mee17JI/AAAAAAAADC8/io8dEHbai7M/s320/WoWScrnShot_082808_213321.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5240981817321188498" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-3934285616391177545?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-20422827888195625392008-09-01T11:05:00.002+02:002008-09-01T11:17:00.164+02:00Nowy Firmware: 01-17-080812-15-POP-40222 sierpnia ukazał się nowy firmware do Popcorn Hour. Z uwagi na wyjątkowo dziwny sposób powiadamiania o update-ach udało mi się to przegapić (kto normalny robi topic na jakimś forum na którym jak się pokaże nowy post to znaczy, że jest nowy firmware ?!?). Wracając do firmware-u, ot kilka ciekawostek, które ze sobą niesie:<br />- USB HDD spindown,<br />- Ogg Vorbis and Vorbis in MKV support,<br />- Fixed ISO crash on VESA mode,<br />- Changed to 8bpp font, should improve subtitle text,<br />- Improved bitrate throughput of playback over SMB to ~38Mbps, up from ~25Mbps. Same as NFS performance now,<br />(pełna lista zmian dostępna: <a href="http://www.networkedmediatank.com/showthread.php?tid=7138">tutaj</a>)<br />Z zauważalnych rzeczy dla mnie, to faktycznie poprawiona obsługa SMB oraz nareszcie działające poprawnie obrazy płyt DVD (można w końcu zrobić kopie kolekcji DVD na dysku, dla wygodniejszego odtwarzania).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-2042282788819562539?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-42867019672755534922008-08-20T21:48:00.003+02:002008-08-20T22:05:51.681+02:00Popcorn Hour A-110<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.popcornhour.com/userhome/onlinestore/ph-a-110.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.popcornhour.com/userhome/onlinestore/ph-a-110.jpg" border="0" alt="" /></a><br /><br /><br />No i ukazał się nowy odświeżony Popcorn Hour. W zasadzie zmiany są czysto kosmeczyne:<br /><br />- 2.5"/3.5" SATA HDD<br />- USB Slave<br />- HDMI 1.3a<br />- co-axial S/PDIF w miejsce optical S/PDIF<br /><br />Czy warto go kupić posiadając A-100... sądzę że nie. Zasadniczo nowa wersja nie niesie za sobą żadnej rewolucji, ani znaczących zmian. Jeżeli już ktoś posiada wersje A-100 i dokupił do niej dysk ATA, to bez sensu wymieniać to na SATA. HDMI 1.3a bardzo ładnie wygląda tylko, żeby faktycznie z tego korzystać trzeba mieć jeszcze odpowiedni sprzęt audio który pozwoli na "usłyszenie" dobrodziejstw DTS HD-HR, DTS HD-MA, Dolby Digital Plus oraz Dolby TrueHD no i content który będzie posiadał ten dźwięk. Zakładając, że ktoś posiada już odpowiedni sprzęt audio nie sądzę żeby bawiło go przerzucanie contentu specjalnie na Popcorn, skoro posiada już płytę. Dalej USB Slave może to i szybsze niż Ethernet (mój popcorn 100Mbit/s po ftp to raczej nie chce trzymać, wręcz daleko mu do tego), ale z drugiej strony specjalnej różnicy raczej nikomu nie robi czy będzie miał coś minutę szybciej czy wolniej. Poza 1080p, które faktycznie streamowane przez Ethernet nie działa najlepiej, to reszta wyrabia się w zupełności w A-100, natomiast z dysku chodzi wszystko płynnie.<br /><br />Reasumując Popcorn Hour dobrze, że przeszedł lekkie odświeżenie, ale nie zaszły w nim żadnej istotne zmiany, które mogły by sugerować potrzebę wymiany starego A-100 na A-110. Sądzę, że zmiany miały raczej na celu utarcie nosa konkurencji, która wytykała A-100 np. brak podłączenia dysków SATA.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-4286701967275553492?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-9420595164615746352008-08-04T11:47:00.006+02:002008-08-04T12:12:31.829+02:00Import exist bind into smbind<a href="http://sourceforge.net/projects/smbind">Smbind</a> bring simple PHP-based tool for managing DNS zones for BIND via the web. Since I don't really want atm change BIND into BIND-DLZ, Smbind looks nice and it's really simple to change anything at webpanel.<br /><br />There is one small problem. Smbind doesn't provide any scripts to import exist bind zones into DB. So create one:<br /><br />file: <a href="http://persephone.gforces.co.uk/~lcf/import.rb">import.rb</a><br /><br />Import from slave dns, cause that files create BIND and got regular structure. Files to import are in 'slave' dir.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-942059516461574635?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-32208070059625068422008-07-31T11:31:00.007+02:002008-07-31T12:04:25.834+02:00EC2 and pgpoolSome tips how to make PostgreSQL backends with pgpool work at Amazon EC2:<br /><br />First of all I made script witch keeps all IP's all useful backends:<br />name: machine.rb<br />#v+<br /><code><pre><br />require 'resolv'<br /><br />class Machine<br /><br /> IMAGES = {<br /> 'www' => ['ami-12345678'],<br /> 'db' => ['ami-23456789'],<br /> 'pooler' => ['ami-34567890'],<br /> }<br /><br /> MACHINES = {<br /> 'www' => [],<br /> 'db' => [],<br /> 'pooler' => [],<br /> }<br /><br /> def self.getips<br /> output=`ec2-describe-instances`<br /> raise 'Not working: ' + output if !output.match(/^RESERVATION/)<br /> output.split("\n").each do |line| <br /> IMAGES.each do |type, amis|<br /> amis.each do |ami|<br /> if line.match('\s' + ami + '\s.*?running')<br /> ip = Resolv.getaddress(line.split[3])<br /> MACHINES[type] << ip <br /> end<br /> end<br /> end<br /> end<br /> MACHINES<br /> end<br />end<br /></pre></code><br />#v-<br /><br />So after call 'Machine.getips' I will receive table with www,db,pooler and IPs. Now lets say I wanna create /etc/hosts with current list all my backends (useful for csync2 witch need hosts not IP)<br /><br />name: createhosts.rb<br />#v+<br /><code><pre><br />#!/usr/bin/ruby<br /><br />require '/path/to/machine.rb'<br />require "ftools"<br /><br />def command_output(command)<br /> output = nil<br /> IO.popen(command) do |f| output = f.readlines end<br /> output<br />end<br /><br />ips = Machine.getips<br />local_ip = command_output('/sbin/ip addr show eth0')[2][/inet (.*?)\//,1]<br /><br />if File.exists?("/etc/hosts") == false<br /> f = File.new("/etc/hosts", "w+")<br /> f.close<br />end<br /><br />f = File.open('/etc/hosts.tmp','w')<br /><br />f.puts "127.0.0.1 localhost\n" +<br /> ips['pooler'][0] + " db.pooler\n" +<br /> local_ip + " " + local_ip.gsub(/\./,'_') + ".domain " + local_ip.gsub(/\./,'_') + "\n" +<br /> local_ip + " pooler.domain pooler\n"<br /><br />ips['www'].each do |ip|<br /> f.puts ip + " " + ip.gsub(/\./,'_')<br />end<br /><br />ips['db'].each do |ip|<br /> f.puts ip + " " + ip.gsub(/\./,'_')<br />end<br /><br /><br />f.close<br /><br />File.move("/etc/hosts.tmp", "/etc/hosts")<br /></pre></code><br />#v-<br /><br />Also it's easy to create some script for certain use like this:<br /><br />name: getpooler.rb<br />#v+<br /><code><pre><br />#!/usr/bin/ruby<br /><br />require '/path/to/machine.rb'<br /><br />puts Machine.getips['pooler'][0]<br /></pre></code><br />#v-<br /><br />Witch gimme IP of host with pgpool.<br /><br />Now let's say I got fresh Fedora Core 9 with postgresql. At /etc/rc.d/rc.local of my image put such line:<br /><code><pre><br />echo "host all all `/path/to/getpooler.rb` 255.255.254.0 trust" >> /var/lib/pgsql/data/pg_hba.conf<br /></pre></code><br /><br />So trust access will be from my pgpool host. Postgresql.conf file it's goot to keep in some SVN, so easy to change there options. So correct create image should give us always fresh image of postgresql witch know where is pgpool.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-3220807005962506842?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com0tag:blogger.com,1999:blog-4110123906005446292.post-56076037872007661542008-07-17T12:10:00.002+02:002008-07-17T12:19:36.212+02:00Fatboy Slim: Big Beach Boutique II - Live On Brighton Beach DVD<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__MGEfjzDCWY/SH8bWYK8cmI/AAAAAAAADBs/qAKdpCCXh0A/s1600-h/201621.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/__MGEfjzDCWY/SH8bWYK8cmI/AAAAAAAADBs/qAKdpCCXh0A/s320/201621.jpg" alt="" id="BLOGGER_PHOTO_ID_5223924164032492130" border="0" /></a><br />Świetna impreza, genialnego Fatboy Slim-a. Jak imprezować to tylko na imprezach z jego udziałem. Gorąco polecam.<br /><br />ps. Poszukuje gdzie można kupić _oryginalną_ płytkę z <b class="asinTitle"><span id="btAsinTitle">Fatboy Slim - In Brazil - Incredible Adventures</span></b><span class="asinTitle"><span id="btAsinTitle">. Jak ktoś ma jakiekolwiek namiary proszę o informacje.<br /></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4110123906005446292-5607603787200766154?l=blog.jagiello.org'/></div>LCFhttp://www.blogger.com/profile/14584954917069774835jagiello.lukasz@gmail.com2