Freeware/Opensource BeerMash calculator

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

pericles

Well-Known Member
Joined
Dec 27, 2007
Messages
744
Reaction score
25
Location
Bryn Mawr, PA
I downloaded trial copies of ProMash and BeerSmith last week, and it seems like they'd be pretty easy to replicate while adding additional functionality and a more user friendly GUI.

I have a few questions for the group:

(1) What's the difference between BeerSmith/Promash and the calculators that are free and online? Beer Calculus for instance?

(2) Where can I find the appropriate equations? The Complete Joy of Homebrewing?

(3) One of the functions I'd like to include is a BIG recipe library. I can do that with my own recipes, obviously, but something that would be neat would be to add a spider to crawl THIS website's recipe section and dynamically add to the program's library. . . who can I talk to here about copyright stuff?

(4) SUGGESTIONS! You guys who use BeerSmith/ProMash: what's bugging you? What would you like different?​

I guess I should also ask if there's any interest. I'm a big proponent of open source software, so when there's a duopoly of competing for profit companies, I feel like the DIYers need to step in.

My project concept was this: downloadable stand alone .exe file that can be web enabled to interface with a central website. The .exe file contains a small sample library, and has the functionality of BeerSmith with a cleaner interface. Users can choose to "web enable" their program for free, which gives them the ability to (1) share their saved recipes on the website automatically, and (2) see other users' shared recipes from the website. The website maintains the central library of recipes, and also duplicates the .exe file's functionality - that way you can use the program on your laptop in the garage, AND experiment on the web at work.

Thoughts?

-Jack
 
The problem I see with your project is who will maintain the website? I have seen this concept before. Eventually nobody maintains the website and the whole thing falls apart.
 
Not a bad point . . . that's why I like the idea of using a crawler to update recipes using THIS site.
 
I use Beer Tools Pro on the Mac. A very complete program and I have no major complaints. The programs are so cheap that I can't see the reason for smashing the "duopoly" which does not really exist as more than two companies are scavenging for customers. I doubt that any of the companies making software for the homebrew market are making a lot of money.

Have you tried Beer tools pro yet?
 
I haven't, but that's because I'm on a PC. My personal complaint about software licensing rules aside, a LOT of people on this forum seem to be without any sort of mashing/recipe software, so although the prices are low, they are clearly a barrier for some people.
 
Couldn't we use sourceforge to maintain. PM, I would be interested in making a cross platform easy calculator
 
There is only one feature a really want from a new piece of brewing software, I want a good program that runs natively on Linux. I have been using beersmith for years through wine, it's tolerable, but some of the features don't quite work right.

I always prefer to support open source projects, and I like "free as in beer" software, but I am a man who is willing to pay for a piece of software that does what I want it to do, elegantly.
 
can someone recommend a program/software for a noob? Open source is, of course, always welcome.

HB
 
There is only one feature a really want from a new piece of brewing software, I want a good program that runs natively on Linux. I have been using beersmith for years through wine, it's tolerable, but some of the features don't quite work right.

I always prefer to support open source projects, and I like "free as in beer" software, but I am a man who is willing to pay for a piece of software that does what I want it to do, elegantly.

I run ProMash in Linux thru WINE. It works well most of the time. I would also like to have cross platform app thou.
QBrew or Strange Brew are Linux native but I find them lacking functionality. There are a few more .NET app that have potential to run in MONO.
And the last there is a new kid on the block. Brew Target Brewtarget
https://www.homebrewtalk.com/f84/brewtarget-1-1-free-open-source-brewing-software-123353/
 
There is only one feature a really want from a new piece of brewing software, I want a good program that runs natively on Linux. I have been using beersmith for years through wine, it's tolerable, but some of the features don't quite work right.

I always prefer to support open source projects, and I like "free as in beer" software, but I am a man who is willing to pay for a piece of software that does what I want it to do, elegantly.

If it is written in C or something like Java it could be ported to almost any operating system.
 
If it is written in C or something like Java it could be ported to almost any operating system.


Beer Tools Pro is available on Windows.
I'm a big proponent of Java for something like this. A cross-platform calculator would be quite attractive.

Java is a pretty easy language to learn. If the source was available you could personalize the application and compile the code on the platfrom of your choice.
 
Not only is Java easy to learn, if the code is written properly without a bunch of crappy proprietary libraries, any application is cross-platform by design.
 
Not only is Java easy to learn, if the code is written properly without a bunch of crappy proprietary libraries, any application is cross-platform by design.

Word. Google web toolkit...that is what one of these vendors (or maybe me?) should write this in. Platform agnostic, web-based...a single code base.
 
I'm a big proponent of Java for something like this. A cross-platform calculator would be quite attractive.
Strange brew 2.0 was rewritten in pure Java.
I like Java but I am not that found of writing client GUI apps in it.
I thought that QT toolkit or GTK toolkit could do the trick.
They are cross platform.

Brew Targer is in C++ with QT Toolkit.
 
I'm a big proponent of Java for something like this. A cross-platform calculator would be quite attractive.

I think Java would be ideal as well.

Would it be easier to take an existing open source brewing program like qbrew or strangebrew and just add all the functionality we want.. it seems like a lot of the work would already be done for us. I'm sure the original author wouldn't mind a massive contribution of code.
 
I'm a big proponent of Java for something like this. A cross-platform calculator would be quite attractive.

Java's native UI looks and feels out of place on most platforms, and for an application of this nature I'd lean toward a higher level language with snappier I/O and easier development (e.g. Python). As far as the UI, I'd probably go with wxWindows, which wraps Windows, Max OS X, GTK, Motif, and several other toolkits to get true native look and feel on desktop Windows, Wince, Mac, Linux/Gnome, Solaris, and most other Unix platforms.
 
Strange brew 2.0 was rewritten in pure Java.
I like Java but I am not that found of writing client GUI apps in it.
I thought that QT toolkit or GTK toolkit could do the trick.
They are cross platform.

Brew Targer is in C++ with QT Toolkit.

+1 StrangeBrew Java is open source/cross platform and has a reasonable feature set. There are a few GUI ... quirks ... that ought to be fixed.
 
I've used both ProMash and Beertools. In the end I stuck with Beertools because it's very easy to use IMO. I run it on windows just fine.
 
Java's native UI looks and feels out of place on most platforms...

It's likely not going to change your mind, but this Java code programmatically sets the look and feel to something that should feel at home on any given platform.

Code:
try {
	    // Set System L&F
        UIManager.setLookAndFeel(
            UIManager.getSystemLookAndFeelClassName());
    } 
    catch (UnsupportedLookAndFeelException e) {
       // handle exception
    }
    catch (ClassNotFoundException e) {
       // handle exception
    }
    catch (InstantiationException e) {
       // handle exception
    }
    catch (IllegalAccessException e) {
       // handle exception
    }
 
Just my two cents but, if you know what calculations you want our app to do, Excel can work wonders. The VBA portion of it makes it that much more powerful and you can make GUI's with it too. Granted I myself prefer stand alone apps and when I finally start using one, I probably won't use Excel, but with a spreadsheet you can do almost anything. If I was you I would go with the Java based program or Excel.
 
It's likely not going to change your mind, but this Java code programmatically sets the look and feel to something that should feel at home on any given platform.

It kind of makes the scrollbars and stuff look close, but it doesn't really duplicate the behavior of native widgets. Given that there are (IMO) better languages to program in that ca use toolkits which result in faster UIs with true native widgets on most major platforms (wxWindows works on Windows, WinCE, OS X, Linux/Gnome, and most other Unixes, for starters, and uses the true native widgets on each), I don't really see a compelling reason to use Java if you're starting a new project. Obviously, if you're planning to start from an existing code base then its implementation language will have a large influence on your choice.

Of course, it's really up to the person who decides to go ahead and write the code what language they want to use.
 
Just my two cents but, if you know what calculations you want our app to do, Excel can work wonders. The VBA portion of it makes it that much more powerful and you can make GUI's with it too. Granted I myself prefer stand alone apps and when I finally start using one, I probably won't use Excel, but with a spreadsheet you can do almost anything. If I was you I would go with the Java based program or Excel.

Excel's great. OTOH, if the point is actually an open-source solution, it's not really applicable to the conversation.

One alternative to consider rather than starting from scratch: Pick something like The Beer Recipator - Home and see if you can help them improve it.
 
a LOT of people on this forum seem to be without any sort of mashing/recipe software, so although the prices are low, they are clearly a barrier for some people.

I tried all the usual software out, then learned the equations. Now I just do it by hand with the help of some simple spreadsheets/webapps. SO the price isn't the only reason some folks don't use fancy software. The math isn't that hard...
 
I tried all the usual software out, then learned the equations. Now I just do it by hand with the help of some simple spreadsheets/webapps. SO the price isn't the only reason some folks don't use fancy software. The math isn't that hard...

Knowing the math is great, but I don't think I could live without the inventory portion of Beersmith. I buy a years worth of base malt at a time (10-11 sacks), keep 5lbs each of about 12 - 15 specialty grains on hand, buy hops by the pound (5 pounds at a time), and maintain a yeast bank on slants with quite a few strains, and slant new yeast purchases as well to expand the collection.

I know keeping track of inventory isn't all that hard with a spreadsheet, but beersmith has inventory with all the other things I need in a brewing program in one place; I can bang out new recipes, keep records of each batch with notes, adjust recipes on the fly, print out orders (shopping lists), and maintain my inventory.
The only shortcoming with beersmith for me, is that it is not native on linux, and a few features don't work right, like previewing and printing brewsheets.

Long story short, I need more out of a brewing program than a few equations. :mug:
 
...OTOH, if the point is actually an open-source solution, it's not really applicable to the conversation...

Agreed on the open source point but I always looked at Excel as an open source kind of thing. I know it's not technically "open source" but your code really isn't secure with it and anyone can get in there and do whatever they want to it if they have excel. It would take a little bit more of a serious coder than I to write a macro that was secure enough to keep even ametures out. I was just thinking if he wanted to throw something together quick, Excel (or any other spreadsheet for that matter) would meet his needs. Even non-coders can type formulas and references into a spreadsheet and make it do calculations.
 
Just my 2 cents here, but why develop in a rich client at all? Web-based would work on all platforms, and you can use whatever language you like.
 
Just my 2 cents here, but why develop in a rich client at all? Web-based would work on all platforms, and you can use whatever language you like.

I'd been thinking about - for a different project - doing it web-based, but also having a mode where it starts up a very small, simple web server on your localbox that you can connect to. That way the gui is still just ajax/web2.0/html whatever but you can write the backend in php/python/ruby/whatever and use something like sqlite for the storage. The webserver would be evry simple and only need to handle the localtraffic. There are a few that exist in the wild for most of these languages.
 
I'd been thinking about - for a different project - doing it web-based, but also having a mode where it starts up a very small, simple web server on your localbox that you can connect to. That way the gui is still just ajax/web2.0/html whatever but you can write the backend in php/python/ruby/whatever and use something like sqlite for the storage. The webserver would be evry simple and only need to handle the localtraffic. There are a few that exist in the wild for most of these languages.

Sounds very hackable.
 
Sounds very hackable.

Actually that's a great way to do it. If someone wants to hack it, then fine, they'll be hacking their own computer. What he's saying is the "web site" will be hosted on your computer. No one will be able to access the files but you. Of course, if you set your computer up to host web sites to the interweb, it's possible to get hacked, but just running a web server on your computer doesn't automatically do that.
 
Actually that's a great way to do it. If someone wants to hack it, then fine, they'll be hacking their own computer. What he's saying is the "web site" will be hosted on your computer. No one will be able to access the files but you. Of course, if you set your computer up to host web sites to the interweb, it's possible to get hacked, but just running a web server on your computer doesn't automatically do that.

"hackable" doesn't always mean "black hat" hacking. What he is saying is it sound like it would be relatively easy to "hack out" the code to do this in the traditional sense of a good "hack". Also that it would be easy to hack to customize it to your needs.
 
"hackable" doesn't always mean "black hat" hacking. What he is saying is it sound like it would be relatively easy to "hack out" the code to do this in the traditional sense of a good "hack". Also that it would be easy to hack to customize it to your needs.

Thank you! By "Hackable" I meant easily done. I do however, understand the dark connotation that the word hack has in relationship to computers.:D
 
Hmmm....I can see doing this with either a C#/ASP.net or perhaps a JSP project. You could host on a site, such as this one and tout it as a feature for premium members.

Sure the code is released under <insert license> but HBT.com already has it set up and running, so you don't have to set up the server or database connections.

I'm leaning to a C#, but only because I've yet to actually work on a legitimate project in it. I work in Java as well, but I do like the idea of a Web project.

Although, a desktop program would also work.

If one were go that route, I'm guessing a properties pages for each module stores preferences and write out recipes and inventory to file(serialized or flat).

Does anyone think that the desktop program would need a embedded DB? Any other thoughts?
 
Hmmm....I can see doing this with either a C#/ASP.net or perhaps a JSP project. You could host on a site, such as this one and tout it as a feature for premium members.

Sure the code is released under <insert license> but HBT.com already has it set up and running, so you don't have to set up the server or database connections.

I'm leaning to a C#, but only because I've yet to actually work on a legitimate project in it. I work in Java as well, but I do like the idea of a Web project.

Although, a desktop program would also work.

If one were go that route, I'm guessing a properties pages for each module stores preferences and write out recipes and inventory to file(serialized or flat).

Does anyone think that the desktop program would need a embedded DB? Any other thoughts?

Even though the spec is still in draft form HTML 5 specifies local data storage. You would be able to write the whole thing in HTML/javascript.

I don't think you would need a full fledged DB. I'd write the recipes out as a XML file then you could just do a XSLT transform to format for printing, etc. The beerXML standard still has a few warts but would be a good starting point. Most of the other brewing software can import beerXML files (I think).
 
Hmmm....I can see doing this with either a C#/ASP.net or perhaps a JSP project. You could host on a site, such as this one and tout it as a feature for premium members.

Sure the code is released under <insert license> but HBT.com already has it set up and running, so you don't have to set up the server or database connections.

I'm leaning to a C#, but only because I've yet to actually work on a legitimate project in it. I work in Java as well, but I do like the idea of a Web project.

Although, a desktop program would also work.

If one were go that route, I'm guessing a properties pages for each module stores preferences and write out recipes and inventory to file(serialized or flat).

Does anyone think that the desktop program would need a embedded DB? Any other thoughts?

I work in C# every day, but usually in rich client development. However, I've fooled around with ASP.NET and JQuery, which is a nice combination. The only complaint I have is that Windows hosting services cost more and have less features than a comparable Linux hosting plan. Well, the other complaint is that to fully take advantage of development in c#/asp.net you need the full suite of Visual Studio...which is some $$$. The express version is free of course, but it nerfs some of the features.
 
Back
Top