LastCalc Is Open Sourced 103
Sanity writes "LastCalc is a cross between Google Calculator, a spreadsheet, and a powerful functional programming language, all with a robust and flexible heuristic parser. It even lets you write functions that pull in data from elsewhere on the web. It's all wrapped up in a JQuery-based user interface that does as-you-type syntax highlighting. Today, LastCalc's creator, Ian Clarke (Freenet, Revver), has announced that LastCalc will be open sourced under the GNU Affero General Public License 'to accelerate development, spread the workload, and hopefully foster a vibrant volunteer community around the project.'"
Too bad it's Affero (Score:2, Insightful)
This is compelling but the use of Affero for the license makes onerous demands of the user. The implicit threat of a code audit is there.
Re:Too bad it's Affero (Score:5, Interesting)
This is compelling but the use of Affero for the license makes onerous demands of the user. The implicit threat of a code audit is there.
Can you elaborate? Which clauses specifically make onerous demands?
Re:Too bad it's Affero (Score:5, Insightful)
The demands are only onerous to someone who is looking for code to run on a server as a service without having to make changes available. It's a good license that accomplishes what some authors want. Personally I prefer the BSD license for code I write, because I don't demand others share their changes unless they wish to. But not all authors wish to offer that choice, as they want changes to be shared. I really don't see the BSD vs. GPL vs. LGPL vs AGLP battles so many developers get involved in. Each offers freedoms and responsibilities, a different menu with each license. The author gets to choose. And the user of the code can choose to agree and use the code, meeting the obligations required, or choose not to use it. So simple, so easy.
I won't be using LastCalc because I don't want to bother having to deal with the required responsibilities. If I wish to develop an application with that sort of functionality, I will likely write the code myself from scratch and share it BSD-style. Choices. I like having them. I'm grateful that others offer me open source choices. I'm glad that I have such a wide palette of choices to choose as a developer and as a code user.
Re: (Score:2)
Re:Too bad it's Affero (Score:5, Informative)
Comment removed (Score:5, Informative)
Re:Too bad it's Affero (Score:5, Informative)
AGPL is like GPL, but with the additional restriction that you must share source code to users when hosting it on a public-facing server, IIRC.
Re: (Score:2, Insightful)
That's basically it, but note that 'source code' could be interpreted as every last line of code for your web site.
It's part of the murkiness in trying to describe 'modification'. Does that mean code that you've added to the original? When does that stop?
Limiting the definition of modification is the main point of the LGPL. But there isn't an LGPL-like variation of the Affero license. And without that, there are a number of situations where AGPL code is simply unusable, regardless of whether you ma
Re: (Score:2)
It's part of the murkiness in trying to describe 'modification'. Does that mean code that you've added to the original?
Yes
When does that stop?
Never
Re: (Score:2)
I'd lean towards no, although I'd sequester the AGPL web app in its own directory.
After all, a closed source OS can bundle GPL software...
Re: (Score:1)
Yeah, if you can isolate the AGPL code somehow, you've got a pretty good case for limiting the scope of 'modified code'.
It gets complicated when the AGPL code is a library that you want to link into your code. See my post below [slashdot.org] for an example of how that might play out.
Re:Too bad it's Affero (Score:5, Informative)
They apparently forgot to credit us, are closed source, and didn't even include the BSD license until they were discovered. Instead of sharing code back they're quite bitter rivals, holding their site hostage for donations and having premium accounts.
Since the AGPL came out there are several other fork sites that have sprung up, but we all pool code changes, and they all market themselves to different niches (e.g. variants or different languages). Many of them are for-profit and host large communities, but we all share code and benefit from it.
Re: (Score:2)
Since you seem to know, can you give a brief description of the difference between AGPL, GPL
By way of example:
With GPL, if you want to take a web project, modify it heavily, and sell a service based on that software and its modifications, you can do that. You have no further obligations.
Under AGPL, to do the same thing, you need to contribute changes back to the project (effectively).
Re: (Score:2)
An example of the downside of the AGPL:
You're running a website that's a discussion forum. You find a tiff-to-jpeg library that you want to use to convert member's avatar photos, so you call the library's 'convert' method.
Congratulations, you've just created a modification. Since the library was licensed under the AGPL, you now need to:
Re: (Score:2)
You know someone was going to ask. It's me.
With what AGPL software did you run across this situation?
AGPL is a fine choice. (Score:3)
In other words, any FLOSS license is objectionable to those who wish to violate that license and make unauthorized derivatives. The AGPL and GPL, in particular, require equal treatment and reciprocity for all distributors. This is not onerous on the user or developer.
As to not seeing a "battle", that language overstates the case but you do probably see the differences among the licenses and you have apparently made your choice. Your choice is no more or less political than someone who chooses a strongly
Re: (Score:2)
any FLOSS license is objectionable to those who wish to violate that license and make unauthorized derivatives.
I don't know of any open source licence that restricts copying or making derivatives. Rather, distribution or in the case of Affero, interaction with users over a computer network, is not permitted if license terms are violated.
Re: (Score:1)
If licenses term are violated, I think you lose the right to use the software under any licenses. That's the basis of most license :
"we grant you XXX under XXX conditions", meaning that if you do not fullfill the condition, you lose the right granted to you.
People should maybe read what they agree to do, beit for a Microsoft CLUF, or a Free Software license.
Re: (Score:2)
If licenses term are violated, I think you lose the right to use the software under any licenses.
You think wrong. You need to get out there and actually read some open source licenses.
Re:AGPL is a fine choice. (Score:5, Insightful)
In other words, any FLOSS license is objectionable to those who wish to violate that license and make unauthorized derivatives.
Wow, way to set up a straw man there.
Okay, any FLOSS license is objectionable to those who want to violate the license. Tautology, so I'm hardly going to argue with it. But "in other words" implies that this is a reasonable paraphrase of the GP post, which this is not.
Some FLOSS licenses are a pain even for people who don't want to violate licenses. Suppose I want to include a library in a proprietary closed-source project. With some licenses, I can just do it. With BSD + "advertising clause", I now have an obligation to put text in my program, to put text in my manual, and possibly to put text on my web site and on a product package; I also have to keep track of whether I did the text or not, and make sure it isn't accidentally removed or altered. And I'll tell you right now: non-hypothetically, I avoid any license with an "advertising clause" for the above reason. With LGPL, I explicitly have to allow my customers to reverse-engineer my code, which would be a problem with a commercial product using licensed code (some licensed code requires one to take steps to prevent reverse-engineering).
So, a higher post in this thread claimed that the requirements of Affero GPL include an "auditing" clause, which potentially places an annoying burden on anyone who hosts the Affero GPL code. I haven't reviewed the Affero GPL so I don't know if this is correct, but I assume it is because you engaged in a straw-man attack rather than just pointing out an error.
So with a few examples I have shown that some licenses are more burdensome than others. In fact it is only people who do care about obeying licenses who are burdened; people who are just planning to violate the licenses can violate Affero GPL as easily as any other.
As to not seeing a "battle", that language overstates the case but you do probably see the differences among the licenses and you have apparently made your choice. Your choice is no more or less political than someone who chooses a strongly copylefted free software license such as the AGPL. Freedom of choice doesn't really explain anything. Choices are present in proprietary licenses too, thus highlighting how freedom of choice is a scam: The user's software freedoms are not respected nor is the open source development methodology present.
I have read this paragraph three times and I am not sure what you were trying to say here. If it is important, please restate.
"Freedom of choice doesn't explain anything"? What?
steveha
Re:AGPL is a fine choice. (Score:4, Interesting)
While not requiring modified source to be released might initially seem like giving up an important motivator to contribute code back to the community, we’ve noticed something in recent years: 99% of useful code contributions come from people who are motivated to participate in the project regardless of what the license tells them they have to do. It’s our experience that a certain percentage of the user community will always participate and contribute back, and therefore encouraging adoption via simpler licensing is likely to result in more contributions overall than coersion via complex and restrictive licensing does. In addition, people who are internally motivated to participate tend to provide much higher quality and more usable contributions than those who only do it because they are forced to.
Re:AGPL is a fine choice. (Score:4, Interesting)
The area that comes to mind is embedded systems: a substantial number of assorted plastic SoC boxes running linux are user-modifiable today because their sellers were forced to provide sources under the GPL. Their firmware was often of rather low quality; but contained vital architectural details about the hardware that would otherwise have had to be inferred by comparatively arduous reverse engineering. In those situations, motivation is still better(one presumes that the manufacturers who are shipping *WRT firmwares are probably more helpful than the ones who stash a passive_agressive_GPL_compliance_blob.rar file somewhere in the dark corner of their support site); but bad code that provided enough information to port the better mainline-based 3rd party firmware was still useful.
In something like the OGRE case, there doesn't seem to be the analogous vital information, bad code would just be bad code, making enforced contribution considerably less useful.
I'd be interested to see if this pattern in fact holds, or if I am simply mistaken, and if there are any other categories that push strongly in one direction or the other; but I don't really have enough information to say...
GPL in embedded boxes (Score:2)
a substantial number of assorted plastic SoC boxes running linux are user-modifiable today because their sellers were forced to provide sources under the GPL.
It's true. And it's pretty interesting!
The free software community developed a bunch of cool stuff under GPL. These manufacturers could have chosen to license some proprietary stack such as Windows CE, but they chose to use the cool GPL stuff. This cost them no money but imposed an obligation to share.
Then when they didn't share, some people threate
Re: (Score:1)
That's true than for different situation, there is different outcomes ( how shocking, I know ). We could also speak of the Apple case, of the fact that we have cyanogenmod also because some handset makers were forced to release source code.
The real question is "do you trust enough people to contribute back", and that's some negociation.
For example, one group could indeed see that a less stringent requirement would help some contributors ( usually, a company, but not only ) to contribute and so would be ben
Re: (Score:2)
With LGPL, I explicitly have to allow my customers to reverse-engineer my code, which would be a problem with a commercial product using licensed code (some licensed code requires one to take steps to prevent reverse-engineering).
Attempting to prevent reverse engineering is a blatant "fuck you" to your customers. On their behalf, fuck you too.
Re: (Score:2)
Why don't you point that f-word at any companies who write that requirement into their licenses, rather than at me?
The specific example: I worked on a doomed project that was supposed to have DVD playback as one of its features. It turns out that when you sign the legal documents to legally license CSS, you need to agree to do all sorts of things: you must lock up the oh-so-secret CSS documentation (I never saw it myself), only full-time employees may see that oh-so-secret documentation, and... you are req
If screw Hollywood then screw DRM and DVD (Score:2)
Do you have a problem with a company making software that can legally play DVDs?
A lot of people do in fact have a problem with a company making software that can legally play DVD-Video. There exist alternatives to DVD-Video that lack digital restrictions management, and they lack DRM because their designers don't care about adoption by the mainstream United States motion picture distributors. So you can say screw DVD-Video if you're already saying screw Hollywood [youtube.com].
Re: (Score:2)
Not a straw man at all. I'm simultaneously grateful for the freedom non-copylefted free software conveys to me and others and I see how these licenses mean contributing to proprietors like they were charities. Copylefted free software licenses such as the GPL and AGPL don't allow proprietary derivatives. This distinction gets to the heart of the difference between the free software and open source movements: the former movement distinguishes among licenses using "copyleft" because the free software movem
What is an aggregate (Score:2)
The AGPL and GPL, in particular, require equal treatment and reciprocity for all distributors.
One problem with GPL family licenses is that it is not clear to what extent the programs installed in a single web site form "a larger program" as opposed to an "aggregate". The GPL leaves this vague on purpose [gnu.org] so that highly paid lawyers can hash it out in court.
Re: (Score:3)
If I wish to develop an application with that sort of functionality, I will likely write the code myself from scratch and share it BSD-style.
Do you truly believe that will be easier than linking your Affero source? I am humbled by your software development prowess and look forward to enjoying your latest creation.
Re: (Score:1)
This is compelling but the use of Affero for the license makes onerous demands of the user. The implicit threat of a code audit is there.
What demands on the user?
Re: (Score:3)
If you contribute back changes, there is no need for code audit, as the functionality and bugs will be those you contributed. If somebody notices different functionality, and you don't want to contribute, that is VIOLATING the license, then shame on you. Problems? "write your own damn code", kthxbye.
Re: (Score:2)
Well said. I often wonder how many BSD licensed projects could benefit from a bit of contributing of downstream fixes/enhancements. That's not to say they should change the license, it just sometimes makes me wonder what if. I'm sure some do have a robust community associated with them, but I suspect there are some that simply get mooched into commercial entities... the license permits that, but the spirit of the openness of BSD is being gamed by those only interesed in lining their pockets. :-/
I don't see
Re: (Score:2)
Why do you have delusions about the BSD world? Yes, plenty use software without contributing much back, but plenty more contribute much back.
Re: (Score:2)
This is compelling but the use of Affero for the license makes onerous demands of the user. The implicit threat of a code audit is there.
Utter rubbish. Show me where the Affero says anything about a code audit, or any onerous at all. Are you just uninformed, or was that just a cynical troll as it seems?
For those who are curious (Score:5, Interesting)
For those who are curious what Freenet [freenetproject.org] is: It's a distributed data store, which is censorship-resistant and allows to publish information anonymously.
Re: (Score:1)
Sounds like a great place to start rumors.
Re: (Score:3)
Re: (Score:2)
Re: (Score:1)
When the first TLDs were created, .org was meant to be used by non-profit organizations only. That requirement was dropped a long time ago, though some of us still like to use our .org domains for sites that at least obey it's spirit.
Perhaps you're thinking of .gov.
Re: (Score:2)
Everyone should be taught what it is, and use it. While we still can.
Must be Lisp under the hood (Score:2)
Enter:
Bar Blah = Bar Blah
Bar 5
Nested (((( hilarity ensues, presumeably when it hits a hard-coded recursion bailout.
Re:Must be Lisp under the hood (Score:5, Informative)
Re:Must be Lisp under the hood (Score:5, Funny)
Re: (Score:2)
Ok, just for you I risked borking the site during a slashdotting and I implemented a quick fix. You're welcome :-)
Not that takes some serious stones!
Re:Must be Lisp under the hood (Score:5, Funny)
Nah, just wanton irresponsibility :-)
Re: (Score:2)
Since I'm totally new to it I might be doing something wrong. The simple example I posted before doesn't spew parens anymore so you obviously did something. This doesn't work though:
Factorial Number = if (Number <=1 ) then 1 else (Number * Factorial (Number -1))
Factorial 5
if ( 5 ( if ( 1 ( if ( 1 ( if ( 1 ( if ( 1 ( if ( 1 ( if ( 1 ( if (can't post due to Slashdot lameness filter, much stuff like ( 1 * <= ( 1 - 1 ) ) ) ) then 1 else then 1 else ( 5 * Factorial ( 5 - 1 ) )
Re: (Score:2)
Capital letters mean variables, evaluation is by rewriting and pattern matching.
Seems like it's trying to substitute every mention of Factorial for "if (Number
this works
As well as this:
You can even write something like "X plus Y minus Z = X+Y-Z" and ask it for "5 plus 4 minus 9"
Re: (Score:2)
Ahhh. Makes sense sort of. I picked up on the "Arguments must be capitalized" thing, but not that functions must *not* be capitalized. It works fine for me when I don't capitalize the function.
Re:I implemented a quick fix (Score:2)
Hi Developer!
A minute ago I saw an explosion of parentheses and + signs, then they went away when I looked again.
Was there a bug going on?
Anyway, just for you!
( 11 * ( 4 Developers ) ) + ( 3 * ( 4 Developers ) ) + C mon + ( 8 * C ) + ( 3 * ( 4 Developers ) + LoveThatCity + ( 4 * ( 4 Developers ) ) + I got 4 words for ya + ( C mon * 5 ) + ( 21 * ( 4 Developers ) )
Re:confused by the apostrophe (Score:2)
https://en.wikipedia.org/wiki/Apostrophe_(figure_of_speech) [wikipedia.org]
Oh Anonymous Coward, so voluminous yet not part of Anonymous, where is thine wisdom?
Similar software (Score:5, Interesting)
Shameless plug: I've been working tirelessly on something like this too for almost a year, and apart from lists and a couple of other minor features, is a bit like LastCalc on steroids:
OpalCalc [skytopia.com] (for Windows currently).
The screenshots should give an idea of what it can do, but to name a few things: it's even more like notepad, faster, can handle times/dates, and allow words in the sum (like saying "5 oranges * £10 = £50" ).
Re:Similar software (Score:4, Interesting)
Soulver was actually what inspired LastCalc, but I wanted to bring it to the web, and make it programmable.
OpalCalc looks neat, unlike Soulver it supports functions, and I'm sure it has a few features that LastCalc currently lacks.
However LastCalc has a few features that OpalCalc lacks too, such as support for higher-level datastructures like lists and maps, pattern matching (like Haskell), and the ability to pull data from the web to use in calculations.
So I'm not sure that I would describe OpalCalc as "LastCalc on steroids" by any stretch.
Re: (Score:2)
Anyway, always good to see more competition in this much neglected niche - thanks for making LastCalc!
Re: (Score:3)
A question for you (or a feature request, I suppose): how do we add more information to the behind-the-scenes taxonomy? For instance, if I go "2*pi*1 nanometers in angstroms" it correctly converts from "nanometers" to "angstroms". However if I use "nm" instead, it doesn't know what I mean. Of course I can add a definition "1 nm = 10 angst
Re: (Score:3)
You can just type:
X nm = (X*10) angstroms
The plan is that people will be able to define lots of functions like this, along with much more complicated ones, and then share them. The best of them will become part of the default vocabulary.
Please sign up for the mailing list if you'd like to keep up with developments (or, if you can code Java, perhaps you could help?!)
Re: (Score:2)
Or you could just use Frink [futureboy.us], which is so cool in so many ways that even the highlights would be too long to list here. It will deal with pretty much any unit of measure or abbreviation, and additional temporary or permanent units can be added with minimum effort.
Silly examples:
cubic hectofurlongs / tropicalyear -> exascotswheatlippies / plutoyear
0.89894198315626957388
microgreatgross gilbert crocodile -> hp
1.8440377432226315066
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Quantrix? (Score:3)
http://www.quantrix.com/ [quantrix.com]
If its similar to this then its very interesting, indeed.
Re: (Score:2)
Unfortunately, none of these are open source.
Instacalc: "InstaCalc is for personal, non-commercial use only."
OpalCalc: Has a free demo, but it costs money to get the real version.
Soulver: Is shareware, puts a watermark on results if you don't pay for it.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
For OpalCalc, I used Jint which is a Javascript library for C#. For porting purposes though, I find that I'm having to create my own RPN routine anyway. It's not all that bad tbh (unary minus was a pain to implement though).
is it wrong? (Score:1)
Is it wrong that my first thought when I see this is
What's his plan to make money off all this free development help he's hoping go get?
Re: (Score:2)
Yeah, it kinda is. Did you ask that when Slashdot opened their codebase many years ago? How about when Reddit did it? What about Google with their various open source projects?
You should be glad that people open source things.
Re: (Score:2)
Oh no, someone who might be trying to make money! What a bad thing to do! He must be stopped immediately.
Good on him for opening up the code base.
Re: (Score:2)
And i hope he does make some money off it. He deserves it.
Re: (Score:2)
Fine for you. His stated purpose in making it open-sourced is to get free help.
I am not an advocate in providing or asking for work that has commercial value for free.
Re: (Score:2)
Any good piece of work has commercial value as well as non-commercial value.
let's you write functions? (Score:1)
It even let's you write functions that pull in data from elsewhere on the web.
Now if it could only correct your grammar.
Re: (Score:2)
well said. Thanks for taking this project public.
Seriously? (Score:2, Insightful)
When you have R [r-project.org], you hardly need any lousy calculators like this.
Mac Graphing Calculator (Score:2, Informative)
Still looking for an open source equivalent of one of the greatest calculators ever written. It was bundled with OS8. This one "shows you the math". Every kid should have it.
It's got a really great geek story behind it too. If you don't already know this one, take a minute and enjoy.
http://www.pacifict.com/Story/ [pacifict.com]
Bad usability (Score:1)
I entered "2+2" and got back http://pastebin.com/hTzSBqWG [pastebin.com]
I think they need to work on their usability.
(Funnily enough I couldn't enter that inline because Slashdot said "Please use fewer 'junk' characters.")
Re: (Score:2)
I'm getting the impression that it's one instance that all Slashdotters are using, and probably defining recursive functions to screw it up?
SAGE (Score:3)
Anyone interested in LastCalc is probably also interested in SAGE:
http://sagemath.org/ [sagemath.org]
Basically this is every free math tool out there, glued together using Python, with a nice web "workbook" interface. It can make plots, do symbolic math, and all sorts of stuff.
Fun fact: someone ported TeX font rendering to JavaScript, and that is what SAGE uses to draw math equations in your browser.
steveha
Clear mod (Score:2)
I modded in correctly, hence post to clear.
Typical slashdot thread (Score:3)
Software freedom trumps proprietorship every time. (Score:2)
Software can be fixed if its license grants users the freedoms of free software. Therefore, users are better off with a broken free software program than a reliable proprietary program. The free software can be inspected, repaired, improved, and distributed instead of being under the thumb of the proprietor.
Epic fail (Score:2)
I tried
1 furlong in feet =
and it couldn't come up with an answer. What good is it?
Re: (Score:1)
Re: (Score:2)
Try Frink [futureboy.us]. It has no trouble with that sort of thing. Over 58K of plain-text units [futureboy.us]. := xunit // of X-rays. It is defined to be // 1/3029.45 of the spacing of calcite // planes at 18 degC. It was intended // to be exactly 1e-13 m, but was // later found to be off slightly. := 1ee-15 m // Convenient for describing nuclear sizes // Nuclear radius is from 1 to 10 fermis := 1ee-28 m^2 // Used to measure cross section for
(Typical section of the latter:
siegbahn
fermi
barn
Similar to the Extensible Expression Evaluator (Score:1)