Slashdot Mirror


Distributing In-House Engineering Code?

caswelmo asks: "My company has recently moved from Solaris workstations to Windows workstations (Ohhh, the humanity). As an engineering focused company, we use our computers to run many in-house (command line) codes to analyze and design our products. We currently use NAS storage to store everything and use batch files and init scripts to run the correct codes over the network. This makes sure everyone is running the latest version. This also stinks. I know this isn't an original problem, so what are some other solutions for rolling out lots of simple codes like this?"

49 comments

  1. Let me get this straight by MerlynEmrys67 · · Score: 4, Funny
    You did a platform migration before you had even a clue how to perform business critical functionality ?

    I don't know what is worse - that you went to Windows, or you had no idea how the heck to go to windows.

    --
    I have mod points and I am not afraid to use them
    1. Re:Let me get this straight by superpulpsicle · · Score: 1

      Hey at least it wasn't some SCO operating system.

  2. Heh by NanoGator · · Score: 2, Funny

    "Distributing In-House Engineering Code?"

    I read that as "Disturbing In-House Engineering Code". Any chance we can talk about that, too?

    --
    "Derp de derp."
    1. Re:Heh by CaptainCheese · · Score: 1

      You should never disturb in-house engineering code. it's usually cranky and sometimes quite fast.

      --
      -- .sigs are a waste of data...turn them off...
  3. Too easy by Frac · · Score: 2, Funny

    Wait a second.. you want to know what's the easiest and most efficient way to distribute code on Windows workstations?

    Spyware, worms, and IE exploits. DUH!!

  4. I hear QBasic is good... by bergeron76 · · Score: 3, Funny

    I think that Windows ships with the QBasic scripting / operating system language.

    From what I hear, it's quite capable for simple "shell scripting" style tasks in Windows like:

    "command.com /e command.com > com1"
    and
    "echo ^G"

    Have fun!

    --
    Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
    1. Re:I hear QBasic is good... by Anonymous Coward · · Score: 0

      Yeah I wish Windows shipped with QBasic, I would be playing Gorillas right now if it did. Hmmm, maybe I better post this AC.

    2. Re:I hear QBasic is good... by bhima · · Score: 1

      This is soooo morally wrong and on so many levels. Now I need to go shower off this filthy idea of QBasic.

      --
      Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
  5. cygwin by blackcoot · · Score: 4, Informative

    step 1: move all that stuff into cvs / source control system of your choice.

    step 2: install cygwin on all the machines (http://sources.redhat.com/)

    alternately: use ms's unix system services (go digging on the m$ website) theoretically this will give you a "real unix" running inside windows.

    at least this way you don't have to spend as much effort porting your old tools.

    1. Re:cygwin by acidrain · · Score: 1

      Seriously. Source code control systems are good for any kind of in-house content distribution. Check in your .mp3 collection, a live binaries, a working install of everything... Cygwin...

      --
      -- http://thegirlorthecar.com funny dating game for guys
    2. Re:cygwin by foote · · Score: 5, Informative

      Simon Peyton Jones, a Microsoft researcher in England who does a lot of work on Haskell (for Microsoft?), has a cheat sheet that "summarises all the things I do to make my Win2k machine more useful to me."

      www.research.microsoft.com/~simonpj/win32-cheat.ht ml

      It's rather funny, as much of what he does is make the system more like Unix, with tools like:

      • Emacs, ispell for Emacs, Emacs tags tables
      • Latex
      • A good Telnet client
      • Cygwin
      • Services for Unix
      • CVS
      • GHC (Glasgow Haskell Compiler)

      He describes how to set things up so he can:

      • Export Postscript from a Word, Excel, or Powerpoint document
      • Include LaTeX equations in Powerpoint slides
      • Draw a Powerpoint/Visio picture and include it in a LaTeX document
      • Convert between Word and LaTeX
      • Include typeset material from Postscript into a Powerpoint slide
      • Include mathematical symbols in Word documents

      And more. Useful stuff in general for when you're forced to work on Win machines.

    3. Re:cygwin by blackcoot · · Score: 1

      something very similar happens on all the windows installations in the department at school. most of the professors have a pathological hatred of windows, but the people making grants insist on word for whatever reason...

    4. Re:cygwin by dafunn · · Score: 1

      You forgot steps 3 and 4...

      Step 3: ???
      Step 4: Profit!

    5. Re:cygwin by blackcoot · · Score: 1

      i'm an r&d guy, the marketroids figure out the rest of the process ;-P

    6. Re:cygwin by magefile · · Score: 1

      Why not use OO?

    7. Re:cygwin by keramida · · Score: 1

      Why in good grief's name would one move to a Windows desktop and run UNIX emulators, instead of using the Real Thing(TM) in the first place? The answer "to be able to run Word 2003" is not correct, sorry... (see Open Office, AbiWord, StarOffice, etc).

      --
      My other computer runs FreeBSD too.
  6. Huh? by Anonymous Coward · · Score: 2, Funny

    They switched from Solaris to Windows? You don't work for this company do you?

  7. Hey, that's funny! by eyepeepackets · · Score: 3, Funny

    "My company has recently moved from Solaris workstations to Windows workstations..."

    Didn't check it first to see if critical work could be done?

    Okay, here's what you do:

    1. Send the person who made this decision to Singapore to be caned;
    2. Send his boss to Singapore to be caned and send the boss' dog for caning too as the dog may be the true decision-maker here;
    3. Get yourselves someone who has more than a two digit I.Q. to be your boss;
    4. Profit!

    Ciao.

    --
    Everything in the Universe sucks: It's the law!
    1. Re:Hey, that's funny! by antdude · · Score: 1

      And learn to spell canned properly. :)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    2. Re:Hey, that's funny! by blackcoot · · Score: 2, Informative

      i'm pretty sure he means caned. there was a pretty famous case a couple years back where an american kid (micheal something or other) littered and was sentenced to a caning. huge american indignation followed

    3. Re:Hey, that's funny! by antdude · · Score: 1

      Oh, thanks for the elaboration. I didn't know caned meant that. I only know the definition of the plants/trees.

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    4. Re:Hey, that's funny! by Sklivvz · · Score: 1

      <offtopic>He was so stupid to go around drunk spraying paint on parked cars. In a country where you do get fined 500$ for throwing a cigarette butt on the pavement. Smart.</offtopic>

    5. Re:Hey, that's funny! by the+eric+conspiracy · · Score: 1


      Didn't check it first to see if critical work could be done?

      Those responsible have been sacked!

    6. Re:Hey, that's funny! by gstoddart · · Score: 1
      Didn't check it first to see if critical work could be done?

      Those responsible have been sacked!


      My cousin was bitten by a moose once ... it was very painful.

      --
      Lost at C:>. Found at C.
  8. #1 Sign Your Pointy-Haired Boss Doesn't Know.... by John_Booty · · Score: 4, Funny

    ...anything about code:

    As an engineering focused company, we use our computers to run many in-house (command line) codes to analyze and design our products. We currently use NAS storage to store everything and use batch files and init scripts to run the correct codes over the network. This makes sure everyone is running the latest version. This also stinks. I know this isn't an original problem, so what are some other solutions for rolling out lots of simple codes like this?"

    ...he/she refers to source code as "codes". At least that's what the rumors on the internets tell me!

    --

    OtakuBooty.com: Smart, funny, sexy nerds.
  9. To SMB or not to SMB.. by Vlad_Drak · · Score: 2, Insightful

    I'll assume speed or CIFS creates the pain..

    If you really need the speed, you can push out the code to the client machines and put a system in place to audit the distribution. It can end up being a bitch to maintain depending on how you dist and audit. You can write a script with rsync/robocopy and log errors and fix them or buy a commercial software package and check errors and fix them.

    You spend the money to go to Copper Gbit and get some more speed, and keep the code centralized over CIFS. If you only need the stuff over the network for reading and not writing, and your apps don'y play well with CIFS, you could get some iSCSI drivers from MS (they're free) and put a initiator on your NAS box or in front of it, or bridge to it from an iSCSI->FC box. Then have your clients grab the LUN read-only over iSCSI and at least Windows thinks it's a local disk.

    YMMV

    -Vlad

    1. Re:To SMB or not to SMB.. by duffbeer703 · · Score: 1

      I diagree that CIFS is the problem. More likely rsync over cifs is encountering an iSCSI bug that is reducing NAS performance because the LUN queues on the ATA logical array.

      If he has the money, Copper Gbit with journaling RAID and FC drivers from VRTS and you're LUNS will hum.

      YMMV, and you may LOL, but I still thing detached NAS is the best solution.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
  10. Trying for a serious answer. by chris_mahan · · Score: 3, Informative

    Make python executable (with py2exe) on shared drive, linked from win desktops as shortcut and launch on startup.

    said script has dedicated local directory like: c:\ourscripts\
    and synchs everything from the network at launch. Script remains running and checks via xml-rpc for updates and will throughout the day get updates to particular files. If you do the xml-rpc check every minute, you'll have near-realtime distribution of cli scripts to windows clients.

    I am assuming you have less than 1k people to do that with in your org. One server could easily handle it.

    by the way, redhat autoupdate uses xml-rpc.

    This has the advantage not to need any local machine deployments of software packages.

    Let me know privately if you need this sort of solution built. Or ask the python mailing list.

    --

    "Piter, too, is dead."

  11. use the tools that Bill sold you. by imsmith · · Score: 2, Informative

    just put all your scripts and whatnot into cvs, then write a nice little webservice interface to your cvs server and have your windows admin write a group policy to reference the URI of the script as a desktop icon via the Windows .NET framework and Active Desktop. The current/stable version is always called when the icon is executed and the user gets all the in-house widgets they need as part of the login process. All you have to do is manage your Active Directory and group membership.

    1. Re:use the tools that Bill sold you. by chris_mahan · · Score: 1

      This only works if there aren't hundreds of them. Otherwise you end up cluttering the desktop pretty seriously.

      Also, you can achieve the same result with a shared drive, but it assumes you launch the script from the icon.

      --

      "Piter, too, is dead."

    2. Re:use the tools that Bill sold you. by the+eric+conspiracy · · Score: 3, Informative

      That's all ok except for the CVS part. Use subversion and you will have it right.

  12. Generic question about distributed application by mnmn · · Score: 2, Interesting

    Ok so the Solaris 'code' is on a NAS server, and it is run remotely. You also mentioned you recently moved to Win32.

    Hmmm. It couldnt have been more unclear. Solaris most frequently runs on sparc architectures. Surely the code must be sitting one place, executing on another machine, and somehow the windows machines grab hold of the results...

    So depending on your REAL situation:

    (1) Run apache on the solaris box and display results.

    (2) Run the code on a terminal server machine (Windows2000 terminal services or X11)

    (3) Use rsync or the windows equivalent to redistribute code to all machines

    (4) Use CVS

    (5) Recompile the code for win32.

    To get any more useful advice from slashdot, specify your problem better.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  13. Re:#1 Sign Your Pointy-Haired Boss Doesn't Know... by mduell · · Score: 1

    Refering to programs as "codes" is pretty common in the engineering world: CFD codes, FEA codes, etc.

  14. Windows App by Zapper · · Score: 0, Troll

    Well now that you're using Windows, you can hire some graduate to write an enormous, confusing GUI in like, VB or C# or whatever the latest incompatibility from MS is that pulls the the latest algorithms from a central server. (how's that for a run on sentence!)
    That way you can use all the latest buzzwords like "live-update" and umm, "client/server" and umm, "network" and whatever buzzword pack that comes with .NET.
    Oh, oh, wait... you could use MS Access with a custom interface and have all the codes stored in a database. Mmmmm, database.

    --
    So much to do, so little bandwidth.
    --
    Try Mozilla
    1. Re:Windows App by Anonymous Coward · · Score: 0

      Wow forgot the smiley and get a Troll mod.

    2. Re:Windows App by Anonymous Coward · · Score: 0

      Well I thought it was funny. And luckily, I just got this post in M2. Your troll mod has been marked unfair.

  15. Re:#1 Sign Your Pointy-Haired Boss Doesn't Know... by Anonymous Coward · · Score: 3, Informative

    Actually, that indicates that it is really an engineering company. Among people whose first interest is science and programming is only a tool to solve scientific problems, it is common to refer to programs and libraries that solve specific problems as "codes". It is also a good bet that if it's called "a code", it's written in FORTRAN. And due to their science education, the authors were probably oblivious about principles of good software engineering.

  16. Re:#1 Sign Your Pointy-Haired Boss Doesn't Know... by sql*kitten · · Score: 2, Informative

    ...he/she refers to source code as "codes".

    Old-school FORTRAN types often refer to single-purpose batch programs, like FEA jobs, as "codes". If you look in engineering magazines, HPC vendors often promise to run your "codes" faster than ever, etc.

  17. Well.... by FooAtWFU · · Score: 1, Interesting
    Remember: A "Windows" workstation just means "we haven't reformatted and installed something better yet". Why not reformat/reinstall yourself a Linux, BSD or even (!) Solaris (x86) distribution? Heck, you could probably put together a CD which would automagically setup and install that sort of thing, and then you can go back and do exactly the same method you used before.

    Why did you switch to Windows workstations? Is it the Windows operating system itself, or is the hardware just cheaper? Surely it's not because of Windows' vastly superior scripting language and abilities! (cough)

    And just remember not to obsess over any sunk costs you've already incurred, like your Windows licenses.

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  18. The Caning of Sumner by FooAtWFU · · Score: 1
    New York, Tribune, 23 May 1856

    By the news from Washington it will be seen that Senator Sumner has been savagely and brutally assaulted, while sitting in his seat in the Senate chamber, by the Hon. Mr. Brooks of South Carolina, the reason assigned therefore being that the Senator's remarks on Mr. Butler of South Carolina, who is uncle to the man who made the attack. The particulars show that Mr. Sumner was struck unawares over the head by a loaded cane and stunned, and then the ruffianly attack was continued with many blows, the Hon. Mr. Keitt of South Carolina keeping any of those around, who might be so disposed, from attempting a rescue. No meaner exhibition of Southern cowardice -- generally miscalled Southern chivalry -- was ever witnessed.

    (more at this site

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  19. Re:#1 Sign Your Pointy-Haired Boss Doesn't Know... by SagSaw · · Score: 2, Informative

    I've seen the words 'codes' used quite frequently to refer to multipel variants of a given algorithm. This is especially the case with FEA analysis where there might there might be different versions of an algorithm depending on what type(s) of symmentry are exploited to simplify the problem and whether or not the analysis requires the use of complex numbers.

    --
    Come test your mettle in the world of Alter Aeon!
  20. Re:#1 Sign Your Pointy-Haired Boss Doesn't Know... by sysadmn · · Score: 2, Informative

    Sorry to burst your bubble, but referring to engineering programs as "codes" dates back at least to Fortran 66. It's still pretty common in the HPC world, and pretty much anywhere the focus is on getting engineering tasks done, and not on programming.

    --
    Envy my 5 digit Slashdot User ID!
  21. Maybe use a VM by canuck57 · · Score: 1

    My company has recently moved from Solaris workstations to Windows workstations

    One giant step backwards. You will find your admin costs are going to be higher with Windows. Life is no longer going to be as simple as "install_cluster" or "pkgadd".

    To address some of your problems consider Linux/VMWare underneath Windows. This does a couple of things. You can then backup and recover windows in a short period of time. Especially important to recover windows as it becomes as simple as copying in the old files and starting the VM. Sure beats registry putzing.

    Another thing VMWare will is to allow you to use rdist and other nice tools for distribution. From a reliability point, VMWare also abstracts the NT/Windows drivers and actually makes a Manson like Winodws OS more stable.

  22. Really? by leonbrooks · · Score: 1

    I thought they licenced parts of it from TSG.

    --
    Got time? Spend some of it coding or testing
  23. Some helpful resources: by (nil) · · Score: 1
    CVS or Subversion for source control. Either the CLI versions of these if you prefer or Tortise SVN or Tortise CVS for a good UI for these apps.

    WSH (a brand new Windows shell, sort-of available now) may be an option, but you can just as well download Cygwin as someone mentioned and just use the tools you're familiar with.

    --(())

  24. yea, remote-mounted /usr/local/Applications ... by javaxman · · Score: 1
    Or, I guess your Windows equivalent, which is an shared volume automatically mounted by whatever method seems most reasonable.

    Sorry, what's the interesting/difficult part of this question, other than you moved an engineering shop from Unix to Windows and are thus having issues?

  25. omg! by niteice · · Score: 1

    You just figured out the critical second-to-last step!

    --
    ROMANES EUNT DOMUS