bitPrison.net - Web development
http://bitprison.net/blog-categories/web-development
enHTTP AUTH logout method
http://bitprison.net/http-auth-logout
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>This code cause logout feeling for your user. The browser will ask again the username and password.</p>
<pre class="prettyprint linenums"><code><?php<br /> header('WWW-Authenticate: Basic realm="protected area"');<br /> header('HTTP/1.0 401 Unauthorized');<br />?></code></pre><p>
I use it with a logout controller, that set a session variable to true and redirect the request to the home page. And the home page check this session variable, and if it true, it sends these headers and set back the session variable to null. </p>
<p>This is my method, but you can use this HTTP auth logout method as you like.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/121" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>webtools</a>
<a href="taxonomy/term/127" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Webapplication</a>
<a href="taxonomy/term/129" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>HTTP</a>
<a href="taxonomy/term/130" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>auth</a>
<a href="taxonomy/term/131" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>logout</a></div><div class="field field-name-field-image field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/http-auth-logout"><img typeof="foaf:Image" src="http://bitprison.net/sites/bitprison.net/files//blog_images/lock.jpg" width="3648" height="2736" alt="HTTP Authentication" title="HTTP Authentication" /></a></div></div></div>Tue, 12 Mar 2013 12:27:23 +0000Jozsef71 at http://bitprison.nethttp://bitprison.net/http-auth-logout#commentsOpen Source CRM Comparison
http://bitprison.net/content/open-source-crm-comparison
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I would like to choose an ideal CRM for a client. It must be open source. But I don't know CRM systems. I'm starting discover world of CRM systems by this post.</p>
<p><strong>1. Zurmo</strong></p>
<p>Pro:<br />
Awesome design and user interface<br />
Fast ajax and Yii in use<br />
You can configure data structures (contact, company, task, meeting). You can extend anything with custom fields.</p>
<p>Con:<br />
Very young CRM with actually smaller community than other CRMs<br />
Some feature is missing: E-mail marketing, Google Calendar integration, etc.</p>
<p><strong>2. vTiger</strong></p>
<p>Pro:<br />
It has experience.</p>
<p>Con:<br />
Ugly design...<br />
Too complicated<br />
Too much feature for a small company</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/126" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>CRM</a>
<a href="taxonomy/term/127" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Webapplication</a></div>Fri, 01 Mar 2013 08:07:21 +0000Jozsef68 at http://bitprison.nethttp://bitprison.net/content/open-source-crm-comparison#commentsFastest and easy to use URL shortener
http://bitprison.net/url-shortener
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Here is my favorite <a href="http://resize-links.com">URL shortener</a> tool: <a href="http://rx.hu">RX.hu</a>. This is fast and really easy to use <a href="http://resize-links.com">URL shortener</a>. There are some alias for it: <a href="http://resize-linx.com">resize-linx.com</a>, <a href="resize-links.com">resize-links.com</a>, <a href="http://resizelinks.com">resizelinks.com</a>, etc. All of these are the same link shortener tool. No advertisement all. There is the fastest redirection that I have ever seen. Try it and use it.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/119" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>url shortener</a>
<a href="taxonomy/term/120" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>link shortener</a>
<a href="taxonomy/term/121" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>webtools</a></div>Tue, 31 Jul 2012 13:57:46 +0000Jozsef65 at http://bitprison.nethttp://bitprison.net/url-shortener#commentsjQuery link click href value
http://bitprison.net/jquery_link_click_href_value
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I've wrote these words on google. And I don't find the exact solution.</p>
<p>The problem:<br />
What Should I write in the href? If I write # sign then browser go to the top of page. I wouldn't like to go to the top of page.</p>
<p>Here is the HTML:</p>
<pre class="prettyprint linenums"><code><a href="#" id="example" >Click</a></code></pre><p>
jQuery code:</p>
<pre class="prettyprint linenums"><code><script><br />$('#example').click(function() {<br /> alert('Hello');<br /> return false;<br />});<br /></script></code></pre><p>
The<br /><code class="prettyprint linenums">return false;</code><br />
command is the key. When use this return value. The links lost their default behavior.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/104" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>javascript</a>
<a href="taxonomy/term/105" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>html</a>
<a href="taxonomy/term/114" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>jquery</a></div>Wed, 02 Nov 2011 18:24:28 +0000Jozsef61 at http://bitprison.nethttp://bitprison.net/jquery_link_click_href_value#commentsPHP normalize function
http://bitprison.net/php_normalize_string_function
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I post my normalization function. This function find all illegal characters (like: Ő, Ű, ú, í, etc. ) and replace it to latin1 chars. (like: O, U, u, i, etc.) This function works for me on hungarian words. Try it on your text and post your comment about it.</p>
<pre class="prettyprint linenums"><code><?php<br />function normalize($string) {<br /> $string = strtr($string, array('ő' => 'o', 'ű' => 'u', 'Ő' => 'O', 'Ű' => 'U'));<br /> $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖŐØÙÚÛÜŰÝÞßàáâãäåæçèéêëìíîïðñòóôõöőøùúûűüýýþÿŔŕ';<br /> $b = 'AAAAAAACEEEEIIIIDNOOOOOOOUUUUUYbsaaaaaaaceeeeiiiidnooooooouuuuuyybyRr';<br /> $string = utf8_decode($string); <br /> $string = strtr($string, utf8_decode($a), $b);<br /> return utf8_encode($string); <br />}<br />?></code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a></div>Fri, 07 Oct 2011 09:54:58 +0000Jozsef60 at http://bitprison.nethttp://bitprison.net/php_normalize_string_function#commentsLocomotive CMS
http://bitprison.net/cms_rails3_mongodb
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Today, I found a really good <a href="http://locomotivecms.com">CMS</a>. I'm looking for <a href="http://bitprison.net/rails3-cms-solutions-2011">ruby 3 CMS</a> for a while. I found this CMS solution that use my favorite NoSQL database system: <a href="http://mongodb.org">MongoDB</a>. I think multi site feature is rare in ror applications. Locomotive CMS do it.</p>
<p>Locomotive is an open source CMS for Rails 3. It's super flexible and integrates with Heroku and Amazon </p>
<p>Some features from <a href="http://locomotivecms.com/features">technical Specs</a>:<br />
My favorite point: <a href="http://www.mongodb.org/">MongoDB</a> with <a href="http://mongoid.org/">Mongoid</a><br />
I've already used in some project: <a href="">Devise</a> authentication solution. I think this is the best authentication gem.<br /><a href="http://haml-lang.com">HAML</a>: HTML Abstraction Markup Language. I think SASS and HAML make easy html writing.<br />
The following items were totally new for me: </p>
<ul><li>
<a href="http://www.liquidmarkup.org/">Liquid</a><br /><em>Safe, customer facing template language</em>
</li>
<li>
<a href="https://github.com/justinfrench/formtastic">Formtastic</a><br /><em>Form builder with semantically rich / accessible markup</em>
</li>
<li>
<a href="https://github.com/josevalim/inherited_resources">InheritedResources</a><br /><em>Makes controllers more powerful and cleaner</em>
</li>
<li>
<a href="http://carrierwave.rubyforge.org">Carrierwave</a><br /><em>Classier solution for file uploads</em>
</li>
<li>
<a href="https://github.com/railsjedi/jammit-s3">Jammit-S3</a><br /><em>Industrial Strength Asset Packaging</em>
</li>
</ul><p>I try this awesome CMS and I will post about my experiences.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a>
<a href="taxonomy/term/95" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>design</a></div>Mon, 18 Jul 2011 18:15:30 +0000Jozsef59 at http://bitprison.nethttp://bitprison.net/cms_rails3_mongodb#commentsResolve Ruby on Rails UTF-8 error message: invalid multibyte char (US-ASCII)
http://bitprison.net/invalid_multibyte_char_US-ASCII
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I got the following error when i run a rake db:seed command on may RoR application:<br /><strong>invalid multibyte char (US-ASCII)</strong></p>
<p>I found the soution and the error has gone away:<br /><strong>You should add a line to your file:</strong></p>
<pre class="prettyprint linenums"><code># encoding: utf-8</code></pre><p>
You can change the utf-8 to any other encoding that you use.<br />
I added this line to my seeds.rb file and all UTF-8 code have been executed without errors.</p>
<p>Update:<br />
The good news: ruby 2.0+ has utf-8 default encoding. If you use 2.0 or newer you don't need to insert this line to your code.</p>
<p>Good luck!</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a></div>Fri, 11 Feb 2011 11:02:21 +0000Jozsef57 at http://bitprison.nethttp://bitprison.net/invalid_multibyte_char_US-ASCII#commentsRails 3 Content Management Systems (CMS) - 2011
http://bitprison.net/rails3-cms-solutions-2011
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I've collected all open source CMS based on rails 3.x.</p>
<h3>Rails CMS/Wiki/Forum</h3>
<p>This is a very simple but feature rich CMS framework. It is good startpoint for a new rails project what will be wiki, Forum or CMS</p>
<p>Source: <a href="https://github.com/jlapier/Rails-CMS-Wiki-Forum">https://github.com/jlapier/Rails-CMS-Wiki-Forum</a></p>
<h3>Casein CMS</h3>
<p>This is a very minimal and lightweight CMS. Only users table created on rak db:migrate. It is a good start point for any content based application. This application scaffolding your rails app with a very beauty user interface.</p>
<p>Website: <a href="http://www.caseincms.com/">http://www.caseincms.com/</a><br />
Source: <a href="https://github.com/spoiledmilk/casein3">https://github.com/spoiledmilk/casein3</a></p>
<h3>ADVA CMS2</h3>
<p>This CMS is not running on ruby 1.9.2. So I can't try out it.</p>
<p>Website: <a href="http://adva-cms.org/">http://adva-cms.org/</a><br />
Source: <a href="https://github.com/svenfuchs/adva-cms2">https://github.com/svenfuchs/adva-cms2</a></p>
<h3>Refinery CMS</h3>
<p>This CMS is work perfectly out of the box. It useable by a non programmer user too.</p>
<p>Website: <a href="http://refinerycms.com/">http://refinerycms.com/</a><br />
Source: <a href="https://github.com/resolve/refinerycms">https://github.com/resolve/refinerycms</a><br />
Demo: <a href="http://demo.refinerycms.com/refinery">http://demo.refinerycms.com/refinery</a></p>
<h3>Radiant CMS</h3>
<p>This is a very old CMS with still active development team. I think this is a usable CMS for a programmer.</p>
<p>Website: <a href="http://radiantcms.org/">http://radiantcms.org/</a><br />
Source: <a href="https://github.com/radiant/radiant/tree/rails3">https://github.com/radiant/radiant/tree/rails3</a><br />
Demo: <a href="http://radiantcms.org/demo/">http://radiantcms.org/demo/</a></p>
<!--
<h3><p>SkyLine CMS</h3>
<p>Website: <a href="http://www.skylinecms.nl/">http://www.skylinecms.nl/</a><br />
Source: <a href="https://github.com/digitpaint/skyline">https://github.com/digitpaint/skyline</a><br />
Demo: <a href="http://www.skylinecms.nl/overview/live_demo">http://www.skylinecms.nl/overview/live_demo</a><br />
-->
<h3>Typo weblog engine</h3>
<p>This is a blog engine, but you can use as CMS.</p>
<p>Website: <a href="http://fdv.github.com/typo/">http://fdv.github.com/typo/</a><br />
Source: <a href="https://github.com/fdv/typo/">https://github.com/fdv/typo/</a><br />
Demo: <a href="http://demo.typosphere.org/">http://demo.typosphere.org/</a></p>
<p><em>Update (2011-07-18):</em></p>
<h3>Locomotive CMS</h3>
<p>A great NoSQL CMS. It uses MongoDB. I'm very happy to see this new CMS.</p>
<p>Website: <a href="http://locomotivecms.com/">http://locomotivecms.com</a><br />
Source: <a href="https://github.com/locomotivecms/engine">https://github.com/locomotivecms/engine</a><br />
Demo: <a href="http://demo.locomotivecms.com/admin">http://demo.typosphere.org/</a></p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a>
<a href="taxonomy/term/107" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>cms</a></div>Mon, 07 Feb 2011 17:25:27 +0000Jozsef55 at http://bitprison.nethttp://bitprison.net/rails3-cms-solutions-2011#commentshow to install Ruby on rails webshop?
http://bitprison.net/content/how-install-ruby-rails-webshop
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>You have installed RoR3 and now you want to install a rails3 webshop.</p>
<p>I think the best solution is Spree. This is the only rails3 based e-commerce solution at this time.</p>
<p>How do you install this shop?</p>
<pre class="prettyprint linenums"><code>rails new rails3-shop<br />cd rails3-shop</code></pre><p>
edit Gemfile and add new line</p>
<pre class="prettyprint linenums"><code>gem 'spree'</code></pre><p>
Install new spree site.</p>
<pre class="prettyprint linenums"><code>rails g spree:site<br />rake spree:install<br />rake db:migrate<br />rake db:seed<br />rails server</code></pre><p>
The rails server command starts the webrick server. You should go to http://localhost:3000/ to check spree.<br />
The first registration will be the admin user.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a>
<a href="taxonomy/term/106" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>webshop</a></div>Fri, 04 Feb 2011 15:52:03 +0000Jozsef54 at http://bitprison.nethttp://bitprison.net/content/how-install-ruby-rails-webshop#commentsHow to use function value as default argument value?
http://bitprison.net/php_default_argument_as_function_value
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><pre class="prettyprint linenums"><code>function foo($year = date('Y')) {<br /> // this is invalid<br />}</code></pre><p>
So, how should do it?</p>
<pre class="prettyprint linenums"><code>define('THIS_YEAR', date('Y'));<br />function bar($year = THIS_YEAR) {<br /> // this is valid<br />}</code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a></div>Tue, 11 Jan 2011 20:50:44 +0000Jozsef53 at http://bitprison.nethttp://bitprison.net/php_default_argument_as_function_value#commentsHTML number formatting with PHP
http://bitprison.net/php_number_formatting
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Here is my HTML number formatter. Sometimes the browsers wrap the numbers along thousand separator or decimal pont, but this function prevents this event.</p>
<pre class="prettyprint linenums"><code>function html_number_format($number, $decimals = 2, $dec_point = '.', $thousands_sep = ',') {<br /> if ($number === FALSE) {<br /> return '---';<br /> }<br /> return '<span style="white-space: nowrap;">'.number_format($number, $decimals, $dec_point, $thousands_sep).'</span>';<br />}</code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/95" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>design</a>
<a href="taxonomy/term/105" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>html</a></div>Tue, 04 Jan 2011 07:32:16 +0000Jozsef52 at http://bitprison.nethttp://bitprison.net/php_number_formatting#commentsClickable flash banner on HTML page
http://bitprison.net/clickable_flash_banner_on_html_page
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>See the following code:</p>
<pre class="prettyprint linenums"><code><div style="background-color: #fff; border: 1px solid #000;"><br /><OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="214" HEIGHT="200" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"><br /><PARAM NAME="MOVIE" VALUE="http://banner.example.com/banner.swf"><br /><PARAM NAME="PLAY" VALUE="true"><br /><PARAM NAME="LOOP" VALUE="true"><br /><PARAM NAME="QUALITY" VALUE="high"><br /><PARAM NAME="SCALE" value="noborder"><br /><EMBED SRC="http://banner.example.com/banner.swf" WIDTH="214" HEIGHT="200" PLAY="true" LOOP="true" <br />QUALITY="high" scale="noborder" <br />PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" <br />allowscriptaccess="always"></EMBED><br /></OBJECT><br /></div></code></pre><p>
The most important is <strong>allowscriptaccess="always"</strong> option. This make clickable flash programmed links on banner.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/95" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>design</a>
<a href="taxonomy/term/103" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>flash</a></div>Thu, 25 Nov 2010 22:45:55 +0000Jozsef50 at http://bitprison.nethttp://bitprison.net/clickable_flash_banner_on_html_page#commentsDeploy rack applciaton
http://bitprison.net/sinatra_application_on_passenger
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Make config.ru with following content:</p>
<pre class="prettyprint linenums"><code>require 'rubygems'<br />require 'sinatra'<br />require './my_sinatra_application.rb'<br /><br />run Sinatra::Application</code></pre><p>
You have to run bundle command. This will be install all necessary gems that listed in Gemfile.</p>
<p>You find debug log in default apache 2 error log files. This is /var/log/apache2/error.log in my case.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/26" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Linux</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a>
<a href="taxonomy/term/51" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Unix admin</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/25" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>linux</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/101" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>passenger</a>
<a href="taxonomy/term/102" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>sinatra</a></div>Mon, 22 Nov 2010 16:30:26 +0000Jozsef49 at http://bitprison.nethttp://bitprison.net/sinatra_application_on_passenger#commentsHow to use Padrino with mongodb
http://bitprison.net/padrino_mongodb
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><a href="http://www.padrinorb.com">Padrino</a> is a ruby framework built upon the excellent Sinatra Microframework.</p>
<pre class="prettyprint linenums"><code>$ padrino g project blog -d mongomapper -t rspec -s jquery -e haml -c compass<br /> create <br /> create config.ru<br /> create public/favicon.ico<br /> create config/apps.rb<br /> create config/boot.rb<br /> create app<br /> create app/app.rb<br /> create app/controllers<br /> create app/helpers<br /> create .components<br /> create Gemfile<br />Applying 'mongomapper' (orm)...<br /> apply orms/mongomapper<br /> inject Gemfile<br /> inject Gemfile<br /> create config/database.rb<br /> create app/models<br />Applying 'rspec' (test)...<br /> apply tests/rspec<br /> inject Gemfile<br /> inject Gemfile<br /> create spec/spec_helper.rb<br /> create spec/spec.rake<br />Skipping generator for mock component...<br />Applying 'jquery' (script)...<br /> apply scripts/jquery<br /> create public/javascripts/jquery.js<br /> create public/javascripts/application.js<br />Applying 'haml' (renderer)...<br /> apply renderers/haml<br /> inject Gemfile<br />Applying 'compass' (stylesheet)...<br /> apply stylesheets/compass<br /> inject Gemfile<br /> create lib/compass_plugin.rb<br /> inject app/app.rb<br /> create app/stylesheets<br /> create app/stylesheets/application.scss<br /> create app/stylesheets/partials/_base.scss<br /> identical .components<br /><br />=================================================================<br />blog is ready for development! Next, follow these steps:<br />=================================================================<br />1) cd blog<br />2) bundle install<br />=================================================================<br /><br />$ cd blog<br />$ bundle install<br />Fetching source index for http://rubygems.org/<br />Using rake (0.8.7) <br />Using activesupport (3.0.0) <br />Installing bson (1.1) <br />Installing bson_ext (1.1) with native extensions <br />Using bundler (1.0.2) <br />Installing haml (3.0.21) <br />Installing compass (0.10.5) <br />Installing daemons (1.1.0) <br />Installing eventmachine (0.12.10) with native extensions <br />Using git (1.2.5) <br />Using rack (1.2.1) <br />Using url_mount (0.2.1) <br />Using http_router (0.4.0) <br />Using i18n (0.4.1) <br />Installing jnunemaker-validatable (1.8.4) <br />Using mime-types (1.16) <br />Using polyglot (0.3.1) <br />Using treetop (1.4.8) <br />Using mail (2.2.6.1) <br />Installing mongo (1.0.9) <br />Installing plucky (0.3.5) <br />Installing mongo_mapper (0.8.4) <br />Using sinatra (1.0) <br />Using thor (0.14.3) <br />Using tzinfo (0.3.23) <br />Using padrino-core (0.9.18) <br />Using padrino-helpers (0.9.18) <br />Using padrino-admin (0.9.18) <br />Using padrino-gen (0.9.18) <br />Using padrino-mailer (0.9.18) <br />Using padrino (0.9.18) <br />Installing rack-flash (0.1.1) <br />Using rack-test (0.5.6) <br />Installing rspec (1.3.0) <br />Installing thin (1.2.7) with native extensions <br />Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.<br /><br />Your bundle was installed to `/usr/local/rvm/gems/ruby-1.9.2-p0@global`</code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/96" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>padrino</a></div>Thu, 07 Oct 2010 11:32:54 +0000Jozsef46 at http://bitprison.nethttp://bitprison.net/padrino_mongodb#commentsCompass and 960gs comparison
http://bitprison.net/compass_and_960gs
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I've read a great <a href="http://engineeredweb.com/blog/10/3/showdown-blueprint-vs-960-grid">article about 960.gs and compass comparison</a>. This article may help you chose the right CSS framework for your project.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/94" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>css</a>
<a href="taxonomy/term/95" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>design</a></div>Thu, 07 Oct 2010 10:10:57 +0000Jozsef45 at http://bitprison.nethttp://bitprison.net/compass_and_960gs#commentsHow to install Phusion Passenger for ruby 1.9.2
http://bitprison.net/install_passenger_ruby_1.9.2
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>There are some easy steps to install <a href="http://www.phusion.nl">Phusion Passenger</a> for ruby 1.9.2 and apache2 on Ubuntu Linux. </p>
<p>1. Install rvm system wide<br /><code type="bash"><br />
sudo bash < <( curl -L http://bit.ly/rvm-install-system-wide )<br /></code></p>
<p>2. Install ruby 1.9.2<br /><code><br />
rvm install 1.9.2<br /></code></p>
<p>3. add new line in /etc/bash.bashrc<br /><code><br />
[[ -s /usr/local/lib/rvm ]] && . /usr/local/lib/rvm<br /></code></p>
<p>4. install passenger<br /><code type="bash"><br />
sudo -i # you need root shell<br />
rvm use 1.9.2-p0@global # or your version, use: rvm list<br />
gem install passenger --pre # only passenger 3 works with 1.9.2 that is in beta state<br /></code></p>
<p>5. install apache module<br /><code type="bash"><br />
passenger-install-apache2-module<br /></code></p>
<p>6. create /etc/apache2/mods-available/passenger.load file for loading<br />
/usr/local/rvm/gems/ruby-1.9.2-p0@global/gems/passenger-3.0.0.pre4/ext/apache2/mod_passenger.so file:<br /><code><br />
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p0@global/gems/passenger-3.0.0.pre4/ext/apache2/mod_passenger.so<br /></code></p>
<p>7. create /etc/apache2/mods-available/passenger.conf file:<br /><code><br />
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p0@global/gems/passenger-3.0.0.pre4<br />
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p0@global/ruby<br /></code></p>
<p>8. Optional virtual host in the common way<br />
Suppose you have a Rails application in /somewhere. Add a virtual host to your<br />
Apache configuration file and set its DocumentRoot to /somewhere/public:<br /><code></code></p>
<p> ServerName www.yourhost.com<br />
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!</p>
<p> AllowOverride all # <-- relax Apache security settings<br />
Options -MultiViews # <-- MultiViews must be turned off</p>
<p></p>
<p>9. Enable passenger module and config<br /><code type="bash"><br />
a2enmod passenger<br /></code></p>
<p>10. restart apache<br /><code type="bash"><br />
/etc/init.d/apache2 restart<br /></code></p>
<p>11. Deploy your ruby on rails or rack based application.</p>
<p>Sources:<br /><a href="http://rvm.beginrescueend.com/deployment/system-wide/">http://rvm.beginrescueend.com/deployment/system-wide/</a><br /><a href="http://www.modrails.com/documentation/Users%20guide%20Apache%203.0.html">http://www.modrails.com/documentation/Users%20guide%20Apache%203.0.html</a></p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/26" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Linux</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a>
<a href="taxonomy/term/51" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Unix admin</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/25" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>linux</a>
<a href="taxonomy/term/38" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>apache</a>
<a href="taxonomy/term/52" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>system admin</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a></div>Sun, 03 Oct 2010 10:32:59 +0000Jozsef44 at http://bitprison.nethttp://bitprison.net/install_passenger_ruby_1.9.2#commentsPHP: easy to use open-source Timer class
http://bitprison.net/php_timer_class_easy_to_use
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>I share my Timer class with you. This is an easy to use class. If you use this you will never have to think about the way of execution time measuring.</p>
<!--break--><h3>PHP Timer class</h3>
<pre class="prettyprint linenums"><code><?php<br />/**<br /> * Usage:<br /> * $timer = new Timer();<br /> * // Run some important slow or fast commands...<br /> * echo $timer;<br /> * <br /> * <small>Execution time: 3.456434 sec</small><br /> */<br />class Timer {<br /> /**<br /> * Microtime when object has started in second.<br /> * @var float<br /> */<br /> protected $time;<br /><br /> /**<br /> * Output string for display ellapsed time.<br /> * @var string sprintf formatted string.<br /> */<br /> protected $template;<br /><br /> public function __construct($template = '<small>Execution time: %f sec</small>') {<br /> $this->template = $template;<br /> $this->reset();<br /> }<br /><br /> /**<br /> * Get elapsed time.<br /> * @return float Ellapsed time since object creation in second.<br /> */<br /> public function getTime() {<br /> return microtime(TRUE) - $this->time;<br /> }<br /><br /> /**<br /> * Set timer to zero. And start again.<br /> */<br /> public function reset() {<br /> $this->time = microtime(TRUE);<br /> }<br /><br /> public function __toString() {<br /> $time = $this->getTime(); //<br /> return sprintf($template, $time);<br /> }<br />}<br />?></code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/86" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>benchmark</a>
<a href="taxonomy/term/87" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>tool</a>
<a href="taxonomy/term/88" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>class</a></div>Thu, 29 Apr 2010 16:39:36 +0000Jozsef40 at http://bitprison.nethttp://bitprison.net/php_timer_class_easy_to_use#commentsHow can you generate thumbnail with php?
http://bitprison.net/php_thumnail_generating_response
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>You can read about two popular thumbnail generating methods in this article. The first method requires <a href="http://www.php.net/manual/en/book.image.php" title="Further information about GD library is available on php.net">GD library</a>. If you select the other way you need <a href="http://www.php.net/manual/en/book.imagick.php">Imagick</a> which is a native php extension to create and modify images using the ImageMagick API. Let's see the code!</p>
<!--break--><h3>First method: GD library</h3>
<pre class="prettyprint linenums"><code>function gd_thumbnail($filename, $width = 200, $height = 200) {<br /> $source = imageCreateFromString(file_get_contents($filename));<br /> $x = imageSX($source);<br /> $y = imageSY($source);<br /><br /> if ($x > $y) { // landscape orientation<br /> $height = intval($y/($x/$width));<br /> } else { // square or portrait orientation<br /> $width = intval($x/($y/$height));<br /> }<br /><br /> $destination = ImageCreateTrueColor($width, $height);<br /> imageCopyResamled($destination, $source, 0, 0, 0, 0, $width, $height, $x, $y);<br /> imagejpeg($destination, NULL, 92);<br />}</code></pre><h3>Second method: Imagick extension</h3>
<pre class="prettyprint linenums"><code>function im_thumbnail($filename, $width = 200, $height = 200) {<br /> $image = new Imagick($filename);<br /> $image->thumbnailImage($width, $height, TRUE);<br /> echo $image;<br />}</code></pre><h3>Usage</h3>
<p>You can generate thumbnail image to visitor's browser:</p>
<pre class="prettyprint linenums"><code>header('Content-type: image/jpeg');<br />im_thumbnail('path/to/image.jpg'); // you can use gd_thumbnail() here</code></pre><p>This code will response a JPEG image.</p>
<p>You can save thumbnail image to file:</p>
<pre class="prettyprint linenums"><code>$fileContent = gd_thumbnail('path/to/image.jpg'); // you can use im_thumbnail() here<br />file_put_contents('path/to/image_thumbnail.jpg', $fileContent); // save image</code></pre><p>
This is very easy, isn't it?</p>
<p>Have a nice day, and use these code as you need.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/22" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Photography</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/85" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>image processing</a></div>Mon, 26 Apr 2010 20:28:11 +0000Jozsef39 at http://bitprison.nethttp://bitprison.net/php_thumnail_generating_response#commentsPHP GD2 vs Imagick
http://bitprison.net/content/php-gd2-vs-imagick
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><strong>Original</strong></p>
<p><img src="http://bitprison.net/sites/bitprison.net/files/IMG_4449.JPG" /></p>
<p><strong>GD2 thumbnail</strong><br /><img src="http://bitprison.net/sites/bitprison.net/files/gd.jpeg" /></p>
<p><strong>Imagick thumbnail</strong><br /><img src="http://bitprison.net/sites/bitprison.net/files/im.jpeg" /></p>
<pre class="prettyprint linenums"><code><?php<br />//include('tmp/Timer.php');<br /><br /><br /><br />function gd_thumbnail($filename, $width = 200, $height = 200) {<br /> $source = imageCreateFromString(file_get_contents($filename));<br /> $x = imageSX($source);<br /> $y = imageSY($source);<br /><br /> if ($x > $y) { // landscape orientation<br /> $height = intval($y/($x/$width));<br /> } else { // square or portrait orientation<br /> $width = intval($x/($y/$height));<br /> }<br /><br /> $destination = ImageCreateTrueColor($width,$height);<br /> imageCopyResampled($destination,$source,0,0,0,0,$width,$height,$x,$y);<br /> imagejpeg($destination);<br />}<br /><br />function im_thumbnail($filename, $width= 200, $height = 200) {<br /> $image = new Imagick($filename);<br /> $image->thumbnailImage($width, $height, TRUE);<br /> echo $image;<br />}<br /><br />header('Content-type: image/jpeg');<br /><br /><br />//$t = new Timer();<br /><br />im_thumbnail('IMG_4449.JPG');<br /><br />//echo $t;<br />?></code></pre></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/22" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Photography</a>
<a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/82" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>image</a>
<a href="taxonomy/term/83" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>resize</a>
<a href="taxonomy/term/84" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>thumbnail</a></div>Fri, 23 Apr 2010 13:56:52 +0000Jozsef38 at http://bitprison.nethttp://bitprison.net/content/php-gd2-vs-imagick#commentsPHP: How to get public properties of object
http://bitprison.net/php_get_public_properties
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Sometimes you need all public properties of an object. I've also met this problem. I tried to find some usable native function on php.net, but the only native solution is the ReflectionProperty class. I think It claims too much resource. I've written an own function that has solved this issue.</p>
<h3>Let's see the function</h3>
<pre class="prettyprint linenums"><code>/**<br /> * It gets all public properties of given $object.<br /> * @param object $object It must be object.<br /> * @return array that contains all public property name as key and their values. example:<br /> * array('property1' => array('foo'), 'property2' => false);<br /> */<br />function getPublicProperties($object) {<br /> $result = get_object_vars($object);<br /> if ($result === NULL or $result === FALSE) {<br /> throw new ValueException('Given $object parameter is not an object.');<br /> }<br /> return $result;<br />}</code></pre><h3>Why does this function work so good?</h3>
<p>This function works well when you call inside actual object either you call outside the object, because in both situation the function can see only public properties. The result is a hash. You can search faster on hash than in number indexed array: <code class="prettyprint linenums">isset($hash['property'])</code> or <code class="prettyprint linenums">array_key_exists('property', $hash)</code> is faster than <code class="prettyprint linenums">in_array('property', $array)</code> would be. So we are lucky because <code class="prettyprint linenums">get_object_vars($object);</code> returns with hash. The keys of this hash are the name of property.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a>
<a href="taxonomy/term/81" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>object</a></div>Fri, 16 Apr 2010 10:08:48 +0000Jozsef37 at http://bitprison.nethttp://bitprison.net/php_get_public_properties#commentsHow to generate dynamic javascript files with Ruby on Rails?
http://bitprison.net/rails3_dynamic_javascript
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><h2>The problem</h2>
<p>I want to write JavaScript files that use dynamic informations via Ruby on Rails. I think my solution also works with rails 2 and 3.<br />
What can dynamic JavaScript do for you? You can write JavaScript on your ERB (embedded ruby) file beside HTML code. This is very simple, but not the best solution for a longer jQuery script.<br />
For example:<br />
Translation in JavaScript: translation with I18n.t() Rails method would be great in separated JavaScript file with ERB capability.</p>
<pre class="prettyprint linenums"><code>// some jquery code before alert<br />alert(<%= I18n.t(:forbidden_message) %>);<br />// some jquery code after alert</code></pre><h2>My solution</h2>
<p>You will read about my ERB generated JavaScript solution. Haml users also can use this method.<br />
Let see the tutorial.</p>
<h3>ERB dynamic JavaScript with Ruby on Rails tutorial</h3>
<ol><li>
Create a new project for this tutorial:
<pre class="prettyprint linenums"><code>rails new dynamic_js_tutorial<br />cd dynamic_js_tutorial</code></pre></li>
<li>Generate "js" controller, with following command on directory of your rails project:<br /><pre class="prettyprint linenums"><code>rails generate controller js script1 script2 script3</code></pre><p>This command produces the following output:</p>
<pre class="prettyprint linenums"><code> create app/controllers/js_controller.rb<br /> route get "js/script3"<br /> route get "js/script2"<br /> route get "js/script1"<br /> invoke erb<br /> create app/views/js<br /> create app/views/js/script1.html.erb<br /> create app/views/js/script2.html.erb<br /> create app/views/js/script3.html.erb<br /> invoke test_unit<br /> create test/functional/js_controller_test.rb<br /> invoke helper<br /> create app/helpers/js_helper.rb<br /> invoke test_unit<br /> create test/unit/helpers/js_helper_test.rb</code></pre></li>
<li>
Rename *.html.erb files to *.js on js views directory:
<pre class="prettyprint linenums"><code>mv app/views/js/script1.html.erb app/views/js/script1.js<br />mv app/views/js/script2.html.erb app/views/js/script2.js<br />mv app/views/js/script3.html.erb app/views/js/script3.js</code></pre><p>
This extension helps the editors, IDEs and programmers to recognize JavaScript syntax type.
</p></li>
<li>
You should modify app/controllers/js_controller.rb file:
<pre class="prettyprint linenums"><code>class JsController < ApplicationController<br /> layout false # This controller generates only javascript files<br /> before_filter :js_content_type # set HTTP header information <br /> <br /> def js_content_type<br /> response.headers['Content-type'] = 'text/javascript; charset=utf-8'<br /> end<br /><br /> def script1<br /> @dynamic_message = "hello" # modified<br /> end<br /><br /> def script2<br /><br /> end<br /><br /> def script3<br /><br /> end<br />end</code></pre></li>
<li>
Edit app/views/js/script1.js javascript file:
<pre class="prettyprint linenums"><code>alert('<%= @dynamic_message %>');</code></pre></li>
<li>
Include script1.js in your layout file (app/views/layouts/application.html.erb):
<pre class="prettyprint linenums"><code><!DOCTYPE html><br /><html><br /><head><br /> <title>JsProba</title><br /> <%= stylesheet_link_tag :all %><br /> <%= javascript_include_tag :defaults, '/js/script1.js' %><br /> <%= csrf_meta_tag %><br /></head><br /><body><br /><br /><%= yield %><br /><br /></body><br /></html></code></pre><p>You can include your ERB generated JavaScript files any other layout, too.
</p></li>
</ol><h3>Try out the ruby generated JavaScript code!</h3>
<ol><li>
We need a HTML page to try out our dynamic JavaScript code in action.<br />
We have to generate a HTML test page, what we can request.<br />
Generate this page with this command:
<pre class="prettyprint linenums"><code>rails generate controller home index</code></pre><p>
This command produce the following output:</p>
<pre class="prettyprint linenums"><code> create app/controllers/home_controller.rb<br /> route get "home/index"<br /> invoke erb<br /> create app/views/home<br /> create app/views/home/index.html.erb<br /> invoke test_unit<br /> create test/functional/home_controller_test.rb<br /> invoke helper<br /> create app/helpers/home_helper.rb<br /> invoke test_unit<br /> create test/unit/helpers/home_helper_test.rb</code></pre><p>
As you see the home_controller.rb and index.html.erb files created.
</p></li>
<li>
Now you can try out the code in action.<br />
Start rails server with <code class="prettyprint linenums">rails server</code> command and visit this URL: <a href="http://localhost:3000/home/index" rel="nofollow">http://localhost:3000/home/index</a>
<p>And you can also check the generated JavaScript source code here: <a href="http://localhost:3000/js/script1.js" rel="nofollow">http://localhost:3000/js/script1.js</a>.
</p></li>
</ol><p>Now you can write dynamically generated JavaScipt files in Ruby on Rails. You may use it on real your projects.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/92" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>ruby</a>
<a href="taxonomy/term/93" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>rails 3</a>
<a href="taxonomy/term/104" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>javascript</a></div>Thu, 07 Jan 2010 11:35:28 +0000Jozsef51 at http://bitprison.nethttp://bitprison.net/rails3_dynamic_javascript#commentsEasy colour syntax highlighting on webpage
http://bitprison.net/syntax_highlighting_on_web
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Publish your source code on web with colour syntax highlighting.</p>
<p>For example: <a href="http://bitprison.net/php_mail_utf-8_subject_and_message">How to send correct UTF-8 mail in PHP</a><br />
This article is contain a PHP code what is syntax highlighted and all PHP function is link to PHP documentation. This code is more understandable, and more readable than simple colourless version.</p>
<p>How to set syntax highlighting on your website?</p>
<p>The answer is <a href="http://qbnz.com/highlighter/">GeSHi</a> (Generic Syntax Highlighter), what is open source and can syntax highlighting approximately 80 programming languages.</p>
</div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog categories: </span><a href="taxonomy/term/1" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Programming</a>
<a href="taxonomy/term/43" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>Web development</a></div><div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-inline clearfix"><span class="field-label">Blog tags: </span><a href="taxonomy/term/4" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>programming</a>
<a href="taxonomy/term/32" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>PHP</a>
<a href="taxonomy/term/57" class="btn btn-primary btn-mini btn-taxonomy"><i class="icon-tag"> </i>web</a></div>Sun, 16 Mar 2008 13:17:10 +0000Jozsef20 at http://bitprison.nethttp://bitprison.net/syntax_highlighting_on_web#comments