The wyDay blog is where you find all the latest news and tips about our existing products and new products to come.

wyDay blog

Posts in the ‘Programming’ tag

Year 2024 rolling over to 2025We've done a ton of work in 2024. A lot of it was behind-the-scenes. In addition to putting the final touches on LicenseChest, here's a few broad things we've been working on:

  1. Speed & security: Our servers respond quicker and handle larger loads (all while using less CPU and memory). This means we can serve more customers more quickly. For you this means snappier management of your licenses. For your customers this means even faster activations and verified trials.

    Speed of our servers is something we spend a lot of time and money on. Not only does it make things faster for your customers (activations and deactivations happening faster than the a blink of an eye) but it makes us able to handle larger amounts of customers and “frees up” server resources to handle other planned features.

    And this choice of solving speed with engineering refinements (rather than just throwing money at the problem in the form of newer and more servers) has the added benefit of getting more eyeballs on our code and developing better processes for verifying and securing our code.

    This is a long way of saying we’ve made our services significantly faster and more secure. And we’ll continue to pour a portion of our time and money into making things even faster and more secure.

  2. Add TLS 1.3 support to curl on Windows: We've recently added TLS 1.3 support to curl on Windows. Curl is a popular command line tool for downloading files on every platform. We didn't create curl, but we spent the time and money to add TLS 1.3 support to Windows (SChannel specifically) because we (and many other companies) use the curl library to "talk" to the internet.

    So, not only will TurboActivate, TurboFloat, and the TurboFloat Server all support the faster and more secure TLS 1.3 standard, but other apps that use the curl library will get those benefits too.

    We've continued upon our initial contribution with additional refinements and bug fixes (working around Windows bugs, for instance).

    That's part of the beauty of open source: mutually beneficial self-interest.

  3. Accessibility: We’ve made our forum software more keyboard and screen-reader accessible. This makes things better for everyone. Also, because our forum software (soon to be open sourced) shares components (both UI and backend) with the soon-to-be-released LicenseChest and refreshed LimeLM interfaces these accessibility changes will benefit all of our customers (and your customers too).

    Accessibility positively effects everyone whether you’re “fully able bodied” or you have any type of neuro-divergence or physical needs outside the “norm”. Our products aren’t perfect, and there’s always new work to be done, but this has been a focus of our company.

  4. TA / TF / TFS 5.0 releases for Windows: We’ve released TurboActivate, TurboFloat, and TurboFloat Server 5.0 for Windows. We’ve released it early (before the Unix builds are finished) to work around broken network drivers that Intel and Qualcomm have been releasing lately. Get them now on your API page.

    We’ll release the Unix builds of TA/TF/TFS soon and we’ll have the updated changelog and blog post announcing it when it’s done.

End of 2024 and beginning of 2025 will bring even more behind the scenes progress (TLS 1.3 support for other Unix platforms, updated TA, TF, TFS builds, even faster server performance, etc.). Plus we'll actually release the updated LimeLM interface and LicenseChest.

We also have a couple projects that have been brewing that we think people will like. More about those in the coming months.

We’re very happy with what we’ve accomplished this year. While we always wish we could get more done, but we think we’ve had a good balance of features, speed improvements, and accessibility improvements this year.

Today we've released TurboFloat 4.3. The marquee feature of this release is that when your app uses the TurboFloat library your app can now release any active leases when a computer goes to sleep. And your app will also attempt to regain that lease when the computer "wakes up".

An example of a computer going to sleep is when your customer shuts their laptop:

close-laptop-1.gif

The laptop is now asleep. If you were using TurboFloat in your app, and your app had a lease before the computer went to sleep, the lease would be dropped immediately. This frees up the lease to be used by any of that person's colleagues.

Humans are messy and unpredictable

This feature is just the latest example of our focus on real-world user-behavior. A customer isn't going to switch to every app they have open, see if it's using floating licensing, and if so, invoke whatever method you've created to drop the lease while keeping the app running.

That would be a nightmare; no one has time for that.

A real person is either going to just walk away from the computer (and the computer will put itself to sleep after a few minutes). Or the person will explicitly put the computer to sleep (for example by shutting the laptop).

Our job is handling this, and other real-world behavior, so you don't have to.

If you're not already using TurboFloat for your floating licensing, signup for LimeLM today (it's free to try — no credit card needed).

close-laptop-3.gif

TurboActivate and TurboFloat 4.1 are now out! This release is a huge leap forward in quality and features and sets the foundation for the new product releases that will be rolled out over the next 2 months.

So, wait no longer: get the latest TurboActivate and TurboFloat on your API page.

If you're not already a LimeLM customer, sign up now for free!

Here are the big "marquee" features of this release:

NodeJS support

NodeJS & Electron logos

We're proud to be the first commercial licensing to offer true hardware-locked (a.k.a. node-locked) licensing and floating licensing (a.k.a. concurrent licensing) for NodeJS. This means it's easier than ever to sell your NodeJS and Electron apps. You can write in pure JavaScript and let us handle all of the platform-specific details that need to be figured out for fast and accurate licensing.

Learn more over in our "Using TurboActivate with NodeJS or Electron" article (for hardware-locked licensing) and our "Using TurboFloat with NodeJS or Electron" article (for floating licensing). These articles and the accompanying example apps will show you everything you need to know to add true node-locked and floating licensing to your NodeJS app whether you're on Windows, Linux, macOS, or FreeBSD.

Which brings us to our next big feature:

Full, native FreeBSD support

BSD logo

In addition to supporting the "big 3" operating systems (Windows, macOS, and Linux) with this 4.1 release we've added support for FreeBSD! All of our products now run natively on FreeBSD 10.x and above (no Linux compatibility layer necessary).

You can download the latest versions on your API page in LimeLM.

TurboFloat Server behind HTTPS

HTTPS lock

Prior to this release of TurboFloat Server version 4.1, the TurboFloat Library and TurboFloat Server only "talked" over encrypted raw binary. This was perfectly fine when the TurboFloat Server was behind a corporate firewall and all of the "clients" existed in the same network.

Things got trickier when a corporate end-user decided to host their TurboFloat Server on a public facing computer and their employees ran your app from different networks. If they had a "direct" connection to the server running the TFS instance (whether on the same network or through a VPN), then everything worked fine. But things are rarely so easy in a corporation. Inevitably communications would need to go through a labyrinth of proxies. And, unfortunately, proxies rarely support "raw" transmitted data.

The solution is letting your app (using the TurboFloat Library) talk to the TurboFloat Server over HTTPS. Read more about how to do it here: Configuring TurboFloat Server for HTTPS communication.

Now corporate clients with complicated proxy setups (or anyone else) can have all of the communication happen over HTTPS.

Better client-side trial fraud detection, real-time trial expiration

We're also excited to add improved client-side date/time fraud to the timed-trials functionality in TurboActivate. We improve client-side fraud detection with every release of TurboActivate, but this version took a leap forward.

Additionally, we've added a new function "TA_SetTrialCallback()" that gives you real-time notifications of trial expirations and fraud. This means there's no more need to "poll" TurboActivate functions for the life-time of your process. Just, call that function once, and let TurboActivate handle it.

More consistent Linux ARM builds

arm logo

Prior to this 4.1 release we made the following ARM builds of our products:

  • armv4t, 32-bit little-endian, soft-float

  • armv7-a, 32-bit little-endian, soft-float

  • aarch64, 64-bit little-endian, soft-float

But we've found this doesn't match the use-case for most of our customers on these platforms, so we've added "hard-float" version for everything other than the armv4t target, and we've added an armv8-a, 32-bit build. So, here's our new targets:

  • armv4t, 32-bit little-endian, soft-float

  • armv7-a, 32-bit little-endian, hard-float

  • armv8-a, 32-bit little-endian, hard-float

  • aarch64, 64-bit little-endian, hard-float

What this means in practice is that you can sell your app and target distros like Raspian (and all other popular arm-based distros) without having to re-target your app for "soft-float" support.

A ton more...

In addition to the big features listed here, we have a ton of quality improvements and tweaks to provide a better experience for all end-users. Read a condensed list of changes here for TurboActivate and the changes for TurboFloat.