Fork us on GitHub

Meltdown and Other Updates

There is so much to write about and so little time...
Meltdown and Other Updates

Meltdown and Other Updates

I’ve been so busy I just don’t have time to blog as much as I should. I do hope next month will be better in this regard (more on that below) but right now I have to make an important announcement. There are new chip vulnerabilities I’m sure you heard a lot about specifically Meltdown & Spectre. Thankfully we are at a layer that shouldn’t be impacted by these issues but we need to update our servers and will be doing so over the course of the next few days (possibly more as patches get updated).

So you might see some sudden downtime starting today, don’t be alarmed but let us know in case we didn’t notice. You can post to the google group even if our website goes down…​

There is some concern about potential impact to the build process speed. We don’t think this should change significantly as the big bottleneck in our build process isn’t CPU speed it’s IO. The kernel is involved in IO but it’s far from the bottleneck of that process.

New cn1libs for Objective-C & Code Scanning

In other news Steve published two new cn1libs. The first is CN1ObjCBridge which is effectively reflection from Java into the Objective-C platform on iOS.

Instead of using native interfaces to invoke native code you could use an API that lets you send Objective-C messages (their equivalent of method calls) from Codename One Java code. That’s pretty impressive.

For most normal cases I think using native interfaces would still be better but this could fill in a niche for things that could use reflection or better callback functionality.

If you want to see a usage example check out his new scandit library which uses the Scandit barcode/QR code scanning API.

Scandit provides much faster barcode/QR code scanning speeds but it comes at a price. You need to pay per seat licensing fees that can be a bit high. The worst part of it is that we can’t redistribute their binaries or use them with cocoapods/gradle. This means we can’t distribute a precompiled cn1lib for this product. However, if you need professional grade bardcode scanning this should work rather well.

We implemented this library based on a request from an enterprise subscriber

Push Console

We added a lot of new features over the time I’ve taken away from blogging. I’ll write more about those but for now I’ll just mention one new feature. Push simulator.

In the simulator you can now open a window that will help you debug push applications. E.g. you can press a button to send a registration success callback where you will get a push key. You can also send a registration error and send a message.

Notice that there is no message type option as that’s mostly seamless for the client. E.g. if you send a type 3 message it’s really just two separate message.

Type 2 or 1 etc. are all meaningless in the simulator as we only simulate the running application and not background behavior. Still I found it very useful to simulate these messages and was able to debug some nuanced behavior in NetBeans.

Status of Uber Module

I was hoping that the Uber module would be completely finished by now but it isn’t. I’m pretty close though.

I’ve done 30 lessons by now and uploaded 23. I’m guessing 40 or 45 lessons should be the final number when I’m done. I thought I’d finish by next Sunday but that’s already pushed back to Tuesday and I’m not sure I can make that deadline either. I’m doing everything I can to finish this before the end of the month as we need to start preparing to the 4.0 release which is already looming.

The reasons this is taking so long have a lot to do with the amount of extra work I need to do but they also have a lot to do with how I divide my time. I have some administrative tasks in the company that just keep me from finishing this process.

Regardless of the above I’m pretty happy with the results so far and I have a lot to say about this once I’m done.

Share this Post:

Posted by Shai Almog

Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems.
For more follow Shai on Twitter & github.