Xojo Conferences
XDCMay2019MiamiUSA
MBSOct2019CologneDE
Our Blog, Filemaker only, Xojo only, Archive (older)

Follow us on Twitter, Xing, LinkedIn or Facebook.

Five reasons why you should attend a conference


While we interact a lot with each other in your development community via forum, social media and tons of emails, we should not forget the importance of being in a live face-to-face setting with others. Being active in the developer community can bring many benefits. There is power in being connected to other developers who are active in the same area. It can be easy to skip meetings and not come to the annual conferences, but soon you may have skipped them for several years. Joining the forums is not enough, you need to be active and post regularly. But to build personal connections, you need to join the conferences and meet the persons behind the forum avatar. (more)

MBS Xojo Plugins, version 19.2pr3


New in this prerelease of the 19.1 plugins:
  • Added Convert methods to JSONMBS to convert from/to Xojo Variant/Dictionary/Array.
  • Added JSONMBS.IsInt64 property.
  • Added PopupMenu function to ContinuityCameraMBS class.
  • Added removeAllScheduledNotifications method to NSUserNotificationCenterMBS class.
  • Added TextArea.WinAutoCorrectionMBS property.
  • Added WinShowFontPanelMBS function for TextArea control to show standard font dialog on Windows.
  • Added writeHEIFRepresentationOfImage and HEIFRepresentationOfImage methods to CIContextMBS class.
  • Fixed a problem with DynaPDF parser and rendering some PDF.
  • Fixed problem with rotateTemplate function in DynaPDFMBS and 180 degree.
  • Improved 64-bit integer handling for JSON to avoid rounding errors with doubles.
  • Improved performance for plugin functions accessing Xojo dictionaries.
  • Rebuild DynaPDF without assert checks.
  • Rewrote callback part for PortAudioStreamMBS class on MacOS and updated PortAudio example.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Windows Font Dialog


We have some new functions for you related to the Windows standard font dialog.

For FileMaker, the new TextView.ShowFontPanel function can show the font dialog and let user change the font settings. For MacOS, the function will show the system font panel, which allows you to adjust font information asynchronously.

For Xojo, the new TextArea.WinShowFontPanelMBS function can show the font dialog for a text area. Please use NSColorPanelMBS class and NSTextViewMBS usesFontPanel property for MacOS. The panel floats and allows to change font information for current text area.

In both cases, the dialog shows with current font selection, than user can change them and the new font settings are applied to the current selection in the text.

Changes are coming to next prerelease of our FileMaker and Xojo Plugins. If you like to test today, please email us.

One week left for early bird tickets for European MBS Xojo Conference 2019 in Cologne


If you plan to sign up and get the early bird price for your ticket, please sign up soon.

Monkeybread Software is pleased to announce the European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.

The schedule:

Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German

Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.

Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.

More details on the conference website.

New JSONMBS methods for Xojo


As you may know we have a JSONMBS class in our MBS Xojo Util Plugin to work with JSON data. The class is optimized for best performance, but some people prefer to use native Xojo classes like dictionary for representing objects.

For the upcoming 19.2 release, we'll add new convert methods to our class. You can convert from Xojo objects to JSON and back. This involves using dictionaries for the objects and Xojo arrays for the arrays in JSON. As we don't know what is in the array, we use arrays of variants.

Convert(value as variant) as JSONMBS

This function checks what is in the variant and returns a matching JSONMBS object. String, boolean, integers and doubles are just wrapped with JSONMBS objects. Dictionaries are converted to JSON objects, but we only use text for the keys. Currency values are converted to double, colors to integers, dates and texts are converted to strings before processing them. We detect arrays of String, Object, Variant, Single, Double, Int32, Int64, Boolean and Currency and convert them to JSON arrays. Anything else can raise an exception about an unsupported type.

Convert as Variant

The counter-part function on the JSONMBS class returns the varisant matching whatever is in the JSON data. The plugin will create arrays of variant, dictionaries and values (string, double, int64, boolean and nil).

Performance on the new methods should be as good as Xojo.Core.Use Xojo.Data.ParseJSON and Xojo.Data.GenerateJSON functions in the Xojo runtime. But as we use Variant/String/Dictionary and not Auto/Text/Xojo.Core.Dictionary, this may be an interesting alternative for you?

If you like to try the new methods, please email us or wait for next prerelease.

Looking for memory leaks


We try to make memory leak free plugins. That is difficult and may even be impossible to do 100%. But we try our best and if you find a memory leak, please let us know.

Especially for server applications running a long time, a leak can bring down a server. If you just leak 5 KB per second on a server script, this may be over 2 GB in a week ending up in swap storage. If it's slow enough, it will fill your server's disk with swap files, but if it leaks fast, it will also hit performance a lot!

We do static analyses on our source code to find leaks. We do use C++ classes to automatically free memory when they are released, e.g. on function end. And we use NSAutoreleasePools on Mac to collect objects and release later. We try to get memory management right and automatically get there. But there may always be things not found by us.

A memory leak you report should be reproduced in a small script/method, which can be run several times. First call my do initialization steps and trigger some framework initialization, but any subsequent call should result in a higher memory usage each time. This method may have a loop to the relevant steps a 1000 times to make it a significant leak. On the end, you should have leaked a few Megabytes, so we can look for big objects not freed or thousands of small objects of the same type. Make sure you do all the release/free calls as provided by the plugin.

Due to memory management, memory is allocated in chunks. Memory is freed with delay, so you may need a short pause for memory pools to be cleared. So two or three runs may allocate the chunks

A lot of frameworks we use do leak themselves. e.g. Cocoa framework on Mac has a lot of small leaks. So in general we are not really looking for leaks which just leak a few kilobytes every few minutes. Watching a Cocoa app in Instruments we see a lot of small leaks. We prefer to fix the leaks in our code!

Xojo 2019 Release 1


Xojo, Inc just announced the release of their new version Xojo 2019 Release 1. You can download it on the website.

It includes over 200 improvements, such as:
  • Significant improvements to performance of Layout Editor, especially with web projects
  • The free Xojo Pi license now lets you build for Console and Desktop
  • Improvements to URLConnection: SendSync now works with threads, added a new HTTPStatus property, URLConnection also now appears in Library for desktop projects
  • 32-bit Windows builds use OS app manifest
  • Spell checking now also supported in TextArea on Linux
  • Dynamic Constants are now referred to as Localized Strings
  • General AutoComplete improvements
The complete list of improvements in Xojo 2019 Release 1 can be found in the release notes.

As usual a good mix of a few new features and lots of bug fixes. We are looking forward to XDC to see what big features they are working on.

For me an important change is the buffer size on SSLSocket, which has been increased to 256K instead of tiny 8 kilo bytes. The annoying GTK+ warnings are also gone. What is your favorite new thing?

See also Xojo 2019 R1 review by Bob Keeney.

PS: MBS Xojo Plugins in version 19.1 are working perfectly with the new Xojo version.

Scan document on iPhone or iPad


With the new Continuity camera feature in MacOS Mojave and your iOS device, you can scan documents:

So you place the document on a table, you start the process on your Mac and than you take the iOS device to take a picture. The yellow area shows where the document is recognized, so you can scan it. iOS will do the crop and rectify steps and store the document as PDF. I needed, you can add more pages.

We'll also offer the possibility to show the popup menu with all options including selecting device for more than one of them. Screenshot is in German, but the texts are actually localized to your language.

MBS Xojo Plugins, version 19.2pr2


New in this prerelease of the 19.1 plugins:
  • Fixed Date constructor call in plugin to produce dates (Broken in pr1).
  • Added ContinuityCameraMBS class.
  • Updated DynaPDF to version 4.0.27.78.
  • Changed WordFileMBS class to also handle OpenDocument text files.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Continuity Camera for Xojo


As you may know there is a feature in MacOS Mojave called Continuity Camera. When an application shows a view which accepts services bringing in photos, you may receive photos from your iPhone. So when you are in TextEdit application, you can use contextual menu on the text area and choose Insert Photo from your phone. The iPhone asks you to shoot a photo and the image file gets transported back and inserted into the text view on your Mac.

In Xojo, you run a method calling Import command on our new ContinuityCameraMBS class and you get this dialog:



Or you let the user select it from the localized context menu entries.

Once the image is captured, you get a method called via delegate, where you can process the result. e.g. we show the picture right into the window of our example project.

As an option, you can ask for a document. You get a similar window on your Mac, but iOS will ask you to scan for document pages. Multiply pages are put together into a PDF document.

Coming soon for MBS Plugin 19.2. Please contact us if you like to try today.

Three weeks left for early bird tickets for European MBS Xojo Conference 2019 in Cologne


If you plan to sign up and get the early bird price for your ticket, please sign up soon.

Monkeybread Software is pleased to announce the European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.

To give you an update, we have already over 30 attendees signed up, we got a few sessions already confirmed and listed on the website. A few more potential sessions are not yet confirmed. We are still looking for your developers to apply for a free ticket. If you like to join the conference and get the early bird ticket pricing, please sign up soon. If you like to speak, please send a proposal soon and please sign up for the conference soon. As of today we have people from eight countries already signed up.

The schedule:

Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German

Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.

Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.

More details on the conference website.

Xojo meetings for California


Due to WWDC, I'll come for a visit to California in June. As usual I like to meet other developers beside the visited conference and like to organize a few meetings for local Xojo developers.

The flight is via Los Angeles, so I can make a break there for a meeting and than do one in San José. If needed, I could even come to San Francisco to meet a few people. In all three places, I have >50 plugin users in a 100 km radius. So a lot of people could join us.
Please vote and let me know which date is best for most people.

If you are interested in private time for consulting, training or discussion MBS or Xojo topics, we can of course schedule a meeting. Please contact me directly interested.

MBS Xojo Plugins, version 19.2pr1


New in this prerelease of the 19.1 plugins:
  • Added 12 more methods to StringHandleMBS class.
  • Added AcceptTabs property for NSDatePickerControlMBS control.
  • Added asInt32, asInteger, asInt64, asUInt32 to SQLValueReadMBS class.
  • Added ASIOGetSampleRate function for PortAudioMBS class.
  • Added check for AddHeader in CURLEmailMBS class to make sure a double colon is included.
  • Added copy function to UNNotificationAttachmentMBS class.
  • Added FindGCD function to LargeNumberMBS class.
  • Added MKCustomAnnotationMBS class.
  • Added MKCustomOverlayMBS and MKCustomOverlayRendererMBS classes.
  • Added nil object check for SQLCommandMBS.ExecuteMT and similar functions.
  • Added setAsInt32, setAsInt64, setAsInteger, setAsUInt32 to SQLValueMBS class.
  • Added SQLiteInMemory constant to SQLDatabaseMBS and SQLConnectionMBS classes.
  • Added WindowsListMBS.ActivateWindow and window.ActivateWindowMBS methods for Windows to bring a window to front.
  • Changed ChartDirector and SQL Plugin to accept licenses for up to 5 years in future instead of 3 years.
  • Changed NetworkTimeOut and TimeOut in LDAPMBS class to be double value with seconds.
  • Changed SQL Plugin to not complain about missing functions with freetds.
  • Changed SQLCommandMBS class to clear SQLFieldMBS and SQLParamMBS objects from it in destructor. If you access them later, you'll get SQLNotInitializedExceptionMBS exception.
  • Changed SQLConnectionMBS/SQLDatabaseMBS to pass more options to SQLCommandMBS for MS SQL: SQL_ATTR_CURSOR_TYPE, SQL_ATTR_QUERY_TIMEOUT, SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_SCROLLABLE and SQL_ATTR_CURSOR_SENSITIVITY.
  • Changed SQLDatabaseMBS.Client and SQLConnectionMBS.Client to raise exception if client is out of range.
  • Deprecated the Shell function on InternalSQLiteLibraryMBS class.
  • Fixed a problem with NTML authentication with CURL functions on Windows.
  • Fixed an issue with AutoCache in SQL Plugin preventing MovePrev method to work correctly.
  • Fixed an issue with DynaPDFImageMBS.PictureData not working.
  • Fixed bug in JSON generation for NULL strings.
  • Fixed bug with custom markers and WordFileMBS class.
  • Fixed bug with exception handling for SQLCommandMBS.ExecuteMT method.
  • Fixed issue with piModelNames, piRevisionNames, piMakerNames in WiringPiMBS module.
  • Fixed memory leak in CURLSURLMBS class.
  • Implemented Application.FrontmostMBS property for Windows.
  • Implemented NSImage to Picture conversion for console project on MacOS. This makes e.g. folderitem.IconImageMBS function working.
  • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377
  • Manually applied NTML fix for CURL.
  • Reverted change from 19.1 about DrawCGPDFDocumentMBS to use newer API as the functionality is not identical.
  • Rewrote Caching for SQL Plugin to use much less memory.
  • Rewrote conversion between Xojo Date and NSDate class for Cocoa to handle time zones.
  • Updated CURL to version 7.64.1.
  • Updated DynaPDF to version 4.0.27.77.
  • Upgraded CubeSQL SDK to version 5.7.3.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

CURL Conference 2019 in Prague


The CURL conference (or meet-up) in Prague was a great way to learn a bit more about CURL and how people use it. Especially I leant about the roadmap, HTTP/2, HTTP/3 or Quic and TLS news. The sessions give a great insight what's new in CURL since the last conference, how some internal works and how the project is organized.

The event is organized with great help of some local Czech people from Charles University, which also provided the room. Daniel Stenberg, the author of CURL was of course the star of the show. But there were other notable attendees from various bigger companies including Teamviewer, Akamai, Google, Red Hat, wolfssl, Apiary (part of Oracle) and a few startups where I forgot the names and a few self employed people. The maintainer of wget command line tool came as an attendee. Nice to see them working together on protocol details for their respective open source projects.

Overall the CURL project seems to work well. Activity is growing, more people contribute, the number of tests is growing and even the number of tests to source code lines is raising. They collect money via a donation service and plan to use it to fund a few things including some bug bounty program.

Looking forward to future events! Thanks everyone for organizing and interesting sessions.

Blog post about my presentation: Using system SSL Certificates in CURL

Required keys for info.plist file on Mac and iOS


When you build an application for MacOS or iOS, you may need to set some keys for info.plist. Apple requires for newer MacOS and iOS versions that applications have the info.plist entry and are code signed. If some malicious software would trick itself into getting loaded into a process and try to access your data, the app crashes if the entry is not in info.plist.

In FileMaker, you can add those entries right away in Xcode for your iOS app made with FileMaker iOS SDK. Sometimes for some things, you may even need to add the info.plist entries to the FileMaker Pro app itself.

In Xojo, you can create an info.plist file and drop into the project. Xojo will merge your info.plist file into the one for the application. This is a great way to automatically add the right entries. Other way is to use defaults app in a shell script, which can do that right away when you do code signing.

e.g. in a build script:
Dim App As String = CurrentBuildLocation + "/" + CurrentBuildAppName + ".app"
Call DoShellCommand("/usr/bin/defaults write " + App + "/Contents/Info ""NSCalendarsUsageDescription"" ""Exports events to your calendar.""")

The following table shows possible entries: (more)

Using system SSL Certificates in CURL


The CURL library supports various SSL backends. We build currently CURL in three variants. The main one uses OpenSSL cross platform. For Windows we build a second copy using Windows own SSL. For MacOS and iOS we build the third variant with transport security. The native SSL libraries from Mac and Windows use the certificates installed on the system, while we need to supply our own certificates for SSL with OpenSSL. You can download cacert.pem with common root certificates from CURL website. Or just use the certificate from your website if you only need to connect to the same server (certificate pinning). We need OpenSSL as SSH2 library uses it for the SSL part.

For MacOS we search the keychain for certificates. We copy the data for each certificate and use OpenSSL function d2i_X509 to parse it. Than we store it in a global std::vector.

For Windows, we open CA, AuthRoot and ROOT stores with CertOpenSystemStore function. We enumerate all certificates and add them to the same vector as for MacOS.

In CURL we use CURLOPT_SSL_CTX_FUNCTION option to set our callback. In the callback, we get the X509_STORE from the SSL context via SSL_CTX_get_cert_store function. We loop over our certificates and add each via X509_STORE_add_cert function. Now all certificates are loaded and we can enable verification.

Sample code: CURLSSLCertificatesWin.cpp and CURLSSLCertificatesMac.cpp.

In our Xojo plugin, simply call UseSystemCertificates method in CURLSMBS class to load certificates into this instance. In FileMaker, please call CURL.UseSystemCertificates function on the CURL session.

SetFrontMost for Windows


You may know the problem that on Windows your app shows several windows and some are behind others windows from other applications. The user may need to click once on all your app windows or use alt-tab key combination to switch to another app and back to get all windows to front.

We'll change that with our plugins by adding new functions to bring a windows app to the front. We activate the frontmost window from the app and arrange all other windows behind it, but before other windows.

For FileMaker Process.SetFrontMost function is now available for Windows in addition to MacOS. To bring an individual window to the front, you can use Window.Activate function.

For Xojo you can now set Application.FrontmostMBS property on Windows, too. We add window.ActivateWindowMBS method to bring a window to the front and set focus. For dealing with all windows on Windows, you can bring a window from another app to the front with ActivateWindow method in WindowsListMBS class.

We hope those two new functions will help you to improve the user experience in your solutions.
e.g. you can bring all windows to front when user clicks on one window.

Coming soon in April with MBS FileMaker Plugin 9.2 betas and MBS Xojo Plugins 19.2 betas.

10th birthday of MBS SQL Plugin


Our MBS SQL Plugin turns 10 years old today.

Over the years we got requests for alternative database plugin classes for use with Xojo (formerly REALbasic). In 2009 a client requested a native plugin for Microsoft SQL Server, so we started writing a SQL Plugin and got a deal with SQLAPI to use this C++ library as the base of the plugin. Over the years, we contributed lots of changes and bug fixes and helped funding adding CubeSQL and SQL Anywhere support to SQLAPI.

As of today, we support CubeSQL, Centura SQLBase, DB2, Firebird, Informix, InterBase, MariaDB, Microsoft Access, Microsoft SQL Server, MySQL, ODBC, Oracle Database Server, PostgreSQL, SQL Anywhere, SQLite, SQLCipher and Sybase. Well received features include using named parameters for prepared statements, full unicode support, threaded connect & execution, bulk row transfer, streaming blob values, and offering database specific options for advanced features.

You can use our plugin with one of two interfaces and even mix them. SQLConnectionMBS is our native interface for using all the nice features. This includes SQLCommandMBS class for doing both statement preparation and handling the result set. With SQLDatabaseMBS class, we have a database subclass, which makes transition easier for existing Xojo developers and use PreparedStatement interface and RecordSet class.

If you like to try the plugin, please check the website. Watch SQL Plugin presentation and read Xojo Developer Magazine article in issue 14.1.

Seven months till European MBS Xojo Conference 2019 in Cologne


Monkeybread Software is pleased to announce the European MBS Xojo Conference in metropolitan Cologne, Germany. We meet in the lovely Dorint Hotel in the center of Cologne. The hotel is in the city center and in walking distance to the main station. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.

To give you an update, we have already over 30 attendees signed up, we got a few sessions already confirmed and listed on the website. A few more potential sessions are not yet confirmed. We are still looking for your developers to apply for a free ticket. If you like to join the conference and get the early bird ticket pricing, please sign up soon. If you like to speak, please send a proposal soon and please sign up for the conference soon. As of today we have people from seven countries already signed up.

The schedule:

Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German

Registration is open. The early bird offer available till 24th April is just 499 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.

Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.

More details on the conference website.

New Team Website


Recently we got a new team website.

We thought we could add a few faces to the website and show you the people behind the products.

And we listed a few of our partners for development of a few plugin parts. Some of them may join us for the conference.

If you like to meet us, you can see us at the various conferences.

This year Stefanie will join me for Xojo Developer Conference in Miami, FileMaker DevCon in Orlando, MBS Xojo Conference in Cologne and FileMaker Konferenz in Hamburg.

Older blog entries:

2019-03-24 Last days for special hotel rate for XDC 2019
2019-03-21 WWDC 2019
2019-03-20 CURL birthday and conference
2019-03-19 SQLabs new website and products
2019-03-18 Xojo Enterprise is now Xojo Pro Plus
2019-03-18 Track Line with Data Labels Retina
2019-03-17 MBS Edition of the Xojo Developer Magazine
2019-03-15 One week left for special hotel rate for XDC 2019
2019-03-12 Xojo developer available for hire
2019-03-12 MonkeyBread Software Releases the MBS Xojo Plugins in version 19.1
2019-03-10 MBS Xojo Plugins, version 19.1pr7
2019-03-09 Extra sight seeing for our MBS Xojo Conference in Cologne
2019-03-06 MBS Xojo Plugins, version 19.1pr6
2019-03-04 xDev 17.2 Issue
2019-03-04 Free tickets for students for MBS Xojo Conference in Cologne
2019-03-03 Simple load balancer for Xojo Web app
2019-03-01 MBS Xojo Plugins, version 19.1pr5
2019-02-28 Large integer numbers in Xojo
2019-02-25 MBS Xojo Plugins, version 19.1pr4
2019-02-25 Eight months till European MBS Xojo Conference 2019 in Cologne

Archives

Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed