Archive for February, 2009

February 25th, 2009

How not to get help on an Open Source Project

So over the past couple of weeks I have been helping a user get up and running on a project I have developed called Managed Fusion Url Rewriter and Reverse Proxy.  Now I understand that my project isn’t well documented, and I really need to work on that.  So, until I get the time to better document the project, I willingly spend my time helping people through their issues.  99.9% of the time everything works out, and everybody walks away happy.  However there is this 0.1% of the time that the conversation ends like this:

Fuck all this shit crazy.  All I wanted was a revers proxy.  I can set this shit up in 20 minutes with ISA.  I don’t know why this is sooooooooooooooooooo hard.

The syntax of RewriteRule is soooooooo confusing.  WTF does ^/(.*)$ mean?
any why is there a $1 on the end of my other “thing”

RewriteRule ^/(.*)$        http://192.168.0.35/$1 [P]

What does port :8888 have to do with anything.

This is just getting to hard to make work.  I should need to have advanved knowledge of http to make stupid proxy work.
I want to proxy everything.

I don’t think the problem is with the traffic between the two web servers, the problem seems to only apply to the number of /’s in the query string and their placement.

My guess is if I could figure out how to make more RewriteRules and define all the / cases the shit would just go.  Somehow when there are a few slashes in the query string your guy drops the ball.  Maybe because my RewriteRule is balls or because it’s broken.  I wouldn’t know either way.

All I want it to do it fucking work.

Ugh

I mean how do you respond to this?  The guy basically has started freaking out on me, because he doesn’t understand the basic premis of what my open source project is trying to accomplish and is unwilling to spend the time to learn about the mod_rewrite syntax. Plus none of what he is saying is true, I eat my own dog food on this project.  So I imidiatly know about simple problems such as query strings are not working.

Basically the whole problem came down to the fact that this guy was in a crunch, didn’t understand the basics of the internet, and thought it would be easier to use a new technology instead of one that is proven for him such as ISA server.  None of this is my problem so it is inappropriate to swear at a person just trying to help you out.  I understood he was frustrated with a technology he has never used before, but I wasn’t going to continue a conversation with a guy who was proven to be unstable and irrational.  So I just replied with:

Ok I am done you are on your own.

There really wasn’t any point to this post besides airing my disgust at this type of user.  Also to shed light on the fact that even though I am developing this software on my free time, giving it away for free, and supporting it for free, that there are many people out there that don’t understand this and demand the same level of support as if they just paid you a months worth of their salery for support.

If you ever find yourself heading down this path, be aware that people who create open source software are dedicating their free time to help you out.  So be grateful for their help, because they could just as easily blow you off and spend time with their family.

Tags: , ,

Posted in How To, Rant | kick it on DotNetKicks.com | Bookmark | View blog reactions | 6 Comments »

February 17th, 2009

TF30042: The database is full. Contact your Team Foundation Server administrator.

Today I received the following error while trying to check in some code after a marathon night of coding:

TF30042: The database is full. Contact your Team Foundation Server administrator.

I got one of those “oh crap” sinking feelings, that some how my TFS server had decided to just die.  After doing a little research on this error, which there is very little (read close to none) information about on the internet.  So I gave up searching and decided to do a little trial and error adhock testing, and I found out that this error has nothing to do with the database but everything to do with the size of the database’s log file.  I came up with the following solution, that you will want to run in Microsoft SQL Server Management Studio:

WARNING!!! My TFS server is in a non-production environment and I am basically the only one who uses it.  Make sure to check with your network administrator and make a back up before you run the following code.

USE [master]

ALTER DATABASE [ReportServer] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [ReportServerTempDB] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsWorkItemTracking] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsIntegration] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsVersionControl] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsWorkItemTrackingAttachments] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsActivityLogging] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TfsBuild] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [STS_Config_TFS] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [STS_Content_TFS] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE [TFSWarehouse] SET RECOVERY SIMPLE WITH NO_WAIT

ALTER DATABASE [ReportServer] SET RECOVERY SIMPLE
ALTER DATABASE [ReportServerTempDB] SET RECOVERY SIMPLE
ALTER DATABASE [TfsWorkItemTracking] SET RECOVERY SIMPLE
ALTER DATABASE [TfsIntegration] SET RECOVERY SIMPLE
ALTER DATABASE [TfsVersionControl] SET RECOVERY SIMPLE
ALTER DATABASE [TfsWorkItemTrackingAttachments] SET RECOVERY SIMPLE
ALTER DATABASE [TfsActivityLogging] SET RECOVERY SIMPLE
ALTER DATABASE [TfsBuild] SET RECOVERY SIMPLE
ALTER DATABASE [STS_Config_TFS] SET RECOVERY SIMPLE
ALTER DATABASE [STS_Content_TFS] SET RECOVERY SIMPLE
ALTER DATABASE [TFSWarehouse] SET RECOVERY SIMPLE 

DBCC SHRINKDATABASE(N'ReportServer')
DBCC SHRINKDATABASE(N'ReportServerTempDB')
DBCC SHRINKDATABASE(N'TfsWorkItemTracking')
DBCC SHRINKDATABASE(N'TfsIntegration')
DBCC SHRINKDATABASE(N'TfsVersionControl')
DBCC SHRINKDATABASE(N'TfsWorkItemTrackingAttachments')
DBCC SHRINKDATABASE(N'TfsActivityLogging')
DBCC SHRINKDATABASE(N'TfsBuild')
DBCC SHRINKDATABASE(N'STS_Config_TFS')
DBCC SHRINKDATABASE(N'STS_Content_TFS')
DBCC SHRINKDATABASE(N'TFSWarehouse')

The above code will actually put all the TFS databases in Simple Recovery mode, which basically means no log file, and then shrinks all the log files that were previously in use. After you run this script in Microsoft SQL Server Management Studio you should not get this error message anymore, when you try to check in your files.

Tags: , ,

Posted in How To, SQL | kick it on DotNetKicks.com | Bookmark | View blog reactions | 3 Comments »

February 13th, 2009

Happy 1234567890

Happy What?

The number you see in the title is also known as Epoch (UNIX) time.  When Epoch time was created, they set the “beginning” to January 1, 1970.  Like the Year 2000 bug, this was done to save storage space.  Because if all time was based around the assumption that January 1, 1970 is equal to zero, and every second past that represents the date since 1/1/1970 00:00:00, then they could store relatively small numbers for calculating a date and time and easy calculate the date since the “beginning of computer time” with simple math.  This also allowed them to calculate how much time has passed by just taking the difference of the two numbers and running it though the same simple math.  However the time is based on the belief that there are 86,400 seconds in each day.  (60 seconds x 60 minutes x 24 hours = 86,400)

On, today, Friday, February 13, 2009 at 6:31:30 PM EST, we reach a unique number of seconds in Unix time.

1234567890

You can see the countdown here: http://www.coolepochcountdown.com/

Tags: , ,

Posted in News | kick it on DotNetKicks.com | Bookmark | View blog reactions | 1 Comment »

February 9th, 2009

Knowing Yourself – Myers-Briggs Type Indicator’s

Today on Twitter I got into a discussion with Sara Chipps about Myers-Briggs Type Indicators.  I am an INTJ, which means:

  • I – Introversion preferred to Extraversion: INTJs tend to be quiet and reserved. They generally prefer interacting with a few close friends rather than a wide circle of acquaintances, and they expend energy in social situations (whereas extraverts gain energy).
  • N – iNtuition preferred to Sensing: INTJs tend to be more abstract than concrete. They focus their attention on the big picture rather than the details, and on future possibilities rather than immediate realities.
  • T – Thinking preferred to Feeling: INTJs tend to rely on external, objective criteria rather than a personal sense of right and wrong. When making decisions, they generally give more weight to logic than to social considerations.
  • J – Judgment preferred to Perception: INTJs tend to plan their activities and make decisions early. They derive a sense of control through predictability, which to perceptive types may seem limiting.

These 4 letters are suppose to nail your personality type and show some insight in to how you attack problems and deal with other people.  So if you don’t know your Myers-Briggs take the test:

And then see if the description matches your personality:

As a bonus in to my personality, here is a break down that a friend of mine sent me awhile back.  Retrospectively I agree with these points for the most part:

Dealing With An INTJ

  1. Be willing to back up your statements with facts – or at least some pretty sound reasoning.
  2. Don’t expect them to respect you or your viewpoints just because you say so. INTJ respect must be earned.
  3. Be willing to concede when you are wrong. The average INTJ respects the truth over being “right”. Withdraw your erroneous comment and admit your mistake and they will see you as a very reasonable person. Stick to erroneous comments and they will think you are an irrational idiot and treat everything you say as being questionable.
  4. Try not to be repetitive. It annoys them.
  5. Do not feed them a line of bull.
  6. Expect debate. INTJs like to tear ideas apart and prove their worthiness. They will even argue a point they don’t actually support for the sake of argument.
  7. Do not mistake the strength of your conviction with the strength of your argument. INTJs do not need to believe in a position to argue it or argue it well. Therefore, it will take more than fervor to sway them.
  8. Do not be surprised at sarcasm.
  9. Remember that INTJs believe in workable solutions. They are extremely open-minded to possibilities, but they will quickly discard any idea that is unfeasible. INTJ open-mindedness means that they are willing to have a go at an idea by trying to pull it apart. This horrifies people who expect oohs and ahhs and reverence. The ultimate INTJ insult to an idea is to ignore it, because that means it’s not even interesting enough to deconstruct.  This also means that they will not just accept any viewpoint that is presented to them. The bottom line is “Does it work?” – end discussion.
  10. Do not expect INTJs to actually care about how you view them. They already know that they are arrogant bastards with a morbid sense of humor. Telling them the obvious accomplishes nothing.

Update: There are also varients, that map Myers-Briggs to other personality measuring instruments, such as Keirsey Temperaments.  Where I can proudly proclaim that I am a Mastermind.

Tags: ,

Posted in Personal | kick it on DotNetKicks.com | Bookmark | View blog reactions | 2 Comments »