Just saw this job offer from Peter Schubert. I met him and his team on several conferences and they have a huge project to develop in Xojo for managing production in factories (as far as I remember). The team consists of German and non German speaking people, so if you are living e.g. in southern Europe and you'd love to come to Germany for a full time job, here is your chance:
Full-time junior developer for Xojo
For a large, permanent project SACO seeks a talented, smart, hard-working, professional, quality conscious developer who enjoys working in a highly professional team.
Our requirements:
2-3 years of programming experience with Real Studio (Xojo, REALbasic), Net, C # or other object oriented language.
Real Studio, Xojo skills are a huge plus!
Experience with object oriented programming
Experience with SQL and relational database systems
SACO is based in Germany (Bavaria / Franconia) between Wuerzburg (24 miles) and Aschaffenburg (28 miles).
Please send your complete application documents including your salary expectations via email to:
jobs@saco.info
SACO Software and Consulting GmbH, Peter Schubert, Muehlgasse 5, 97840 Hafenlohr, Germany
Our Xojo Conference in Koblenz is also a place to look for employees and employers.
Real Software posted an article on the blog about the new pricing for Xojo:
Coming Soon - New Pricing (Recap).
One of the new pricing scheme, there is one thing missing: Academic licenses.
They will go away as people learning Xojo can simply use the free IDE. While that's right and some people really enjoy the upgrade (e.g. personal to Desktop), I think some people will be disappointed.
So if you have an academic license and you want to be able to build with Xojo, you may simply go and get a 2 year update now. This way you can use the academic upgrade to extend your licenses for one or two years. Remember, if you have a personal academic license now, you can upgrade for now for about $49 per year, but after June 4 you have to upgrade a desktop license for $150 per year. Similar for Pro licenses.
Everyone should update before Xojo release unless you have a Commercial Enterprise license which is the only one which does not increase price for keeping same features.
PS: I repost this today as we discovered today that we have two additional personal licenses ourself which we update now.
We love to use threads in Real Studio & Xojo. Especially if we can use plugins to offload work to preemptive threads in order to get more CPU cores busy. The MBS Plugin has a couple of MT methods which do that. Now while getting 8 cores busy or simply no beach ball in the GUI with network operations, there is a problem we have to face: Cancelling.
The problem with canceling a thread is that you have to code your threads to be cancelable and do that if needed. So if your user wants to quit the app while you do something, the user will not like if your app ignores the quit or you take 5 minutes to finish your work before you really quit. When your app quits with running threads, the runtime will call the Kill method on the thread object to stop the thread. The Kill method as far as we know injects an ThreadEndException into the thread which causes normal code to return quickly and terminate the thread. Now that exception handling is not working well while inside a plugin function. Currently there seems to be no way to ask the runtime if there is a pending exception. The last days we looked into this as we got a lot of crashes with ThreadKill function:
Feedback case 26915.
A way to solve those crashes is to cancel our threads on our own. So if while a long operation the user presses some cancel button or the app closes, you may want to cancel threads before the runtime tries to kill them. So for example in a work window we have code in close event where we loop through threads and tell them to cancel. For CURLSMBS class we recently added a cancel property for that. It will tell PerformMT & Perform method to return quickly. Than we loop and check threads to wait for them to finish. Those threads of course need to be cancel aware and also detect this state and delete temporary files for example.
With threads and avoiding crashes we also want to not access any GUI. Querying window or control properties can cause trouble as well as updating them. So for us we simply store current progress in properties of the thread. We also put a boolean flag there so we know if new status information is available. Now a timer on the progress window can check regularly and update the GUI on the main thread.
On our plugin examples, we have around 100 projects using threads and we will to revise them over time. If you see a problem, please query us for an updated project. Next prerelease plugins already includes an updated threaded download sample for CURL.
You can use animated GIF files in your applications made with Real Studio web edition. It's a nice way to do some lightweight animation and all browser support it.
You should not use the build in picture class directly. They would convert your GIF to a just one picture without animation and later convert it to PNG.
Instead you must feed GIF file directly to a WebPicture and assign it to a WebImageView. Like in this sample code from an WebImageView open event:
Sub Open()
dim w as new WebPicture
dim f as FolderItem = SpecialFolder.Desktop.Child("test.gif")
dim b as BinaryStream = BinaryStream.Open(f)
dim s as string = b.Read(b.Length)
w.MIMEType = "image/gif"
w.Filename = "test.gif"
w.Data = s
me.Picture = w
End Open
New in this prerelease of the 13.2 plugins:
- Deprecated LCMS plugin. Please switch to LCMS2 plugin.
- Fixed memory leak in CopyRGBAtoMemoryblockMBS function with leaking the mask picture.
- Fixed internal NewMemoryblock function to once again allow memoryblocks over 128 MB (introduced in 13.1).
- Fixed NSMenuItem, so NSSearchField.searchMenuTemplate works again
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
We are happy to announce the
MBS Xojo developer conference in Koblenz (Germany) from 11th to 14th September organized by Monkeybread Software. We would be happy if you join us and take the chance to meet other Xojo developers from Europe. Get in touch, share ideas and learn new things.
(Xojo is the new name for Real Studio introduced with release 2013r1 next week)
We are currently preparing a schedule with sessions include the following:
- News about Xojo 2013r1/2013r2
- Preview of the new iOS support
- News about our MBS Plugins
- Databases
- Version Control
- IDE Scripting
More sessions are in preparation. Stephane Pinel will be there to present the latest Xojo news. But we think the new Xojo 2013r2 release and the iOS target will give us a lot of topics of conversation. If you arrive early, we'd love to offer a cosy get-together in the beer garden and restaurant in Koblenz next to our hotel.
Training
The day after the conference, 14th September, we offer training Xojo in English. There is also a german training on 11th September. With little example projects we will show how to create a solution with web, console, desktop and iOS application. We plan to create an image database as a sample and show you how to handle all the little details. If you have questions about how to do things in Xojo, you can ask them and we will demonstrate Xojo features with sample projects.
Dates
11th September: Training in German
12th September: First conference day
13th September: Second conference day
14th September: Training in English
15th September: Optional Sightseeing day.
Cost
The conference days are 299 Euro (249 Euro early bird offer) and the training day is 399 Euro, both including VAT. For the hotel, we have rooms available starting at 80 Euro including breakfast. Registration is available today.
More information is available on our
conference website and for the
training website.
Well, we have a problem. We need to format dates for our users. But not like date.shortDate where you get the date formatted in the settings of the current computer. We need to format the date in a web application with the date format of the user. And for this case, we added a
FormatDateMBS function.
FormatDateMBS takes a format string, a date object and optional a locale identifier. If you don't pass an identifier, you typically get english, but if you pass an identifier, you can select which language and region is used for localization. Also with format text you can specify what to output. Just a part of date or time like the current year, the preferred date/time formats or one of the standard ones. Like you can specify "%x" for the preferred date presentation and "%X" for the preferred time presentation. Like this example:
dim d as new date
MsgBox FormatDateMBS("%x", d, "de_DE")
MsgBox FormatDateMBS("%x", d, "ja_JP")
The locale identifiers are platform dependent. On Mac, you use for German "de_DE". On Windows you use "ger" and on Linux you would use "de_DE.UTF8".
We hope this function (and also
FormatMBS for numbers) help you making better web applications. Just check what locales you want to support and assign one to each user. Than use the user's setting for all format requests.
New in this prerelease of the 13.2 plugins:
- Updated SQLAPI++ 4.1.1.
- Fixed a couple of memory leaks with unreleased Cocoa objects.
- Added NSFontMBS.file function.
- Fixed NewCFObjectMBSFromXML which was broken in 13.1.
- Added more NSCoderMBS methods.
- Added NSKeyedArchiverMBS class and NSKeyedUnarchiverMBS class.
- Fixed a bug in XMP Plugin with files on Windows SMB shares being edited on Mac OS X.
- Added XLBookMBS.LibVersion so you can easier see which version of libXL we use.
- Added FormatDateMBS function for localized date formatting in applications.
- Updated DynaPDF to version 3.0.25.67
- Changed several MT methods to lock their parent object to make sure it's not destroyed while we run helper thread.
- Added SpinningProgressIndicatorMBS class.
- Added Cancel Property for CURLMBS/CURLSMBS.
- Removed DynaPDFRectMBS.Height property. Depending on top/down vs. bottom/up coordinates it had wrong sign.
- Added more NSFontManagerMBS methods.
- Added QTKitCaptureViewMBS.setInputFilter, QTKitCaptureViewMBS.setOutputFilter, QTKitMovieViewMBS.setInputFilter and QTKitMovieViewMBS.setOutputFilter.
- Added didDisplayImage events from QTKitCaptureViewMBS and QTKitMovieViewMBS.
- Removed willDisplayImage events from QTKitCaptureViewMBS and QTKitMovieViewMBS.
- Split Cocoa plugin into Cocoa and CocoaControls. New plugin contains mainly control classes, HTMLViewer and PDFKit classes.
- Added NSViewMBS.setFocus method.
- Added methods and events to NSApplicationMBS, NSWindowDelegateMBS and NSWindowMBS related to window restoration.
- Added NSWindowRestoreHandlerMBS class.
- Added AVFoundation plugin. 80 new classes.
- Added DADiskMBS, DADissenterMBS and DASessionMBS classes.
- Changed willDisplayImage event in QTKitCaptureViewMBS and QTKitMovieViewMBS classes to perform event on main thread.
- Fixed bug in Movie.AddTextTrackMBS with unicode text handling.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
We just got notice about a running promotion from Marc Zeedar's magazine:
Save 10% on #rsdevmag renewals with coupon code RENEW this month only!
see
rsdeveloper.com/renew/
We highly recommend the magazine to everyone as it is more up to date than any book available.
The
website is setup mostly and we are still shuffling the schedule to fit in more sessions. Speakers are welcome to suggest a session.
Due to the positive feedback I already got to the hotel and made sure we have bigger rooms so we can fit more people in. And I ordered more stuff for coffee breaks.
If you like, you can
register today and be sure to have a room in the
hotel.
Our conference will be 12th/13rd September 2013 in Koblenz, Germany.
For 11th we will offer a German training and for 14th an English training.
For 15th, we'll offer a sight seeing day for our foreign visitors.
PS: Speakers wanted! If you have a good idea for a session in English, please send us your proposal.
First thanks to everyone for filling our survey. There are still plenty of people who did not visit a conference before, so we may have a lot of new faces.
And if all the people would come who clicked they may come, we will need a big room. From the week choice we have several favorites, so we need to check what we can arrange on the hotel side. On the week day, we are clearly going to use a Thursday and a friday as most people prefer that.
We will do training days: one in English and one in German. Of course we will cover iOS as well as web and desktop development. Especially I think we write one project like an image database with several applications and have them use same database, so admin can work with desktop app, users can use web app and iOS app to access images.
For the sight seeing, we'll probably need to get a big bus as there is a lot of interest in a sight seeing day.
Next week, we'll check the hotels and where we can get a big room for some days.
This week in
Wiesbaden:
21st May 2013, from 18 to 22 o'clock
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.
Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.
We had a nice meeting in Esslingen with ten people:
Next meeting is in
Wiesbaden: 21st May 2013, from 18 to 22 o'clock at
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.
Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.
We thought about whether to make another conference this fall.
With some questions we'd like to know how many people to expect and what preferences you have.
If you have time, please fill this survey with just 10 questions:
Start Survey
For additional comments, please email us directly.
This week, we have a meeting in
Esslingen near Stuttgart:
17th May 2013, from 18 to 22 o'clock
At
Hellmer & Triantafyllou Computer-Systeme GmbH, Dornierstr. 30, 73730 Esslingen
And next week in
Wiesbaden:
21st May 2013, from 18 to 22 o'clock
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.
Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.
The May/June (11.3) issue of Real Studio Developer is now available. Here's a quick preview of what's inside:
* News from XDC * by Marc Zeedar
This year's Real World conference was actually the Xojo Developer's Conference (XDC). We learned that tons of changes are coming this June, the biggest being that Real Studio will be called Xojo (pronounced Zoh-joe).
* Adventures in Florida * by Marc Zeedar
If you couldn't make it to this year's developer conference, you sure missed out! But never fear: Marc gives you a behind-the-scenes tour, so it's almost like you were there (except you don't get to eat the steak and crab legs).
* Welcome to Xojo * by Marc Zeedar
Curious about the upcoming version of Real Studio (now called Xojo)? Marc played with the beta release and explains all the changes.
* Xojo and iOS * by Marc Zeedar
We can't create iOS apps with Xojo quite yet, but we're getting closer. Learn all the details about what Xojo's iOS support will be like.
In our regular columns we've got articles on the resources of example projects, deploying with Xojo Cloud, SQL Tables, and much more. Enjoy!
NICKENICH, Germany (May 8th, 2013) -- Monkeybread Software releases version 13.1 of the MBS plug-in for Real Studio.
The MBS plug-in comprises a collection of several plug-in parts which extend the Real Studio development environment with 1,700 classes featuring over 46,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console.
Some of the highlights on the 13.1 update:
First we put a lot of work into getting our plugins working fine with the upcoming Xojo 2013r1 version. If you plan to try the new release, be aware that older plugin versions will not work correctly with Xojo. You can use the normal Real Studio plugins from us with Xojo, but you may prefer to
download our new Xojo plugins. They are optimized for the new version and you benefit from smaller file sizes and faster loading times.
Our
new NikonCamera plugin allows you to connect to Nikon cameras with the Nikon SDK. You can query features and download image files. With sending commands to the devices you can have it delete files or shoot a new image. Than you can download image files and also show live video preview.
For Core Image we added ten new filter classes. You can automatically enhance your pictures by using the auto adjust filter functions. In Cocoa applications you can directly render to a picture with a context. The new MT functions on CIImageMBS allow you to load images better in background thread.
For Cocoa applications we have new classes for
Drag and Drop handling. We also improved our custom cocoa control classes to have drag and drop events. Our
NSMenu handling has been improved with better validation code. For
Core Animation we now have classes for layers and transitions to do some effects.
In your Mac application you can use the new
keychain classes which use the latest APIs and provide much more functionality. The
MacAliasMBS class has been improved to use newer APIs and offer more functionality. Several CoreGraphics functions have been updated and we got new function to create graphics contexts. This way you can draw directly to picture objects in Cocoa.
For Windows we have now a class to learn about
disk changes. The
WMI classes can now read string arrays. Our DNS functions like
DNSNameToAddressMBS now use newer APIs on Windows 7 and still carry fallback code for Windows XP. So you get better result with DNS queries. And we now support IPv6 for all platforms.
To improve security we now offer HMAC
hash functions for MD5, SHA1 and SHA256.
We improved our SQL Plugin with new
informix class and improved record insertion code. The
Twain scanning classes got new options for orientation and resolution and handle better when scanning without user interface. For the Java database classes we improved blob support for drivers using
streams.
We updated DynaPDF library to 3.0.25.65 and added new
table functions which allow multi page tables. Our
XL plugin now uses libXL version 3.4.2 to benefit from latest changes there.
See
release notes for a complete list of changes.
MBS does resell Real Studio licenses including updates.
Especially we build nice bundles when ordering them together with our products.
Everyone should check this month if adding an update to your Real Studio license will save you money as for most people the move to Xojo will increase the update fees for keeping same feature set!
If you are nearby, please come for a visit to the
Merseburger Hof and look for someone with a Xojo t-shirt. See you there! Meeting starts at 6pm, but you can of course come later if you like.
New in this prerelease of the 13.1 plugins:
- Verified with static analyzer on Mac that memory management is done well.
- Removed Release Properties form CGFunctionMBS, CGGradientMBS, CGPathMBS and CGShadingMBS classes.
Download:
macsw.de/plugin/. Or ask us to be added to our shared Dropbox folder.
Update: We have a bug in DynaPDF registration. Please wait with download for new files from today.
There is a little change coming for our plugins with DynaPDF. If you have a DynaPDF license for use with either Real Studio or Filemaker plugin, you can soon use the license key enabled for MBS Plugins with any plugin.
So if you buy a DynaPDF license for one of our plugins, you can also use this key with next release in the other plugins.
For Xojo, Real Studio and Filemaker, just one key.
New in this prerelease of the 13.1 plugins:
- Changed KeychainManagerMBS, so query can now use kSecMatchSearchList.
- Fixed NameWithoutExtensionMBS and NameExtensionMBS to work correctly on files with a name starting with dot.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
Some fun today with numbers:
This shows in absolute numbers how many people from what countries use our Real Studio plugins. Of course that would look much different if you look on plugin users per citizen of a country.
So MBS Plugins are used in 60 countries and half of them are either US or German.