Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Software Shop Equipment

Software Shop Equipment

Scheduled Pinned Locked Moved The Lounge
csharpdatabasevisual-studiocomsysadmin
17 Posts 7 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T thumphr

    Luis, I'd look at running a copy of Virtual PC to create a build environment. -THumphr

    L Offline
    L Offline
    Luis Alonso Ramos
    wrote on last edited by
    #3

    Yeah, I read about someone using VMWare, and only backuping backing up a single file into a DVD. It sounded good to me, specially if I'm small. I don't have Virtual PC or VMWare, but I'm sure considering to buy one of them. -- LuisR


    Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

    R 1 Reply Last reply
    0
    • L Luis Alonso Ramos

      Yeah, I read about someone using VMWare, and only backuping backing up a single file into a DVD. It sounded good to me, specially if I'm small. I don't have Virtual PC or VMWare, but I'm sure considering to buy one of them. -- LuisR


      Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

      R Offline
      R Offline
      Rob Graham
      wrote on last edited by
      #4

      Virtual PC 2004 should come with your Action Pack... Anger is the most impotent of passions. It effects nothing it goes about, and hurts the one who is possessed by it more than the one against whom it is directed. Carl Sandburg

      L 1 Reply Last reply
      0
      • R Rob Graham

        Virtual PC 2004 should come with your Action Pack... Anger is the most impotent of passions. It effects nothing it goes about, and hurts the one who is possessed by it more than the one against whom it is directed. Carl Sandburg

        L Offline
        L Offline
        Luis Alonso Ramos
        wrote on last edited by
        #5

        Rob Graham wrote: Virtual PC 2004 should come with your Action Pack I just ordered it, but I haven't received it yet. -- LuisR


        Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

        1 Reply Last reply
        0
        • L Luis Alonso Ramos

          Hello, I'm currently a one-person software company (actually, I have someone helping me with some projects from home) and I'm about to invest some money and hire someone full time. Speaking on equipment (mainly computers and software), what would I need to buy/ Let's make an assumption that I have loads of money (I don't), but another (contradictory) assumption that I'm not willing to spend it if not absolutely necessary. I just want to get the idea of a great setup, without spending $100K US on it. Requirements: * VPN access from home. * A database server (MSDE probably) for my source control (SourceGear Vault) and bugs database (FogBugz). Ideally, this is the only critical server I will backup daily. * A build server. My definition of a build server: contains Windows, Visual Studio and a Vault client. Scheduled to every night check out the latest revision of the code, and build everything automatically. * Obivously, one computer (a great one) for each of the employees. Questions? * VPN requires Windows Sever (which I'll get through MS Action Pack), but could I use the VPN server, the build server, and the database server on the same computer? What about the build server on the same as the VPN server, and a databse server on its own computer with RAID and all that? * What else does the build server do or required? I've never seen a formal definition of one. * Any other tips from the experienced people here? Thanks, your comments will be appreciated! -- LuisR


          Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

          P Offline
          P Offline
          peterchen
          wrote on last edited by
          #6

          Luis Alonso Ramos wrote: What else does the build server do or required? I've never seen a formal definition of one. The most formal thing I could come up with is: provide an isolated, stable, reproducible environment to build you application from source safe to CD Image. Stable - so bad stuff happens always or never. Isolated, so it remains stable (my one has a "hands away or hands are away"* background image - quite effective!) Reproducible - it can be a life saver to go back to last years release, ready to be built with 100% the same Compiler, Installer, etc. (Put everything on one OS Drive, and make an image to DVD is probably the most simple solution) Luis Alonso Ramos wrote: bugs database (FogBugz) to every night check out the latest revision of the code, and build everything automatically one computer (a great one) for each of the employees you've been listening to Joel again! :rolleyes:


          this works better in german - "Finger weg sonst finger weg"


          Pandoras Gift #44: Hope. The one that keeps you on suffering.
          aber.. "Wie gesagt, der Scheiss is' Therapie"
          boost your code || Fold With Us! || sighist | doxygen

          L 1 Reply Last reply
          0
          • P peterchen

            Luis Alonso Ramos wrote: What else does the build server do or required? I've never seen a formal definition of one. The most formal thing I could come up with is: provide an isolated, stable, reproducible environment to build you application from source safe to CD Image. Stable - so bad stuff happens always or never. Isolated, so it remains stable (my one has a "hands away or hands are away"* background image - quite effective!) Reproducible - it can be a life saver to go back to last years release, ready to be built with 100% the same Compiler, Installer, etc. (Put everything on one OS Drive, and make an image to DVD is probably the most simple solution) Luis Alonso Ramos wrote: bugs database (FogBugz) to every night check out the latest revision of the code, and build everything automatically one computer (a great one) for each of the employees you've been listening to Joel again! :rolleyes:


            this works better in german - "Finger weg sonst finger weg"


            Pandoras Gift #44: Hope. The one that keeps you on suffering.
            aber.. "Wie gesagt, der Scheiss is' Therapie"
            boost your code || Fold With Us! || sighist | doxygen

            L Offline
            L Offline
            Luis Alonso Ramos
            wrote on last edited by
            #7

            peterchen wrote: Put everything on one OS Drive, and make an image to DVD is probably the most simple solution Yes, I'm planning on doing something like that. For the moment I was thinking about using my current computer both as database server and VPN server, and file share server and everything-server.... buying two computeres (one for each of us), and using my own computer as a build server through Virtual PC, and backing up the image. Nightly builds won't be nightly for the time being, but will require only one click (once VPC is setup). What about tools? I took a quick look at NAnt and seems good to me. Any experience? peterchen wrote: you've been listening to Joel again! Well, I've already used FogBugz for some time, and it's really cool. (And I got to know it by reading Joel's blog). And for the nightly build, I already knew about that, but now that I'm starting to do everything better, I took Joel's 12-question-test and I'm trying to improve one step at a time. -- LuisR


            Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

            P 1 Reply Last reply
            0
            • L Luis Alonso Ramos

              Hello, I'm currently a one-person software company (actually, I have someone helping me with some projects from home) and I'm about to invest some money and hire someone full time. Speaking on equipment (mainly computers and software), what would I need to buy/ Let's make an assumption that I have loads of money (I don't), but another (contradictory) assumption that I'm not willing to spend it if not absolutely necessary. I just want to get the idea of a great setup, without spending $100K US on it. Requirements: * VPN access from home. * A database server (MSDE probably) for my source control (SourceGear Vault) and bugs database (FogBugz). Ideally, this is the only critical server I will backup daily. * A build server. My definition of a build server: contains Windows, Visual Studio and a Vault client. Scheduled to every night check out the latest revision of the code, and build everything automatically. * Obivously, one computer (a great one) for each of the employees. Questions? * VPN requires Windows Sever (which I'll get through MS Action Pack), but could I use the VPN server, the build server, and the database server on the same computer? What about the build server on the same as the VPN server, and a databse server on its own computer with RAID and all that? * What else does the build server do or required? I've never seen a formal definition of one. * Any other tips from the experienced people here? Thanks, your comments will be appreciated! -- LuisR


              Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #8

              Keep in mind that having good processes in place is 1000 times more valuable than the speediest computer system you can get for your developers. If the processes are broke, no fancy computer in the world is going to make software development easier. Marc MyXaml Advanced Unit Testing YAPO

              A L 2 Replies Last reply
              0
              • L Luis Alonso Ramos

                peterchen wrote: Put everything on one OS Drive, and make an image to DVD is probably the most simple solution Yes, I'm planning on doing something like that. For the moment I was thinking about using my current computer both as database server and VPN server, and file share server and everything-server.... buying two computeres (one for each of us), and using my own computer as a build server through Virtual PC, and backing up the image. Nightly builds won't be nightly for the time being, but will require only one click (once VPC is setup). What about tools? I took a quick look at NAnt and seems good to me. Any experience? peterchen wrote: you've been listening to Joel again! Well, I've already used FogBugz for some time, and it's really cool. (And I got to know it by reading Joel's blog). And for the nightly build, I already knew about that, but now that I'm starting to do everything better, I took Joel's 12-question-test and I'm trying to improve one step at a time. -- LuisR


                Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                P Offline
                P Offline
                peterchen
                wrote on last edited by
                #9

                I have no expertience with NAnt, A co-worker is currently looking into CPPUNIT/VBUNIT. I am very hesitant with buying tools - I'm waiting until I have enough ideas to write my own, before I start looking what the market offers :) We are a bit of an unusual shop, though; no IT guy by trade, just one by passion (me), and four electrical engineers (one coder by choice, and two out of necessity, and the boss does DSP ASM), so don't take us as guideline. I guess for two people you can live with one dev PC acting as server (it was the boss' PC before because it had the least CPU load, we switched to a dedicated "everyhing" server as soon as we were 4 permanents). Luis Alonso Ramos wrote: I took Joel's 12-question-test I thought so much :cool:


                Pandoras Gift #44: Hope. The one that keeps you on suffering.
                aber.. "Wie gesagt, der Scheiss is' Therapie"
                boost your code || Fold With Us! || sighist | doxygen

                1 Reply Last reply
                0
                • L Luis Alonso Ramos

                  Hello, I'm currently a one-person software company (actually, I have someone helping me with some projects from home) and I'm about to invest some money and hire someone full time. Speaking on equipment (mainly computers and software), what would I need to buy/ Let's make an assumption that I have loads of money (I don't), but another (contradictory) assumption that I'm not willing to spend it if not absolutely necessary. I just want to get the idea of a great setup, without spending $100K US on it. Requirements: * VPN access from home. * A database server (MSDE probably) for my source control (SourceGear Vault) and bugs database (FogBugz). Ideally, this is the only critical server I will backup daily. * A build server. My definition of a build server: contains Windows, Visual Studio and a Vault client. Scheduled to every night check out the latest revision of the code, and build everything automatically. * Obivously, one computer (a great one) for each of the employees. Questions? * VPN requires Windows Sever (which I'll get through MS Action Pack), but could I use the VPN server, the build server, and the database server on the same computer? What about the build server on the same as the VPN server, and a databse server on its own computer with RAID and all that? * What else does the build server do or required? I've never seen a formal definition of one. * Any other tips from the experienced people here? Thanks, your comments will be appreciated! -- LuisR


                  Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                  A Offline
                  A Offline
                  Allen Anderson
                  wrote on last edited by
                  #10

                  As a small software company this is very close to what I do. I put together a dual xeon server (2 gigs ram) with SCSI drives that I run microsoft virtual server on and has my cvs server database on it. This is also my build server and vpn server. I backup our CVS db by zipping the entire thing and burning it to a dvd. Since the server is business critical I use a raid 0+1 array for the storage which gives me piece of mind. I also back the server up to one of 5 400gig SATA drives every weekend. I keep 4 o the drives in one safe deposit box at the bank and every weekend I add one and take the oldest one to reuse for the next weeks backup. not really sure what your asking besides that. I built the big server myself for about $3200 total of which the SCSI array cost nearly $1200.

                  L 1 Reply Last reply
                  0
                  • M Marc Clifton

                    Keep in mind that having good processes in place is 1000 times more valuable than the speediest computer system you can get for your developers. If the processes are broke, no fancy computer in the world is going to make software development easier. Marc MyXaml Advanced Unit Testing YAPO

                    A Offline
                    A Offline
                    Allen Anderson
                    wrote on last edited by
                    #11

                    Yes, having processes in place for most things saves me tons of time and keeps me from making mistakes (forgetting steps). I can't recommend this enough. If you have good processes you'll save time and make much fewer mistakes.

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      Keep in mind that having good processes in place is 1000 times more valuable than the speediest computer system you can get for your developers. If the processes are broke, no fancy computer in the world is going to make software development easier. Marc MyXaml Advanced Unit Testing YAPO

                      L Offline
                      L Offline
                      Luis Alonso Ramos
                      wrote on last edited by
                      #12

                      Yes, I know about having good processes. Basically my original question could be also interpreted (and somewhat what I meant) into what are the basic processes I need. Source control, of course. A controlled build. Unit testing. Any others? We'll be only two people for the time being (maybe three, but not twenty, not soon at least) so I can't have big and complicated process for everything (altough I understand that the only way to do everything always right is to have well defined processes, but that will come one step at a time.) -- LuisR


                      Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                      M 1 Reply Last reply
                      0
                      • A Allen Anderson

                        As a small software company this is very close to what I do. I put together a dual xeon server (2 gigs ram) with SCSI drives that I run microsoft virtual server on and has my cvs server database on it. This is also my build server and vpn server. I backup our CVS db by zipping the entire thing and burning it to a dvd. Since the server is business critical I use a raid 0+1 array for the storage which gives me piece of mind. I also back the server up to one of 5 400gig SATA drives every weekend. I keep 4 o the drives in one safe deposit box at the bank and every weekend I add one and take the oldest one to reuse for the next weeks backup. not really sure what your asking besides that. I built the big server myself for about $3200 total of which the SCSI array cost nearly $1200.

                        L Offline
                        L Offline
                        Luis Alonso Ramos
                        wrote on last edited by
                        #13

                        I know I don't need the fastest machine. I have a P4 3.0 with 1GB or RAM that I'm using currently. I'm planning on using this as my server (reinstalling everything of course) and buying two computers (for each of us). I'll use this as my VPN server and my database server and filesharing, and using Virutal PC I'll set a build environment. By backing up to a DVD my databses and file shares, and the Virtual PC environments, I guess is enough, isn't it? -- LuisR


                        Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                        A 1 Reply Last reply
                        0
                        • L Luis Alonso Ramos

                          Yes, I know about having good processes. Basically my original question could be also interpreted (and somewhat what I meant) into what are the basic processes I need. Source control, of course. A controlled build. Unit testing. Any others? We'll be only two people for the time being (maybe three, but not twenty, not soon at least) so I can't have big and complicated process for everything (altough I understand that the only way to do everything always right is to have well defined processes, but that will come one step at a time.) -- LuisR


                          Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                          M Offline
                          M Offline
                          Marc Clifton
                          wrote on last edited by
                          #14

                          Well, the key is to start with simple processes and fix them as you find holes. A couple other things to consider-- having email notification of changes checked in to source control. Can be really helpful to quickly view what someone else has been working on. A good "to do" list, like this one.[^] In the beginning of a project, I'm not sure there's a lot of benefit to automated builds, but that's just my opinion. Marc MyXaml Advanced Unit Testing YAPO

                          1 Reply Last reply
                          0
                          • L Luis Alonso Ramos

                            I know I don't need the fastest machine. I have a P4 3.0 with 1GB or RAM that I'm using currently. I'm planning on using this as my server (reinstalling everything of course) and buying two computers (for each of us). I'll use this as my VPN server and my database server and filesharing, and using Virutal PC I'll set a build environment. By backing up to a DVD my databses and file shares, and the Virtual PC environments, I guess is enough, isn't it? -- LuisR


                            Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                            A Offline
                            A Offline
                            Allen Anderson
                            wrote on last edited by
                            #15

                            you know it really depends on how crucial your data is. For me, the data on the server is irreplacable. If I lost the cvs server or had some other failure, I'd be in a world of hurt. So backing things up often is an absolute must.

                            L 1 Reply Last reply
                            0
                            • A Allen Anderson

                              you know it really depends on how crucial your data is. For me, the data on the server is irreplacable. If I lost the cvs server or had some other failure, I'd be in a world of hurt. So backing things up often is an absolute must.

                              L Offline
                              L Offline
                              Luis Alonso Ramos
                              wrote on last edited by
                              #16

                              Of course, it's your work. For me it will be the same, the source control database and the bugs database is everything. My own machine could explode, the server could explode, but if I lose the source control database (or the bugs), an awful lot of time (and money) will be lost. I guess daily backup of the source control and bugs databases (by copying to a share on another computer) and a weekly (or twice a week) copy to CD to take home will be enough for the moment. And for the Virutal PC file (I suppose everything goes into a big single file -- or folder), I'm backing up the build environment, so I'll get all tools and code exactly the same every time for every build. -- LuisR


                              Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                              1 Reply Last reply
                              0
                              • L Luis Alonso Ramos

                                Hello, I'm currently a one-person software company (actually, I have someone helping me with some projects from home) and I'm about to invest some money and hire someone full time. Speaking on equipment (mainly computers and software), what would I need to buy/ Let's make an assumption that I have loads of money (I don't), but another (contradictory) assumption that I'm not willing to spend it if not absolutely necessary. I just want to get the idea of a great setup, without spending $100K US on it. Requirements: * VPN access from home. * A database server (MSDE probably) for my source control (SourceGear Vault) and bugs database (FogBugz). Ideally, this is the only critical server I will backup daily. * A build server. My definition of a build server: contains Windows, Visual Studio and a Vault client. Scheduled to every night check out the latest revision of the code, and build everything automatically. * Obivously, one computer (a great one) for each of the employees. Questions? * VPN requires Windows Sever (which I'll get through MS Action Pack), but could I use the VPN server, the build server, and the database server on the same computer? What about the build server on the same as the VPN server, and a databse server on its own computer with RAID and all that? * What else does the build server do or required? I've never seen a formal definition of one. * Any other tips from the experienced people here? Thanks, your comments will be appreciated! -- LuisR


                                Luis Alonso Ramos Intelectix - Chihuahua, Mexico Not much here: My CP Blog!

                                P Offline
                                P Offline
                                Paul Ingles
                                wrote on last edited by
                                #17

                                Well, if you don't want to use Windows Server for VPN, there is an open source project called OpenVPN ()[^]that I've used to connect my Dad and my Dad's boss' computers together. It worked ok, although with dynamic IPs it was a little problematic. Marc mentioned earlier that early on he felt automated builds weren't necessary. I would disagree and say that you're better off getting the process in place as soon as possible. We use NAnt for building, and setting it up retrospectively for projects has been far more complicated than doing it from the get-go. In particular, I would suggest putting the build file actually inside the solution, and then produce a build file stub on the build server. That way you get versioning of the build file, and it's also far easier to make changes than having to edit the file directly. Other build-server tips, I would definitely recommend using a continuous integration approach rather than scheduled builds -- i.e. listen for changes rather than always try building at one point. This ensures that changes are caught as they go in. I've not used Vault (but hear it's extremely good), if it supports atomic commits it should make it unbelievably easy to ensure that a unit of work doesn't negatively impact elsewhere. You'll also want to get automated NUnit and NCover reporting in too, and potentially FxCop. With CruiseControl.NET as your CI server, you'll get a good web app for monitoring builds, and a tray app that can monitor and update you directly. One other thing you'll probably want to do is to get NAnt building deployables. This in itself has been a huge timesaver for us, although this probably depends on what you're building. We build web-based apps, so our build scripts automatically pull down the latest code, build, test, and then zip the web site (including all dependent binaries etc.) into a zip that can just be extracted onto the server. The filename is along the lines of ProjectName-buildNumber-buildTime.zip and is stored in a shared folder. That way, we have a complete archive of all builds. We also build a source zipfile containing the source tree used for that build. Although not strictly necessary with SCM, it does make it very easy when identifying what code is currently on production etc. Oh, and another thing (sorry -- I appreciate this is probably over long already), you'll also want to put tools such as NAnt, NUni

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups