cc: Magma list
---------- Forwarded message ---------- From: Chris Muller ma.chris.m@gmail.com Date: Fri, Dec 28, 2012 at 3:53 PM Subject: [squeak-dev] [ANN] Magma 1.4 To: squeak dev squeak-dev@lists.squeakfoundation.org
I am pleased to announce the release of Magma 1.4 for Squeak 4.4. Magma is a database for Squeak that allows complex domain models to be developed with virtually no regard for persistence issues. Said models can run entirely in memory without Magma even loaded in the image or, by loading Magma, the size of the domain model can exceed the size of RAM and be simultaneously accessed and updated by multiple clients over a network with ACID properties. Further, by copying the database files to another machine on same network and starting a server on them, uninterrupted 24x7 service is gained automatically -- either server can go down at any time and will be automatically sync'd from the other when restarted.
Magma regards data-integrity as a top priority. My oldest critical database still running today was "born" in 2004 and has survived major domain refactorings, 8 years of Magma upgrades, two hard-drive crashes and several power-outages. By hashing the contents of every commit, and writing them atomically to disk (among other security measures), Magma is an ultra-safe place to develop and store mission-critical objects. Correct mcz versions of domain code can be co-located in the same repository as the model it runs, ensuring full application recoverability even in the worst circumstances.
I've learned that transparent persistence is a complex problem that, IMO, only a mature framework can deliver in a mature way. Magma 1.4 brings heightened levels of stability, robustness and performance over its predecessor. Applications just run better, faster, with better memory management, usability and performance. The change-log has all of the gory details. This, combined with the recent release of Cog 2640, IMO, makes Squeak+Magma a fantastic platform.
PS - Even if you don't use Magma for persistence in your own applications, simply starting an empty database and copying all of your mcz's to it allows the Squeak IDE to show all "mc versions" and the "mc origin" of any method as options on the methods menu, very nice for general development.
So where is the changelog?
On 28 December 2012 23:13, Chris Muller asqueaker@gmail.com wrote:
cc: Magma list
---------- Forwarded message ---------- From: Chris Muller ma.chris.m@gmail.com Date: Fri, Dec 28, 2012 at 3:53 PM Subject: [squeak-dev] [ANN] Magma 1.4 To: squeak dev squeak-dev@lists.squeakfoundation.org
I am pleased to announce the release of Magma 1.4 for Squeak 4.4. Magma is a database for Squeak that allows complex domain models to be developed with virtually no regard for persistence issues. Said models can run entirely in memory without Magma even loaded in the image or, by loading Magma, the size of the domain model can exceed the size of RAM and be simultaneously accessed and updated by multiple clients over a network with ACID properties. Further, by copying the database files to another machine on same network and starting a server on them, uninterrupted 24x7 service is gained automatically -- either server can go down at any time and will be automatically sync'd from the other when restarted.
Magma regards data-integrity as a top priority. My oldest critical database still running today was "born" in 2004 and has survived major domain refactorings, 8 years of Magma upgrades, two hard-drive crashes and several power-outages. By hashing the contents of every commit, and writing them atomically to disk (among other security measures), Magma is an ultra-safe place to develop and store mission-critical objects. Correct mcz versions of domain code can be co-located in the same repository as the model it runs, ensuring full application recoverability even in the worst circumstances.
I've learned that transparent persistence is a complex problem that, IMO, only a mature framework can deliver in a mature way. Magma 1.4 brings heightened levels of stability, robustness and performance over its predecessor. Applications just run better, faster, with better memory management, usability and performance. The change-log has all of the gory details. This, combined with the recent release of Cog 2640, IMO, makes Squeak+Magma a fantastic platform.
PS - Even if you don't use Magma for persistence in your own applications, simply starting an empty database and copying all of your mcz's to it allows the Squeak IDE to show all "mc versions" and the "mc origin" of any method as options on the methods menu, very nice for general development. _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
The MC history. For past Magma releases, there were new features but for this release all the "features" are simply things to make apps run better; like now if two clients change the same object, it won't be a commit-conflict if they changed it exactly the same way. Another is a timeout stretch -- where the timeout is temporarily doubled for each successive retry, so that if an app has just one large read/commit that takes just over the timeout, it won't require fiddling with timeout period..
But you can see these type of new features bogs down the press-release with excruciating detail. That's the nature of the release and so that's why I refer
On Sat, Dec 29, 2012 at 6:50 AM, Milan Mimica milan.mimica@gmail.com wrote:
So where is the changelog?
On 28 December 2012 23:13, Chris Muller asqueaker@gmail.com wrote:
cc: Magma list
---------- Forwarded message ---------- From: Chris Muller ma.chris.m@gmail.com Date: Fri, Dec 28, 2012 at 3:53 PM Subject: [squeak-dev] [ANN] Magma 1.4 To: squeak dev squeak-dev@lists.squeakfoundation.org
I am pleased to announce the release of Magma 1.4 for Squeak 4.4. Magma is a database for Squeak that allows complex domain models to be developed with virtually no regard for persistence issues. Said models can run entirely in memory without Magma even loaded in the image or, by loading Magma, the size of the domain model can exceed the size of RAM and be simultaneously accessed and updated by multiple clients over a network with ACID properties. Further, by copying the database files to another machine on same network and starting a server on them, uninterrupted 24x7 service is gained automatically -- either server can go down at any time and will be automatically sync'd from the other when restarted.
Magma regards data-integrity as a top priority. My oldest critical database still running today was "born" in 2004 and has survived major domain refactorings, 8 years of Magma upgrades, two hard-drive crashes and several power-outages. By hashing the contents of every commit, and writing them atomically to disk (among other security measures), Magma is an ultra-safe place to develop and store mission-critical objects. Correct mcz versions of domain code can be co-located in the same repository as the model it runs, ensuring full application recoverability even in the worst circumstances.
I've learned that transparent persistence is a complex problem that, IMO, only a mature framework can deliver in a mature way. Magma 1.4 brings heightened levels of stability, robustness and performance over its predecessor. Applications just run better, faster, with better memory management, usability and performance. The change-log has all of the gory details. This, combined with the recent release of Cog 2640, IMO, makes Squeak+Magma a fantastic platform.
PS - Even if you don't use Magma for persistence in your own applications, simply starting an empty database and copying all of your mcz's to it allows the Squeak IDE to show all "mc versions" and the "mc origin" of any method as options on the methods menu, very nice for general development. _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
-- Milan Mimica http://sparklet.sf.net
Awesome work, Chris!
Do you think there might be any issues running this latest version of Magma on Pharo?
Amir
I have not tried it but, almost certainly there would be.. :(
While I certainly would like for Magma to continue on Pharo, the energy needed to maintain it cross-platform exceeds the level of interest for that happen in the Pharo community. Certainly, if there is, I will assist, but Pharo seems be focused on newer solutions for persistence and my own focus is on Squeak apps these days.
On Sun, Dec 30, 2012 at 1:59 AM, Amir Ansari fractallyte@csi.com wrote:
Awesome work, Chris!
Do you think there might be any issues running this latest version of Magma on Pharo?
Amir _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
Hey!
On 12/30/2012 11:57 PM, Chris Muller wrote:
I have not tried it but, almost certainly there would be.. :(
While I certainly would like for Magma to continue on Pharo, the energy needed to maintain it cross-platform exceeds the level of interest for that happen in the Pharo community. Certainly, if there is, I will assist, but Pharo seems be focused on newer solutions for persistence and my own focus is on Squeak apps these days.
Just note - if by "newer solutions for persistence" you are somehow perhaps referring to my blog post on Oak - I am not at all representative of the "Pharo community". I have no clue what "they" are focused on. My reasons for pursuing Oak instead of say Magma, is based on my own personal interests in NoSQL etc, and has nothing to do with Pharo.
The reason for me using Pharo instead of Squeak is actually simply based on the fact that those libraries I need for the work I am doing - runs in Pharo.
I wish Magma all the best since I love OODBs and your work on Magma is immense. Btw, do we have some kind of generic "benchmark" code that we could play around with?
I think Magma would benefit strongly from showing the community what it is capable of! :)
regards, Göran
Hi Göran, thanks for the note.
Just note - if by "newer solutions for persistence" you are somehow perhaps referring to my blog post on Oak - I am not at all representative of the "Pharo community". I have no clue what "they" are focused on. My reasons for
Ah well you are a prominent, influential member of whichever community you do work for because of your great work, accomplishments and charisma. Nevertheless, it was not just your Oak post but also recent discussions in Pharo about persistence did not mention Magma at all.
I kept Magma up with Pharo up to 1.4 but now it is not converted to the new FileDirectory replacement in 2.0. Maybe it wouldn't be hard, I don't have time to do it right now.
pursuing Oak instead of say Magma, is based on my own personal interests in NoSQL etc, and has nothing to do with Pharo.
The reason for me using Pharo instead of Squeak is actually simply based on the fact that those libraries I need for the work I am doing - runs in Pharo.
I wish Magma all the best since I love OODBs and your work on Magma is immense. Btw, do we have some kind of generic "benchmark" code that we could play around with?
Mm, not generic but I'm sure you could adapt MagmaBenchmarker to something more generic. It's included when you install the Magma Server 1.4 package from SqueakMap into Squeak 1.4.
I think Magma would benefit strongly from showing the community what it is capable of! :)
Mmm, I wouldn't know. I've no idea what it takes to "sell" software these days. I had always hoped that simply making it great and supporting it well would lead to success but now I'm at the point where I wish to consume Magma as a means to other goals than sell it. :) But I will always keep it generic and support anyone who wants to use it, of course.
Hey!
On 12/31/2012 01:09 AM, Chris Muller wrote:
Hi Göran, thanks for the note.
Just note - if by "newer solutions for persistence" you are somehow perhaps referring to my blog post on Oak - I am not at all representative of the "Pharo community". I have no clue what "they" are focused on. My reasons for
Ah well you are a prominent, influential member of whichever community you do work for because of your great work, accomplishments and charisma. Nevertheless, it was not just your Oak post but also recent discussions in Pharo about persistence did not mention Magma at all.
Well, thanks for all those big words! I hardly see myself like that. Anyway, there are many options these days and "neglect" of Magma might be due to other reasons (I don't really know, just guessing):
- Is Magma available as a Metacello config? I think lots of Pharooners are "expecting" this these days.
- The fact that Magma doesn't stand on top of any external "trusted" technology like say MySQL or some NoSQL db etc might also be conceived as a negative.
In my own book this last part also has some truth. I want to stand on someone's shoulders. :)
I kept Magma up with Pharo up to 1.4 but now it is not converted to the new FileDirectory replacement in 2.0. Maybe it wouldn't be hard, I don't have time to do it right now.
Right.
pursuing Oak instead of say Magma, is based on my own personal interests in NoSQL etc, and has nothing to do with Pharo.
The reason for me using Pharo instead of Squeak is actually simply based on the fact that those libraries I need for the work I am doing - runs in Pharo.
I wish Magma all the best since I love OODBs and your work on Magma is immense. Btw, do we have some kind of generic "benchmark" code that we could play around with?
Mm, not generic but I'm sure you could adapt MagmaBenchmarker to something more generic. It's included when you install the Magma Server 1.4 package from SqueakMap into Squeak 1.4.
Ok, interesting. Oh well, time, time... :)
I think Magma would benefit strongly from showing the community what it is capable of! :)
Mmm, I wouldn't know. I've no idea what it takes to "sell" software these days. I had always hoped that simply making it great and supporting it well would lead to success but now I'm at the point where I wish to consume Magma as a means to other goals than sell it. :) But I will always keep it generic and support anyone who wants to use it, of course.
I know, it's a hard game.
Anyway, I appreciate your work a lot and who knows, I might use it yet again some day. :)
regards, Göran
The problem is that Smalltalk community is too small; it's not surprising there isn't a 'critical mass' of users - not including Seaside, of course. I think it's enough (for now) just to keep up awareness of Magma, particularly in the Pharo community. (I'm really surprised those persistence discussions omitted Magma!)
As for lack of time - yes, I know the problem well :-(
Anyway, your work is greatly appreciated. I happily talk about Magma (and OODBs) whenever I get the chance!
Am 31.12.2012 um 01:09 schrieb Chris Muller ma.chris.m@gmail.com:
Nevertheless, it was not just your Oak post but also recent discussions in Pharo about persistence did not mention Magma at all.
Well, I can speak only for myself but I didn't mention magma because it was one of the obvious choices and I was sure someone will bring it up. In my current project I plan to use magma. So it would be wonderful if magma would run on pharo 1.4.
thanks for all your effort. Sometimes you don't get the attention you deserve but that doesn't tell you nobody is interested.
Norbert
magma@lists.squeakfoundation.org