16. July 2006 16:13
Although the BasicX Integrated Development Environment works for writing, compiling and downloading source code for small quick projects once you start using it a lot for writing source code it tends to be lacking features. However the folks at Netmedia were nice enough to allow for command line execution of their IDE to compile and download code. This opens up the opportunity to use your favorite editor to write source code and launch the IDE via command line to compile the source. I have been using these command line options since 2001 to make my development environment a little more to my liking. In this blog post I will talk about how I manage the process and the tools I use.
First a couple notes about some things that might trip you up in using the command line options. The BasicX IDE wants to know the base directory where your projects live. This is ok if you want to manage this directory in the IDE every time you switch to another folder or if you only have one project. However if you are like me you have many projects and you don't want to have to load up the IDE to change this base directory every time you work on one of them. Next the chip setting for BX24 or BX01 is also set from the IDE and is needed for the command line compile. I bounce back and fourth between projects that use one or the other chip so my IDE could be set for either one at any given time.
Neither the base directory or the chip setting is offered as an option in the command line. Although Netmedia does store these items in the Windows Registry so an external program can modify them before launching the command line compile.
So I created a vbscript that sets the IDE options and then calls the compiler. The script accepts 3 parameters:
1 (Required) - Project file
2 (Optional) - /c
3 (Optional) - /d
The script supports drag and drop capabilities so you can use it 1 of 2 ways.
1 - Drag the project file onto the script
2 - Call the script from your editor or a batch file
I usually create a build.bat file that I just call from the text editor. The build batch file is specific to the project that I am working on so I generally keep it in the main folder of my project.
I have included the script files along with a sample BX24 project so you can look at what I did and maybe make use of it for your own BasicX projects.
I also use a shareware text editor called TextPad. This editor supports syntax highlighting and multiple documents. The nice thing about it is that I can pass TextPad the project file and it can load up all the source modules that are associated with the project. I often use a batch file to launch the textpad editor and open all the source code for the project. I have also included this batch file in the bx24.zip so you can see how it is done.
12. July 2006 01:41
del.icio.us Tags: Scrum
On my flight from Charlotte to Phoenix this week I listened to a number of podcasts. One of my favorites is Hanselminutes. Scott Hanselman talks about a lot of thins I am interested in.
In the Line of Scrumage podcast Scott talks about applying the Scrum agile process in his work place. Most of what he talked about are things that we have been using at JDA Software Group Inc. However Scott brings up an interesting point about applying Scrum processes to a 1 person team. I have often thought about this for some of my own personal projects. I often do small projects for myself and I end up playing the roles of product owner, business analyst, developer, and tester. So could I effectively use Scrum as a way to manage these projects? Well I have sort of attempted this on a couple projects and here is what I found out.
The part about building a backlog of stories that are features to get into a product and giving them a priority is something that has worked for me vary well. I find it easier to express the features that I wish to get into my projects as a story. The story format lets me capture the user, action and benefit in a quick step. If I had to spend a lot of time working out the functional documentation of a given feature I am afraid I would not end up completing the feature in a timely fashion. Even prioritizing the features helps me focus on what needs to be developed next.
However the process of story pointing features and planning them out over multiple sprints just does not seem to give me any real benefit. The main reason for this is that since these projects are personal projects they do not get a consistent amount of time dedicated to them. I might have 3 hours 1 week and 0 hours the next to dedicate to the project. So planning for sprints and trying to determine my velocity is somewhat difficult. This aspect of Scrum ends up not being part of my personal projects. This is ok for me though because I feel more organized by maintaining a backlog with priorities.
6. July 2006 22:44
Added the ability for the blogger to receive emails when a new comment is posted to a blog entry.
Added the ability to contact me by email via a contact form.
4. July 2006 14:01
Day 2 of Shawn's participation in the USFA Summer Nationals was on Monday 7/30/2006. Check out Day 1 at USFA Nationals for some previous results. Also check out the pictures that I posted that were taken during our trip.
Wake up call at 5:30 am was surprisingly on time. We headed to breakfast at 6:25am and then we hurried to the lobby to request out car. How many valets does it take to find your keys you ask? Well more than two. After a 12 minute wait I headed in the room to assist in the search. I searched high and low and finally found them laying on the floor. Meanwhile Denise stood anxiously starring at her watch as the time we were supposed to check into the fencing tournament arrived. We hurried on to the World Congress Center and fortunately when we arrived at 7:15am there was no line. So Shawn checked in for his much anticipated saber event, hurried to base camp to wait to be summoned to the "Piste" (fencing strip).
Shawn's saber event had 97 other fencers. The initial seading based on previous tournament results placed Shawn in 58. This meant he fell pretty close to the middle of the other fencers. After the pools are completed the seeding would be re-evaluated and Shawn would be matched up with his first Direct Elimination opponent.
The pools started at 8:50am and completed at 9:40am. Shawn fenced 6 bouts during the pool. Shawn won 1 and lost 5 bouts. Most of the bouts were very close and Shawn made them very exciting. His last bout was where he earned his win. Shawn used a fencing technique called the line to lure his opponent into a failed attack and then he scored by striking on the opponet's right side. This worked for 3 of the five points during this bout. The final score of this bout was 5 to 1 with Shawn as the victor. Shawn moved up one spot in the seeding after the pools were completed.
After the pools the Direct Elimination (DE) tournament began on strip 44 of the venue. Shawn's opponent was a little shorter than he was which was an advantage by reach for Shawn. The DE is a best 2 out of 3 bouts that are 5 points each. Shawn started off with the first bout on a win that was 5 to 3. Very impressive start!! The second bout went to Shawn's opponent in a 2 to 5 loss. It was going to have to go to the 3rd and final bout to determine who was going to advance to the next round. This sure makes a parent nervous watching your child get so close to winning his first National DE. But Shawn ended up coming a little short on the points and he lost the bout 5 to 3.
Well we once again are very proud of Shawn at how well he did in the USFA Summer Nationals of 2006! He showed so much determination at doing his best and being a real winner even if he did not advance into the finals of the tournament. Shawn had a lot of fun doing this tournament and we can all expect to see him at the next Summer Nations that will take place in Miami, Florida next year around the fourth of July.
4. July 2006 13:26
I uploaded some pictures of the Fencing tournament for anyone that is interested. For right now I don't have a good way to allow for comments to be left on individual pictures. So leave any comments about the pictures on this blog entry.
2. July 2006 00:28
Well day 1 has come and gone. We started the day out arriving at the Georgia World Congress center in Atlanta at 8am. We immediately made our way to the armory to check Shawn's fencing equipment. First off Shawn's borrowed Epee fencing mask failed inspection. So off to the vendors in search of a new mask. Fortunately at these events the vendors have some good prices that make buying equipment a little more enticing. So we went ahead and purchased a couple more body cords, a lame, cuff, and an epee mask. Ouch!! there goes 200 bucks. Oh well it would of been 250 if we done it mail order.
Next we inspected the freshly purchased equipment and had no issues in the armory. Everything we needed to complete for the event was done now so all we had to do was wait for the pools to start.
Fencing time came around real quick. Shawn went into his first event a bit on the nervous side. That was understandable because the last time he competed in an epee event was last year at the Atlanta regional's. We had a number of problems with his epee weapons. A fencer is supposed to have two weapons. Right before each bout the weapon is inspected for the proper tip spacing, and compression rating as well as electrical connections. If any of these fails the fencer gets a yellow card. If a fencer gets more than one yellow card he could have points taken away from him. So the fencer needs to fall back on his second weapon. Shawn ended up with 3 failed weapons across 7 bouts. We need to work on getting him to inspect his own weapon before entering the fencing area. Needless to say he ended up with one red card which ended up with a point against Shawn.
Shawn fenced 6 bouts in the pool for epee. He lost the first 5 bouts which discouraged him in a lot of ways. Then he had a little longer wait before his 6th bout so he had some time to think about his mistakes. Shawn's opponent in this last bout was about a foot and a half taller than him. This kid had some serious reach over Shawn. This was not going to be an easy bout for Shawn at all. But this did not discourage him he ended up with a 5 to 4 win and we were all very excited. Even Shawn's coach was a little surprised that he was able to pull off such a good win.
Well the pools ended and now it was time for the direct elimination tournament to begin. Shawn's first opponent was another kid that seriously looked like a 17 year old rather than a 12 year old. This kid was almost 2 feet bigger than Shawn. In the direct elimination tournament the fencers do 3, 5 point bouts. The first fencer that wins 2 of the 5 point bouts advances to the next round. The first bout went to Shawn's opponent in a 5 to 2 loss. But this did not discourage Shawn, he went on to beat his opponent in a 5 to 3 win. So now it was getting exciting, both fencers won one bout each and they were going to have to fence a 3rd bout to determine who should advance to the next round. Shawn fought hard in this last bout but he ended up a little short and lost 5 to 2.
Well we were very proud of Shawn for doing so well. He showed some great courage in doing his best. And above all he had a lot of fun.
Check out Day 2 of the USFA Summer Nationals for more information on Shawn's progress in the event.
29. June 2006 16:05
Well it is getting close to the Summer National fencing event that my son Shawn is competing in. The event is being held at the Georgia World Congress center in Atlanta. This is a huge event. There are over 4,000 fencers competing! It is the largest group of fencers in the nation. This is the event Shawn has been training so hard for (I hear a rocky theme song somewhere). There are 40 fencers from his school that are competing as well.
Shawn will be competing in the Y12 Epee event on Saturday and the Y12 Saber event on Monday. He will be tossed in a pool of other fencers to fence multiple 5 point bouts. The better he does in these bouts the better he will place in the single elimination tournament. Once in the single elimination he has to win 2 out of 3, 5 point matches to advance to the next round.
Epee fencing is all about speed and precision. The idea is to stab your opponent before he stabs you. Any part of the opponent’s body is a target. You can even stab him in the shoe if he sticks his foot out to close to you. This may sound a little easy to the untrained couch potato but you have to remember that the opponent can use his weapon to ward off your attack. Often times the bouts are on the defensive side just waiting for the right opportunity to lunge for the attack. This particular event has not been Shawn’s strongest but during his last tournament in Atlanta Georgia he did very well even though it was his first time fencing Epee. So we anticipate an even better performance from Shawn this time around.
Saber fencing is also about speed but focuses on slashing your opponent instead of stabbing. The target area is not so open like Epee. You can only strike the head and upper body including the arms. The opponent’s weapon can also be used as a defense mechanism to stop attacks. Shawn has improved significantly in fencing saber. It is truly his strongest and most well liked weapon to fence with. We believe Shawn will do very well in this event.
Well wish Shawn some good luck!!!
24. June 2006 13:28
I added a feature to allow for user comments. I used a CAPTCHA technique to keep the spam down to a minimum. Spam was always a problem in my .Text blog.
23. June 2006 18:25
Added some blog statistics on the home page. Currently I am only tracking the number of blog, comment and trackback entries. Later I might add more statistics or allow the numbers to be constrained by some start and end date so I can see numbers for a specific time frame.
23. June 2006 15:31
I added in the ability for my site to receive track back pings. The pings get logged into a database table. I only allow one trackback per Url and Blog Unique Id. I also added the ability to only allow trackbacks if the Url is really referencing the blog identifier it is attempting to ping. This should hold down spam some. I still need to do the following around trackbacks:
- Add in the ability for this site to ping other sites.
- Add the ability to remove trackbacks in the admin pages
- List trackbacks on the Blog Detail page
- Add the ability to show a count of all trackbacks