Wednesday, June 24, 2020

The Distributed Data Model Wins Out in the UK for Tracking COVID19

The UK government will abandon its centralized COVID-19 contact-tracing smartphone app in favor of the distributed system proposed by Apple and Google more than two months ago. This decision follows that the app, once said to be a key part of the government's test-and-trace system, would not be ready until at least winter this year.

The idea is that a user runs one of these apps on their phone, and the software uses the Apple-Google-developed interface to communicate with copies of itself on other people's nearby devices over Bluetooth. When someone declares, via the app, that they may have likely or certainly caught the COVID-19 disease, all phones that have been in the vicinity of that person's mobile will find out, alerting their owners that they may have been exposed to the virus. Each country or region is expected to have its own app. No data goes to Apple or Google. The numbers of people coming in contact with those thought or confirmed to be infected may help experts monitor and analyze the actual spread of the virus.

In related news, Wikipedia founder Jimmy Wales has offered to roll out the German Corona-Warn-App in the UK in a short time at "zero cost to the taxpayers". "If the government can't pull themselves together, we can," via a tweet.

Read more at the BBC...

Monday, June 22, 2020

Pandemic Fallout: the printer industry

Analyst firm IDC reports that the printer industry has been suffering as a result of the Pandemic. The firm suggested predicted “page volume will fall 13.7percent in 2020, from 3.2 trillion pages in 2019 to 2.8 trillion pages in 2020.” The impact will be lasting: between 2015 and 2019 compound annual growth rate for pages printed was -1.2 percent. From 2020 to 2024 that will hit -4.8 percent.

"The dramatic and sudden transition to work from home in many of the world's largest economies had a direct impact on office device print volumes," said Ilona Stankeova, IDC Europe’s senior research director for Imaging Devices and Document Solutions. "More than six million pages were printed every minute globally in 2019. This amount covers the area of 54 football pitches. COVID-19 is expected to remove print volume that would fill the area of seven football fields every minute in 2020."
"Multifunction printers (MFPs) and increasing adoption of digitization efforts on a global scale are pushing for further maturation of the single-function printer (SFP) market. The trade war between China and the United States and the economic downturn in Western Europe are also pushing down shipment expectations. We still expect the market to be sustainable through the forecast period as SFPs still provide a lower-cost option for customers interested in printing." — Max Pepper, research analyst, IDC's Imaging, Printing, and Document Solutions
The IDC study covers worldwide printer market opportunities and analyzes issues, trends, and product advances. It contains 2013–2018 data showing actual unit shipments, value of shipments (end-user spending), and average selling value. 2019–2023 data is projected.

Friday, June 19, 2020

Entrepreneurs can contribute to solving global problems

Check out this Entrepreneur Magazine article on how entrepreneurs can help solve the world’s biggest challenges, leveraging the unique mindset shared of entrepreneurs: born problem-solvers, always looking for new and better ways to do things.
Damian Merlak, co-founder of NGEN: “Even something as seemingly simple as app development can improve the flexibility, scalability and redundancy of a problem-solving solution,” he explained, continuing that, “Real-time data collection, remote access, more efficient energy production — all of these can serve as a jumping-off point for developing more effective solutions that reach a wider number of people. Finding new ways to use the technology that is available can unlock amazing innovations.”
...As bleak as present circumstances can feel, this is no time for entrepreneurs to give up. You may be asked to “hunker down” physically, but that doesn’t mean you can’t keep working toward meaningful solutions that will improve our world as a whole. And few are better equipped for the challenge than an entrepreneur.

Tuesday, June 9, 2020

Aerial Delivery in the People's Republic of China, via Drone

Chinese drones will deliver goods to houses -- the tech company EHang will use its advanced drone pilot-less helicopters to deliver bulky goods to residents' houses after receiving official permission to demo the service.

These 'air taxis' can carry up to 150 kilos (331 pounds) of goods per flight and send them to remote and mountainous areas, according to their manufacturer. The mega drones will be tasked to transport products 'between ground and hilltop and between shore and islands' in the Chinese city of Taizhou during trial runs.

Watch the flight:

Based in Guangzhou, EHang suggests that their drones are the world's first electric passenger-carrying autonomous aerial vehicles. The company obtained approval from the Civil Aviation Administration of China (CAAC) to use its drones in for transporting heavy-lifting merchandise.

Tuesday, June 2, 2020

Contact Tracing App API from Apple and Google

Isolate potentially infected individuals, track and trace contacts -- these are steps responsible governments are taking to help stem the tide of the COVID19 pandemic in 2020.

Many governments around the world are developing contact tracing apps which meet the privacy standard advocated by Google and Apple, in order to ensure their apps will function only on Android and IOS devices. Google and Apple, the world’s leading makers of smartphone operating systems, recently released their contact tracing API (known as the “exposure notification” API) to help prevent the spread of COVID-19.

Some 22 countries (including Ireland) across 5 continents and a number of US states have already requested access to the software.  Notably missing from this list are France and the UK.

The API is not itself a contact tracing application -- instead, it enables governments and public health authorities to incorporate the software into their own apps that people install. The API will enable Bluetooth technology to run in the background of the phone, including on a locked phone. Without this ability for background use of Bluetooth technology, the utility of Apps would be greatly decreased.

Users would turn on and unlocks their phones, for the Apps to be able to use Bluetooth and log encounters. Apple and Google are limiting use of their API technology to government contact-tracing Apps.

Privacy activists have praised the protections ordered by Apple and Google’s API, as being in line with the principles of data protection by design and by default.

Google and Apple have explicitly barred use of the API in any apps that seek GPS loca on data from users, which means some apps being developed by public health authori es for contact tracing will not be able to use the API. In addition, the API can will only work on Apps using a decentralized system that uses randomly generated temporary keys created on a user’s device (but not linked to their specific identity or exact location).

The API allows public health officials to decide what constitutes exposure in terms of exposure time and distance. They can adjust transmission risk and other factors according to their own standards.


Monday, June 1, 2020

Think Six-Sigma Code is Not Possible? You just need to think like NASA

To get high quality code in your application, consider adopting NASA’s 10 rules for writing mission-critical source code:

  1. Restrict all code to very simple control flow constructs – do not use goto statements, setjmp or longjmp constructs, and direct or indirect recursion.
  2. All loops must have a fixed upper-bound. It must be trivially possible for a checking tool to prove statically that a preset upper-bound on the number of iterations of a loop cannot be exceeded. If the loop-bound cannot be proven statically, the rule is considered violated.
  3. Do not use dynamic memory allocation after initialization.
  4. No function should be longer than what can be printed on a single sheet of paper in a standard reference format with one line per statement and one line per declaration. Typically, this means no more than about 60 lines of code per function.
  5. The assertion density of the code should average to a minimum of two assertions per function. Assertions are used to check for anomalous conditions that should never happen in real-life executions. Assertions must always be side-effect free and should be defined as Boolean tests. When an assertion fails, an explicit recovery action must be taken, e.g., by returning an error condition to the caller of the function that executes the failing assertion. Any assertion for which a static checking tool can prove that it can never fail or never hold violates this rule (I.e., it is not possible to satisfy the rule by adding unhelpful “assert(true)” statements).
  6. Data objects must be declared at the smallest possible level of scope.
  7. The return value of non-void functions must be checked by each calling function, and the validity of parameters must be checked inside each function.
  8. The use of the preprocessor must be limited to the inclusion of header files and simple macro definitions. Token pasting, variable argument lists (ellipses), and recursive macro calls are not allowed. All macros must expand into complete syntactic units. The use of conditional compilation directives is often also dubious, but cannot always be avoided. This means that there should rarely be justification for more than one or two conditional compilation directives even in large software development efforts, beyond the standard boilerplate that avoids multiple inclusion of the same header file. Each such use should be flagged by a tool-based checker and justified in the code.
  9. The use of pointers should be restricted. Specifically, no more than one level of dereferencing is allowed. Pointer dereference operations may not be hidden in macro definitions or inside typedef declarations. Function pointers are not permitted.
  10. All code must be compiled, from the first day of development, with all compiler warnings enabled at the compiler’s most pedantic setting. All code must compile with these setting without any warnings. All code must be checked daily with at least one, but preferably more than one, state-of-the-art static source code analyzer and should pass the analyses with zero warnings.

According to NASA, the rules act like the seatbelt in your car: initially they are perhaps a little uncomfortable, but after a while their use becomes second-nature and not using them becomes unimaginable.

Read more here...