Commodore 64 Reference

An oldie but a good system, the Commodore 64 was a very popular system back in the day and had pretty much everything the user would need at the time, including an interpreter, a disk driver to store data and a simple command method to load. The Commodore 64 has been stripped down, emulated and exploited for many uses. I hope you have as much fun as I did researching this historical gem.

I am wondering if anyone has experience with GDI plus from Microsoft. This dll is an extension to the basic gdi from the early days of windows development. I am not sure if people are still using this technology, but most of the principles one uses in gdi, at least at a very high level, can be used with any graphics library. I am hoping to post an article on a project that draws a 5 day forecast from an online feed, and is able to cache/reload the feed to/from disk.

There is an article on Forbes boasting the death of the PC market, and a steady decline since the years beginning. I agree that there may have been a decline in server sales, and home computer hardware, but, there is still a need for those industries. Probably like the baby boomers, the main boom is done, but there will be a level off. Also due to the direction of using virtual machines, and lower power consumption markets, it makes sense that hardware sales goes down. There are probably thousands of other contributing factors, but I still think that it makes sense.

If you have ever worked with extended MAPI I am sure that you have come across the need to use the win32 API function GetProcAddress. There is now a stub library over at codeplex and some sample code to show you how to get started with Office 2010 or 2007. The project includes sources if you are interested in seeing how it is built. In addition, for those looking for more comprehensive MAPI code samples, there is a really in depth sample at codeplex as well Called: MFCMAPI

In case you wanted to know, it’s not quite that difficult to trim pure white pixels from an image in .net. The crux of the problem is really getting access to the color data and understanding what you are looking at when you have it. I will be demonstrating a method using 24 bits per pixel images only, but the concepts can be applied to other types.Continue reading →

When working with .net languages, you may have come across some subtle difference between the languages in terms of how different situations are handled. One of these situations is the If statement. If you want to check an array to make sure it is not nothing and also contains elements, you may be tempted to try something like this:Continue reading →

Anyone notice that they have a .net 2.0 or .net 4.0 web application that just simply stops working in IE10? Please see the following links to for more information, but the root of the problem seems to be an up to date App_Browsers folder either missing from your site or your machine.

Information on Special folders within an application may be found on the microsoft site here

The Solution originally comes from here which has instructions in the manual install that states the need to run aspnet_regbrowsers.exe -i in an elevated command prompt for manual installation and copying to the

I found a really good article explaining the difference between the different types of joins in SQL Server. It is important to have these different types to be able to selectively retrieve the information you are looking for in the appropriate ways. I have found that during interviews it is important sometimes to demonstrate this knowledge at a basic level as a sort of proof of understanding on several occasions. http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/

I have found the following sql helpful in understanding the joins in real life sort of situations.

-- I have created a database called test in my server for testing purposes, this statement selects that database into context
use test;
-- The following two statements create nearly identical tables with an identity column ( auto increment integer ) and a textual column ( 64 character )
create table TABLE1 (id integer identity, value nvarchar (64));
create table TABLE2 (id integer identity, value nvarchar (64));
-- the following statements insert data in table 1
INSERT INTO TABLE1 ( value) VALUES('one');
INSERT INTO TABLE1 ( value) VALUES('two');
INSERT INTO TABLE1 ( value) VALUES('three');
INSERT INTO TABLE1 ( value) VALUES('four');
-- the following statements insert data in table 2
INSERT INTO TABLE2 ( value) VALUES('one');
INSERT INTO TABLE2 ( value) VALUES('three');
INSERT INTO TABLE2 ( value) VALUES('five');
INSERT INTO TABLE2 ( value) VALUES('seven');
-- note that in the above inserts there are collisions or the same data in some of the column values
-- also note that the id columns or fields will NOT be used as part of the ON clause
-- NOTE: LEFT JOIN is synonymous with LEFT OUTER JOIN whereas RIGHT JOIN is synonymous with RIGHT OUTER JOIN
-- the OUTER keyword signifies including records that do not exist in the table
select * FROM TABLE1 t1 LEFT join table2 t2 ON t1.value=t2.value;
select * FROM TABLE1 t1 RIGHT join table2 t2 ON t1.value=t2.value;
-- NOTE: using TABLE2 as the first table in the query does have an effect on the result
select * FROM TABLE2 t2 LEFT join table1 t1 ON t1.value=t2.value;
select * FROM TABLE2 t2 RIGHT join table1 t1 ON t1.value=t2.value;
-- NOTE: INNER join is a way to have include mutually inclusive results
select * FROM TABLE1 t1 INNER join table2 t2 ON t1.value=t2.value;
-- NOTE: OUTER join is a way to include the combination of a LEFT and RIGHT join together so that
select * FROM TABLE1 t1 FULL join table2 t2 ON t1.value=t2.value;

Please pay particular attention towards the end of the article on the link posted above as it suggests usage of queries without sub-queries to get data from a table that does not exist in the other table. All of these things play an important role in terms of query performance and understanding of how SQL Server retrieves data.

Akeeba Backup Console Application

So… I am sure that anyone who uses Joomla has hopefully heard of Akeeba Backup by now. This is a very useful Joomla site backup component that backs up the entire site using ajax technology and incrementally stepping the backup process through to completion so that even large sites can be processed. There is an installer that gets packages as well that allows easily reinstalling into a new site. There is also a JSON API portion to the component that is not enabled by default, but is configurable through the administration panel of Joomla. I have created a console application that I can use in conjunction with windows task scheduler in order to automate backups.

I am looking for feedback and testing of this application – I can provide source code and binaries to all interested.