Everything you need to know about...

Reporting as a Metaphor (humor)

This page is sponsored by Windward Reports and is primarily reprints from the Windward CTO's blog Windward Wrocks.

What every developer should know about time

clockFirst off, using UTC (also known as Greenwich Mean Time) is many times not the correct solution. Yet many programmers think if they store everything that way, then they have it covered. (This mistake is why several years ago when Congress changed the start of DST in the U.S. you had to run a hotfix on Outlook for it to adjust reoccurring events.)

So let's start with the key question – what do we mean by time? When a user says they want something to run at 7:00 am, what do they mean? In most cases they mean 7:00 am where they are located – but not always. In some cases, to accurately compare say web server statistics, they want each "day" to end at the same time, unadjusted for DST. At the other end, someone who takes medicine at certain times of the day and has that set in their calendar, will want that to always be on local time so a 3:00pm event is not 3:00am when they have travelled half way around the world.

Continued at what every developer should know about time.

What every developer should know about character encoding

codepagesIf you write code that touches a text, html, xml, etc (ie non-binary) file, you probably need this.

Lets start off with two key items

  1. Unicode does not solve this issue for us (yet).
  2. Every text file is encoded. There is no such thing as an unencoded file or a "general" encoding.

And lets add a codacil to this – most Americans can get by without having to take this in to account – most of the time. Because the characters for the first 127 bytes in the vast majority of encoding schemes map to the same set of characters (more accurately called glyphs). And because we only use A-Z without any other characters, accents, etc. – we're good to go. But the second you use those same assumptions in an HTML or XML file that has characters outside the first 127 – then the trouble starts.

Continued at what every developer should know about character encoding.

What every developer should know about bitmaps

enemy nationsVirtually every developer will use bitmaps at times in their programming. Or if not in their programming, then in a website, blog, or family photos. Yet many of us don't know the trade-offs between a GIF, JPEG, or PNG file – and there are some major differences there. This is a short post on the basics which will be sufficient for most, and a good start for the rest. Most of this I learned as a game developer (inc. Enemy Nations) where you do need a deep understanding of graphics.

Bitmaps fundamentally store the color of each pixel. But there are three key components to this:

  1. Storing the color value itself. Most of us are familiar with RGB where it stores the Red, Green, & Blue component of each color. This is actually the least effective method as the human eye can see subtle differences on some parts of the color spectrum more than others. It's also inefficient for many common operations on a color such as brightening it. But it is the simplest for the most common programming tasks and so has become the standard.
  2. The transparency of each pixel. This is critical for the edge of non-rectangular images. A diagonal line, to render best, will be a combination of the color from the line and the color of the underlying pixel. Each pixel needs to have its level of transparency (or actually opacity) set from 0% (show the underlying pixel) to 100% (show just the pixel from the image).
  3. The bitmap metadata. This is informat about the image which can range from color tables and resolution to the owner of the image.

Continued at what every developer should know about bitmaps.

What every developer should know about locales

mapWhat is a locale and what do you need to know? A locale is fundamentally the language and country a program is running under. (There can also be a variant added to the country but use of this is extremely rare.) The locale is this combination but you can have any combination of these two parts. For example a Spanish national in Germany would set es_DE so that their user interface is in Spanish (es) but their country settings are in German(DE). Do not assume location based on language or vice-versa.

The language part of the locale is very simple – that's what language you want to display the text in your app in. If the user is a Spanish speaker, you want to display all text in Spanish. But what dialect of Spanish – it is quite different between Spain and Mexico (just as in America we spell color while in England it's colour). So the country can impact the language used, depending on the combination.

All programs that support locale specific resources (which is pretty much all of them today) use a fall-back system. They will first look for a resource for the language_country combination. While es_DE has probably never been done, there often is an es_MX and es_ES. So for a locale set to es_MX it will first look for the es_MX resource. If that is not found, it then looks for the es resource. This is the resource for that language, but not specific to any country. Generally this is copied from the largest country (economically) for that language. If that is not found, it then goes to the "general" resource which is almost always the native language the program was written in.

Continued at what every developer should know about locales.

What every developer should know about writing bug free code

I wrote this book in what now looks like the dawn of antiquity. I was on the Windows 95 development team at the time – C++ was still new, we still wrote the time critical parts in assembler, and Java was a word for coffee. It was a challenging world back then. Not better than today, not worse – but different challenges.

But the first two chapters, those are still every bit as relevant today as they were when the book was written. I think most developers can be well served by reading this as it takes a philosophical look at how to write code with fewer bugs.

You can download the entire book for free at No Bugs! You may forward the free copy to friends, post it on your own website, etc.

Continued at Free book: No Bugs!

What every developer should know about revision control vs version control

Version control is great and with new products like SharePoint hitting widespread use, it is becoming a common part of document management. But version control has some major limitations.

The first is that the comments tied to a new version are tied to the document as a whole when you really want comments spread throughout the document each tied to a point in the document where that comment is discussing that change. Comments are even more powerful when used to comment on suggested changes where the document is not changed, but a suggestion is tied to a specific point.

The second is how changes are displayed. With version control you can get a difference between the old and new document. But that is a cumbersome procedure and it is read only. Much better is a system that shows the changes in the document, identifies who made each change (and has their comments right there), and provides the reviewer the ability to accept or reject each change.

Continued at revision control is much more than version control.

What every developer should know about reporting

bookThis guide will help you choose the best business reporting solution for your organization by pinpointing criteria to consider during the evaluation process. Dozens of reporting programs are on the market today, which can be both a blessing and a curse. On the one hand, you have the opportunity to select the solution that’s optimal for your company. On the other, you will need to carefully analyze how a particular reporting package could benefit your business. This guide cuts through the clutter by focusing on the key questions you should ask.

One major difficulty in creating effective reports is that those who deal with storing data (the IT staff) are often also in charge of designing reports. But the IT professionals aren’t necessarily the ones who know what your customer, colleague, or other report recipient needs to see. You, the business professional, are the one who best comprehends what a report needs to accomplish. This is why it’s important you be involved from the beginning in choosing a reporting solution.

This guide is divided into three main sections. The first section gives a brief overview of reporting and sheds light on why an organization needs reporting software. The second section contains specific questions to ask when considering reporting packages. The third section shows how Windward Reports addresses key criteria.

Continued at Business Reporting Software

Sister Sites

Best Programmer Tools
.NET B.I.
.NET DocGen
.NET Reports
SharePoint B.I.
SharePoint Dashboards
SharePoint DocGen
SharePoint Reports
Java B.I.
Java Dashboards
Java DocGen
Java Reports
Business Reporting Software

Search

Wikis

Arrow for SharePoint
Windward Reports
more soon...

Programs

ComponentOne
Crystal Reports
DevExpress
Intelliview
LogiXML
Panscopic
Sql Server Reporting
Windward Reports

Check out Windward Reports