Can I program eSIM/eUICC devices with Java Applets - mobile

From my research on embedded SIM (eSIM) technology, it's a SIM card that the consumer owns and is capable of downloading and switching between 3rd party subscriptions. I've also read it's expected that most eSIMs will run a Java Runtime and support Java applets [1].
Is it possible to program Java applets onto eSIMs, similar to programming a Java smart card?
[1] "EUICC45", https://www.gsma.com/newsroom/wp-content/uploads/SGP.21_v2.1.pdf

Yes. The active specification.
2.4.11.1 Java Card packages An eUICC supporting Java CardTM SHALL support the Java Packages listed below. The implementation of each
Package SHALL as a minimum be according to the given Package version
and Specification version
Then a list of the supported packages

Related

macFuse requires Recovery mode on Mac OS 11+

Since Mac OS 11 Big Sur release Apple allows installation of kext drivers in the Recovery mode only.
It also prohibits installation of kext drivers from Apple store. Which I guess is the end of macFuse, at least for virtual/cloud file systems.
What would be the migration path and how to build virtual file systems for Mac OS 11+, in particular for document management and cloud storage, similar to OneDrive, DropBox, etc.
I can also guess that a similar issue may appear on Windows too. I can imagine that Microsoft will follow Apple's path and will prohibit file system drivers and filters on Windows for these purposes in future releases.
Any hint for future migration if such a situation happens would be appreciated.
Since macOS 11, Apple has updated documentation of the File Provider API which can be used to sync files between client and server and may serve as a replacement for file system drivers. Until this day Apple has not officially announced that functionality on macOS.
The API is similar to the File Provider API that Apple has provided for iOS 11 some time ago but still it has some differences in mostly how main FileProvider class extension works and which abilities it has. There is no examples at this moment that I’ve seen but it looks like this functionality works at least on basic level. Based on what people say on the forums.
On Windows, Microsoft has introduced the Cloud Storage Provider (Cloud Sync Engine) API for Windows 10 in the year 2018 (Windows Creators update). It is used in One Drive for Windows. Here are some examples on GitHub in C++ and in C#.

Realm Mobile Database and install via packagecloud.io

The repository 'https://packagecloud.io/realm/realm/linuxmint serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
We don't support Linux Mint at this time.
Edit regarding the comment:
We support Linux. It's the only platform we support in production.
We support Ubuntu 16.04, CentOS 6 & 7 (as indicated on the website). You can trivially create a docker container or VM using one of these base images on Linux Mint. We have a number of issues requesting Debian support, Fedora support, native Docker image, but none formally requesting Linux Mint support.
We obviously want to make the experience as painless as possible for everyone, but we also have to be very strategic when deciding to add a new platform as officially supported. Our CI has to build and test every single change on this new platform. We have to be able to support our users, etc. For example, we already have some bugs that only appear on CentOS 6, but not on 7 nor Ubuntu, so we want to make sure we stabilise things before moving ahead.
Feel free to submit a feature request to support Linux Mint. That way you will have a place where you can ask us directly about progress.

Is it possible to program a "Java Card" - enabled smart card in any other language than Java?

I have a Java Card enabled smart card and a card reader that was given by my Lab-instructor. I am supposed to do a project using Java Card 2.1.1 API.
I don't like the Java Card API.
Is it possible to program my given smart card using any other language like C?
The general answer :
Unfortunately no, currently there is no other way than using Java Card API to program a Java Card compatible card.
The detailed answer:
Some kind of cards have a mechanism named "Secure Box". As mentioned in the JCOP v2.4.2 r3 card Security target :
The Secure Box is a construct which allows to run non certified third
party native code and ensures that this code cannot harm, influence or
manipulate the JCOP 2.4.2 R3 operating system or any of the applets
executed by the operating system.The separation of the native code in
the Secure Box from other code and/or data residing on the hardware is
ensured by the Hardware MMU which has been certified in the hardware
evaluation.
Here and here you can see some information about Secure Box. As far as I know, you can write applications in C or Assembly language and upload them on the Secure Box. But it is really really tricky and I think finally you will change your opinion about the Java Card API and you will make a decision to try to not only like it, but also love it! ;)
Note that, in comparison with Java Cards, there are some other kind of cards named "Native Cards". The operation system in this cards is not Java Card Runtime Environment/Virtual Machine. These cards have a proprietary/manufacturer-specific way and language (Normally C or Assembly) to develop applications. But it is not as easy as Java Card applet development. And you will make a decision to try to ....love it again :D
Update : (Thanks to dear Vojta)
Sorry, I was forgot that. As Vojta mentioned in his comment, one of most known native card types is MULTOS. You can write programs in C, Java, Assembly and some other language for these cards and after that you must convert them to MELL (MULTOS card's language) using SwiftCard tool (consist of SwiftC and SwiftJ and ...). Some good documents here and here.

OpenCL which SDK is best?

I am a beginner in OpenCL programming. My PC has windows 8.1 with both intel graphics and AMD Radeon 7670. When I searched to download an OpenCL SDK and sample helloworld programs, I found that there are separate SDKs and programs in entirely different formats available. I have to use C not C++. Can anyone suggest which SDK I should install? Please help.
At the lowest level, the various OpenCL SDKs are the same; they all include cl.h from the Khronos website. Once you've included that header you can write to the OpenCL API, and then you need to link to OpenCL.lib, which is also supplied in the SDK. At runtime, your application will load the OpenCL.dll that your GPU vendor has installed in /Windows/System32.
Alternatively, you can include cl.hpp and use the C++ wrapper, but since you said you're a C programmer, and because most of the books use the C API, stick with cl.h. I think this might account for the "programs in entirely different formats" observation you made which is why I bring it up here.
The benefit of one SDK over another typically is for profiling and debugging. The AMD SDK, for example, includes APP Profiler (or now CodeXL) which will help you figure out how to make your kernels faster. NVIDIA supplies Parallel Nsight for the same purpose, and Intel also has performance tools.
So you might choose your SDK based on the hardware in your machine, but understand that once you've coded to the OpenCL API, your application can run on other GPUs from other vendors -- that is the benefit of OpenCL. You should even be able to get samples from one vendor to execute on hardware from another.
One thing to be careful of is versions: If you code to an OpenCL 1.2 SDK you might not run on OpenCL 1.1 hardware.
For me the best thing with OpenCL is that you do not need an SDK at all because it abstracts different Vendor implementations behind a common Interface (see Answer in this Thread: Do I really need an OpenCL SDK?).

Extending PythonCE to Access gsm/camera/gps Easily from PythonCE

As it seems there is no scripting language for Windows mobile devices that gives access to phone (sms, mms, make a call, take photo). I wonder how complex it would be to make a Python library that would enable that (write something in C, compile, and import in PythonCE).
Question: Where shall start to understand how to compile a PythonCE module that will give additional functionality to Python on Windows mobile. Also, what is the required toolkit. Is it at all possible on Mac (Leopard)?
As the first step, you should try to create executable programs that invoke the functions you want. For example, to send SMS, it appears you need to call MailSwitchToAccount, passing "SMS", and so on - familiarize yourself with the C API on the platform.
To create executables, you need Visual Studio, and the Windows Mobile SDK. Those run on Windows. For cross-compilation, there is CeGCC (http://cegcc.sourceforge.net/docs/using.html), but using it probably makes things more complicated than using the Microsoft tools.
When you have executables that perform the functions you desire, creating Python extension modules out of them should be easy. Just follow the extending-and-embedding tutorials.
MSDN has plenty of samples for C++ development on Windows Mobile, and the SDK comes with several sample application. Unfortunately VS Express editions (the free ones) do not come with compilers for Smart Devices. The only free option is the older eMbedded Visual C++ (eVC), which is now something like 8 years old and not supported (though it can still create apps for devices at least up through CE 5.0).
just tried establishing an environment to get pythonce modules compiled (http://pythonce.sourceforge.net/Wikka/SConsBuild) but seems that I can only use 2003 PPC SDK and it has no recent functions available. Even when I followed all the steps in tutorial, sample spammodule.c does not compile :(
Is there any good tutorial I can utilize to startup C (C++) programming for Windows Mobile?
Also is it possible using free version of VisualStudio (Express version)?

Resources