What's Boxen and what does it do? [closed] - macos

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
Today I see the new Github team project, called Boxen: http://boxen.github.com/
I completely read their introduction for this project but I really didn't understand WHY should I use that? How it goes to simplify development process?
EDIT: I see that this tool has something for Ruby and NodeJs also.

NOTICE: I'm not affiliated with the github folks, or an authority on the exact implementation(yet), but have been following its evolution since hinted at months ago - the spread of masterless puppet is a great thing, which this project delivers
From the horses mouth(a very recent presentation on Boxen, with Q&A!): http://vimeo.com/61172067
github.com/boxen/boxen is a framework, which uses puppet as an engine on current OS X(10.8+ as of this writing) workstations so devs can start working on projects or 'manage' their own workstations with all the dependencies they'd need. github.com/boxen/our-boxen is an example of the 'master repo' of curated software dependencies for a project you'd collaborate on, which are hard-coded to github's auth and repo's. Once happy that it delivers everything your 'team' would need to work on a particular project(or group of projects,) you'd send the resulting repo to Heroku for hosting with boxen-web. Now for more specifics:
You can use your own repo, with the contents of our-boxen(a fork is NOT recommended) without boxen-web if working solo or kicking the tires.
Puppet can be run in traditional client-server mode(the Puppetlabs folks have come up with different names as their product has evolved, but it's now - I think - referred to as agent-master.) In my own theory, in order to have as little 'hooks' or background processes running on a developers workstation as possible, this uses puppet 'modules' that are run without contacting a 'master', which then installs software or makes configuration changes.
A manifest to specify your own user/machine can be created, but every time you run the boxen binary, and 'drift' is detected or enhancements/refinements for your team are added, a baseline gets 'enforced'. An example from a recent presentation( https://speakerdeck.com/wfarr/boxen ) is java security patches, while not project-specific, can add management to the teams workstations, side-by-side with your individual needs.
The boxen organization(github.com/boxen,) created by the github folks, hosts puppet modules known to work with boxen that can be added at the team or individual level, although you can always break out your own puppet and expand what it can do as you see fit.

It's explained in their blog post, here: https://github.com/blog/1345-introducing-boxen
Boxen is a framework for managing almost every aspect of your Mac. We built a massive standard library of Puppet modules optimized for Boxen to manage everything from running MySQL to installing Minecraft.

Related

How to sell software online: from freshly compiled executable to final product [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Suppose I have a freshly compiled and tested 100 MB software. I want to eventually distribute it and sell it online as a product. This is a cross-platform product (done in C++).
What are the needed technical steps to achieve this? For each step, a description and an example of some software (if pertinent) would help. Also, how important is it would be helpful too.
My problem is that it is not really clear what are the stages to go through to release a software online. This list would help me a lot to know what steps I should investigate in priority.
What I am not talking about / interested in (because it is mainly the results I got while searching for this):
Website building;
Marketing & Sales;
Continuous Integration servers;
Steam, Mac Store, Windows Store;
Open Source.
Steps I identified:
Obfuscate: not sure about this one;
Licensing System: activation code system integrated in the software directly (See Digital River, SafeNet, Reprise, Flexera);
Installers: MSI for Windows (see Wix), DMG for mac;
Code Signing: ensures that your users do not get warnings (Verisign, GlobalSign...)
Free Trial Distribution: putting the installers on our own site is risky because of bandwidth and lags. Your users should be able to download a free trial quickly wherever they are. So a CDN would help (AWS CloudFront).
Auto Update System: notifiy the users, download and install new versions (Omaha);
Activation: this allows the user to activate the product online or directly from within the product;
I think that these two steps are the missing pieces in your list:
Write documentation (in your case PDF/RTF/HTML, or online tutorial)
Integrate a payment provider that will accept the payment on behalf of you
With the above two steps you should be ready to go.
There are some books that I can recommend you (they are 10 year old now, but you see shareware/try before you buy/ software is an old thing - nowadays people tend to write web apps or mobile mostly):
http://www.alibris.com/From-Program-to-Product-Turning-Your-Code-Into-a-Saleable-Product-Rocky-Smolin/book/10572213?matches=50
http://www.alibris.com/Micro-Isv-From-Vision-to-Reality-Bob-Walsh/book/9122742?matches=37

Project Management/Tracker software - to replace Redmine [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am using Redmine and as a free software it is more than good.
But I'm facing some problems now and I'm looking for some system to replace Redmine.
Main disadvantages from my point of view are:
hard installation - My version is 1.3.1 (installation process was pain in the #$$), now when I want to upgrade to 2.. I can see in the site that this will be pain too
not so stable - (using stand-alone nginx server) there are some problems like sometimes cannot upload files until restart passenger, stopped working two times (passenger process missing for some reason) etc
my last attempt to set-up a plugin was unsuccessful
I'm not Ruby developer and it's hard to maintain the Redmine - I'm pretty not sure what are the security issues, how to use Redmine with already installed SSL on one of the domains (port 80) etc
So I'm looking for a new system (preferred /but not mandatory/ option to be NOT SaaS) with these features:
Required:
Project management
Bug Tracking
Possibility to generate Invoices (as a plugin is cool too)
User friendly interface
Good to have:
openID login
not necessarily free (but for a reasonable price)
if it's not SaaS - to be PHP based, not Ruby, Python, Java etc
I have some experience with Assembla, Pivotal, Yodiz and Mantis.
Yodiz interface is too complex and not clean for me.
Mantis is like from the past (looks like the first tracker ever)
Pivotal is not so bad, but I think is best for issues tracking only (not project management, invoices etc)
Assembla.. very little experience, only for SVN
I know there are lots of discussions, the problem is that many people liked Redmine for some reasons that are totally opposite of my opinion.
I'm spending some time last 2 days to review most popular trackers, but with no success so far.
I'll try "Trac" now, but will be glad if someone share it's experience with this popular Trac problem - multiple projects. :)
Thanks!
I would suggest to take a look at assembla. It is not for SVN only - you can use git / svn / mercurial tools or even add external github tool.
Project management for assembla recently got much better (with implementation of Planner and Cardwall) and new improvements are planned.
If you track your hours in commit messages or web interface, it is very easy to export the working hours (to generate an invoice)
After some research I found needed software.
FengOffice seems to fit my requirements very well.
community version (free)
self hosted (2 minutes installation)
written on PHP
very good UI - I like the way it's organized, AJAX UI is very good implemented in this case
cool features
.. etc
I don't have more detailed impressions, but it looks really promising.
The current Trac version (1.0) does not natively provide multi-project support, although there is some discussion about that topic in the Trac wiki. But since Trac 0.12 there is a plugin SimpleMultiProjectPlugin that extends Trac with the feature 'multiple projects in one installed Trac instance'.
A good description of what that Trac plugin SimpleMultiProjectPlugin exactly provides can be read here or on the plugin wiki page (see link above).

How reliable is Advanced Installer? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am trying to use Advanced Installer as an application installer and auto-updater. Most of the resources is available on Advanced Installer website only.
Have any one used it before? I would like to hear more about bugs / stability issues if there are, especially auto-update feature
Regarding the bug/stability issues, you can see from the release history the frequency on auto-updater bug fixes (six this year - four in v9.2 and one each in v9.1.1, v9.0.1 and v9.0).
What I've noticed is that occurring issues are promptly solved.
I posted earlier the following:
I have used the free version of Advanced Installer, including its auto-update feature, and I have not experienced any problems with it.
Please note that I was talking about the ability of Advanced Installer MSI scripts to automatically remove older files when upgrading to a newer version of a program. I was not talking about the ability of the application to check for an update automatically. That's probably not in the free feature-set.
I have used advanced Installer It is really good.I would recommend to use it if you are developing a msi setup file for web applications.It is even integrated
with several other tools used for developing such as wix,inno setuo etc
I have not used Advanced Installer, however, just wanted to refer InstallJammer which is a multiplatform installer http://www.installjammer.com/, which I have been using to create application installer and easy to use and configure.
I am using the Advanced Installer daily for my work . I can say that their manuals are not helpful enough, especially for people who do not have any experience with those tools
. However if you pay for support , they can help you almost immediately .
For sure there are some limits about this tools especially if you want your build to be MSI the UI will not respond as well as the exe - but i know they are trying to fix this issue .
If you learn how to use it FOR sure you are going to like it.
The nice part about advanced installer is that they collect analytics (you have to pay for this feature ) and they can show you how many downloads per day , or how many users chose option 1 rather than option 2.
Or you can send those statistics to your webserver and with POST can manipulate however you want - which is free!

Anything better than CruiseControl for .Net CI? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I've been asked to set up yet another CruiceControl environment for yet another client. I realized that I've been using CC for years without really looking around for competitors. Is there anything else that's sprung up that does the job equally well or better for .Net apps?
TeamCity is a very good CI server. (and the "Professional" edition is free)
I've been using it for over a year for building .NET projects, and I must say it's way better than CC.NET IMHO.
Strong points are:
Very easy to configure (web based GUI)
Distributed system (you can have several build agents on multiple machines to distribute the build process)
Built-in support for many source control systems
... check the website. The product is awesome ...
If you haven't seen it you might want to check out the Continuous Integration Feature Matrix which lists virtually ever CI server out there.
I work on the Java version of CruiseControl and these days I work for Urbancode who makes AnthillPro. From that perspective the right tool depends on the scope of what you're looking for. If you're just looking for fast feedback after a build lots of tools will work. If you're looking to setup a build grid then a there's a smaller group of tools. If you want to track dependencies between projects and deployments to multiple environments then you're in an even smaller group.
AppVeyor CI is worth looking at. It's a hosted Continuous Integration service for .NET developers and it's free for open-source projects.
Bamboo is an alternative... it also is provided as part of a integrated toolset or cloud service. They include Subversion, Jira (task/bug logging), confluence (WIKI), and other coding tools - see the link.
The are available as a managed service or you can purchase the suite and run it internally. Their packages are extended to use a single sign on system and centrally administrated.
TeamCity is really a good solution.
Hudson is also a really great tool, and even if it is essentially dedicated to Java projects, it can be used on .Net or C++ projects quite easily now...
Why not MSBuild if you are building .Net projects?
Do you have a TeamFoundationServer, if so, TeamFoundationBuild and MSbuild are a definite possibility.

Coding as a team [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
Lets say that me and my friend are trying to work on same software project. We are not located on same location but we wish to be as productive is possible.
We are using Visual Studio 2005, the code has to be written in C/C++ and at this moment we send the code using zip files.
My questions are:
1) what approach should be used sharing code in order to be more productive.
2) are there any free online platforms good for that?
3) do you have any advice for us?
ps: I own a webserver account with linux hosting. What can i install on that server in order to improve our working status.
A source control server, ala svn server, or whichever is your preference.
You can commit your code, and your friend can then update his based on your changes, without having to send or receive email.
Most source control suites also have built-in merge handling too, so you can see the changes he made and solve any collisions with any changes you've made.
Update
People have begun recommending some good online source control, so I'll also add links to other questions for online source control hosts. Have a look at those too.
On top of version control which has been mentioned a few times already, you should also look into a project management tool such as Redmine(http://www.redmine.org/) or Trac(http://trac.edgewall.org/).
I find it can really help the efficiency of a team, especially when meeting face to face isn't always an option.
Use versioning control software. Free subversion hosting lists:
http://www.straw-dogs.co.uk/09/20/6-free-svn-project-hosting-services/
http://cplus.about.com/b/2007/07/24/free-subversion-hosting-for-small-projects.htm
You can also find more googleling.
In addition to souce control, you might also sign-up for a free, hosted issue tracking tool like bughost.com.
For the immediate win, any sort of version control system.
Install and set up subversion on Linux, get AnkhSVN if you want to integrate it with Visual Studio or TortoiseSVN for Windows explorer integration.
I use subversion repositories hosted on dreamhost for collaborative projects. Dreamhost's hosting is not free, but it is relatively cheap - on the order of $100 a year. I think there is also a discount still in place for SO podcast listeners.
You can also set up your own subversion server in your home or office. It is easiest to do on a Linux box, but I have also done it on a Windows 2000 Server machine using cygwin. There is a good tutorial on this here: http://www.coderhaus.com/?p=8
I've had a very good experience with Git and GitHub.
The first thing I really recommend you is to use Source Control, Subversion can be a really good alternative.
In addition what was said earlier, you might want to check out a distributed VCS.
For example, GIT or Mercurial.
You can setup up 1 svn repository and up to 3 users for free on Beanstalk.
based on what you describe I think git will work well for you as a source code control tool.
My advice would be
Use a D-VCS such as git or Mercurial. It is designed for distrubted teams.
Use a project managment tool such as base camp to manage your project.
Talk to each other regularly. Get Skype set up and if possible try and communicate once or twice daily. Email is sometimes not an effective medium for communication.

Resources