Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Saturday, 15 August 2026

iPhone Low Data Mode Explained

Some Windows users also have iPhones and need to understand iPhone settings and usage. In this spirit we deep dive Low Data Mode on the iPhone.  This can be a good option when travelling.

Low Data Mode is a Data Roaming setting. 

Settings -> Mobile Service -> Mobile Data Options -> Data Mode -> Low Data Mode

Other options in this category are Allow More Data on 5G and Standard.  Standard allows automatic updates and background tasks on mobile data, but limits video and FaceTime quality.

Wednesday, 22 April 2026

An Insider Look at CPython: The "Compiler-Interpreter"

A run-of-the-mill Python programmer may not necessarily think about CPython on a day-to-day basis. 

But CPython is an interesting thing to think about.

It is the reference implementation for Python, written in C and Python. C was used in theory to make portability easier - it's also more efficient (so there's no C++ or STL in there).

CPython is both a compiler and an interpreter. Python code is compiled (into bytecode) before being interpreted.  So you can think of it as a "compiler-interpreter".

One (potentially) painful feature of CPython is the Global Interpreter Lock (GIL) - and the GIL is used on each interpreter process - which means effectively only one thread can run at any one time (more explicitly, only one thread can process Python bytecode at any one time). While this simplifies the implementation, it becomes a bottleneck for CPU-intensive tasks.

Concurrency can be achieved by having multiple Python processes (which have by extension, multiple interpreter processes) and enable inter-process communication.  The Python multiprocessing module aims to make this paradigm simpler to implement.  This is however not available on mobile platforms or WebAssembly platforms.

Saturday, 27 February 2016

MSVS 2015 - Cordova 4.0, EF7 and C++17 Lookahead

The Big Picture

Visual Studio 2015 RTM (Release to Manufacturing) was released on 20 July 2015.  The first thing to note is the new .NET Framework 4.6.

Update 2 CTP (Community Technology Preview) was released on 20 February 2016 (it is an unsupported pre-release version of Visual Studio not recommended for production usage).

.NET 4.6; EF7 Preview

.NET 4.6 includes better WPF support for touch (removing a delay in processing touch events) and HDPI (high dots per inch). There are also improvements to garbage collection and cryptography (i.e. ECSDA X509 certificates), more details here.

There is also a preview of Entity Framework 7 (which allows Windows phone applications to use Entity Framework) and an update of Entity Framework 6.

Welcome Cordova 4.0

RTM also introduced Apache Cordova (4.0) support in Visual Studio. Apache Cordova is an open-source mobile development framework (which is free and open source under the Apache License Version 2.0).  Update 1 also introduced new samples, updates and bug fixes.

C++14 and C++17 Look-ahead (Resumables for x64)

But is there anything new in the C++ space? Indeed, there is enhanced support for C++ 11 and initial support for some C++ 14 features. For one thing, return type deduction has been implemented. Resumable functions, expected in C++ 17, has also been implemented for x64 targets. For interest, Stroustrop's thoughts on C++ 17 are here.