CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Eric Wise

Business & .NET

April 2005 - Posts

  • Should we uncap H1-B visas?

    I've spent the morning considering this, given the recent statements by Bill Gates about H1-B limitations (currently 65,000) and how this is damaging to technology companies.

    There are a few differing points of view on this:

    Buy USA View- There are US citizen IT workers that are currently out of work.  We should make sure we've employed everyone we possibly can before we increase H1-Bs

    This view, like most generalizations, is highly flawed.  To make this statement you're making an assumption that all of the unemployed workers are "employable".  This is not true, as companies require varied skillsets, people skills, and experience levels.  I've done some interviewing and resume review, and I can tell you that some 95% of resumes received for a position are trash.

    Cheap *** Corporations Want H1-Bs to Save Money- Absolutely not true. 

    If you research H-1B guidlines, they have to establish a market rate range for the position and must pay the H1-B worker > 5% of the minimum of that range.  So if us programmers are averaging 40,000-60,000 in a given market, then the minimum you can pay an H1-B is slightly more than 40,000.  Not to mention that while here H1-Bs pay into our social security system, money they never get back out.  Increasing the flow of H1-Bs is like free retirement money for Americans.

     

    So what should we do?  Well, I personally tend to swing towards a more lightly regulated capitalistic society.  This means that I think we should raise caps on H1-Bs if companies are demanding access to foreign workers.  I don't buy into the wage decrease arguments at all, since regulations require fair pay and not to mention that as we increase the flow of money to countries like India, their economies will boom, causing inflation, causing rising wages (you can see some of this already if you keep track of offshore developer rates, they're up $5-$7/hr from where they were a few years ago).  As this trend continues offshoring demand will decrease.  This is a very basic, simple demand curve that any first year economics student can show you.  Increased price lowers demand.

    What we do need here on American shores is a few things:

    1. Better education.  I'm sorry for anyone who gets offended, but our education system is going straight to hell.  When I was in school the majority of students around me didn't know crap, and the coursework wasn't hard enough to make them learn anything.  There were probably 5 students out of 100 that I would have personally hired.  This is the fault of increasing pressure to push all high school grads into college and competition by colleges trying to grab as many students as they can.  By making college a broad appeal we have watered it down so the masses can handle it.  This is a huge disservice to those of us who obtained a degree by being passionate about learning, not showing up, doing the minimum, and paying the fee.  Foreign colleges tend to be much more competitive, and push out higher quality graduates, hence a demand for foreign workers.
    2. Find alternative ways to lower costs.  Someone explain to me, in this day of blazing fast internet, video conferencing, etc. why the hell we have IT departments located in New York City, LA, and other extremely high cost of living areas?  Due to the costs of living, a developer with my skills in New York City is paid about double what I am paid in the midwest to maintain a comparible lifestyle.  Just think, if you set up your IT operations somewhere else, you could hire two developers for the price of one... without offshoring.  The problem here is that the IT labor is concentrated in the high cost of living areas, but personally I think if companies started moving their operation centers eventually the workers would follow.
    3. Improve your job advertising and interviewing capabilities.  I swear I could probably make a lucrative consulting career doing little else besides helping companies write job ads and interviewing candidates for them.  So many companies do such a bad job at this it isn't even funny.  Part of the problem is the electronic distribution... "resume bombs" if you will that dump unqualified resumes into the HR inbox.  The other part is that many companies put job ads up that ask for unreasonable skillsets.  Like those that ask for C#, J2EE, Cobal, and SAP experience and are looking for a mid-level (5 yrs) developer.  I would love to meet the person who has been able to get relevant experience with unrelated technologies like that in 5 years.

     

  • Page.GetPostBackEventReference()

    Interesting find at work today.  One of my developers had two asp:image controls positioned to the right and left of a button.  The developer wanted on the click of an image to call the button postback.  I had no idea that the GetPostBackEventReference(control) even existed until Brendan pointed me to it (thanks buddy).

        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not Page.IsPostBack Then
                imgLeft.Attributes.Add("onclick", Page.GetPostBackEventReference(myButton))
                imgRight.Attributes.Add("onclick", Page.GetPostBackEventReference(myButton))
            End If
        End Sub

    Is this "Coding Better"?  Hell if I know, it seems to work though.

  • Easy Assets .NET :: Product Datasheets

    Well, the time is getting close now.  Soon will be the official unveiling of the Easy Assets : Standard and Easy Assets : Enterprise packages.  What this means for me is that I'm tightening the bolts on the application, finishing off user documentation, testing installs on any pc I can get my hands on, and redesigning my website with new marketing.

    Something that many customers seem to expect you to have is a 1-3 page product datasheet that gives an overview of your company and the product.  Being the marketing minor that I am, I recently dove into creating these for each version of my product.  My goal was to convey a few messages:

    1. The entire process from purchase to installation to use is very easy.
    2. My product is based on modern technology unlike a lot of my competitors (there are some uuuuuuuugly applications out there)
    3. There is a measurable cost benefit to using my product.

    #1 and #2 are designed to get you in the door, but #3 is the key to selling software to the business people who actually write the checks.  This blog and my own development expertise makes me confident about convincing developers that this is a worthy product, but oftentimes it is not developers who make the final decisions, so my product datasheets must be designed to sway your average business manager.

    Personally, I believe that reaching business managers hinges on showing cost savings and more efficiency for their workers.  This means I've had to go out and do a lot of research and find supporting evidence that Asset Management is worth your time and money.  The trick is that the research can not come from anybody, it must come from someone trusted, a respected expert in the field.

    I hit a home run with a public document I found on gartner research.  For those of you who aren't familiar with gartner, they measure all sorts of market trends and make a lot of money compiling and selling information.  Not all of their materials are for pay, however, so I spent a lot of time digging through their site checking out asset management studies.  What I found was a quote that I have included in my product datasheets:

    “About 90 percent of the sites audited by Gartner Measurement use marginal practices for hardware asset management. This situation increases the risk of poor system manageability, complex change management and below-average service levels. These risks can increase the total cost of ownership for distributed computing by 7 percent to 10 percent a year, or about $560 to $800 per user. Moreover, enterprises that do a poor job of managing hardware assets will likely do poorly in software asset management, which has even higher costs and risks.”

    www.gartner.com/resources/107300/107359/107359.html

    So there you have it, those of you who work for companies that don't track your assets, you're potential losing quite a bit of money in waste and time spent digging for information that my program puts right at your fingertips.

     

    How did the datasheets turn out?  Well they aren't linked to my main site yet because it's being redesigned, but I'll give you all a "preview".

    Hosted Version

    Enterprise Version

    Standard Version

    I'm pretty proud of them.

  • Interviewing your employer

    I had a post a while back that discussed my personal interviewing techniques, and how to identify "dead wood" developers in your organization.  I received a lot of positive feedback on this topic and it seems many young developers were particularily interested in the application of the topic to better position themselves to impress an interviewer and get a job.  Because of the success of the post, I've decided to flip the situation around and teach you how to interview an employer.  Over my career, I have rarely had any difficulties finding contract or perm work, mostly because I strive to meet all the attributes of a good candidate (see previous post).  Because I have confidence in finding work, I find myself being rather picky as to who I work for and so a while back I compiled a list of questions that I like to ask my interviewers to gage if they're really the type of company I want to work for, or if they're just blowing smoke up my ass.

    Without further ado:

    What types of tools do you provide your developers? 

    You can tell a lot about how a company feels about their IT staff by the quality of their systems.  Do they provide laptops or desktops?  If they provide laptops that's a good sign that you will be expected to work outside the office more.  Laptops aren't necessarily a bad sign though, they can be a sign of a company that doesn't mind you leaving the office on time every day and taking any extra work with you.

    Are their machines reasonably powerful?  Working on a crappy machine is one of those small frustrations that when added to other frustrations can become quite miserable.

    Do they provide the latest tools?  How do they feel about 3rd party tools?  Are developers involved in the decision making process about what tools to buy?

    All of these questions can give you a general feel for how much respect developers get in the organization and the kind of budget a department receives.

     

    Tell me about the average workday of a developer of my level.

    This question is designed to probe how much time you really will be spending in development versus meetings, training, mentoring etc.  Obviously if you're not much of a people person or thrilled about spending hours in meetings then you'll want to avoid companies that have a high percentage of that going on.  I am generally wary about companies that tell me more than 95% of my time will be spent coding.  That generally points to a weak planning process or worse, a planning process that doesn't involve the people actually doing the work.  Keep in mind I'm a more senior level person though, for a junior developer 95% may be ok, although I personally prefer to involve my junior developers in some meetings just to give them a taste of planning and design.

     

    How many hours per week do your developers realistically work?

    Yeah, it's advertised as a full time (40 hours) position.  This is rarely the reality of the situation, try to find out how much time is really being worked.  If it's a lot more, ask for more money unless they pay for overtime.  Think of it this way, if you make $30/hr ($60k/yr) and you work 10 hours unpaid overtime per week, your hourly rate just dropped to $24/hr, a 17% paycut.  Kick that up to 20 hours extra per week like many of my developer friends work and suddenly you're at 34% paycut, which is like paying double taxes if you think about it.

     

    Do you have a VPN?  What is your work from home policy?

    This is a very important question for family men like me.  I would have to be pretty hard up for a job to take a position that required me to spend more than 50 hours a week in the office.  The stress on my family life just isn't worth it.

     

    Do you compensate for overtime?

    Yes, we are salaried for the most part.  Yes, sometimes you go into "crunch mode" and you will have to put in extra hours.  If you find out in the question above that developers work frequent overtime then unless you really don't value your time I suggest that you avoid companies that do not give compensation for overtime.

    ** Interview Ending Sin ** For me, an interview is over if the company is in a position where they bill their customers for my time and don't compensate me for overtime.  If your company bills for your hours, makes a profit from your time, and does not give you a cut... I suggest you find a new position because that's just rape, plain and simple.

     

    Do you have a documented process for rewarding extraordinary work?

    This is a great question to ask, you should ask it in all your interviews.  Companies that don't have a process in place to reward outstanding effort or achievements are companies that either:

    A) Don't ever perform at a high level.

    or

    B) Don't make employee morale a priority.

     

    Do you have any education benefits?

    Very important!  With this innocent question you can determine how committed a company is to helping you reach your long term goals.  Companies that aren't willing to invest in your education and skillset are companies that aren't showing an interest in keeping you challenged and growing over time.

     

    Interviewees!  Remember that it just isn't worth taking a job that you will be miserable at.  It will have a negative impact on your attitude, your performance, and your lifestyle.  It's just not worth it.

    Employers!  Happy, well rested developers are far more productive and customer oriented than overworked abused ones.  Looking at the list above, there isn't much on there that is unreasonable for an employer to provide.  The sad thing is how few do...

  • Optimizing Code - Level 100

    There has always been a mini religious war between programmers about code layout/style and when to optimize.  My personal take on this has been put more weight on readability and maintainability over highly condensed, optimized code.  Here's a few thoughts on this subject:

    Don't optimize first

    In almost all cases I have ever seen, optimizing while writing your first beta of code leads to poor readability and few gains.  There are a variety of load testing suites available out there, what I recommend is to hold off on optimization until the majority of the application is complete.  Then design some intelligent load tests and figure out where your bottlenecks are.  In most cases I have seen, the majority of "slow code" can be tracked down to a few trigger points, generally less than 5% of the code.

    On the other hand, if you optimize first, you end up with code that is harder to read and maintain in places where the performance benefit simply isn't worth it.

    Trust your compiler

    Most modern languages like .NET have compilers that optimize your code for you.  A common mistake I see coders making is that they write poorly readable code in an attempt to optimize things that the compiler would have taken care of anyway.  It is very important that you understand how your compiler works!  DO NOT waste your time optimizing a block of code until you compile it and peek at the compiled code (.NET Reflector rocks for this).  Oftentimes you'll find that the IL language does exactly what you would have done in a re-write.  It would be a shame to change some readable easy code to illegible optimized code and get a 0% increase in performance.

    A Few Tips

    • In most business applications the slowest thing you do is access the file structure and the database.  With this in mind make use of caching and if you are going to access the database, try to get as much data as you think you'll need in one shot instead of making x number of calls in a single procedure.
    • The balancing statement for the above is that you should avoid loading data you don't need!
    • If a section of code with database logic is exceptionally slow, check the database first.  Many times it's just a simple thing such as not having an index.
    • Organize your Switch/Case statements logically.  This means putting your most common occurances near the top of the statement so that less evaluations will occur on average before finding the correct case.
  • Documentation!

    I know I haven't been overly active lately but I'm in "Crunch Mode" for Easy Assets .NET.  My ISV is taking full form now. 

    • The application itself is stable, solid, and overall I'm just putting in a few last minute tweaks based on feedback.
    • The install package works flawlessly for existing sql server / msde installs.  The script to download and install MSDE "painlessly" is almost there, just a few more kinks to work out.

    The final (and most important task) is revising and prettying up the end user documentation!  My compatriots at codebetter have been reviewing the code and Raymond is using his vast experience with developer documents to put together a nice API reference.  I'm currently playing with RoboHelp to generate an elegant help system for the average user.

    Have I mentioned how important documentation is?  I know, I know, as programmers we are domain experts and we generally loathe having to write documentation but first impressions are key and I'm putting all my blood, sweat, and tears into making sure that the installation and getting started with the application is easy.  This is absolutely vital to the success of an ISV.  Even more so for a source included product like mine where I anticipate building a community with extensions and add-ons created by you, my fellow .NET developers!  The only way to successfully fight off the big guys like Intuit is through word-of-mouth and being plugged into the developer community I'm counting on you readers for buzz and recommendations.  To get that I have to make sure this application is a breeze to work with!

    Anyways, I'm sorry for not so much in the way of techical content.  I'm aiming for an early May release of Easy Assets, after that I hope I can calm down a little and focus on technical content as per usual.

    Then again, my business/IT posts seem to be rather popular as well.  I have to wonder, would you, the codebetter readers like to see me use more of my MBA/IT skills or stick to the more technical content like my compatriots?

  • *sigh*

    I'd like to have VS 2005 from the MSDN account I paid good money for.

    However my provider, My-eSuite just isn't going to let me.

    4.9 kb/s, 288 hours.  So I'll be blogging about VS 2005 sometime in May.  That's my "broadband" cable modem service.  No other providers available here.

    I love this apartment complex, but I'm afraid I'm going to have to move when my lease expires, I can't take this *** anymore.

    Posted Apr 17 2005, 08:02 AM by Eric Wise with no comments
    Filed under:
  • A quick security post

    I keep seeing a lot of examples in ASP .NET where sql server priviliges are given to the ASP.NET worker process.  A few thoughts about this:

    1. By doing this you are expanding the damage that could be done if the ASPNET worker process was compromised.  This is particularily so for those of you who give dbo rights to the worker process in your database.  (You know who you are, and I have found that about half the home grown projects I've looked at are guilty of this).
    2. If you have multiple applications with different databases that all run under the ASPNET process now suddenly all your databases are up for grabs.  I recommend creating a sql server (mixed mode) or domain account (windows auth only) that your application will run under.

    Q: Why not use windows authentication with integrated security turned on?  Isn't a single account more insecure than per user security?

    A: Because the way connection pooling works.  If you use a single login connection pooling will be enabled.  If everyone uses their own account connection pooling goes bye-bye.

    Q: What about my connection string?

    A: Me personally?  I use the enterprise library.  The configuration tool has a very nice encrypt-my-connection-string function.  I heard in 2.0 the web.config can be encrypted just by flipping a switch in your properties.  I wouldn't know for sure because it's my policy to ignore beta versions until they get a go-live license.  Keeps me from getting pissed off like some of my compatriots.  =)

  • Geeks Rule and MBAs Drool (Latest from Eric Sink)

    Well, for anything in this article to make sense, you're going to have to read Eric Sink's latest MSDN Article.  Finished?  Ok then.

    It was interesting to hear about the logic involved behind moving sourcegear to a platform other than Microsoft's.  Where I really tuned into this article though was the discussion on MBAs and their impact on the ISV.

    Virtually all decisions in a small ISV should be made with the involvement of technology person. Most decisions in a small ISV involve issues of both technology and money. These decisions are really hard.

    Agreed.  An ISV is a technology oriented small entity.  Being that the majority of the decisions made involve technology on some level you need the input of someone who is technologically savvy.  The problem you run into is once the product is ready for release your focus becomes less about the technology decisions and more about customer relations, sales, marketing, and accounting.  These are things that the stereotypical geek does not have a high interest or aptitude in (especially what we like to call "the social skills").

    Now, throughout my life I have been fortunate enough to be interested in both business and technology.  When I was in college I dropped out of Computer Engineering and took up Information Systems in the college of business instead.  Why?  Because I was already pretty savvy with technology and I was confident that I could learn deeply technical things in self study.  What I didn't understand well were the other functions of business which I got a solid taste of in Information Systems.  Throughout my career, my knowledge of business as a whole has been extremely valuable to me especially since I have focused on custom internal applications for businesses.  For example, when I can walk into a room full of accountants and communicate in their language and understand the technological implications of a system as well we can plan a much better system.  Add to this that I'm a pretty social guy and I can turn geek speak into business speak and I ended up being the primary liason between IT and the other departments in a company.

    I am currently taking this a step further.  Now that I have decided to form my own business, I've been working on my MBA.  Just as Mr. Sink "cannot imagine facing a decision like this one without the depth of technology understanding that I have", I cannot imagine making finance, accounting, marketing, and management decisions without the depth of knowledge gained through business classes.  Even if you are a developer and have no interest in actually doing the business tasks and want to hire a MBA type person to do it for you, how can you possibly make a good hiring decision or be able to work in harmony with this person if you do not at least have a basic understanding of their world?  I'll say this in bold letters:

    As you move up the hierarchy, you need to know a less about more

    If you're the kind of person who wants to dig in and understand everything to its deepest level, then upper management is not for you my friend.  Sure, we'll always have areas that we're more interested in than others.  And we'll always have areas that we have a better aptitude for.  But frankly, in the upper management scenario we have to be able to see the "big picture".  Making decisions without being aware of the potential impact on all parts of the organization is a Bad Thing (tm).  An executive must be able to make decisions they don't agree with on a technical level when the organizational benefit outweighs it.  Sink makes a good point about humility and IT not mixing very well and how damaging it is when IT gets shut out of the loop because of the poor social skills by people like Paul Graham's "Great Hacker".

    Having been around with consulting, being a student of business, and through my contacts I have come to realize what is a major problem in business today.  The problem is that there simply are not enough of the Geek/MBA hybrid.  There are some attrociously bad technology decisions being made at companies and oftentimes there is no one with the political clout to stop them.  The only way that things will get better is if some geeks start getting involved in upper management.  The keys to upper management lie in people skills and education.

  • Of scary security practices

    Jay had a little mini rant this morning about passwords and security.  It's Friday, should be a happy day, so I'm just going to list out some rather absurd security practices I've encountered in my years of consulting and development.

    1. A major (fortune 500) company has an ordering system that in the order table stores the entire credit card number, 3 digit security number, name, expiration date, and billing address.  It was all clear text.  To top this off their app was vulnerable to injection attacks.
    2. A vendor of time and attendance software and the company I was working for broke off our relationship.  Since it was a hosted product we got a SQL server dump of our data.  Upon opening the users table all the passwords were in clear text.  Upon testing these passwords against people's accounts at work I found that some 85% of people used the same password for their domain login as they did for this application.
    3. A website I was asked to touch up in ASP . NET had a security model that just required a querystring value IsAdmin=true.
    4. Many websites I have worked on have no security on their querystring values whatsoever and just by changing the id number you can get into other user's information.
    5. As John Papa mentioned in comments to Jay's post, I have also encountered many products that run as SA on sql server.

    You'll all be happy to know that my ISV product, Easy Assets .NET does the following: 

    • Role based security keeps users out of areas they should not be in. 
    • All passwords are hashed with a random salt
    • The database user created by the install script only has select rights to the tables and execute rights to the stored procedures I have provided.

    At minimum every application you write should have passwords hashed/salted and minimum priviliges on the database account. 

  • Convert.ToString vs ToString()

    What's the difference? Here's a console application that shows one:

            Dim myObject As Object = Nothing
            Dim toStringTest As String
            Dim convertTest As String

            Try
                toStringTest = myObject.ToString()
            Catch ex As Exception
                Console.WriteLine("MyObject.ToString Error: " & ex.Message)
            End Try

            Try
                convertTest = Convert.ToString(myObject)
            Catch ex As Exception
                Console.WriteLine("Convert.ToString(MyObject) Error: " & ex.Message)
            End Try

            If TypeOf toStringTest Is String Then
                Console.WriteLine("toStringTest is a string!")
            Else
                Console.WriteLine("toStringTest is NOT a string!")
            End If

            Try
                If TypeOf (toStringTest.ToString()) Is String Then
                    Console.WriteLine("toStringTest.ToString() is a string!")
                Else
                    Console.WriteLine("toStringTest.ToString() is NOT a string!")
                End If
            Catch ex As Exception
                Console.WriteLine("toStringtext.ToString() Error: " & ex.Message)
            End Try

            Try
                If TypeOf convertTest Is String Then
                    Console.WriteLine("convertTest is a string!")
                Else
                    Console.WriteLine("convertTest is NOT a string!")
                End If
            Catch ex As Exception
                Console.WriteLine("convertTest.ToString() Error: " & ex.Message)
            End Try

    Output:

    MyObject.ToString Error: Object reference not set to an instance of an object.


    toStringTest is NOT a string!


    toStringtest.ToString() Error: Object reference not set to an instance of an object.


    convertTest is a string!

  • Whoops

    I forgot to disable the change password/account creation for the demo build this morning.  So naturally someone changed the admin password.

    The database has been restored and the proper controls are disabled, so it's all good now!  On a side note, if this is the least embarassing thing that happens to me this year I'll consider myself fortunate.=)

    http://www.easyassets.net

    uid: admin

    pwd: admin

  • Easy Assets .NET : Demo

    For those of you curious bloggers who have been asking to see a demo of Easy Assets .NET you can now!

    http://www.easyassets.net

    username: admin

    password: admin

    This is a sample database, it gets restored frequently so feel free to play with the data all you like!  Feedback is always appreciated too.  ;)

  • Easy Assets .NET : Finishing up

    I'm very pleased to report that Easy Assets .NET local install version is very close to "going gold".  I thought I'd take this time to talk about the final pricing scheme I've come up with (thanks to a lot of thought and feedback from the IT community) and the importance of wrapping things up properly.

    Pricing (and identifying your customers)

    Originally, I was going to make only one version and have it be source included.  After much time and debate though I have been convinced by my peers that many small to medium businesses (SMBs) do not have the expertise to customize their software and pointed out that patches and upgrades to software that has been modified will be difficult, hence these non-techy customers would prefer to just use something out of the box.

    Easy Assets .NET : Standard Edition will be your basic, deployable install.  Source is not included, but you are welcome to reference the business layer .dll in your own projects and build extensions to it.  For patches and updates you'll be able to download a deployable build from the website and just copy over the current virtual directory files.  ($799)

    Easy Assets .NET : Enterprise Edition will include all the source code for the application.  Enterprise customers can cobrand the application and change anything they like.  The only thing Enterprise customers are not allowed to do is host or sell access to the application (well, they can, but it would require a separate agreement from my company). Enterprise customers will have access to an online change log where I will post code files that have been modified or added for patches.  This way for updates on custom versions they can view the file that changed and decide whether they want to deploy it or not.  Enterprise edition also comes with 10 hours of custom development.  Additional hours of custom development are available at a reasonable rate.  ($1699)

    Easy Assets .NET : Hosted Edition is for you customers who do not have the expertise, equipment, or patience to manage your own servers.    My company does all the management, patches, and backups and as long as you remain a subscriber you will be on the latest version free of charge.  This version is also available to be customized, though all custom work on our servers must be done by us.  ($15 / user / month)

    All versions come with the following:

    • Lifetime free email tech support
    • 1 year of upgrades
    • 30 day money back guarentee

     

    Wrapping things up: Installation

    A clean and easy install process is critical to the success of your product.  If you think about it, the install process is the first impression your product gives your customer after purchase.  If it goes poorly it can cause some pretty severe damage to the customer satisfaction.  They just shelled out a bunch of money for a product, and it doesn't even work!

    In addition, my software depends on sql server 2000 / msde being present.  I know that many SMBs without a good IT staff are probably unable to handle installing and managing MSDE so it is vital that I make a good install script that can automate that for them.  So here's what I'm working on:

    Step 1: Welcome/splash screen and acceptance of license agreement prompt (/webroot/Help/LicenseAgreement.htm in the zip file)
     
    Step 2: Type of install
    There are 3 installation options
     
    A: Install Database and Extract Web Application
     
    B: Install Database Only
     
    C: Extract Web Application Only
    Step 3: Database setup (If they choose 2A or 2B)
    There are 2 options for database setup:
     
    A: I would like to install on an existing SQL Server 2000 or MSDE database
     
    B: I would like to install MSDE on this machine and deploy the database to it
     
    Step 3A: Existing database
    A: Prompt for database username/password for database creation
     
    B: Prompt for username and password for application to use
     
    C: Create a database called EasyAssets
     
    D: Execute the DatabaseCreate.sql file on the database
     
    E: Create the user specified in step B
     
    F: Grant the user execute priviliges to all the stored procedures and select rights to all the tables.
     
    G: If option 2A was chosen, store the database credentials for extracting the web application.
     
    Step 3B: MSDE
    A: Install and configure MSDE
     
    B: Go to 3A, part B
     
    Step 4: Extract Web Application (2A or 2C)
    A: Verify Microsoft .NET Framework 1.1 installed
     
    B: Pick a folder to extract the web files to
     
    C: Extract files
     
    D: Overwrite the /webroot/dataconfiguration.config file (xml) with the proper database settings.  (This can be manually tweaked later if the customer moves servers.
     
    E: Run the installservices.bat script for enterprise library.
     
     
  • Blogjet

    I’ve finally gotten around to installing and trying out blogjet and I have to say that I like it a lot.  It certainly is nice to not have to go to my homepage every time I want to do blogging and the interface for blogjet is clean and easy to use.

    The HTML format seems to do just fine, though I still wish that some blog writer would actually give you an option to format your html with indentations ala firefox’s view source.  It’s just that when I’ve been typing a long post I have dificulty finding the section in the html view when all the markup is running together.  Maybe this is just me though, does anyone else work in the html view frequently?

    All and all though I’m pretty happy with this tool.  I am going to be using it for all my blogging on CodeBetter.

More Posts

Our Sponsors