April 28th, 2008
I have not posted in a month because I recently obtained employment at DRN Commerce. It is an absolutely awesome place to work because of the people that work there. If I was to tell you what we do or what the company does, any kind of description that I could come up with would seem incredibly dry, but the people that I am working with make all the difference and as a result, it is the most awesome job I could’ve obtained. I was hired as a junior developer and am starting out in Quality Assurance (QA) to get used to the systems and processes before moving into the development side of things. In the one month that I have been there, DRN has held a bike raffle, spring chicken baby guessing contest, I have gone bowling and drinking with coworkers (after work) and have eaten a catered lunch with a company targets update presentation. There’s always something going on which really keeps me into the work and keeps the work from becoming extremely dry.
This job is mostly the reason why I haven’t posted anything recently. Ultimately my blog had done its job. It had conveyed the fact that I did in fact have an idea as to what I was doing with regard to software development. I also hadn’t posted anything because I thought that my blog’s job was over and that there wasn’t really anyone reading it anyways. Though I have discovered that there might in fact be a number of people viewing my DirectX 10 Tutorials. A google search will show that I am currently on the second page of google for the search term “DirectX 10 Tutorials”. Which I think is absolutely awesome. So I will continue to provide insight, tutorials, code examples and book reviews as long as I feel I am making a contribution. With regard to that I do have a couple book reviews to write up and I also need to finish the article for my last directx 10 tutorial, and of course write some more.
Anyways! Until next time.
Posted in Misc. | No Comments »
March 31st, 2008
So the first update for today is mostly just concerning some ideas I had about the organization of the Default.aspx page which displays my catalog. I initially wanted some way to visually identify a record that was checked out already by either you or someone else, other than the check box being disabled. So I chose a red highlight to the entire row for those movies that were checked out. At the beginning this was alright because the background for the Gridview control was white and it had black text. I then went for an interview with a company and decided to “pretty” it up a little and gave it an alternating row style and then having the red highlight on top of that made it look untidy. After that I decided that maybe it would be visual enough just to gray out the text for every row that was checked out but when there were more than 3-4 it still looked unidy because the uneven font coloring. So today I decided to move the check box to the first column instead of the last and only highlight that one cell instead of the entire row and I think that looks a lot better than it did at first.
I have also continued to work on the other work that was specified yesterday and will provide a more complete code update a little bit later.
[UPDATE - A little bit later] I have made all the changes mentioned earlier and also added a little bit of exception handling for the item update feature. Unfortunately I didn’t get as much done as I would’ve liked because I got a new job today. You are reading a blog post of the new employee for DRN Commerce. The articles mentioned yesterday may still be coming though and here is the aforementioned code update
Â
Posted in Code Examples | No Comments »
March 27th, 2008
[UPDATE] Should be another code update coming tomorrow (March 31st) , which will include what I’ve come up with for exception handling, update (which is already on the server) and also insert should be there too. This may be only be there later on in the day though but should still make it. I may also consider writing something about exception handling, because its a subject i’ve never liked, I’ve always found it wishy washy / up to interpretation. There’s always the question about which ones to handle and which ones you don’t. Also where do you handle them? Then there’s the presentation of it all. Not only for the UI but in code as well, and throwing up try / catch blocks all over never looked succint or concise, and quite frankly I’ve always found error codes to be easier. There are so many exceptions that could possibly be thrown one can sometimes feel overwhelmed. Even so exception handling is an important part of coding today and the article that I may write will outline my solution for this project.Â
So I have now separated the database access code into a separate component. There was no need to get into a “One object does everything” object, so right now its just a second tier that has been separated from the presentation layer. I may need to get a little more intense with that later but at the moment its not necessary. Previously I had also mentioned about a business layer and have decided that it wouldn’t be worth it at the moment, because I don’t really have any business rules, about how many dvds someone can check out, or whether they can check another out while they still have old ones. I may still decide to enforce things like this but haven’t as yet.
Still to go are the features listed previously and whatever comes up. Otherwise tomorrow I will be working on exception handling and I feel like some of SQL stored procedures should be cleaned up a bit. I also need to add update, insert and delete functionality. Oh and there’s one more feature I should add to the list. On the initial view of default.aspx the movies that are already checked out are grayed out. This is a sort of visual indicator that they’re not available as well, as the fact that you can’t actually check them out, because the check box for those titles is disabled. Though it can look a little messy so I was considering sorting all the grayed out one and putting those on the bottom. That way people can see that I have them, but they’re actually checked out, without them getting in the way of the movies that are still available.
Anyways here is update #2 to the source code.
Suggestions / Questions: Leave a comment.
Posted in Code Examples | No Comments »
March 26th, 2008
Monday night I was in a bit of jam. I wanted to upload my media catalog website somewhere but didn’t really feel like paying any particular company to do so because it might have only been for a few days. For anyone that hasn’t done this before, there is absolutely no reason to be apprehensive about it at all. In fact it was really simple and can be accomplished in half an hour.
1. Watch this video from www.iis.net on installing iis 7.0 on Windows Vista. Its quite simple and he goes through what many of components do and why you need them as well as a brief overview of the IIS Manager.
2. Once IIS is organized find yourself a company to handle your Domain Name requirements. I chose www.dyndns.com, they were free and I also found there account set up process simple and easy to follow. They also had a few easy to follow help articles if I had problems.
3. Install an update client on your computer. That way whenever your ip address changes people will still be able to find your website. At the end of the install process it asks if you want to install as a service or as a program. I chose service because that way its out sight, and out of mind. I can always turn it on and off if I need to via component services in the control panel.
4. Once my account was set up and update client installed I used their open port tool to check and see if port 80 was open on my router. Instructions vary for different routers but you should be able to find those at your router manufacturer’s website. I also had to disable my windows firewall because that was also blocking it initially.
5. Voilla! You should see the welcome to IIS 7.0 welcome page when you browse to your website address in your browser.
[UPDATE] If you notice that you get an error that goes something like the following; ” The process cannot access the file because it is being used by another process.” Its most likely cause is that Skype or Trillion has grabbed port 80 before iis. Just shutting those programs down completely or ending the process should solve the problem. You can also read this article here for further detailed help.
If you have any questions, leave a comment and I’ll try and help you out.
Posted in Tutorials | No Comments »
March 26th, 2008
A little while back I promised a 5th tutorial in my Direct X 10 series. Unfortunately for anyone that was waiting on that tutorial sometimes life takes priority. Though I’ll try and get it up as soon as possible. The code is posted below with the 4th tutorial, which is really where the meat and potatoes of the tutorial is situated anyways, but the article is still coming, I just gotta write it up.
Posted in Misc. | No Comments »
March 26th, 2008
I have been developing a small .net movie catalog. Its ultimately just a way for me to keep track of my DVD / game collection because I do end up lending them out quite often. This way I will have an admin section where I can send an email reminder to anyone if they have decided to keep an item for mine for extended periods of time.
Some of the features I would like to add are:
1. Export a list of my collection in an XML file / Excel spreadsheet.
2. Being able to view a history of a specific dvd.
3. Some graphic charts that may indicate my top 10 etc.
4. Of course all the usual candidates: Edit, Insert, Delete, Check In, Check Out, Log in, Log out etc.
I will also be posting the code for it as I go. I think it will be nice to have a record of the progression of the codebase starting today. A small history of the project is as follows: It started out as a way for me to demonstrate to possible future employers that I know my .net technologies and can program successfully using the .net platform. The project was suggested to me by a friend that works at Bell Canada here in London when I interviewed there. Because I have come from PHP background when it comes to web technologies, I initially started with a design where I had many pages, basically one function per page. One page to view the collection, one page to check in movies, one to check out movies, one to edit etc. etc. etc. You get the idea! Continue Reading »
Posted in Code Examples | No Comments »
October 22nd, 2007
Last tutorial we covered the steps to representing and drawing a Sprite on the screen in a window. We talked about creating a projection matrix, resource views and sprite managers. This tutorial however, is less of a DirectX “steps” tutorial and more of a logistics tutorial than any of the others. During this tutorial we will mostly be talking about separation of game logic and decoupling.
When trying to represent many sprites on the screen at once, they all need to have their own position and movement information. You will see that we have a spritePool from which we can initialize and use sprites and then we have a SpriteDetails type that contains the position and movement information or game logic. This way the game logic is separated from the sprite objects. We want it like this so that if we need to make changes in the future, or use this structure for something else, we can without worrying as much about how it will affect the sprites.  We could’ve created an all encompassing object that contained the sprite (D3DX10_SPRITE) and then added your position and movement information to the object as well.  Continue Reading »
Posted in Tutorials | No Comments »
October 21st, 2007
I have created the next 2 tutorials in the series, they are available below. I still need to create the articles to go along with them so until then, here are the archives for you do download and look at.
Tutorial #4: Multiple Sprites in DirectX 10
Tutorial #5: Sprite Blending in DirectX 10
I hope you enjoy them, the accompanying articles are to follow.
Posted in Tutorials | 1 Comment »
October 15th, 2007
“Beginning DirectX 10″ was only just recently released and as far as I know it is one of the first, if not the first, DirectX 10 specific book to come out. It is meant to be an introductory guide to DirectX 10 for those users who are just starting out in the DirectX world. You are only expected to understand c++ and object oriented concepts, everything else is covered in the book, and Wendy Jones does a great job of simplifying everything right down to the basics.
She starts out with how to get your first window and DirectX 10 device created and then moves into 2D programming, and by the end of the book she’s covered 3D, 3D math, shaders, textures, font rendering, sound and input. On my website I have only covered whats in the first 100 pages or so, though I must say that what I have seen, I have liked and if I only wrote this review by the time I was done the book, there would be no need for it. I have also written six or so tutorials of my own that now reside in my tutorials section, which I have based off the knowledge I have gained from reading her book. I highly recommend “Beginning DirectX 10″ by Wendy Jones to anyone looking to start learning DirectX 10 from the beginning.
Posted in Book Reviews | 2 Comments »
October 11th, 2007
For those of you that don’t exactly know; What is a sprite? It is a 2D representation of anything that you interact with on the screen or in your game. Your main protagonist (Mario or Link) is a sprite, the antagonist is a sprite and even things like bullets and bombs are considered sprites. They are usually square or rectangular in nature although they most likely didn’t seem so in any of the 2D games you’ve played. We will explain how that works in one of the up coming tutorials, though for now all our sprites will be square or rectangular and the height and width will always be a power of 2.
1. Create the projection matrix based on the viewport.
2. Read your sprite texture from the hard drive.
3. Get a Resource View for this texture.
4. Create the Sprite batch / system.
5. Set your sprites default settings.
6. Render your sprite
7. Clean up your sprite objects and interfaces.
Continue Reading »
Posted in Tutorials | No Comments »
October 2nd, 2007
It is a lot less work to get a bitmap moving and animating then it is to have a 3d character loaded and animating. Thus the quickest way to start making games is definitely to learn how to make 2D. Many of the same concepts still apply except instead of them being two dimensional, they are now three dimensional. So this is where we’ll be starting.Â
A quick reminder of Tutorial #1: Create D3D10Â a device.
1. Fill out a DXGI_SWAP_CHAIN_DESC and attempt to create a Direct X 10 device.
2. Convert the back buffer / 2D texture resource into a render target view and bind it to the pipeline.
3. Fill out a D3D10_VIEWPORT structure. This defines the screens extents / properties for clipping reasons.
4. Clear the back buffer / render target view and present the back buffer to the world.
5. Cleanup and release all your interfaces.
Now onto the meat and potatoes of Tutorial #2: Loading a Bitmap. Continue Reading »
Posted in Tutorials | No Comments »
September 20th, 2007
Please download my first Create a D3D10 Device tutorial.Â
For this tutorial you will need the library file D3D10.lib, so don’t forget to add it to the project either through the project properties or right into the project. There are several main steps to creating and initializing a D3D10 render device.
Please download my first tutorial.For this tutorial you will need the library file D3D10.lib, so don’t forget to add it to the project either through the project properties or right into the project. There are several main steps to creating and initializing a D3D10 render device.
Please download my first tutorial.For this tutorial you will need the library file D3D10.lib, so don’t forget to add it to the project either through the project properties or right into the project. There are several main steps to creating and initializing a D3D10 render device.
1. Defining and creating a swap chain and device.
2. Creating a Render Target View.
3. Setting up the viewport.
4. Drawing to the screen.
5. Clean up your mess.
There should be a few concepts that you should be familiar with here. Such as the concept of buffering; generally with any real time application you have at least 2 buffers to worry about. The front buffer which is what you end up seeing and the back buffer or series of back buffers which is where all the drawing actually happens. Once you have done your drawing to the back buffer you simply switch the front buffer and the back buffer so the back buffer now becomes the front buffer or what you are actually seeing and then you start drawing on the back buffer again. This switch can happen anywhere from 30 to 60 times a second normally. Continue Reading »
Posted in Tutorials | No Comments »
July 28th, 2007
The changes to the moldtec website are now complete … well for now anyways. I would still like to add a little to the security of the website … and maybe reorganize some of the code. Once again the password and login for the login page are:
Login: moldteca85
Password: mo-LD32
Please visit and take a look let me know if you have any suggestions / recomendations. Send me an email, I would like to hear them.�
Posted in Misc. | No Comments »
July 9th, 2007
I am making some changes to the two website examples that I have and as a result they may not work properly until I am finished.
Posted in Misc. | No Comments »
June 8th, 2007
I am currently reading the book “Real Time Rendering” by Eric Haines and Tomas Akenine-Moller. The writers happened to mention that the pixel is a conjunction of 2 words. Picture and Element. I guess the x comes from the short form of picture which would be pics or pix. Well that’s all for today.
Posted in Misc. | No Comments »
June 8th, 2007
Everybody loves them! I think its always a good idea to start a post with a sarcastic comment. We’re taught to use them sparingly, for readability’s sake, though that means that when it comes to using them you always have to look them up. They’re not easy to remember, especially if you don’t use them often. So I created a little console program that will help me to work with them. For me this program helps me visually see what’s happening, the results, the decimal vs binary equivalents etc. It did not take long so please don’t expect the best program in the world.
The program is available here. I’ve also posted the code for it here. Obviously by downloading the previously indicated source or program you verify that you understand that I offer no warrantee / guarantee of correctness … yada yada yada … I am not responsible etc. … yada yada yada.
Posted in Code Examples, c++ | 2 Comments »
May 17th, 2007
I just finished reading the latest book in “The Wheel of Time” Series, “Knife of Dreams”, written by Robert Jordan. “Knife of Dreams” is the best book in the series in my estimation because Robert Jordan hits or concludes 2-3 times as many story points compared to some of the other books in the series. For a brief overview of the story visit tor.com/jordan
“The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, an Age long past, a wind rose…. The wind was not the beginning. There are neither beginnings nor endings to the turning of the Wheel of time. But it was a beginning.”
Continue Reading »
Posted in Book Reviews | 2 Comments »
April 12th, 2007
In Volume 5 Issue 10 of PHP | Architect Chris Shiiflett discusses some of the vulnerabilities presented by Ajax. I feel this is an important topic to cover because even if you’re not an Ajax developer it is possible that your work is still at risk to attack, and because the number of clients with the technology built in is increasing rapidly. The enabling technology for Ajax is the XMLHttpRequest() (abbreviated by XHR) object which enables clients to both send and receive HTTP.
Continue Reading »
Posted in php | No Comments »
April 6th, 2007
Recently I attended GDC in San Francisco, and one topic that has created quite a stir in the Game Development Industry is Agile Development. Most of the things that are brought up at these conferences are dead and gone by the following week. Though Agile certainly seems different. I have been seeing more and more posts and articles about the process of late and buzz seems to be growing throughout the internet.
“Individuals and interactions over processes and tools,
Working software over comprehensive documentation,
Customer collaboration over contract negotiation,
Responding to change over following a plan.”
A quote from agilemanifesto.org and a starting point for the Agile Development Process.
If you’re interested take a look at the following pdf written by Henrik Kniberg.
Posted in Process | No Comments »
April 4th, 2007
Ok … so now that I am done with my last website project, I should have some more time for putting up some work that I have done in the past. I would also like to maybe write some php / c++ tutorials. Maybe give a little back to the community that has helped me. These tutorials will most likely follow what it is that I’m actually doing at that specific time, so they may jump around a little but I hope to build a proper tutorials site so that I can really contribute to the community.
I also adjusted the theme for the site a little. Instead of having the sidebar at the bottom. Its now on the side and should work perfectly in IE 7, firefox and safari.
Posted in Misc. | No Comments »
April 2nd, 2007
With the original theme the sidebar was actually at the bottom. I prefer to have it on the side so I adjusted some of the css / php code to put it there. Though I ran out of time and was left with 1 minor css bug. In firefox the sidebar doesn’t display correctly, so please use IE in the mean time to view the site, until I have some more time to fix the issue.
Thanks
Posted in Misc. | No Comments »
April 1st, 2007
Came across this list of XSS exploits. Its an XSS cheat sheet posted by RSnake at ha.ckers.org.Just thought I should post it for the next time I or anyone reading this, yes all 0 of you, end up doing any security auditing. After all if we are to prevent attacks we need to know about the attacks as well.
Posted in php | No Comments »
March 29th, 2007
There’s never enough time! I guess over the past few months - ok, maybe more than a few - I haven’t exactly kept up with things. What can I say? I’ve been busy.
I did want to design my own theme but then I came across this one! I quite like it! It’s clean, simple, straight forward and because there’s never enough hours in the day for all the stuff you want to do I just decided to use it.
Besides why re-invent the wheel? Right!
So I hope you like it.
Posted in Misc. | No Comments »
March 20th, 2007
CSRF, pronounced “Sea Surf”, stands for Cross Site Request Forgeries and is an attack that is on the rise. An article in the March issue of php | architect written by Chris Shiflett covers the attack in more detail. Now I won’t cover everything in the article here, only a brief overview. I have found php | architect magazine a really useful resource and I recomend it to anyone involved in writing php code. It is for this reason that I won’t regurgitate the entire article here for people to get for free. Continue Reading »
Posted in php | No Comments »
February 17th, 2007
Please visit this link.
I feel the need to underline the fact that this design was already in place and I was not hired to change it. Although I recomended other designs, the client liked this one and chose to stay with this. I will hopefully in the future be changing this to demonstrate some of my own design skills.
This was a website that was initially created for a mold removal company. The client really just wanted a basic web presence, but he also wanted to have a calendar up to post talks and events that he did. Also wanted to be able to add testimonials from clients and case studies. I wasn’t given any room for the design. If you want to login and take a look at the admin section the user name is moldteca85 and password is mo-LD32.
There are still some improvements I can make, if you have any suggestions regarding design or security I would love to hear them! Please send me an email at kevdonde@gmail.com.
Posted in Code Examples | No Comments »
January 29th, 2007
I finally caved and bought my ticket to GDC 2007. There are going to be some really interesting speakers present not to mention Phil Harrison (Executive Vice President of Sony Computer Entertainment Europe) or Shigeru Miyamoto (creator of the Mario, Donkey Kong, The Legend of Zelda video games).
All the different sessions will be divided into 5 different tracks. Programming, Game Design, Game Production, Business Management and Visual Arts. There will also be the Mobile Games summit and the Serious Games Summit.
Posted in Games | No Comments »
July 11th, 2006
This world cup has been the one that I have followed most closely - not that I haven’t followed the others - I remember the ‘94 cup when Roberto Baggio missed the 5th penalty after extra and Italy lost. Now that I think about it, it’s almost ironic that the last time Italy got to the finals they lost on penalties and this time it’s what wins it for them.
Continue Reading »
Posted in Misc. | No Comments »