browse by category or date

I picked up this book from National Library recently. After finishing it, I felt regret. Regret that I didn’t read this book much earlier.

What I learned from this book, mostly:

  1. Dealing with “Not-Invented-Here” syndrome (which I’m still battling now)
  2. Test-Driven Development, I knew it since my internship with Deutshce Bank, then I completely forgot about it, and now I know I need it
  3. Continuous Integration, I’ve heard of it, I should get my hands dirty with it

I think this book is really good for a programmer who’ve done a few projects, and ready to upgrade their skills.

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

If you have a WordPress blog and basic PHP gongfu, very likely you’ll tinker with your plugins. Since you don’t want your changes to be flushed away, you will not update the plugins unless it’s really major. Usually we do this by first select all plugins to update, then manually exclude the plugins which we want to skip update.

wordpress-plugin-update

Manually excluding the plugins is a relatively simple effort. But WordPress plugins have very frequent updates. I personally feel that this exclusion process is mentally excruciating after few rounds of plugins update. Especially when you have modified a number of plugins to suit your needs. Remembering which plugins you should exclude is a burden. For instance, I’ve modified some of the active plugins here:

  1. Calendar Archive. When I installed this plugin, it was version 2.1. I like the idea but I found that I need to improve the output layout. So I modified it to my liking. See it in action: Post By Month. Once I successfully modified this plugin, modified it further resulting Post By Category page.
  2. Multipage Plugin. I’m using this plugin to split a very long post into multiple sub-pages each has its own title. Since I want to have the sub-pages index at the bottom of each sub-page, I then modified the plugin to perform as such. You can see this plugin working in action HERE.
  3. Shortcoder. I am using this plugin to inject Google Adsense code in every post. This way the ads location in each individual post will be vary. Unfortunately, Shortcoder (version 3.2) still inject the ads when the post on the front-page/archive index. Since too many ads might result in Adsense account suspension, I modified Shortcoder to do nothing when the post is on the front-page/archive index.
  4. Spam Free WordPress (this plugin is discontinued, I guess). I modified this plugin to beautify the comment section as well making it difficult for spammer.

Apparently we can permanently exclude any plugin from update. We achieve it by changing the plugin’s version number into something really big. Here’s what I done to Spam Free WordPress, I changed the version from 1.9.1 to 111.0:

/*
Plugin Name: Spam Free WordPress
Plugin URI: http://www.toddlahman.com/spam-free-wordpress/
Description: Comment spam blocking plugin that uses anonymous password authentication to achieve 100% automated spam blocking with zero false positives, plus a few more features.
Version: 111.0
Author: Todd Lahman, LLC
Author URI: http://www.toddlahman.com/
License: GPLv3

	Intellectual Property rights reserved byTodd Lahman, LLC as allowed by law incude,
	but are not limited to, the working concept, function, and behavior of this plugin,
	the logical code structure and expression as written. All WordPress functions, objects, and
	related items, remain the property of WordPress under GPLv3 license, and any WordPress core
	functions and objects in this plugin operate under the GPLv3 license.
*/

I hope it helps, cheers!

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

The Mistake

I have made many reports. It began with Crystal Reports (because it was free, bundled with Visual Studio 2008), then Jasper Reports (because Crystal Report no longer bundled with Visual Studio 2010), and then finally Telerik Reporting (because integrating Jasper Reports to ASP.NET is such a whack-job, I still don’t dare to share my code, even it’s already 5 years passed).

I always thought that I made the best reports in the world 😀 But recently I realized that my reports are ugly. Just look at below example:

telerik-output-error

Ugly right? Do you agree that the signature boxes should be shifted all the way down to the bottom of the page?

Let’s look how I structured my report:
telerik-design

Apparently I put the signature boxes inside Report Footer Section.

Q: Why didn’t you put the box within Page Footer Section?
A: Because I anticipate that the report might spread to more than 1 page. I don’t want every page to have the signature boxes.
Q: Don’t you know that you can show/hide the Page Footer Section (or any section) based on certain condition?
A: *Gasp* Really? Teach me how please!

The Correction

First, let’s move all the signature boxes from Report Footer Section to Page Footer Section.

telerik-design-pg-footer

Next, we need to make the page footer only to appear on the last page. We do this through ConditionalFormatting
telerik-pg-footer-option

Add a new rule “If PageNumber is not equal to PageCount, hide the section”

telerik-pg-footer-option-2

telerik-pg-footer-option-3

Now my report is less ugly 😀

telerik-output-corrected

Works as expected when the report spread to two pages.

telerik-output-corrected-2

I hope it helps, cheers!

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant: