Transit Engine

There are rules engines, business processing engines, and all these other engines.  After spending years working on these engines I figured I would sit down and create a Transit Engine.  If you read any of my other blogs or know me personally you know why I’ve decided this is something I want to create.  There are however other reasons.

One of the main reasons for creating this project is that I want to have something to provide as a web portfolio, interface portfolio, coding patterns, and all those cool things I learn how to do portfolio.  All too often I don’t feel I have a good reference point for what I’ve done.  With nothing more than my mere promise to customers I’ve often felt uncomfortable expecting trust.  With immediate reference point I have a little bit more for them to go on to find that customer trust.

I’ll include all of the project’s documents ranging from UML Diagrams to actual code implementation along with some good ole’ unit tests for good measure.  Of course all the documents won’t get dumped out here on the site at one time, it’ll take me a little while to accrue all of the pertinent items.  I will provide step by step instructions for where I’m heading, what I’m attempting to acheive, and the intended or unintended results of the project goals.

With all that done – I’m getting started.

Community Server on Vista

For one of my main personal projects I’ve been using Community Server from Telligent Software.  It’s a pretty awesome package of Web Applications.  Since I’m now using Vista – as current readers know now – there are a few work arounds to seting up IIS 7 and SQL Server 2005 so that Community Server will run.

I tried running the user.sql file on the SQL Server setup I have.  The SQL Server 2005 setup and IIS 7 setup are basically default, at least default for Vista.  For more on that read my last Vista Post.  I set the SQL Server Security settings to integrated security per the instructions but when runing the user.sql file there seems to be no ASPNET user now.

Since I knew that my point of deployment would be a straight copy of the database that I have local, I decided to give the cs_3.0_CreateFullDatabase.sql file a go round.  It ran flawlessly since my logged in user had dbo rights.  So unless you want everything 100% identical, I’d run this shortcut to get it setup locally for development.

Next per the default instructions I went ahead and created a default community.

exec dbo.cs_system_CreateCommunity ‘localhost/cs’, ‘dev’, ‘admin@example.org’, ‘AdminUserName’, ‘AdminPassword’, 0, 0

The command executed perfectly without flaw.  Now that the database was all setup proper for the website, I moved right along with installing the website.

For the website, setup was insanely simple.  I did however have to do one thing that was a sidestep from what is suggested.  Since Vista won’t let me run apps properly that need windows, forms, or other authentications on the localhost instance of IIS I needed to run the Community Server via the virtual server.

Step one for setting up Community Server 7 for this particular scenario was to unzip the download.  Once unzipped then open the solution file.  The solution file will open the entire project (if you get any errors shoot me a comment) list.

Step Two is also almost as simple.  Right click on the “CommunityServerWeb20 (Internal)” project and click on the “Properties” option.  From there click on the “Web” tab on the left hand side of the “Properties” Screen.  Mid screen you will see a “Servers” section that has two radio button options.  The out of the box (zip) option is the “Use IIS Web Server” option, change it to “Use Visual Studio Development Server“.

I haven’t tried any of the other options, but this selection should get one up and running with Community Server 7.0.  Now, I’m off to figure out what I have to do next!

Paste for Community Server

I’ve tried many things, including the Visual Studio to Word to Microsoft Live Writer to sometimes editing the blasted HTML myself to get a good code paste for my blog.  Now that Z has created a tool to do this for me, I’m rather euphoric!  Check out there add on over at his blog BloggiZ.

This tool should come in very helpful as I start writing components, modules, and other parts for Community Server.

Sprint PCS Air Card – (Sierra Card)

I had for the last few months a Sprint PCS PC-5470 card.  I’ve used it extensively and loved having access.  I didn’t realize that it was a piece of junk, wouldn’t have Vista Drivers, wasn’t supported anymore, nor did I realize that it wasn’t as fast as the other cards I could get.  Well today I went down to the ole’ Sprint PCS store on Broadway in downtown Portland.

After a short time a Sprint PCS Sales Person took care of me and hooked me up with a Sierra Wireless AC595 1xEV-DO Network Adapter Card.  The Sierra Air Card is insanely cool.  It’s faster, works with Vista, is going to have ongoing support, and has two AWESOME cool blue lights.  Yeah, that’s what I said, not one, but two cool lights!  (btw – I like blue lights and blue things in general)

So if anyone is in the market for an Air Card/Wireless Card w/ Service I would highly suggest Sprint.  Just so you know, I’m not endorsed, this opinion (and fact) is entirely me, myself, and I.  Also note – I’ve used Verizon cards, and other services before – NONE hold a candle to the performance of Sprint’s Wireless Internet Network.

Software Engineer doing the Business Analyst Thing

So recently I’ve had a few tasks to complete that involved me, a software engineer, doing more of a requirements collection and analysis of those requirements.  It got me thinking, as I have in the past about this, what are the benifits and negatives of having a single person do the business analysis and software engineer work?

Negatives:  Sad [:(]

The largest issue that looms overhead is that a software engineer is what they are because that is solely what they want to do.  A business analyst is usually a business analyst for the same reason.  Being they are distinctive functions having a single person complete the tasks usually means one of the functions will suffer dramatically.  Many software engineers are not practiced, coherent, or even good at collecting requirements.  Many business analysts could not develop a single window basic windows application.  When crossing functions like this it is almost gauranteed to slow down the development schedule.

Positives:  Big Smile [:D]

The largest positive for combining the roles is that the software engineer becomes intimitately familiar with the business functionality (which I strongly believe should be the case, regardless of split roles or not) and also is familiar with the functional application side of that business function.  This can lead to faster turn around time on defects, bugs, etc.  However, in some cases, and definitely in large corporate development environments this is absolutely not the case.  Even attempting to combine business functionality into a software engineer’s scope is impossible as the functional knowledge required to develop and maintain large corporate applications is far more than a single person can perform.  In small development environments it is crucial to combine these roles as closely as possible.

I really need to dig up some of the efficiency charts for divisions of labor like this.  It would be interesting to know, see, or even figure out where the efficiency points cross.  Is it in teams of 4-5, maybe as large as 6-7 before a business analyst is needed, or maybe vice versa?  Feel free to toss me a comment on any data one might know about in studies related to this.