Does anyone know of a basic personal accounting framework in Squeak? I just want to be able to enter all general ledger items and keep everything over the years in a database that I could search through for various specific entries not knowing the year, total up how much I spent on various accounts over several years, that sort of thing.
Probably would also want to filter and export in a form I could read into a spreadsheet or another accounting program of the accountants choice. e.g. export all 2016 items.
It occurred to me that it might be a good way to gain experience with Magma.
Thx for any tips,
Ken G. Brown
Hi All,
I am trying to draw a simples 2D Line in months.
I can't understand what to do.
Could someone help me with this?
I have C, Pascal, VBA background, but none of these knowledge is helping me...
Regards,
Lorenzo.
Eliot Miranda uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-eem.757.mcz
==================== Summary ====================
Name: Collections-eem.757
Author: eem
Time: 23 June 2017, 11:32:54.271499 am
UUID: bdb8992f-4170-46e3-a573-f2bb4cd7a2af
Ancestors: Collections-eem.756
Add Set>>ifAbsentAdd: as a better named equivalent of addNewElement:.
Reimplement withoutDuplicates using ifAbsentAdd:.
Add the obvious Set-specific implementation of addIfNotPresent:.
Fix a bug with RunArray>>=; the old code would error if compared against other than a collection.
=============== Diff against Collections-eem.756 ===============
Item was changed:
+ ----- Method: RunArray>>= (in category 'comparing') -----
+ = anObject
+ "Test if all my elements are equal to those of anObject"
- ----- Method: RunArray>>= (in category 'accessing') -----
- = otherArray
- "Test if all my elements are equal to those of otherArray"
+ ^anObject class == self class
+ ifTrue: "Faster test between two RunArrays"
+ [(runs hasEqualElements: anObject runs)
+ and: [values hasEqualElements: anObject values]]
+ ifFalse:
+ [anObject isCollection and: [self hasEqualElements: anObject]]!
- (otherArray isMemberOf: RunArray) ifFalse: [^ self hasEqualElements: otherArray].
-
- "Faster test between two RunArrays"
- ^ (runs hasEqualElements: otherArray runs)
- and: [values hasEqualElements: otherArray values]!
Item was changed:
----- Method: SequenceableCollection>>withoutDuplicates (in category 'copying') -----
withoutDuplicates
"Answer a copy of the receiver that preserves order but eliminates any duplicates."
| seen |
seen := Set new: self size.
+ ^self select: [:each| seen ifAbsentAdd: each]!
- ^self select: [:each|
- (seen includes: each)
- ifTrue: [false]
- ifFalse: [seen add: each. true]]!
Item was added:
+ ----- Method: Set>>addIfNotPresent: (in category 'adding') -----
+ addIfNotPresent: anObject
+ "Include anObject as one of the receiver's elements, but only if there
+ is no such element already. Anwser anObject."
+
+ ^self add: anObject!
Item was added:
+ ----- Method: Set>>ifAbsentAdd: (in category 'adding') -----
+ ifAbsentAdd: anObject
+ "Ensure anObject is part of the receiver. Answer whether its membership was newly acquired."
+ | index |
+ index := self scanFor: anObject.
+ (array at: index) ifNil:
+ [self
+ atNewIndex: index
+ put: anObject asSetElement.
+ ^true].
+ ^false!
Hi Cyril, Hi Alex,
On Tue, Jun 20, 2017 at 8:08 AM, Cyril Ferlicot <cyril.ferlicot(a)gmail.com>
wrote:
> On Tue, Jun 20, 2017 at 5:04 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
> wrote:
> > Hi Clément
> >
> >
> > That was a mistake of mine. In the current VM it now answers e.g.
> 1011.6 and so things should be working again.
> >
>
> Hi!
>
> The problem is that the stable vm does not have the fix and the
> current latest vm is **reeeeeeeeally* slow. It happens at least on
> OSX. I don't know if it is a known problem or if it comes from the
> opensmalltalk build or the pharo build.
>
I found and fixed the problem just now. See
opensmalltalk-vm/Cog
commit f54456fc05c1846bb7e553c6ff5fec9f700abdae
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: Wed Jun 21 11:17:25 2017 -0700
CogVM source as per VMMaker.oscog-eem.2244
Spur: Fix regression in VMMaker.oscog-eem.2237.
sufficientSpaceAfterGC: must
compute heapSizePostGC using totalOldSpaceCapacity instead of the old
broken
segment-insensitive endOfMemory - nilObj, otherwise as soon as a
segment is
added it's quite possible that there will be a full GC after each
scavenge.
So the latest VMs should be back to normal.
> I got the VM here: http://files.pharo.org/vm/pharo-spur32/mac/
>
>
>
> --
> Cyril Ferlicot
> https://ferlicot.fr
>
> http://www.synectique.eu
> 2 rue Jacques Prévert 01,
> 59650 Villeneuve d'ascq France
>
>
--
_,,,^..^,,,_
best, Eliot