posted by alexis reigel on february 19, 2011
There’s a new tool for the file sharing service minus.com that makes it really easy to share files. The tool provides a context menu entry in the windows explorer and a simple user interface to upload the files and provide you with the share url.
The tool is on github.
posted by alexis reigel on january 19, 2011
Under linux spawning a new process is as easy as appending an
& to the command. In windows it’s not (obviously). I pretty quickly found out about the
start command. Not as elegant as the linux version, but still pretty intuitive. Or, wait, not? It took me half a decade to find out how to use it properly.
First i had a look at the help output, which can be invoked by the switch
/?. I’m not 100% sure, but i have in mind that this switch isn’t really standardized, i think I also had to use
/help in the past. Anyway, that’s not the sad part yet.
Reading through that, all you have to do is call
start my_command. Easy huh? No. It’s not.
After digging around this article lead me to the solution: “title: Text for the CMD window title bar (required)”. Title! Required!
Let me say that again. Title! Required!
First thought: Why? Why is a title required? A title is clearly something optional, especially when you’re starting a GUI application.
Second thought: Why? Why is that “required” not stated as such in the help output? Not the slightest hint in the help output. And furthermore, isn’t it a convention that required parameters are NOT surrounded by brackets? Don’t brackets mean “optional”? Apparently, in the windows tooling environment all this does not apply.
I know, windows is a GUI centered OS, and therefore the console didn’t evolve as nicely as it did in other OS’s. Nevertheless, every time I have to work on a console or write a batch file it gives me the creeps. Everything is so unbelievably clumsy. At least I found out about the Console project, which is a pretty decent replacement for the windows console. Copy/paste works as desired with keyboard shortcuts and you can resize the window. Resize the window! How cool is that! But that’s a different story…
posted by alexis reigel on september 04, 2010
For my Batch Replacer I am using a DataGridView with an object data source, meaning that I have a collection class that holds the data to be displayed. At first that class inherited from a usual List<T>, which led to the problem that the data binding wasn’t two-way. As soon as I bound data to the DataGridView, it wasn’t possible to add any new rows to it in my user interface. After some research I found out that instead of using a normal
List<T> I was supposed to use a BindingList<T>. Using that the binding is two-way, and the user interface is normally editable and new rows can be added. Also, of course, all modifications done in the user interface are reflected in the object (meaning e.g. that when a new row is added, the object data source contains a corresponding entry).
posted by alexis reigel on september 03, 2010
So I once again needed to replace several patterns in multiple files with something new… Windows lacks a nice terminal with all the pipeable tools. Instead of doing this all in my favorite text editor by using repeatedly find/replace, I decided that something more handy was needed. Of course I could have done all that replace stuff with xslt too, for even more awesomeness (you can’t see my face, that what sarcasm).
The result of my disapproval of the above mentioned options is the Batch Replacer. As always it is released under the gpl. I also used git:" for the first time and published the source code on github".
posted by alexis reigel on may 15, 2009
I’ve written a tool that allows to define commonly used URLs for repeated access, varying only by a defined parameter-part. When you call one of those URLs, you just need to pass a parameter and it opens in the browser. That way you get quick access to often used URLs, e.g. your preferred search engine, your ticketing system or whatever. For even faster access the URLs are bound to predefined global hotkeys.
More infos can be found on github.