News

More Commons Updates Link to this entry.
Tags: Library, Update

Black Rook Commons was updated to version 2.9.0.
  • Fixed: Some documentation weirdness.
  • Fixed: clear()-ing AbstractChainHashes did not reset size. Now it does.
  • Added: Convenience methods to Common for opening buffered readers: openTextStream(InputStream), openTextFile(File), openTextFile(String), and openSystemIn().
  • Added: RMath.gcd(int, int) for finding the greatest common divisor of two numbers.
  • Added: Common.md5(byte[]) and Common.sha1(byte[]) for checksumming.
  • Added: HashedHashMap<K, V> and CaseInsensitiveHashedHashMap<V>, similar to HashedQueueMap<K, V> and CaseInsensitiveHashedQueueMap<V>, except it stores hashes, not queues.
  • Changed: In HashedHashMap, HashedQueueMap, CaseInsensitiveHashedHashMap, and CaseInsensitiveHashedQueueMap, if the last value is removed, the key is removed as well.
  • Added: Common.asBase64(InputStream, char, char) to Common for converting bytes to Base64 strings.
  • Added: Common.secureDelete(File, int) and Common.createJunkFile(File).

DataLanguage Plus Link to this entry.
Tags: Library, Update

The DataLanguage project has received a much-needed update to 2.3.0. Read the project page for more info.
  • Changed/Added: Allowed "multiple inheritance" and extra prototyping clauses.
  • Removed: Beginning comment from DLWriter.write().
  • Added: A proper DLStruct.toString() method.

Some Slight Refactoring Link to this entry.
Tags: Library, Update

So I may have done some slight refactoring in the Commons project, and that's going to trickle down into all of the other projects. That means all of the projects were updated, but the major changes happened in Commons:
  • Added: set(...) to Rectangle2F and Rectangle2D. No longer cares about AWT Rectangle classes. Not sure why it did in the first place.
  • Fixed: If CountMap.give(Object, int) resulted in a total of 0 in the map, it would still add the object. Now it doesn't.
  • Deprecated: The com.blackrook.commons.vector and everything in it has been deprecated, due to potential confusion with java.util.Vector and its synchronized methods. Also, "VolatileVector" is a lot to type, compared to "List".
  • Added: The com.blackrook.commons.list package, the replacement for the vector package.

Come See the New Site, Same as the Old Site Link to this entry.
Tags: Site

Hey, everybody. I just got done re-installing this site's new framework that I wrote. This will probably make updates a lot easier from now on.

But for now, sleep. See you later!


So a Lot Has Been Happening Link to this entry.
Tags: Site, Information

There are going to be some changes around here, soon. Not terribly huge ones, just some cosmetic and under-the-covers related stuff.

As you can probably tell, the updates have been rather sparse. To tell you the truth, it is because updating this site is a pain. There have been changes to project versions and stuff, but I have not been announcing them.

However, I've been writing some better CMS software for my websites, and this will be updated to that in a while, so I won't have to tear my hair out if I have to edit anything.

Ok, that's all for now - Happy Belated New Year!


Commons at 2.3 Link to this entry.
Tags: Library, Update

The Commons project has been updated to version 2.3.0. There are some minor changes and fixes, and one large (but mostly unintrusive) one.
  • Got rid of the SceneObject getUpper/Lower/X/Y/Z() functions. Debated just deprecating, but since they only had one typical equivalent value that used function calls on the same object to calculate. Adjust your code accordingly.
  • Added Common.close(Closeable).
  • Fixed: A particularly bad bug in Scene2D where Pair memory was re-used instead of re-instantiated, changing grid coordinates for all members of the Scene!
  • Changed GridMap.get(int, int) so that it returns null if a set of coordinates off the grid is entered.
  • Changed Wave: offset is a double, not float.
  • Added Wave.getSample(int).

Updates to Commons and Lang Link to this entry.
Tags: Library, Update

The Commons and Common Lang libraries were updated to version 2.2.0, and 2.0.1, respectively.

For Commons:

  • Changed internals of the abstract data structures so that repetitive gets, iterations, and other operations do not create new objects.
  • Added new interface that extends Iterator, ResettableIterator, which contains a reset() method that will set the iterator back to the beginning of the structure it was created for, as though it were just created. The general policy of reset() is that it will not create additional objects to reset itself.
  • All iterable structures now return a "ResettableIterator" class.
  • Changed Ticker: it is now very, very accurate.
  • Scene2D changed a lot. Generates no additional memory for lookups and visibility checks.
  • Added: randElement(Random, T ... objects) to RMath.
  • Fixed: SparseGridMap's get(x,y) method did not correct bounds by wrap type.
  • Added: SparseQueueGridMap.
  • Added: FloatGrid.
  • Added: AbstractVector.replace(int, T).
  • Fixed: GridMap contained its own wrapping fields which undermined its parent class's fields. These have been removed.
  • Added: Polynomial.

And one little change to Common Lang:

  • Fixed some end of block comments in Lexer not being detected.

< Previous Page Next Page >