Text File Splitter
I was helping a Text File Splitter user with an issue he was having with the split text file using regular expression strategy. The regular expression works fine from the GUI or if you use the console program on the command-line. However it wasn't working if the same command line parameters were used in a batch file.
It turned out to be that regular expression was no being escaped when using it from the batch file. The solution is to enclose the regular expression in quotes. Here's a normal example:
In order to use this from a batch file, you would need to do this:
Just wanted to post this here, in case somebody else runs into this issue.
A Text File Splitter user had a problem with the file encodings. This is a known issue, that I'm happy to report is almost resolved. He gave me a file for testing, and that has helped enormously. Thanks Zhou!
Work on Text File Splitter 3.0 has crawled, but I had already converted the code from 2.2.1 over to .NET 4.0. I decided to just finish this work, and release it as 2.5.0.
Here's a screenshot of Text File Splitter detecting a UTF-8 file without the Byte Order Mark (BOM):
Here's a screenshot of a file with a BOM:
I'm using a library called "ude", which is a C# port of the Mozilla Universal Charset Detector. I had to put a bug fix to deal with very large files. At least the file encoding detection, first half of this feature, is now done. Now I need to deal with the encoding on the file chunks. This has taken a lot more time and code than I expected. Hopefully, this will solve this nagging issue once and for all.
I don't have a date for when this version will be released. I still need to update pages in the new wiki (http://docs.systemwidgets.com). You guys will be able to start creating your own splitting strategies, once I get all of this work done. The wiki talks about version 3.0, but you will be able to do this with version 2.5.
I was cleaning unneeded files in one of my servers, when I noticed that PHP had a massive error log file.
As you can see, I was able to break it into 10 Gig files. Here's a screenshot of the UI, right before I clicked the "Split!" button.
So my designer gave me another mockup. This one has a bit of styling.
Here's an early mockup of TextFileSplitter's new GUI. It will be about 500x800, so this should fit on all netbooks out there. This is just an early design. Still working on it with my designer.
This is a WPF UI. I will need to redo the splitting strategies to use a WPF user control (for configuration) instead of the Winform ones. This is what is holding up the release of TextFileSplitter 3.0
I upgraded Text File Splitter to use .NET 4.0 and Visual Studio 2010. I have been testing different development setups to find the easiest one to get aspiring addins developers up and running quickly. The advantage with .NET 4.0 is that Management Extensability Framework (MEF) comes baked in, and I don't need external assemblies anymore. MEF is what makes it easy to load custom parts into Text File Splitter.
I've copied the code for the SplitByLine splitting strategy and modified a bit, so that I can treat it as a custom splitting strategy. I named it SplitByLineCustom. Here is how I setup this project:
I unzipped Text File Splitter 3.0 (not out yet) into the Binaries folder. Then I put the custom project and code in SplitByLineCustom. Here's what the solution looks like:
Notice that I added a reference to the FileSplitStrategyEngine assembly.
There's a couple things that need to be setup in the project's properties.
Set the start action to call the TextFileSplitterUI.exe program. This should be in the binaries forlder that we created in the beginning of this post.
Point the outpout of your project to the Binaries folder where you unzipped Text File Splitter. Once this is setup, the UI will be able to automatically pick up your custom splitting strategy.
Here you can see that the custom splitting strategy loaded into this drop down. Here is what it looks when selected:
I'm fleshing out the SDK. I will be including this solution as part of the SDK. I'm working on getting SandCastle to spit out MSDN like documentation. I'm hoping to have this done in the next couple weeks.
A TextFileSplitter user commented that the UI is too big on his screen. I added accelerators to the Split! and Get Command Line buttons. Not sure why I didn't add these before.
NEW - Added accelerator to the Split! button. It is ALT-S.
NEW - Added accelerator to the Get Command Line button. It is ALT-G.
You can download it HERE.
I've seen other tech companies do a New Year's letter, and I'm trying to adopt this in my workflow. So here's a roadmap that I set for myself for 2011:
The MEF support is half-baked, so I want to upgrade everything to .NET 4.0. This version of .NET has a native implementation of MEF, so that I don't have to resort to the downgraded assembly that was created for .NET 3.5.
I also want to flush out the SDK. It needs a lot of love, and I now have the energy to get this done.
I want to see if I can get everything moved to .NET 4.0, as this version of the framework has a LOT of improvements. I'm hampered by .NET 2.0 right now, and I can't do a lot of things that I want. Moving to the latest version of .NET will let me implement some needed functionality without the need to resort to hacks.
This is a new utility that I created to help me with my builds. I found that I have to add a LOT of files, just to get my build script to get the correct files. One of the things that really annoys me is that there's a lot of temporary files from Visual Studio and Subversion in all my projects. On top of that, ReSharper and my other IDE plugins, also add their own temporary files.
This utility will let you delete all of these nuisance files in one go. For example, you could copy the whole project folder to a temporary folder, and tell DeleteDevCrumbs to delete the bin and obj directories. This little gem will go through all the subdirectories and nuke all of these things. It will also take care of the .svn folders, if you tell it to.
I'm in the process of polishing this for general comsumption.
This is an application that has been on the back-burner for a long time. This will be similar to SVN Backup Widget. This is in the design stages, so not much has been done yet. I'm planning on using WPF for the GUI. My hope is that I can design it in such a way, that it can be used as a plugin for the new version of PainlessSVN. Not really sure when this will be done.
Anyways, here's to a fruitful 2011!
I released Text File Splitter 2 about a week ago. Had to fix a couple things right away, so the version number is 2.0.2 at the moment.
I was finally able to add the autoupdate feature. This feature can be used in two ways:
1) Through the menu
You will see some action on the right hand side of the form like this:
2) Running the wyUpdate.exe program manually
You will see this dialog right after you run wyUpdate.exe:
The best thing about the auto update is that you have the ability to update the program even if it is not working.
I'm in the process of fleshing out the Software Development Kit (SDK) for Text File Splitter.
I just wanted to show everybody what I was working on tonight. I got the console program working with all the splitting strategies. That was a lot of fun. Since I was in a roll, I went ahead and implemented the feature where the GUI will give you the commandline for the current settings.
Here is the GUI all setup:
Now click on the "Get CommandLine" button and you get this:
I also started filling out the SDK. All in all, I had a very fun night coding this. It really helped me forget (at least for a few hours) the blown engine in our Dodge Durango.