Icing and Cake
(For my American readers, icing is what you would refer to as ‘frosting’)
The other evening I was thinking about cake and icing. People seem to like both cake and icing. Cake on it’s own, without icing is too plain, boring, or dry. Icing on it’s own is too sweet to eat very much. When the two are put together, though, the overall product is much more desirable.
This isn’t about icing and cake. It’s about balance and a solid foundation.
So often I see posts in various forums where new members of the community demand to know what everything is about. They expect to be spoon-fed answers to questions that have answers which are easily found (usually in the Frequently Asked Questions). They want to be able to make amazing games that compete with the latest triple-A titles that take many man-years of development, and yet aren’t willing to even do a simple search for answers to the questions they ask.
Likewise, people seem to want to live in the newest, biggest houses, drive the fastest cars, and spend time with the most attractive women. They see the sweet icing of the cake, and they want it.
People also seem to want the sweet rewards of a close relationship, but aren’t willing to put in the quality time and effort that it takes to form such a relationship. Relationships built on lustful desires rarely last.
Here’s a little one of life’s lessons:
You can’t expect to have the sweetest things in life if you aren’t willing to pay the price.
If you want the icing, you’d better be prepared to make and eat some cake.
DataGridView not updating row contents when setting cell.Value
I ran across this last night when working on Todo 4.0 – apparently there is some sort of bug (or undocumented feature) that makes it so that when you update a cell’s value via the .Value property, the DataGridView itself is not refreshed. Adding or removing rows from a DataGridView causes it to be refreshed and redrawn, but if you edit just the contents of a single cell via the cell.Value property, it doesn’t refresh or redraw the grid. The actual value for the cell is updated, but the displayed value is not updated.
There seem to be a few common ways of fixing this:
- Change the underlying DataSource for the DataGridView and call DataGridView.Refresh()
- Call RefreshEdit() if the row has not already been added to the DataSource (as seen here)
- Remove and re-add the row
I went with the latter. There’s probably a better way to do it, but I couldn’t figure out anything at the time (programming when tired can be a challenge).
Hey Autodesk, Listen up!
So a while ago, back when I was in university I had a chance to take a class on 3D modelling using Maya 2008. I quite enjoyed the class and found the skills that I learned there could easily be applied to making models for video games I’d like to make. Unfortunately, as a student I didn’t buy an educational copy of Maya because it was an expense that I couldn’t then justify. Now that I’m no longer in school and am making money I decided to take another look at it. Unfortunately the price had gone up another $1500! $1500 more than the $2000 that they were already asking! Yeesh! Here’s the thing – I don’t need all the features or all the fancy renders or that – I just need a modelling, skinning, rigging, and texturing tool to make some fairly simple models for a homemade game. There’s no way in heck I’m paying $4500 for Maya now, despite me actually having a job and having more money now. I still can’t justify that kind of expense.
Hey Autodesk, listen up! I’m not going to pirate your software, and I’m not going to pay out the nose for it! What I will do is take my business (and my money) elsewhere. What you could do though is release a cut down version for the indie gaming community! Get people hooked on the cheapo version and you might actually sell a few more copies of the full blown thing, rather than having people resorting to piracy.
There’s a niche market there, just waiting to be tapped. Hey Autodesk, if you don’t get on it, somebody else will – and they will be the ones cashing in from it.
Coming Along…
So I’ve slowly been doing a little bit more work on Todo 4.0. Things are slowly coming along, but I’ve got a minor design decision to make. On the side bar, where you can add/edit/delete tasks, I currently have three buttons – one to add a new task (“Add Task”), one to save changes (“Modify”), and one to delete a task (“Delete”). I’ve been thinking about removing the “Modify” button and have it automatically save the changes made to a task. This would help clean up the UI and make it a little bit more like Microsoft OneNote (which automatically saves everything). Of course the downside to this is if someone makes a change to a task and doesn’t want to save it (say, accidentally pasting something over top of the task details), and that change is automatically saved.
So, here’s a chance to voice your opinion:
I’ve more or less put anything XNA related on hold until I get Todo 4.0 done – that way I actually have some motivation to get Todo 4.0 “done”.
Telus – Oh, believe me, I will!
So I recently had a roommate move out that had all the utilities in his name, so it was agreed that I would take over the place and switch everything over into my name. He went ahead and called all the utilities to let them know about the switch-over, and then I called them and got things arranged. At least I thought I did.
The other night, a friend was at our place and said that the caller ID was still showing up as being in the old roommate’s name, even after I had called and gotten all the details switched over almost a month ago. Then, last night I got a call from my old roommate who said that he got an e-bill from Telus (our telephone and internet provider), which he should not have gotten. Not only that, but it was larger than normal (I’m guessing because of the charge of having the billing information switched over). Now you’d think that even after I called and had the switch the billing information over to my old Telus account, and had everything switched over to my name, that I would be the one getting the bill. Apparently not.
On top of all of this, they called several times during the day throughout the last month asking for my old roommate, even after being told several times that he has moved out. Hey, take a freakin’ hint – he’s moved out and no longer lives here! I shouldn’t need to tell you that half a dozen times!
So, I’m going to issue an apology in advance to the poor sap who is going to get an earful tonight: I’m sorry that you have to work a low-paying job at a call center, especially for Telus. I don’t personally hate you, your mother, or your dog, it’s Telus I hate.
Telus, if you want my money, maybe you should be sending the bill to the right person.
Since I’m in ranting mode…
Also, Fido (my cell phone provider), if you want my money as well, maybe you should make sure your online payment system is up and running all the time. The first time I went to go pay my bill online on your website I wasn’t able to access it because your online payment system was down. You’d think that, you know, being a business and all, you’d make it nice and easy for me to give you money. Then, this past time when I went to pay my bill I again had issues with your online payment system, which repeatedly booted me back to the main page without any reason. You might want to fix that.
Another shameless plug and a quick update…
Todo 4.0 is slowly coming along. I’ve been trying to put in 5 minutes a day, which has been a challenge. Right now I’ve got it saving the task list and I’m working on getting it loading the task list. Certainly nothing too exciting yet, but it’ll be nice to get it to the point where I can use it to keep track of it’s own bugs/todo comments/fixes/tweaks. Nothing quite like using the tool you are building to help with development of itself!
So it appears that GameDev.net is having another contest of sorts. If I help spread the word about GameX (a game industry expo, of sorts), as well as GameX IS (more of a technical summit presentation type thing), I could get a chance at winning a free ticket to it along with some other cool stuff. To be completely honest, I wasn’t aware that such an expo or summit existed. I would be interested in hearing from Clint Hocking (Ubisoft Montreal) especially, being a Canadian and all. I keep forgetting that there are companies other than EA (in Vancouver area) and Bioware (Edmonton area) that are doing game development in Canada.
Oh, and if I win the pass to it, I’ll have to pass it on to someone else. Either that or book a few days of work, find a cheap flight and a cheap hotel to Philly, and enjoy myself. I’m not entirely sure how well that’d work, but it could turn out to be a proper adventure…
Still Alive…
No worries, I’m still alive.
I’ve been doing a little bit of work on Todo 4.0 lately. I say a little bit because at this point I’m still doing the UI for it. I am a little bit behind of where I was before I decided to rewrite it. The last attempt at it I apparently forgot all design patterns and practices which was quickly resulting in some pretty hideous code. Things are looking much cleaner now. That, and the UI is behaving much better without having to fudge any values. Before I was using 3 panels on the main task window to display the DataGridView, the side buttons, and the actual task. Now I’m using a SplitContainer which seems to work a lot better. I didn’t know that such a thing existed until a while ago, hence me not using one from the start.
I’ve been wanting to get Todo 4.0 done and out the door (at least in beta form) before I start working on any other big projects (i.e.: game development stuff).
New…
Anyone visiting here on a regular basis may have noticed the new theme. Finally something that lets me post large images without them getting mangled/cut off! That, and I think it looks pretty slick.
I’ve not been doing much programming on personal projects lately. A little bit of work on Todo 4.0, and that’s pretty much it. I’m still mulling around with a few other ideas. One of these days I will actually have to do something with one of them.