Archive for the 'Innovation' Category

pscanf: a sscanf replacement for C

Wednesday, August 6th, 2008

In general, I like C. Pointers don’t generally bother me all that much, and its really nice to use for a lot of different things. However, its string handling SUCKS (though, printf is nice). It seems like a lot of the string routines in the standard C library are designed to screw you in the most unexpected ways possible.

So recently I’ve been struggling with processing input from a user on the command line, and I was using sscanf to attempt to do really simple string processing, and it simply wasn’t matching the correct things. After much struggling and coming to the realization that I needed to do something similar to regular expressions… I sat down and wrote the following function, and it works quite well for what I want to do.

What it does do:

  • Match arbitrary strings using a perl regex, and return the matches to you

What it doesn’t do:

  • This is not a drop-in replacement for sscanf: you need to change the format string around and (possibly) your parameters.
  • It will not return anything but a string. Thats all you get. Of course, if you format your regex correctly then you can pretty much be guaranteed that strtol/strtod/etc will work…
  • Give you any kind of comprehensive error reporting. If you want that, then just use the pcre functions directly
  • Cook your meals or do your laundry

This is released under the license contained on http://www.virtualroadside.com/software/, enjoy!

(more…)

SSHFS For Windows

Wednesday, July 9th, 2008

This japanese guy apparently wrote something similar to linux’s FUSE for Windows (supporting user-mode filesystem drivers) and created a number of bindings for it. As a practical example, he’s implemented SSHFS in windows, which is awesome IMHO and exactly what I’ve been looking for.

However, this means someone can now write a filesystem driver in Visual Basic. How awesomely crazy is that?

Go to his site to download SSHFS for Windows.

What can you do with 100 bezels?

Tuesday, May 6th, 2008

I’m always on the lookout for creative opportunities, and my latest endeavor has led me to obtain around 100 of these really neat looking plastic bezels from a local business:

Poweredge R200 Bezel (front)Poweredge R200 bezel (back)

Now, it struck me that there’s a really cool use waiting for these things, however I can’t think of anything compelling at the moment. Some ideas that I have:

  • Creating some table or shelf with them
  • Monitor stands
  • Geeky decorations

However, I’m quite sure that theres much more that can be done with these. So the burning question I ask you is… what should I do with them?

Edit: Some other suggestions I’ve received

  • Coffee table
  • Create some kind of katamari out of the dell logos
  • Duct tape based door of some kind

C# Oscilloscope and Analog Meter Controls

Thursday, April 3rd, 2008

I updated my C# analog meter control awhile ago (it had some bugs), but never got around to posting it online. Well, here are those updates, PLUS I integrated a C# Oscilloscope control as well! I’d put up some screenshots, but I don’t currently have a compiler installed for C# (been redoing my machine) so I can’t take any. But, it works pretty nicely except for a few non-serious bugs….

This is an ongoing set of postings documenting some of the software I developed for my senior project this fall.

Go download it.

Visual Studio styled Dockable Windows Component Library for .NET

Wednesday, January 2nd, 2008

Well, isn’t THAT a mouthful of a title.

This is another open source project created as a result of my Senior Design project. See, we had this nice GUI, but it seemed like it needed to be a lot more flexible than it was, since using it was really quite annoying. So, I got the idea to copy the interface from Visual Studio… since, in my opinion, the way the dockable windows work in VS is quite intuitive and useful. Some of you may cry out that there are other programs that do the same behavior… well, I copied it from VS.

So, thats what this component library implements. See a screenshot:

panes.png

As you can see, its capable of fairly complex layouts, with each element completely resizable and movable and such.  It is not quite as polished as the interface for Visual Studio, but its still quite intuitive for the user to use, and a pretty decent approximation for most projects. More importantly, its open source!

A sample executable and source code/project files are included in the download package.

Please note that you can NOT drag new panes into the form designer, as implementing the appropriate designer support seemed to be more trouble than its worth. Refer to the PaneTest project for detailed implementation, and the source code for detailed documentation.

If you find any bugs or have any comments or questions, feel free to drop me an email!

Download: Link

Improved innovative Javascript/CSS enhanced resume

Monday, November 19th, 2007

I mentioned earlier this year that I had created an enhanced resume web page for myself, by using javascript and css to display either a ‘full’ or ‘condensed’ (one-page) version of the resume, and mentioned also that it would be pretty trivial for someone to make it work for different categories if they wanted.

Well, I did just that, and you can see my newly updated innovative computer engineering javascript/CSS resume on this site now! I’ve spent a lot of this weekend working on categorizing each part, and reducing each category so that they fit into one printed page (on most systems, anyways). Its pretty unique, you should check it out.

One of the things I’ve done with this is tried to refocus it to highlight my strengths in particular areas, and focus a lot more on my security/engineering background, as opposed to just my web background. I haven’t begun my job hunt yet, but with graduation in December, that may start soon if my graduate applications don’t work out. (more…)

Innovative Thoughts

Monday, August 27th, 2007

I’ve been thinking a lot about innovation lately — what it means, why its important, and how can I be more innovative professionally and personally. And, I wrote a statement that I really think describes this.

Innovation is just a problem away.

I would say that at the base of all innovation is a problem that needed to be solved. Asking questions like “Why not?” or “Why can’t I…” allows us to work in a totally new direction and create solutions that are not only innovative, but useful.

Let me know what you think.