Category Archives: Uncategorized

Github.com Actions

  • Have you had the chance to check out github.com?
  • What about the Actions tab at github.com?
  • Do you use source control?
  • Do you want to be able to quickly test your set up cross platform using cmake?
  • What about proving that it’s possible to successfully build your project?

Recently I have spent a little bit of time trying to familiarize myself with some technology that I have not yet had the opportunity to use as much as I would have liked. As a developer, it’s often necessary to keep up with emerging languages and techniques.

Commodore 64 Reference

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.

z80 / 6510 Emulator Resources

Hardware Schematics

Pdf Reference Guide

Programming Reference

 

Does anyone have experience with Gdi Plus

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.

Article on Forbes suggests death of the PC

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.

The original article.

 

MAPI Without GetProcAddress

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

MapiStubLibrary

.Net Trimming Whitespace in an image

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

IE 10 PostBack Issues

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

A Forum post on similar issues may be found on aspforums.net 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

C:\Windows\Microsoft.NET\Framework\v2.?????\CONFIG\Browsers
C:\Windows\Microsoft.NET\Framework64\v2.?????\CONFIG\Browsers

or

C:\Windows\Microsoft.NET\Framework\v4.?????\CONFIG\Browsers
C:\Windows\Microsoft.NET\Framework64\v4.?????\CONFIG\Browsers

depending on version aspnet_regbrowsers can be found in:

C:\Windows\Microsoft.NET\Framework\v2.?????
C:\Windows\Microsoft.NET\Framework64\v2.?????

C:\Windows\Microsoft.NET\Framework\v4.?????
C:\Windows\Microsoft.NET\Framework64\v4.?????

restart the server and or visual studio and pay particular attention to versions of the downloaded files.

In the case that something is still not working – check your add-ons and possibly reset internet explorer.

MSSQL Join types explained

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

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.

Post a comment if interested

akeeba console

Google Analytics Add users via email to your account

Google Analytics Add users via email to your account

If you have a web site these days, you had better be at least a little bit familiar with google analytics or some form of web analytics software. This helps you to track how people get to your site, and what they do when they get there.

One of the things you will need to do when and if you do a lot of tracking is to be able to share the analytics data with others or instruct others how to share that with you.

Google’s instructions come from the following: Add Users to google

A Simple Javascript Canvas Render Framework

A Simple Javscript Canvas Render Framework

It is possible to do a great number of things in many different languages, and due to the popularity of the some of the particular features of javascript, it is also possible to do these in javascript. The trick is to figure out what is needed in terms of state, and logic, and provide a looping mechanism to make things happen on a regular basis. The particular thing that I am talking about here is rendering a frame – or essentially drawing a picture.

Continue reading

Game Editor – Concepts of game creation

Game Editor – Concepts of game creation

Found a nifty little site and editor for assisting with simple game creation and editing. I played around a little bit with it, enough to make a cheap little pacman game. The editor is nice because there is minimal coding required to get up a game running quickly. The main issues in terms of rendering, timing, loading graphics etc. are taken care of you by the click of a mouse.

Game Editor.com

Dot Net html editor to image

Dot Net html editor to image

While working on a commercial project, I was involved in providing a simple html rendering engine. Simple in terms of not being 100% complete, not necessarily in complexity. To help debug this, I created a sample app that demonstrates the workings of an html editor and the rendering in action.

Continue reading

Office WebDav and Javascript

So…. long story short it is possible to reuse office within the browser by using the Word ActiveX control as well as most other Office products like Excel and Powerpoint. The problem then becomes editing the information. There is a registry tweak that enables this with the default ActiveX control, however, the sharepoint dll which provides a nicer interface out of the box allows what you need to do without changes to the registry and also ships with office since 2007 according to outside sources.

Continue reading

First Quarter 2012

It appears that the first quarter of 2012 has come and gone and I have had little time for a post. It’s easter weekend for anyone that cares, but I don’t think that matters now. I have not had one chance to look over anything that I have wanted to write about for 4 months and I doubt that is going to change any time soon. I have been working a lot with MAPI in the months of late, and as well with asp.net and have come across some problems and found solutions for them. In case you are wondering, simple mapi is awesome but kind of useless in the same token, but extended MAPI is way awesome in terms of power and scalability, but hardly easy to use. That is to say, that it’s not all spelled out for you the way that you would like. My experiences with this have been mostly for a console program, but I am finding that without a message pump, it’s extremely difficult to get messages ( This is tip #1 ). The problem is that I would like to call on this program to deliver a message every so often. The obvious solutions of course are to install a message pump and run for a small time frame, or convert into a tcp/udp/service application.

Status Update – SwhistleSoft Blog

Status Update – SwhistleSoft Blog December

It has been almost an entire month of no postings so I figured I would post a quick little ditty. For those of you hoping to make it in the software industry, you should check out “7 wonders of the Industrial World” as seen on Netflix or elsewhere. This series of episodes outlines some struggles that happened to almost everyone surrounding these technological feats, some of which included sickness, and death. When setting out to do something worth while, it is important to remember that there will be struggles along the way, but that perseverance makes it to the finish line.

Happy Holidays

A link to Mersenne Twister Implementations

Mersenne Twister Implementations

What is the Mersenne Twister algorithm? The Mersenne Twister is a very fast random number generator. The home page that I retreived this information from warns of the following: “Mersenne Twister is basically for Monte-Carlo simulations – it is not cryptographically secure ‘as is’.”. If you read the FAQ, however, there are comments on newer versions and implementation details for specific usage case scenarios.

At any rate, the implementations may be found here.
Interestingly enough there is a javascript version that will most likely find it’s way into our demos.

PHP Rss Information From IBM

Just a simple article from within IBM thats shows how to both read and write RSS feeds from PHP. There are some good points, a working example and both sides of the rss coin presented. The article itself is somewhat dated as it was published in 2006, but the principles work.