Thursday, December 13, 2007

The One Thing I Like About Vista

I've recently bought a new computer with Vista on it. I was very excited to get this new machine with way better specs than my previous machine. I was also excited to see Vista. So I turned on the machine and was quickly disappointed to note that my new "faster" machine ran a littler slower than my old machine. I also noticed some other things that didn't quite run right. So I wiped my drives and put Ubuntu on it. My wife wants windows back so I'm going to put XP back on the new machine and hopefully see the speed that I was expecting.

The one thing that I really liked about Vista was the Start Menu Search Box. This search box allowed me to type in a portion of the name of the program that I wanted to run and it would start it for me. For example, typing "fire" would start up my FireFox browser. It was really convenient.

I was thinking about this and thought, "Why not find a thirdy party app that can do this for me in XP?!" So I did and I found Launchy. It is a free tool that indexes the programs in your start menu and can launch your documents, project files, folders, and bookmarks with just a few keystrokes. It makes it very easy for me to quickly find all of my applications. You can set which folders are indexed which keeps too many bad results from showing up.

I found some other similar apps and I liked that this one did not mess with the current Start menu. I like the XP Start menu and don't want it to be replaced.

Check it out: http://www.launchy.net/

Monday, October 29, 2007

Decent Looking File Upload Boxes

I found this interesting article about creating decent looking file upload input boxes. Check it out: http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom

Ring Ring

See Update Below

So I have a new phone number. It's supposed to be the last one I'll ever have according to Grand Central. Grand Central is a new service that I'm playing with. Here's their own schpeel about their service:


What is GrandCentral?

Get all the same calls, but in a whole new way.

GrandCentral doesn't replace your phones; we just link them together and help them do more. How do we do that? We give people One Number...for LifeTM - a number that's not tied to a phone or a location - but tied to you.

With GrandCentral, you can be reached with a single number, answer a call at any phone you want, seamlessly switch phones in the middle of a call, and even know whether a call is important before you take it.

What else can I do with GrandCentral?

We're not your typical phone company. And these aren't your typical features.

  • Check your messages by phone, email, or online
  • Keep all your messages online for eternity
  • Record and store your phone calls (just like voicemail)
  • Quickly (and secretly) block an annoying caller
  • Click-to-dial from your address book
  • Surprise your callers with a custom voicemail greeting
  • Forward, download, and add notes to your messages



I've been using them for over a month now and I've really enjoyed the service. I like people being able to be reach me without trying to play phone tag. I also like having a single voicemail box. They offer a lot more features than the ones listed above. For example, they have custom rings that you're callers will hear while Grand Central (GC) tries to call your phone numbers, some of them are quite funny.

They also have a phone switch feature that allows you to transfer your current call to another one of Grand Central phones. For example, if someone calls me on my GC number and I pick up on my work phone. Let's say that it's my wife and she talks more than I expected (happens all the time) and I need to head for home. I can hit the '*' on the phone and GC will have all my other phone numbers tied to GC ring. So I pick up my ringing cell phone, hang up the work phone and continue talking to my wife without her ever knowing that she's been transferred.

It's been a great service. I think they are still in private beta so not everyone can sign up for the service right now. I still have a few invitations left, so let me know if you want to try out the service.

Update: GrandCentral is not doing invitation right now.
Update 2: GrandCentral is now Google Voice. The service is essentially the same just run by Google.

Wednesday, October 03, 2007

Been Busy

Sorry I haven't posted in awhile. I started up my Master's degree in August and I've been a little busy. By the time I get done with work and school, I have very little desire to sit in front of a computer. I hope to catch up on some blogging during the fall break.

Monday, July 23, 2007

Picking Out Color Schemes

I hate trying to pick colors out for a website. If you're like me, you'll want to check this site out:

http://kuler.adobe.com/


Thanks Chris

Another Handy Find

I'm sure everybody has a free online fax service that they use. I didn't for awhile and found faxZERO about a month ago. Their service is free but includes an advertising cover page. They accept Word doc or PDF files. They also have a pay version for $1.99 that doesn't have ad on the cover page (although this seems kind of pricey to me). What online fax services do you use?

Handy Regular Expression (RegEx) Tool

I found a handy tool that can help you quickly validate your regex expressions or validate text based off of your regex expression. It's not very fancy but it does the job.

Check it out: http://erik.eae.net/playground/regexp/regexp.html

Friday, July 20, 2007

My Brain is Full Now But Empty When I Need It

Have you ever had a great idea but by the time you can write it down, most of the details are gone from your mind?! Or what if someone tells you about some event that you should go to but don't have anything to write it down with. This stuff happens to me all the time. I think I just have too much garbage in my brain.

I recently discovered a service that I really like that helps me remember some of the important stuff until I can write it down. It's called BrainCast. It is a web/phone service. Here's how it works:

  1. You have something that you need to remember.
  2. You call the BrainCastphone number from a phone number that you have pre-configured with BrainCast.
  3. You immediately here a beep, and then you leave a message with the details of the thing you need to remember.
  4. BrainCast takes the wav file from your message and automatically ties it to your web account
  5. Later, log into your BrainCast account and organize/listen to your BrainCast messages.
I think this is a really neat tool. I added my cell phone as one my phone numbers (allowed up to three) and created a speed dial on my cell phone to the BrainCast toll-free number. This tool has helped me remember quite a few things. I've had no complaints with their system. They are hosted by the VOIP company ViaTalk (my replacement VOIP after the fun with SunRocket). Even though this is a ViaTalk service, this service is open to everybody and is absolutely free.

Check them out: http://braincast.viatalk.com

Free PGP Software

At my day job, I deal with a lot of sensitive information. Sometimes I need to send files to someone or receive files from someone. My boss gets really nervous when I send social security numbers and salary information in clear text. So I found a free PGP application that lets me encrypt and decrypt these sensitive files. It doesn't have the cleanest interface, but it allows me to manage (add/delete/manage) my PGP keys, encrypt/decrypt, and sign files. I highly recommend this tool if you have any kind of sensitive data that you need to send across the public internet.

http://www.gpg4win.org

Thursday, July 12, 2007

My Security.Config files for .NET are missing

I went to modify the security rules for a server the other day and I could not find the security config file (usually found here: %WinDir%\Microsoft.Net\Framework\vx.y.zzzz\config). I did some research and found out that sometimes the security.config file is not created when you install .NET and the framework uses default security policies built into the framework. I found that you can get the framework to emit the default security policies into the security.config file by running the following command:

caspol -all -reset

Check back in the %WinDir%\Microsoft.Net\Framework\vx.y.zzzz\config folder and you'll see the security.config file. Now you can modify it all you want.

Source: http://blogs.msdn.com/shawnfa/archive/2006/02/09/527688.aspx

Friday, July 06, 2007

Pixel Guess

Have you ever played the pixel guess game? I play it all the time. I'm trying to figure out how big something is on a computer screen and you have to start arbitrarily guessing its size. My brother told me about tool that he uses to help alleviate this issue. It's called Pixel ruler. It shows a ruler with pixel increments on your computer screen that you can use to measure screen objects. It doesn't have a lot of options but you can flip it horizontally or vertically. It is a very handy tool.






http://www.mioplanet.com/products/pixelruler/index.htm

Screenshot App

I've been using this tool for quite sometime but I went to put it on a new computer and couldn't remember its name. So I'm putting it here to remind me. The application is called Gadwin PrintScreen. It replaces the functionality of the Print Screen button with a whole lot better functionality. You can configure to capture a rectangular area (my favorite option), capture the current window or full screen. It has oodles of settings to customize it. This is a very handy tool.

http://www.gadwin.com/printscreen/

Friday, June 29, 2007

Sharepoint Unexpected Error Page

Have you ever been programming in SharePoint and get the most wondrous and detailed error page:

An unexpected error has occurred.

I swear that I used to get that error everyday. Then I would have to try to debug what was causing the error. About a year ago I had found a way to turn this page off and get the actual error page with all the exception information (i.e. Error message, stack trace, source, etc.). Unfortunately I didn't blog about it and had to go looking for the solution again when I moved to a new server that didn't have the solution in place. For my notes and yours if you need it, here's the solution:


  1. Open to the web.config file from the virtual directory containing your SharePoint application.

  2. Change the line <SafeMode MaxControls="50" CallStack="false" /> in the element to: <SafeMode MaxControls="50" CallStack="true" />

  3. Save and close the web.config file.



You must also ensure that the <customErrors > element is configured properly in the web.config file. Disable the <customErrors> element by setting the mode attribute to "Off":

<customErrors mode="Off" />


Originally found on the page: http://www.devx.com/dotnet/Article/17518/1954?pf=true

Friday, June 22, 2007

Nice accordion Widget

I found a very nice accordion widget. Check it out:

http://aariadne.com/accordion/

Tuesday, June 19, 2007

Instant: The polaroid of Ajax

I found a javascript library that takes your image and replaces it with "polaroid" like images. It seems pretty cool. Check it out:

http://ajaxian.com/archives/instant-the-polaroid-of-ajax

Wednesday, June 13, 2007

Professional Video Gaming

I totally missed my calling in life: http://www.thecgs.com/

If I had known that there was going to be a professional video gaming league when I was choosing my career, I definitely would have made a few different choices. Their site says that the total salary payroll will be $5 million. I'm soooooo jealous!!

Wednesday, June 06, 2007

TrueCrypt is Truly Cool

Security is a pretty big thing now a days. Everywhere you look there is personal information getting stolen and abused. A friend of mine mentioned to me several months ago about a security software he's been using for some time. I wasn't really interested at the time because I really didn't see the need for it. Recently I noticed that I'm having a lot of personal information sitting on my work computer that I'd rather not have my employer or coworkers getting access to. So I emailed my friend and he was kind enough to tell me again the name of the software. The software is called TrueCrypt.

This software is pretty darn cool. I was up and running in less than five minutes. I was a little daunted at first in getting started but they include a very good tutorial (PDF) on how to install (installation is optional) and start using TrueCrypt.

TrueCrypt let's you create an encrypted volume that then can be mounted as a drive. It has oodles of options for encryption types, hash methods, etc... When a volume is mounted, the encryption is seamless and done on the fly. When a volume is unmounted, the data is encrypted and unreadable. To mount a volume, a strong password is required.

One cool feature is that you can put TrueCrypt's software files on a USB flash drive and then put the encrypted volume on the same USB flash drive. This allows you to carry your information with you in an encrypted format and be able to access it whenever you need it (you will need admin privileges on the computer that you try to run TrueCrypt on).

Another nice feature is that they have both Windows and Linux versions of their software and their encrypted volumes are compatible with either version. The Windows version allows you to setup 'Hot Keys' that will mount the drive and unmount the drive quickly. Unfortunately the Linux version is command line only, which isn't terrible but makes it less usable for those wanting the 'Hot Keys' functionality.

I definitely recommend this tool.

http://www.truecrypt.org

Tuesday, May 29, 2007

Button Creator

I found a website that lets you create web 2.0ish image buttons. It seems to create very nice looking buttons.

http://www.mycoolbutton.com/

Wednesday, May 16, 2007

Design Ideas for that "New Look" on your website

A previous coworker pointed me to a design website that has free website designs that you can use to create a template for your website. Some of their designs are aren't great but they have quite a few good designs. The site is http://opendesigns.org/.

My coworker's original post was http://ckcmoss.com/blogs/ckcmoss/archive/2007/05/02/looking-for-a-new-design-for-your-website.aspx.

Monday, April 23, 2007

Corners with JavaScript

I found a cool JavaScript library that allows you to create rounded corners to objects dynamically.

http://www.netzgesta.de/corner/

Sunday, April 01, 2007

Stripe Generator

I'm not sure how handy this will be but I found a website that allows you to customize and create your very own striped background:

http://www.stripegenerator.com/

Javascript Modal Boxes

I found a JavaScript library that has a lot convenient functions for creating modal boxes for your website:

http://livepipe.net/projects/control_modal/

Cool Password

Here's a cool way of signing into your computer:

http://news.com.com/1606-2_3-6171054.html?part=rss&tag=2547-1_3-0-5&subj=news

How Small We Are

I found this link the other day. It's a flash site that shows perspective of the universe down to the atom. Kind of humbling:

http://www.nikon.co.jp/main/eng/feelnikon/discovery/universcale/index_f.htm

Monday, March 26, 2007

Using VB keywords as Variables

This is something I figured out awhile ago but haven't bothered to post it until now. Like I mentioned in an earlier post, I have started using VB.Net at work. As I was trying to convert some sample from C# to VB.Net, I ran into a problem. In C#, a name of a get/set accessor was not a keyword but in VB.Net it was. No matter what libraries or how many different online code converters I tried, I could not get it to work. I finally resorted to google and found out that you can surround a keyword with brackets ([ ]) and than you can use that keyword however you need. In my case it allowed me to use custom sinks in .NET Remoting. Here's an example:

Dim [New] as String
New = "Blah"

As a very BIG note: Be careful when using it. When you can name something other than a reserved keyword, do so. It can cause many issues if you use this unwisely.

Rounded Corners

Every time I start a new web project I want to have create tons of little rounded corners for my web site. It's a pain because I'm not great at PhotoShop and it's a hassle if I want to change colors. I found a JavaScript library that does all of the rounded corners on the fly. It seems to have a lot of customizations that you can add and play with. The only bad thing is that it is a JavaScript library and you have to add a command to initiate the rounded corner creation. However, I think that you could very easily customize to pull the parameter from the div tags parameters and automate everything without any custom JavaScript in your HTML page. Anyways, check it out and use it however you can.

http://www.ruzee.com/blog/shadedborder

Wednesday, March 21, 2007

Typed Datasets

I've heard of typed datasets before but I just started using them on my current project. Wow, they're cool. Typed datasets are cool because you predefine the structure of the dataset (tables, columns, relationships, etc.) through Visual Studio 2005. Once defined, Visual Studio generates the code to create the class for the typed dataset. Now you get all the nice features of typical dataset but you can now also access the data in a type safe way. Instead of accessing the value of a column in row using:

currentColumn("ColumnA")

you can do this:

currentColumn.ColumnA

This is nice because a change of the data structure will cause compilation errors instead of runtime errors (runtime errors bad). Typed datasets are very cool. Microsoft has a very good tutorial on typed datasets: http://msdn2.microsoft.com/en-us/library/aa581778.aspx

Tuesday, March 20, 2007

FTP and .NET 2.0

One of my current projects has a requirement to send files programmatically via FTP. I found some great resources out there but the most useful is this one:

http://www.codeproject.com/vb/net/FtpClient.asp


The main point of his post is that he made a library for FTP'ing built on the FTPWebRequest object built into the .NET 2.0 framework. He does a great job of explaining the basics of using FTPWebRequest and then goes into details about his library. I found this article very helpful.

Thursday, March 08, 2007

Project Time Tracking

I do several side projects that require me to track the time I spend programming on each project. I found a site that allows you set up projects and start tracking their time. It works very well and is cool due to the AJAX features that it has. It also has very nice reporting feature.

http://www.toggl.com/

Righ Click Context

I found this article about creating context sensitive right click context menu. You can display pretty much anything that you want. It's a very slick implementation:

http://www.harelmalka.com/rightcontext/

Reading and Writing an Encrypted DataSet to Dis

My current project requires that I store a strong-typed dataset to the file system for offline storage. After doing some researching, I found this very helpful blog entry:

http://weblogs.sqlteam.com/davidm/archive/2006/06/13/10195.aspx

It basically serializes the dataset object, encrypts the serialization and then writes the resulting encrypted stream to file. It works great.

Wednesday, February 07, 2007

Running .NET Apps from Network Shares

One of my current projects requires that my application run from a network share. Not thinking that this would be a problem, I wrote my application and went to deploy it and amazingly, it didn't run. It threw a security error. After some digging I found out that .NET apps don't run with full trust when running from network shares (thankfully, big security problem if they did). They actually don't run with enough trust to even load the main form.

I found a thread that mentioned the solution: http://www.vbdotnetforums.com/showthread.php?t=1224 . Basically you just need to setup the security.config for the machine to grant full trust to your application. You can do it by hand or you can use the CASPOL utility that comes with .NET framework.

Config Files and Assemblies in the GAC

Be sure to read the update at the bottom of the post.

The 2.0 version of the .NET has improved the application configuration functionality a lot. Read/Write capability being one of the nicest new features. Combined with Visual Studio 2005’s
new settings dialog, using the app.config has gotten a lot easier.

One of the main rules when using the app.config, is that the app.config file has to be in the same folder as its owning dll or exe. Which usually isn’t a problem unless your dll is sitting in the GAC. If you’ve had any experience with the GAC, you know that you can’t just add files to it. It only really accepts .NET dlls.



My current project requires a business layer that will be used by multiple applications, which is a great use of the GAC. There are some settings that will be needed by this business layer. So the question is: How do I get the app.config settings to work with a dll that is stored in the GAC?
It took some figuring out but I found a way. It's not the cleanest way but it works.

Here how:

  1. Copy your dll to the GAC (however you normally do it)

  2. Open command prompt (Start -> Run -> cmd)

  3. Change the path to Windows Root Folder\Assembly

  4. Depending on what you have installed Change the path to:

    • .NET 1.0 or .NET 1.1: cd GAC
    • .NET 2.0: cd GAC_MSIL

  5. If you dir, you will see a list of all the assemblies installed into the GAC. Cd into your assembly's folder
  6. If you dir again, you will see one folder with your assembly's version and public key token. Cd into this folder
  7. If you dir again, you will be glad to see your assembly.
  8. Copy your config file to this folder via the command prompt
  9. Your application should now be able to locate and use any configuration that you have added to that file.
UPDATED: Turns out that I'm only partially correct with the above post. You can put files into the GAC folders using the above steps. However, you cannot use the built in app.config settings functionality. For some reason it won't read in the file. I've since replaced the app.config settings with a custom class that has all the values that I want to use as settings and then serialize/deserialize the object to the same directory as the owning application or dll.


UPDATED 2: Thanks to commenters on further research, the above option of serialization is not required. All you need to do is setup your settings for the built in app.config funcationality and then use the OpenMappedExecConfiguration method. Example:


   Private Shared Function GetConfigurationSection() As Configuration.ClientSettingsSection 
Dim codebase As String = System.Reflection.Assembly.GetExecutingAssembly().CodeBase
Dim fileMap As New Configuration.ExeConfigurationFileMap()
Dim p As New Uri(codebase)
Dim localPath As String = p.LocalPath
Dim executingFilename As String = System.IO.Path.GetFileNameWithoutExtension(localPath)

Dim sectionGroupName As String = "applicationSettings"
Dim sectionName As String = String.Format("{0}.My.MySettings", executingFilename)

Dim configName As String = String.Format("{0}.config", localPath)

fileMap.ExeConfigFilename = configName
Dim config As Configuration.Configuration = _
Configuration.ConfigurationManager.OpenMappedExeConfiguration(fileMap, Configuration.ConfigurationUserLevel.None) 'System.AppDomain.CurrentDomain.)

If config IsNot Nothing Then
Dim group As Configuration.ConfigurationSectionGroup = config.GetSectionGroup(sectionGroupName)

If group IsNot Nothing Then

Return DirectCast(group.Sections(sectionName), Configuration.ClientSettingsSection)
End If
End If
Return Nothing
End Function




Sunday, February 04, 2007

Another handy link

CellSwapper is a cool service that helps you find someone to take over you cell phone account by transferring your account to someone else.

http://feeds.feedburner.com/~r/Techcrunch/~3/73811460/

VMware Converter

Found this news item the other day. This can change a lot how we do things.

http://news.com.com/2110-1010_3-6154353.html?part=rss&tag=2547-1_3-0-5&subj=news

Sunday, January 21, 2007

Fun App

I just found this cool app. It is an app launcher that has some of the look-and-feel of OSX (or Mac). I'm not usually an OSX nut but this is a handy tool. It's called ObjectDock Plus from Stardock software.

Check it out:

http://www.stardock.com/products/ObjectDock/

The demo version works great for all my needs.