"" - Stewie Griffin, Family Guy
| Blog General Travel Sport Hockey Technical Gaming Pages Travel Plans Live Music Links About Blog Archive Current Blogs March 2010 (1) February 2010 (3) January 2010 (5) December 2009 (1) November 2009 (1) October 2009 (1) September 2009 (1) August 2009 (2) July 2009 (1) June 2009 (2) May 2009 (3) April 2009 (1) March 2009 (1) February 2009 (13) January 2009 (1) 2008 (25) 2007 (67) 2006 (23) 2005 (32) 2004 (10) Blog Tags General 10 in '10 (4) Books (1) DVDs (2) Funny (12) Gadgets (5) Hawt (1) Movies (13) Music (6) Pets (3) Recipe (14) TV Shows (1) Web (27) Travel Calgary (2) Edmonton (12) New York (7) Niagara Falls (2) Pittsburgh (5) Washington (4) Sport Basketball (1) Running (3) Hockey Pittsburgh Penguins (25) Technical .NET (3) Java (4) Software (3) Work (2) Gaming Commodore 64 (2) Master System (1) Mega Drive (1) Xbox 360 (15) XNA (1) GamerTag ![]() The rarely updated blog of Joel Dixon | Viewing blogs in section TechnicalSunday, February 01, 2009Enum Members and the .NET Compact Framework# Posted by Joel Dixon at 01/02/2009 16:37:16When working on my latest weekend coding project, I am occasionally limited by the methods offered (and not offered) by the .NET Compact Framework (XNA projects are compiled against the compact framework). Usually these limitations are pretty minor (i.e. as TryParse is not available, I need to put a try-catch block around a regular Parse call). Today I stumbled over another unavailable method - Enum.GetNames(). The GetNames method is called when using Reflection to determine, at runtime, the elements in an enumeration. It took a bit of hunting and experimenting - but here's a Compact Framework-friendly method of achieving the same thing: C# Code:
It's pretty good that Reflection is included in the compact framework - but it's slightly surprising that they couldn't fit in the Enum.GetNames() method as well. # Posted in the Technical section and tagged as: .NET, XNA Comments (0) | Add Comment Saturday, August 18, 2007Welcome to joeldixon.com - it's the web 0.9# Posted by Joel Dixon at 18/08/2007 05:19:16As I stated way back when, I had always figured I would have a blog eventually - but I had originally assumed I would have coded the blog website myself as a programming exercise (being, at that point, new to PHP and MySQL). I originally signed up to Blogger to comment on a few people's blogs, and I started making posts while developing my own Blog website. As is common with other "coding for fun" projects of mine, the process dragged on a lot longer than I had originally thought. It's funny, part of the reason I didn't want to "settle" for Blogger's software was the lack of a few key features I wanted (such as tags, image uploads etc). Sure enough - by the time I had completed my site, Blogger gained most of my wanted features, and more. But anyway - it's finally finished - and hopefully it will convince me to blog more often while in Edmonton. Some of the key features that I wanted include: - - URLs for my blog entries include the date of publication and title of the blog post (i.e. http://www.joeldixon.com/blog/entry/2007/08/09/day-1-in-edmo nton). I'm often reluctant to click an anonymous blog post when the url is something like http://example.com/blog?entry_id=12 or http://example.com/blog/12). I also wanted, as much as possible, for the URLs to make sense - like http://www.joeldixon.com/blog/archive/2005/page/2. - - I personally like HTML, so I wanted commenters to be allowed to use (limited) HTML tags, as well as the common BBCode rip-off that most sites provide. This includes image linking for comments, and image uploads for blog posts. Oh - and you gotsa have smilies ![]() - - Originally Blogger only allowed members to post with an email or website address. I wanted to provide an option to register to the site (manage your profile, keep track of post count etc) for commenting - but also allow anonymous comments provide a name, email address and home page. Sure, spammers may eventually enjoy this feature - but I can set individual blog posts to require a captcha (generally only 1 in 50 of my old blog posts generated any spam). - - A pretty neat feature I blatantly stole from my little brother (though his is much fancier in terms of animation), I wanted the ability to allow quick comments on blog posts from the main page of the site. Also, I wanted to allow a "Preview" button - mainly because of the number of times I've stuffed up the formatting one one of my blog comments. - - (oh my!) Blog tags are pretty cool, but I also wanted a way to keep my geeky technical and gaming posts separate from the suave travelings of a jetsetter (because, like, there's so much more to me). The home page still shows all sections combined, but I will probably provide an RSS feed for each section if demand requires. - - Another piece of website thievery, I wanted to be able to see the last five comments or so on my homepage with ease. The blog search is also something that helps when when I think "I know I've typed this before" - though as it was the last feature implemented, it's really dodgy at present. - - Most coded-at-home blog sites have a dynamically generated RSS feed that gets created each time it is requested (i.e. I go to the RSS feed's page, it goes to the database to get the last 20 posts then outputs the results as XML). The problem with this approach is that some RSS clients request the XML feed in great frequency to check if anything's been updated. Even with as limited a readership as mine, these requests can add up and really slow down the database. Instead, I've made it so a physical XML file is saved to my website each time a blog post is updated, or a future-dated blog post is made active. This file generation is slower than a simple database request being returned as XML, but if history is anything to go by, my post frequency is nothing to worry about! I'm probably leaving out heaps of features that took plenty of time and heaps of head scratching, but I'm sure you get the idea. So register to comment, sign up to the RSS feed and stay a while! # Posted in the Technical section and tagged as: Web Comments (2) | Add Comment Wednesday, July 13, 2005Remember Me! <flaming eyeballs># Posted by Joel Dixon at 13/07/2005 11:58:00Well, my USB key wiped itself again (third time thus far) which is very annoying. I use it to store old work, and common code I'm always looking up. An example of this is VBA code required to unlock a protected Excel workbook (for whenever I want the answers to the latest Excel Quiz doing the rounds): VBA Code:
I've decided to start posting things like that here - and use my USB key for transport rather than storage. # Posted in the Technical section Comments (0) | Add Comment Sunday, July 10, 2005Checkers# Posted by Joel Dixon at 10/07/2005 23:33:00Going through some of my old uni work, I found my Checkers assignment. It's not very good - but I like the look of it. I've stuffed up the Game Tree Algorithm though - as the computer plays good for the first half of the game, then it tries to let me capture it's pieces. Oh well, enjoy. # Posted in the Technical section and tagged as: Java Comments (0) | Add Comment Friday, June 17, 2005Java Snob# Posted by Joel Dixon at 17/06/2005 17:52:00Java has been my programming language since my first year at university (1999). Before Uni I had toyed with Basic, Turbo Pascal and VBA (Visual Basic behind Access / Excel) for VCE, but my largest programming experience was Batch files on our home computer. I really took to Java at uni, and programmed a few things in my own time (a calculator and text editor). When I started my graduate job I was put on a Java maintenance project, which I enjoyed a lot for the first few years. Since then, I have also been toying with my shape drawing program in my spare time - which I also enjoy. I haven't coded much Java lately, as I've been doing .NET work and recently been on a BizTalk Server course which I enjoyed thoroughly. Tonight I decided to play with my shape drawing program and try to get some work done. So I started JBuilder and couldn't start - I've been spoiled by Visual Studio, and .NET development. JBuilder's Form Designer is shite - and wiring up event processing is tiresome. The IntelliSense was also limited compared to what I've been used to. A mate from work was saying that .NET development was very enjoyable - I'm starting to understand why. So I've closed by JBuilder - and I'm not sure if I'm going to opening it again from home. Perhaps more Java projects at work will change my mind - but for now I think I'll be happy with .NET. Unless there's a client that wants an MS-DOS Batch File solution ![]() # Posted in the Technical section and tagged as: .NET, Java Comments (0) | Add Comment Thursday, April 07, 2005ADO.NET Strongly Typed Relationships# Posted by Joel Dixon at 07/04/2005 01:55:00Updated by Joel Dixon at 21/09/2007 04:03:35 - added comment captcha It's been over a month since my last blog - but that's OK - I'm sure no-one will mind! I've decided to add a little technical advice about accessing data with Strongly Typed DataSets in ADO.NET. Reason being, I spent over an hour looking for this information before I finally tracked it down on someone's blog. After my post, it will double the amount of blogs with this information ![]() In my ASP.NET WebService, I like to use strongly typed DataSets to access my data with ADO.NET, it's a whole lot cleaner that way. For my example, let's say we have a Customers table, and an Orders table. Customers are identified by their CustomerID, and orders by their OrderID (yes, I'm using Northwind). The Orders table also has the CustomerID that made the order (a one to many relationship). Defining the strongly typed DataSet for this in Visual Studio.NET is quite easy:
Now that you have the strongly typed DataSet, you can directly refer to column names. For example, instead of: Code:
you can use: Code:
That was all good - but I wanted to look at the Orders that are assigned to a Customer (as per the relationship I added above). Most examples were telling me to do something like this: Code:
This gets the job done - but we're back to using things like orderRow["OrderID"] instead of orderRow.OrderID. The disadvantage to using GetChildRows is that it returns an array of DataRow's - not Orders. A way to achieve the above code using your strongly typed relationship is as follows: Code:
When the relationship was created above, it added a GetOrdersRows() method on the CustomersRow object. It may not seem like much - but having the strongly typed OrderRow can help (well, it helped me). After doing a quick search on GetOrdersRows() (to see if I had missed any examples of this) - I found a good ADO.NET tutorial. I wish I had have found that a few hours ago! # Posted in the Technical section and tagged as: .NET Comments (5) | Add Comment Thursday, February 10, 2005Dragging and dropping# Posted by Joel Dixon at 10/02/2005 01:26:00It took me ages, but I finally got drag-and-drop working in my shape drawing program. I had to code most of it myself (the Java dnd stuff wasn't that helpful), but it works just as I like it. When you draw a few shapes (that intersect), you can use the object browser to drag them up and down the list (the shapes are drawn from bottom to top). So the shape at the top of the object browser will be drawn on top of all of the other shapes. (use different colours and thicknesses to really see the effect) Small things amuse small minds - and my small mind was busy on that one for a while ![]() # Posted in the Technical section and tagged as: Java Comments (0) | Add Comment Saturday, January 29, 2005A Good (?) Idea# Posted by Joel Dixon at 29/01/2005 17:57:00Updated by Joel Dixon at 19/08/2007 11:17:49 When trying to cut an image from paint I was squinting my eyes to see where my hairline cursor was sitting. I've used Hypersnap-DX to take screen captures for a while now - and it includes an integrated zoom window. While doing my cut from paint, I was thinking that it'd be good to have the same kind of zoom window available with a keyboard shortcut. I know that Microsoft has their Magnifier (press Win-U), but it only provides a small window on the top of the current monitor. I'd like a way to zoom with my secondary monitor (I'm on a dual monitor setup) when I press a keyboard shortcut. I was thinking that this might be something I have to make myself, until I remembered a product called UltraMon that provides these kinds of utilities. I had a quick look at their site and couldn't find it. Then I remembered the reason that I never bought UltraMon - my videocard came with software that provided all of UltraMon's functionality. Sure enough - after a quick look through the nView Desktop software I found exactly what I was looking for. Now, when I press Ctrl-F12 the secondary monitor changes to a 10x Zoom window. The window also swaps monitors when my mouse does. See snapshop below (the right half is the zoomed window, and my mouse is somewhere in the top left of the first monitor. And yes, I'm currently listening to Live - I absolutely love "We Deal in Dreams"). I love finding things that I didn't know I had! ![]() # Posted in the Technical section and tagged as: Software Comments (2) | Add Comment Thursday, January 20, 2005Draw some shapes - WOW!# Posted by Joel Dixon at 20/01/2005 11:52:00For the last 2 years I've been on the same project, providing support for an existing system. While I have made small / medium changes to the system, most of my time is spent dealing with problems to do with business logic. As a result, I've decided to download JBuilder and stuff around with some math based programming. I'm going to make a program that allows you to draw shapes (furniture) so that you can move them around and design a room. I've finished the drawing of shapes part - and thought I'd put it up here (I'll also post the source code when I get back home). Click here for Shape Drawing Applet. It's very crappy at the moment, but it works and provides some basic options. When I tested that it was uploaded properly, I had already found one small bug - see if you can find it. Let me know if there are any features / options that would make this program better (I'm already adding colour for the next version). # Posted in the Technical section and tagged as: Java Comments (4) | Add Comment Sunday, January 09, 2005Microsoft AntiSpyware# Posted by Joel Dixon at 09/01/2005 13:58:00Microsoft has recently released their AntiSpyware software, which is basically a product of their acquisition of Giant Software. I gave it a quick go - and it looks really good. Setup was easy, and it downloaded the latest signature files in no time. I was a little surprised when it finished though - it said I had no Spyware: ![]() I guess I practice safe-computing? Another neat feature that I didn't know it had - you can get it to erase the history of some common programs etc: ![]() I'm going to keep the real-time protection running - and see how it goes. # Posted in the Technical section and tagged as: Software Comments (0) | Add Comment Next Page | Blog Search Recent Blogs Yeah ... Baby! xkcd Parody Donate money for my next stupid run Feta, Sushi and Underwear Pimpy McHat Attack Chai did it! 10 things for 2010 Party like it's 1999 Literal Music Videos Green Day - Melbourne, 2009Feed Blog EntriesRecent Comments Green Day - Melbourne, 2009 posted 3 months ago by joeldixon The Offspring is probably the one that I most want to see next - except for maybe Daft Punk. I'm ... link Green Day - Melbourne, 2009 posted 3 months ago by Brad Can't believe it took you this long, but as far as first concerts go Green Day would have to be ... link Great Australian Run - 2009 posted 3 months ago by joeldixon Thanks Hitman - the "we stuffed up the distance" article generally takes a few days to be released - so ... link Great Australian Run - 2009 posted 3 months ago by Hitman Hey Dixon, I haven't read any articles suggesting otherwise, so I will take you at you word that you ran ... link I ran a[n eighth of a] marathon today! posted 5 months ago by joeldixon I should be fine. I'm sure the 15km will only be around 850 meters, after the measuring errors etc :) link Comment Standings 1. the man with no name (45) 2. Hoff (39) 3. Gav (27) 4. Hitman (25) 5. Brad (22) 6. Eryc-Ads (13) 7. Deep Lurker (6) 8. thefury (5) 9. Dieter (4) 10. Zelks (4) |
![]() About This Site | Contact Me | ||