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?"
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.
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."
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.
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
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.
...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.
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!
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!