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.
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:
SACO Software and Consulting GmbH, Peter Schubert, Muehlgasse 5, 97840 Hafenlohr, Germany
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:
dim w asnew WebPicture
dim f as FolderItem = SpecialFolder.Desktop.Child("test.gif")
dim b as BinaryStream = BinaryStream.Open(f)
dim s asstring = b.Read(b.Length)
w.MIMEType = "image/gif"
w.Filename = "test.gif"
w.Data = s
me.Picture = w
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
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.
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.
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.
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.
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 asnew 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.
Changed CURL.OpenInputFile to also set OptionInputFileSize for the file.
Removed CURL.SetOptionInFileLarge, CURL.SetOptionMaxFileSizeLarge, CURL.SetOptionPostFieldSizeLarge and CURL.SetOptionResumeFromLarge. The existing functions without large now also handle 64bit integers, so you don't need extra functions here.
Added option to ServerSocket.Start so it works with Filemaker Go.
Improved twain image acquire to work better on feeders.
Added Twain.GetAutomaticBorderDetection, Twain.GetAutomaticRotate, Twain.SetAutomaticBorderDetection and Twain.SetAutomaticRotate.
Added Hash.RandomHexString function.
Added Notification.List and Notification.Unlisten.
Added Hash.PBKDF2.HMAC function.
Fixed SerialPort.ReadByte to accept 2 instead of 3 parameters.
Added Plugin.Path function.
Changed a couple of Mac functions to return Mac error number and some error description instead of just "Invalid Path".
From 6th to 8th June 2013, you can come to Berlin for the PauseOnError conference. A meeting of Filemaker developers from all over Europe and in English.
MBS is now a sponsor and if you are not going to Salzburg or San Diego anyway, you could still join this conference in Berlin. Especially if you are from Europe and like to talk about our plugins with us.
We'll be there and make two presentations. First one about the MBS Filemaker plugin and a second one is about Mac goodies like Syntax Coloring, smaller Runtimes and Gatekeeper.
If you prefer a German conference, maybe you better go to the Filemaker Konferenz in Salzburg in October from 17th to 19th. Or come to San Diego from August 12th to 15th for the Filemaker DevCon 2013.
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.
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 22.214.171.124 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.
Nickenich, Germany - MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 3.2 for Mac OS X or Windows, the latest update to
their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the
feature set of the application. MBS FileMaker Plugin 3.2 has been updated and now includes 1640 different functions, and the versatile plugin has gained more than 200 new functions:
Our new socket functions allow direct network access via TCP and UDP. You can connect directly to another computer and send and receive data. For HTTP / FTP connections we have CURL functions that handle all the protocol details for you. But for other protocols such as the MLLP protocol for exchanging data with medical applications, the new socket functions are the way to go.
We also offer server socket functions. Thus, a FileMaker instance can answer as a server requests from other instances. For example you can run SQL queries, evaluate expressions and start scripts. This way you can trigger a trigger a script on another Filemaker instance.
New hash functions that allow you to generate secure hashes. You can choose between MD5, SHA1, SHA256, and SHA512. With SHA1 HMAC you can safely authenticate with various web services. Take a look on the oAuth example for posting on Twitter from FileMaker.
With the runTask functions, you can launch programs and pass parameters. You can see if the program is still running and quit it if needed. In Windows, you can also print a document this way or open a folder in Explorer.
For the other plugin parts we have a lot of little improvements. Especially for scanning via Twain, generating PDFs with DynaPDF and the IKSlideShow functions.
For more details, please check the release notes. Take the time to check out the plugin and try the more than 190 example projects. Maybe you get some ideas on how to use the plugin in your solutions.
Using MBS Plugin 3.2pr7 and newer you can access the address book on Mac OS X from Filemaker. You can query, create and edit records, both groups and people. So in this article we show you how to do certain tasks.
We'd like to explain you a few basic tasks, so you can easily get started and add addressbook features to your solution. Especially doing some level of synchronization, so users can change an address on their iPhone in the contacts app and your solution notices that change.
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.
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.