The blog of roncli blog
Houston, Texas, United States
CTG Music
Trax in Space Beta
Recent Posts
WTF did Revival Productions just do?
A Tale of Two Communities
The Final Stretch
A Two Tiered, Untiered OTL
Secretly, you wish you could've done what I did
What have I done since v2?
It's Done. It's Finally Done.
The Big Picture is Starting to Wear on Me
A Low Bang to Buck Ratio
February 2005
March 2005
April 2005
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
June 2008
July 2008
September 2008
December 2008
February 2009
July 2009
August 2009
September 2009
October 2009
November 2009
February 2010
March 2010
April 2010
June 2010
July 2010
August 2010
September 2010
October 2010
November 2010
December 2010
March 2011
June 2011
July 2011
August 2011
September 2011
October 2011
December 2011
January 2012
February 2012
April 2012
July 2012
November 2012
July 2013
April 2014
July 2014
August 2014
November 2014
December 2014
March 2015
April 2015
May 2015
June 2015
July 2015
September 2015
January 2016
February 2016
May 2016
July 2016
November 2016
March 2017
January 2018
May 2018
June 2018
January 2019
January 2021
February 2021
March 2021
August 2021
October 2021
December 2021
August 2022
November 2022
October 2023
February 2024
April 2024
Current Posts
Monday, November 28, 2005
Got nasty VB.Net ListView flicker? Double Buffer it
Posted: 2:30:00 AM 5 comments
The solution is so painfully obvious, I wish I had thought of it sooner.

In the designer, all you have to do is change your Inherits line to inherit from the ListView object and remove that Autowhatsit in the InitializeComponent function.

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class ListViewDoubleBuffered
    Inherits System.Windows.Forms.ListView

    'UserControl overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
        End If
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        components = New System.ComponentModel.Container()
    End Sub

End Class

Then in the code behind, write a constructor and set its styles appropriately.

Imports System.Windows.Forms

Public Class ListViewDoubleBuffered
    Inherits ListView

    Public Sub New()
        Me.SetStyle(ControlStyles.DoubleBuffer, True)
        Me.SetStyle(ControlStyles.Opaque, True)
    End Sub

End Class

Bam. Instant double buffered control.

Labels: , , ,

Sunday, November 27, 2005
DataGridView is crap
Posted: 6:48:00 AM 1 comments
It is interesting... Microsoft's .NET framework is very complete in most areas, but it seems like Microsoft decided to not pay attention to certain things.

Like grids. The DataGridView, the only way capable of displaying and manipulating tabular data provided by the standard control suite, is terrible. You would think that this is a basic necessity when it comes to designing a GUI, yet Microsoft, through VB.Net 2005, still has not gotten it right.

In Due Process, I want to create a list of processes, along with some selected data for each process, and display it to the user so that they can view and sort the data with relative ease. Of course, some things, like CPU time, change constantly, so I refresh the data every second.

DataGridView doesn't like this. If you just set a binding and go with it, it will update the grid every time data's changed. I'm not talking the once per second or so that it refreshes, I'm talking about every time it iterates through the list of processes and updates a single value. Every time it has to refresh the grid.

And there's no way, at least none that I've found, of stopping this. The closest I've come is by using a BindingSource and shutting off the sending of events. But then you can't reload the data automatically. If you try to do it manually, it eats processor. I know it's not the actual updating of the data, because when I was doing this in VB.Net 2003, it was taking no time at all.

Of course, in VB.Net 2003, I was using a 3rd party control that's not compatible with the .NET 2.0 framework, so now I'm stuck with having to redo the way this program works entirely, which sucks.

Labels: ,

Saturday, November 26, 2005
Track 7 Still Rules
Posted: 8:37:00 PM 0 comments
It's been 5 years since I last played San Francisco Rush 2049's Track 7... It's only on the Tournament and Special editions. Well, I was lucky enough to find a machine downtown and played today for about 3 hours. Too many kids, though, I probably won't be going back. My only hope will be finding somewhere else that has it and play there.

I did about a 5'12", 14 seconds off my time from when I played it last at Starbase near San Francisco.

Labels: ,

Wednesday, November 23, 2005
Posted: 12:36:00 AM 0 comments
I just think it's a cool move. Meant for defense, you can really demoralize your opponent by castling queen-side while at the same time putting them in check with your rook.

After playing a few games at work, I may actually be getting back into chess again.

Labels: ,

AJAX not ready for prime time just yet
Posted: 12:33:00 AM 0 comments
I was playing around and got my first full page designed using ASP.Net 2.0 and AJAX.Net Professional. Then I had this thought go off in my head like an alarm siren. How am I going to stop hackers from sending Javascript requests through their browser to my server? The answer, unfortunately, is I'm not.

Security in AJAX is kind of crap. I still have to do all my validation on the server side if I want to make sure that the data I am getting is secure. I mean, it can be done, but it's such a hassle that I might as well do it server side anyway. ASP.Net is quick enough for it.

I may still do some implementations of AJAX to speed things up in areas where the user isn't posting data to the server. Perhaps when/if secuirty improves, and I'm not sure it can, I'll take another look at it.

Perhaps that is why it's been around for so long and just hasn't gotten used. You get one big company who takes the time and effort to go through it and do things the right way, and now everyone thinks they can do it. Although I for one won't be surprised if we ever hear about GMail getting hacked somehow.

Oh wait.

Labels: ,

Sunday, November 20, 2005
Where have the days gone?
Posted: 3:56:00 AM 0 comments
Since downloading Visual Studio .NET 2005, I've been doing absolutely nothing but ASP.Net. I mean, nothing to the point where I haven't eaten food, I haven't slept much, and just about every thought (outside of the area of my brain permanently reserved for music) has been how to get something to work in ASP.Net.

And for once, I'm actually excited about AJAX.

I'm working on the roncli Productions website. In order to properly launch Due Process, I will need to develop the website full on. I plan on having a simple page that has a product listing, trial downloads, purchasing, and forums.

Of course this means I need a registration process. The whole "are you 13 years of age" thing to collect email addresses set in, and I thought, wouldn't it be nice if there was a control that could limit the date range in which one could enter within it?

This quest led me to Michael Schwerz's amazing and free AJAX.Net library. It's not open source, but there is enough support for the library, and it's just so damn easy to use, that I decided to give it a shot. My jaw literally dropped when I saw how easy it was to do.

My problem, though, is I'm far from a JavaScript guru. In fact, my JavaScript is about as bad as my C++. Considering they are related languages that shouldn't come as a surprise to anyone. The simplest tasks become complex when I typo here, case wrong there, forget to var something elsewhere.

So now I have a nice date picker control in ASP.Net 2.0 that I can use anywhere I can use AJAX.Net. So I figured, why not do the entire registration process like this?

I'm about halfway done, having tackled my first AJAX routines, and I actually WANT to finish it. Never mind I'm half asleep and it's 4 AM in the morning.

Ah, the coder's life.

Labels: , , , ,

Friday, November 18, 2005
SQL Server & Visual Studio 2005
Posted: 5:09:00 AM 0 comments
Took my first crack at SQL Server and Visual Studio 2005 tonight. My first thought: It's a lot of fluff. Things are prettier, but they don't do too much differently.

They completely redesigned the client tools for SQL Server 2005, and I'm not entirely sure they got it right yet. There's some annoyances I've had using it at work, including how projects are done with the connections that you have to open every time, and there's a bunch of bugs with the "save password" check box that doesn't seem to always save.

Visual Studio 2005 on the other hand is for the most part bug-free from what I can tell. I did a bunch of ASP.Net 2.0 work tonight, and the master page solution is simply awesome. I don't like the way namespaces work, though, and I found it difficult at first to figure out the coding architecture.

I can't wait to start converting some VB.Net solutions over to see the improvements to that language. Perhaps the Google Desktop project I've been working on will finally work. Hmmm...

Labels: , ,

Thursday, November 10, 2005
Posted: 6:51:00 PM 0 comments
I got a chance to play around with a CAPTCHA control for ASP.Net. As annoying as those distorted text images are, they are useful for keeping computers from registering and posting crap. Very easy to install, just add the control to the toolbox, a few lines of code to your Web.config, and you're ready to stop harvesters dead in their tracks. Worth checking out if you're into ASP.Net.

Labels: ,

Sunday, November 06, 2005
Due Process
Posted: 6:13:00 AM 0 comments
My latest attempt at programming something useful is called "Due Process", a program that allows you to change the priority of a running process permanently. The difference between this and something like WinLauncherXP, which is buggy as hell might I add, is that Due Process runs as a process and has a setup front end where you do your configuration from.

This program was so incredibly simple to write. The most difficult part was finding a decent enough grid control to handle what I needed to do. All that's left is pampering the interface so that it doesn't look quite as n00bish. Figure I'll slap it up as shareware and make it roncli Productions' first software offering. Why not?

Labels: , ,

Friday, November 04, 2005
And to top off my night...
Posted: 3:34:00 AM 0 comments
Now I'm dyslexic, enttering, instead of Ugh...

Labels: ,

A story
Posted: 3:33:00 AM 0 comments
It amazes me how history repeats itself sometimes.

Several years ago when I first got involved in the so-called "tracking scene", I got to know quite a number of people through my involvement in Trax in Space. One of them was a musician of incredible caliber, one that I still can only dream of being as good as.

Some people just have a natural talent when it comes to certain things. For him, it was music. Shortly after I heard of him online, I somehow got a last-minute chance to meet him at an airport on a layover stop. We talked, things seemed pretty cool, and we went on our way afterwards.

Time passes, and a side of this guy shows through that really didn't appeal to me. His attitude towards things he didn't like was completely destructive. His criticism was often filled with sharp, hateful words, and it seemed to me that he wouldn't think before opening his mouth. In a hurry, this amazing musician turned into someone I didn't care to know anymore.

Well, of course, this incident didn't even come to mind when I met a couple of people at an airport on a layover a couple years back. It was a friendly meeting with a couple of amazing individuals which has given me a fond, lasting memory.

But time has passed, and things have changed. Slowly, I see the destructive attitude setting in. I watch as the sharp, hateful words fill their criticizm. They have started to speak without realizing what they are saying. What should be simple mistakes that they could easily correct are getting blown out of proportion because of this. Otherwise amazing individuals that excel at what they do, they are rapidly joining the ranks of the aforementioned musician.

It hurts to watch this. Perhaps even more so, knowing that I'm watching it happen again.


Another Late Night
Posted: 3:16:00 AM 0 comments
Seems sleep avoids me like the plague. Thank goodness I have a job that'll put up with me going in late, or even working from home for a bit. It's been three months, and I am really enjoying the work and the people I work with. The paperwork's a pain to keep up with, though... hopefully we can figure out how to make that go away.

I decided to take a look back over the last year or so and see what I've accomplished. Well, a whole lot of nothing.

Musically, only one song was completed, "Everytime", that was actually "completed" back in October of 2004, but I just didn't have the will to sit down and put it together. Once I finally did, it came out okay. I think I could've done better, though, but I still haven't learned enough about post production to do it.

But that's about it. I've started so many songs AGAIN that I can't keep track of them all. New music is in my head that I can't get out because I just don't have the will to open up Reason or ModPlug and write it. The only stuff I end up doing sounds like... well, "Everytime".

I have planned for a while to pretty much destroy and make it better. However, I haven't had a good spark of imagination as far as what to actually fill the void with.

OSMusic.Net has all but died, despite my occasional bursts of work to try and get something going again. The previous ASP.Net project I mentioned may help with this, but then again, that all depends on whether or not a certain someone's decided to lose concentration and wander off to another idea. (I know you're listening Saurin!)

My work with Google Desktop has been fairly extensive lately, and I've mostly figured out how to get it to work in VB.Net. Despite the minor problem I had with it the other night that forced me to reinstall the program, it's been a great addition to my desktop, worthy of the space it takes up. And to a desktop space junkie who got himself a 22" monitor just so he could see it all, that's saying something. It'll be a while, though, before I'm able to put anything together, as it's either work with an incomplete VB.Net API that I haven't quite figured out yet, slowly learn C#, or use scripting which doesn't support everything I'd like to use.

Cent has been my oddball project. I've learned a great deal about C++ and can actually do stuff without having to look it up anymore. I've also got a handy dandy C++ book that I still need to finish up to help me along, should I need it. The program itself is working out good. I get stuck sometimes, but once I past those points the application works oh so wonderful. I haven't gotten into any 3D Crystal Space programming yet, but I understand the basic concepts and have read a lot about creating content for it. It shouldn't be a stretch to see this project through to completion, it's just going to take a hell of a lot of time to do.

Other things grab my attention every now and again, but usually not for too long. I haven't really been able to concentrate on any one thing, so it's good in a way to have so many projects to keep me going from day to day. Eventually, something will be completed, I hope, and I'll have something to show for all this time I've been seemingly accomplishing nothing.

Labels: , , , , , ,

Posted: 12:57:00 AM 0 comments
In my search for All Things Google, I found out about something they do yearly called the "Code Jam", which uses software based on the competitions that take place at TopCoder. It's actually a pretty neat site that takes coders and pits them in a competition of speed, accuracy, and problem solving. There's also ways to make money off the site by involving yourself with projects that they will eventually sell to people. It's not a bad deal, if you code in C++, Java, C#, or VB.Net, drop by and check it out.

Labels: , ,

Thursday, November 03, 2005
Google Desktop 2 out of Beta
Posted: 5:21:00 PM 0 comments
Google has come out with the full release version of Google Desktop 2. It has a great desktop search capability which beats the pants off of Windows, but I like it for the sidebar. Email, news, weather, and all sorts of other things at my fingertips.

I've been playing with writing plugins in Visual Basic.Net, and with the help of some great people at Google, I have a version of a sample plugin that is very close to working. In the meantime, they decided to add scripting as another option for making plugins. It's more limited than using COM, but there still are a wide array of possibilities for plugins.

Of course, there are already quite a few sidebar plugins available. Check it out, more great freeware!

Labels: ,