<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>HHTimesheet Blog</title>
	<atom:link href="http://www.hhtimesheet.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hhtimesheet.com/blog</link>
	<description>HHTimesheet - Track your employee timesheets</description>
	<pubDate>Sat, 23 May 2009 07:42:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Scheduled Maintenance</title>
		<link>http://www.hhtimesheet.com/blog/2009/05/scheduled-maintenance/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/05/scheduled-maintenance/#comments</comments>
		<pubDate>Wed, 13 May 2009 13:38:53 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=59</guid>
		<description><![CDATA[HHTimesheet will be down for half an hour from (11:00-11:30 AM) on Saturday (Eastern Standard Time UTC +10). During this period we will upgrade to version 2.0 with all the features listed in previous post. Obviously system will not be available during this period.
]]></description>
			<content:encoded><![CDATA[<p>HHTimesheet will be down for half an hour from (11:00-11:30 AM) on Saturday (Eastern Standard Time UTC +10). During this period we will upgrade to version 2.0 with all the features listed in previous post. Obviously system will not be available during this period.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/05/scheduled-maintenance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HHTimesheet version 2.0</title>
		<link>http://www.hhtimesheet.com/blog/2009/05/hhtimesheet-version-20/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/05/hhtimesheet-version-20/#comments</comments>
		<pubDate>Wed, 13 May 2009 13:35:55 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=57</guid>
		<description><![CDATA[After few months of development we are proud to announce that HHTimesheet version 2.0 is ready and will be deployed to production this weekend. Features in second version of hhtimesheet includes:

New User Interface: We re-designed the user interface from scratch. New design is slicker and more productive than previous one. We&#8217;ve gone through many design [...]]]></description>
			<content:encoded><![CDATA[<p>After few months of development we are proud to announce that HHTimesheet version 2.0 is ready and will be deployed to production this weekend. Features in second version of hhtimesheet includes:</p>
<ul>
<li><strong>New User Interface:</strong> We re-designed the user interface from scratch. New design is slicker and more productive than previous one. We&#8217;ve gone through many design iterations to ensure that our new interface is more productive.</li>
<li><strong>Developer&#8217;s API:</strong> Developers now will be able to use our RESTful interface and connect to HHTimesheet. Documentation for our API will be ready after the release. With new Developer&#8217;s API you will be able to connect your third party application (like your payroll or bill management system) to HHTimesheet.</li>
<li><strong>Delete: </strong>Delete has been implemented for Projects, Activities, Tasks, Employees, Categories, Employment Types, Clients and Categories. With delete feature you will be able to delete any unused object in the system.</li>
</ul>
<p>I want to thank everyone who helped us during development and feed back of all the current HHTimesheet users played a great role.</p>
<p>Regards<br />
Behrang Javaherian<br />
Beyond NG</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/05/hhtimesheet-version-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DRY security in rails</title>
		<link>http://www.hhtimesheet.com/blog/2009/04/dry-security-in-rails/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/04/dry-security-in-rails/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 02:02:58 +0000</pubDate>
		<dc:creator>bjavaherian</dc:creator>
		
		<category><![CDATA[hint]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[hints]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=55</guid>
		<description><![CDATA[Using modules to DRY your permission check code]]></description>
			<content:encoded><![CDATA[<p>We often have cases that we want to do some security check both in our controller and views for example we want to show the edit button only if user has access to edit and also we want to check that in controller in case that some user try to bypass the ui and send the request directly to server. </p>
<p>We can simply take all the checks out to a separate module called permissions:</p>
<pre>module permissions
     def can_edit_project? project
          <span class="s2">//code to check if this user has access to edit and return true or false
     end
end
</span></pre>
<p>Now we should just include this module in both ApplicationHelper and ApplicationController and use the method in both places.</p>
<p>We can go further and change the can_edit_project? to be can_edit? that first check the type of the object that we passed in and do different logic base on that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/04/dry-security-in-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone support in HHTimesheet</title>
		<link>http://www.hhtimesheet.com/blog/2009/02/iphone-support-in-hhtimesheet/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/02/iphone-support-in-hhtimesheet/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 15:59:27 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[timesheet]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=49</guid>
		<description><![CDATA[
We are proud to announce that iPhone support has been added to HHTimesheet.
With our iPhone enhanced version you can fill your timesheet while you are on the train or at customer&#8217;s site before forgetting the details.
Also HHTimesheet is listed as a staff pick in Apple website.Watch iphone demo
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hhtimesheet.com/blog/wp-content/uploads/2009/02/iphone2.png"><img class="alignnone size-medium wp-image-51" title="iphone2" src="http://www.hhtimesheet.com/blog/wp-content/uploads/2009/02/iphone2.png" alt="" width="150" height="154" align="left" /></a><br />
We are proud to announce that iPhone support has been added to HHTimesheet.<br />
With our iPhone enhanced version you can fill your timesheet while you are on the train or at customer&#8217;s site before forgetting the details.<br />
Also HHTimesheet is listed as a <strong>staff pick</strong><em> in Apple website.</em><a class="iphonetour" href="/tour.html#iphone">Watch iphone demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/02/iphone-support-in-hhtimesheet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to build a domain registrar company - the Chinese way</title>
		<link>http://www.hhtimesheet.com/blog/2009/02/how-to-build-a-domain-registrar-company-the-chinese-way/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/02/how-to-build-a-domain-registrar-company-the-chinese-way/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 02:02:58 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=42</guid>
		<description><![CDATA[Last night I recieved an email from a company which claim to be a reputable domain registrar in china (names are disclosed):
We are the department of registration service in China.we have something need to confirm with you.We formally received an application on February 17, 2009,One  company which self-styled &#8220;Path soft Corp&#8221; are applying to [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I recieved an email from a company which claim to be a reputable domain registrar in china (names are disclosed):</p>
<blockquote><p>We are the department of registration service in China.we have something need to confirm with you.We formally received an application on February 17, 2009,One  company which self-styled &#8220;Path soft Corp&#8221; are applying to register (hhtimesheet) as internet brand name and domain names as below (hhtimesheet.cn  hhtimesheet.asia  hhtimesheet.mobi  hhtimesheet.cc  hhtimesheet.net.cn  hhtimesheet.org.cn  hhtimesheet.com.cn. .etc).</p>
<p>After our initial checking,we found the internet brand name and these domain names being applied are as same as your company’s, so we need to get the confirmation from your company.If the aforesaid company is your business partner or your subsidiary company, please DO NOT reply us,we will approve the application automatically.If you have no any relationship with this company,please contact us within 15 workdays. If out of the deadline,we will approve the application  submitted by &#8220;Path soft Corp&#8221; unconditionally.</p>
<p>We would like to get the affirmation of your company,please contact us by telephone or email as soon as possible.</p>
<p>Best Regards,</p></blockquote>
<p>Okay<br />
As soon as I received the email I suspect that something is right so I replied back and told them that this domain requests are not coming from our company or any of our partners and here is what I got back this morning:</p>
<blockquote><p>Dear Sir or Madam,</p>
<p>We knew you have registered the domain name hhtimesheet.com and own the intellectual property (own the trademark hhtimesheet).This is why we informed you,But now Path soft Corp wanted to apply for other domain names and internet brand name you have not registered yet.Path soft Corp wants to apply the following domain names:<br />
1. Domain Name:<br />
hhtimesheet.cn  hhtimesheet.asia  hhtimesheet.mobi  hhtimesheet.cc  hhtimesheet.net.cn  hhtimesheet.org.cn  hhtimesheet.com.cn<br />
2. Internet Brand Name:<br />
hhtimesheet<br />
If you have no relationship with Path soft Corp,according to our working experience,there are 2 possibilities:<br />
1.Path soft Corp is a domain names grabber.they want to register these names before you and sell back to you to gain profits.<br />
2.your competitor let Path soft Corp to register your domain names,let your customers feel confusion.</p>
<p>We found they are not the real owner of this name when we were checking.So we sent email to inform your company to protect your interest.As a domain name registrar,we have no right to dispute their application.As the company whose trademarks relate to the applied domains,you own the preferential rights to register them.If you think these domain names are useful for you,we can help you register these domain names within dispute period.If you do not need,then we can register for Path soft Corp.You must know that any party have right to register any domain name in the world without authorized.This is international domain name registration principle.For example, google.com.cn &amp; google.cn had been registered by other company.And Goolge had paied 1 million dollars to get the two domain names back.We also don’t hope that there will be some infringement to the interests of your company in future.</p>
<p>There is a time limit.Pls let us know your decision soon.Waiting for your reply.</p>
<p>Best Regards,</p></blockquote>
<p>Okay now I know what is going on. This domain registrar is trying to sell me the .cn, .org.cn, &#8230;. domains and this is part of their unethical marketing campaign. Look for new application and domains and contact them telling them someone is going to register the .cn and hurry up or you will loose it!!</p>
<p>I hope none of you fall for any of these traps.</p>
<p><strong>UPDATED: </strong>And it it still comming I got two more emails from two different person from the same organization with exact same content, I think I can now disclose their addresses:</p>
<p>Kevin Wu<br />
Senior Director<br />
TEL: +86 21 69929440<br />
Fax: +86 21 69929447<br />
Website:www.qpnic.org.cn<br />
Shanghai QPNIC Web Property Solutions Limited </p>
<div><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Jake Shen</span></div>
<div><span lang="EN-US"><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Senior Consultant</span></span></div>
<div><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">TEL: +86 21 69929440<br />
Fax:  +86 21 69929447</span></div>
<div>
<div><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Website:www.qpnic.org.cn</span></div>
<div><span style="font-family: 'Times New Roman'; color: #000000; font-size: small;">Address: Room 301, 42th, nong 1519, Jinyuan 1st Road, Jiading District, Shanghai city.</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/02/how-to-build-a-domain-registrar-company-the-chinese-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stop the user from leaving a page if changes has not been saved</title>
		<link>http://www.hhtimesheet.com/blog/2009/02/stop-the-user-to-go-away-from-page-if-something-has-been-changed/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/02/stop-the-user-to-go-away-from-page-if-something-has-been-changed/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 13:03:32 +0000</pubDate>
		<dc:creator>bjavaherian</dc:creator>
		
		<category><![CDATA[hint]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=28</guid>
		<description><![CDATA[The requirement was &#8220;Give a warning if user want to go away from timesheet form if they made a change to their timesheet and hasn&#8217;t saved yet&#8221;

window.unload is too late we should use onbeforeunload event.
onbeforeunload is not supported by prototype so we should use direct java script.
if onbeforeunload returns a string a confirm message will [...]]]></description>
			<content:encoded><![CDATA[<p>The requirement was &#8220;Give a warning if user want to go away from timesheet form if they made a change to their timesheet and hasn&#8217;t saved yet&#8221;</p>
<ul>
<li>window.unload is too late we should use onbeforeunload event.</li>
<li>onbeforeunload is not supported by prototype so we should use direct java script.</li>
<li>if onbeforeunload returns a string a confirm message will be show to user by browser. And is supported on ie6+, firefox and safari (maybe other browsers support it too).</li>
</ul>
<p>so the will look like this:</p>
<pre><span class="s0">var </span><span class="s1">TimesheetFormController = Class.create({</span>
   <span class="s2">//some part of the code will update this variable.</span><span class="s1">
   changed: </span><span class="s0">false</span><span class="s1">,

   initialize : </span><span class="s0">function</span><span class="s1">() {
       window.onbeforeunload = </span><span class="s0">this</span><span class="s1">.beforeunload.bind(</span><span class="s0">this</span><span class="s1">);

       </span><span class="s2">//rest of code.</span><span class="s1">

   },

    beforeunload: </span><span class="s0">function</span><span class="s1">(event) {
        </span><span class="s0">if </span><span class="s1">(</span><span class="s0">this</span><span class="s1">.changed) {

            </span><span class="s0">return </span><span class="s3">"You haven't saved your changes yet."</span><span class="s1">;
        }
    }

&lt;});</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/02/stop-the-user-to-go-away-from-page-if-something-has-been-changed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>onchage event doesn&#8217;t bubble up in IE</title>
		<link>http://www.hhtimesheet.com/blog/2009/02/onchage-event-doesnt-bubble-up-in-ie/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/02/onchage-event-doesnt-bubble-up-in-ie/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 07:05:23 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[hint]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=25</guid>
		<description><![CDATA[In the last couple of days I was busy updating the timesheet entry form in our timesheet management software. I create a class called TimesheetFromController to handle all the operations like:

update the total time as user change the time
set the modofied to true when user edit the form after saving
do validations as user edit this [...]]]></description>
			<content:encoded><![CDATA[<p>In the last couple of days I was busy updating the timesheet entry form in our <a href="http://www.hhtimesheet.com" target="_blank">timesheet management software</a>. I create a class called TimesheetFromController to handle all the operations like:</p>
<ul>
<li>update the total time as user change the time</li>
<li>set the modofied to true when user edit the form after saving</li>
<li>do validations as user edit this form</li>
</ul>
<div>The code design was very nice but unfortunately <strong>in IE (6 and 7) onchange event doesn&#8217;t bubble up</strong>. So I should listen on onchange event on every element inside the form. This form contains dynamic elements so the solution was not as tidy as I was hoping.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/02/onchage-event-doesnt-bubble-up-in-ie/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iPhone support for timesheet entry</title>
		<link>http://www.hhtimesheet.com/blog/2009/01/iphone-support-for-timesheet-entry/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/01/iphone-support-for-timesheet-entry/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 13:04:15 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=22</guid>
		<description><![CDATA[We reviewing customer feedback we decided to include the iPhone support as part of our first release scheduled for end of February 2009. Currently we decided to have support for timesheet and expense entry, timesheet approval for our iPhone version. We will keep you posted on the progress of this new feature.
]]></description>
			<content:encoded><![CDATA[<p>We reviewing customer feedback we decided to include the iPhone support as part of our first release scheduled for end of February 2009. Currently we decided to have support for timesheet and expense entry, timesheet approval for our iPhone version. We will keep you posted on the progress of this new feature.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/01/iphone-support-for-timesheet-entry/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HHTimesheet is now free for account of up to two users</title>
		<link>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-is-now-free-for-account-of-up-to-two-users/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-is-now-free-for-account-of-up-to-two-users/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 10:49:53 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=20</guid>
		<description><![CDATA[After few weeks of debate and base on feedback from our beta testers and early customers we decided to make our innovative online timesheet management to be free for up to two users. Base on this new pricing strategy freelancers can easily and freely use our system. Having free accounts means that we will get [...]]]></description>
			<content:encoded><![CDATA[<p>After few weeks of debate and base on feedback from our beta testers and early customers we decided to make our <a href="http://www.hhtimesheet.com">innovative online timeshee</a>t management to be free for up to two users. Base on this new pricing strategy freelancers can easily and freely use our system. Having free accounts means that we will get more customers on our system and based on their feedback to increase the quality of our system for all of our valued customers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-is-now-free-for-account-of-up-to-two-users/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HHTimesheet version 0.85 is available</title>
		<link>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-version-085-is-available/</link>
		<comments>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-version-085-is-available/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 02:13:23 +0000</pubDate>
		<dc:creator>HHTimesheet</dc:creator>
		
		<category><![CDATA[HHTimesheet]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.hhtimesheet.com/blog/?p=18</guid>
		<description><![CDATA[After about a week we are proud to update our servers with the latest version of HHTimesheet. here are the list of changes:

All the small glitches that we&#8217;ve found has been fixed (dead links, typos and css issues) (BUG FIX)
Employees are now able to  add notes to their timesheet and expenses.

Thanks to all of the [...]]]></description>
			<content:encoded><![CDATA[<p>After about a week we are proud to update our servers with the latest version of HHTimesheet. here are the list of changes:</p>
<ul>
<li>All the small glitches that we&#8217;ve found has been fixed (dead links, typos and css issues) (BUG FIX)</li>
<li>Employees are now able to  add notes to their timesheet and expenses.</li>
</ul>
<p>Thanks to all of the beta testers and everyone that showed an interest in our product.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhtimesheet.com/blog/2009/01/hhtimesheet-version-085-is-available/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
