#android

Domino Computer!

https://www.youtube.com/watch?v=OpLU__bhu2w

I actually stumbled across this a long time ago, then just found it again right now and thought I'd point it out to whoever will stumble across this post in turn.

It's really a great video, and does a great job at explaining how a binary adder works. The only thing that it doesn't mention (thought, to be fair, it's not really within the video's scope) is that these will always give you numbers with one more digit than you put in.

Of course, that's logical, 'cause if you add numbers they normally get larger and might need another digit, but it does present one with a number of problems that are often missed: In an actual computer, you might add two numbers (in binary, let’s say 64 bit long), and store the result in a part of memory that's also 64 bit long (because that just happens to be the length of integers on your particular system).

Now obviously, that doesn't always end well (2⁶³+2⁶³ = 0? Well, if the machine says so …). Normally, a computer will have a status register, which will contain a carry flag, which will be set (to one, or true, or high, or whatever else you choose to call the on-state of a wire) in such a case, but for some reason high-level languages have decided that this isn't very important, which is why you should be very careful when implementing things in these languages (particulary if they're webservers and meant to be secure …), because no one will tell you if your counters overflow.

If you aren't, you might end up with loads of stuff happening that nobody ever wanted to happen, that don't make any sense at all,that no one understands, and is just plain ridiculous.

It's sort of like the millenium bug, but it actually happens (and indeed, on 32-bit machines that run UNIX or some derivate of it ---like GNU/Linux, BSD, Android, iOS, Mac OS X, etc. (GNU HURD, by then? I hear it should be out next year …) --- that stores time in seconds since 1 January 1970 (in a 32-bit integer), this will happen on 19 January 2038, 03:14:07 UTC, at which point the 32 bits will overflow and time restarts on 13 December 1901. Hopefully, we'll all be using 64-bit systems by then, which will do the same, but on a much later date --- the 4th December 292,277,026,596, 15:30:08 UTC, which is long after any estimated date for the sun exploding --- or we might all end like the Deep Impact Space Probe, which was lost probably due to its internal clock overflowing 2³² tenth-seconds after 1 January 2000)

On the bright side, this means we geeks get to wear our very own the-end-is-near-shirts!

(in a couple of years …)

#adder #computer #calculator #dominos #unix #linux #iOS #bsd #android #unix-time #unix-epoch


#AltspaceVR Expands Cross-Platform Support to #Google #Daydream and Android https://uploadvr.com/altspacevr-daydream-android/ #android #linux

#Vernee #Thor 4G è uno #smartphone che risponde alla domanda di chi ricerca uno smarphone potente ma economico. Con un prezzo di soli € 100,72 è un'offerta da non buttare via (200 pezzi rimasti). L'offerta è valida ancora per 14 giorni su #GearBest.

Caratteristiche tecniche (in inglese):

Vernee Thor 5.0 inch 4G Smartphone #Android 6.0 MTK6753 64bit Octa Core 3GB RAM 16GB ROM On-cell Corning #Gorilla #Glass 3 Screen 13.0MP Rear Camera Fingerprint GPS Bluetooth 4.0 OTG Main Features: Display: 5.0 inch On-cell Corning Gorilla Glass 3 screen CPU: #MTK6753 64bit Octa Core 1.3GHz GPU: #ARM Mali-T720 MP3 450MHz System: Android 6.0 RAM + ROM: 3GB RAM + 16GB ROM Camera: 13.0MP rear camera , front camera 5.0MP Sensor: Gravity Sensor, Proximity Sensor, Ambient Light Sensor, #Fingerprint Bluetooth: 4.0 OTG: Yes SIM Card: Dual SIM dual standby, dual micro SIM cards Network: 2G: GSM 900/1900/2100MHz 3G: WCDMA 900/2100MHz 4G: FDD-LTE 800/1800/2100/2600MHz

http://www.gearbest.com/cell-phones/pp_343580.html?wid=11&lkid=10377086

Vernee Thor 4G Smartphone
Share & Get it free Now | Join Gearbest | Get YOUR FREE GB points and enjoy over 100,000 top products

Google is finally taking fitness seriously with Android Wear 2.0 https://www.cnet.com/news/android-wear-2-0-fitness-features/ #android #linux

Google is finally taking fitness seriously with Android Wear 2.0
It won't replace a Fitbit, but there is still a lot it does well.

<https: www.xda-developers.com="" new-research-finds-security-loopholes-in-many-popular-android-apps-for-connected-cars=""/>

#android #google #security

ZTE annule son smartphone à contrôler avec les yeux... tout en le relançant <http: www.appy-geek.com="" web="" articleweb.aspx?regionid="2&amp;articleid=86668344*">

#zte #smartphone #android #french

https://techspecs.blog/blog/2017/2/14/googles-not-so-secret-new-os

"Why Andromeda?

Observers have naturally wondered for years if Google would ever unify Android and Chrome OS, in line with Sundar's obvious desires. Despite some questionable half-measures along the way, this will now finally take place. Andromeda will immensely help Google bring together and unify a broad array of in-house technologies, beyond just its two consumer OSes.

Andromeda clearly serves Google’s own purposes. The only platforms that the company really supports are the web, Android, and iOS, in that order. I think Windows support is effectively limited to Chrome at this point. Flutter exactly exemplifies this strategy. Google will no longer have to field separate Android and iOS apps and teams, and can now greatly focus its app development efforts. "More wood behind fewer arrows," in other words."

#google #fuchsia #andromeda #android #chromeos #ios #alphabet #iot

Google’s not-so-secret new OS
I decided to dig through open source to examine the state of Google’s upcoming Andromeda OS. For anyone unfamiliar, Andromeda seems to be the replacement for both Android and Chrome OS (cue endless debates over the semantics of that, and what it all entails). Fuchsia is the actual name of the operating system, while Magenta is the name of the kernel, or more correctly, the microkernel. Many of the architectural design decisions appear to have unsurprisingly been focused on creating a highly scalable platform. It goes without saying that Google isn’t trying to hide Fuchsia. People have clearly discovered that Google is replacing Android’s Linux kernel. Still, I thought it would be interesting for people to get a better sense of what the OS actually is. This article is only intended to be an overview of the basics, as far as I can comment reasonably competently. (I certainly never took an operating systems class!) To my naive eyes, rather than saying Chrome OS is being merged into Android, it looks more like Android and Chrome OS are both being merged into Fuchsia. It’s worth noting that these operating systems had previously already begun to merge together to an extent, such as when the Android team worked with the Chrome OS team in order to bring Update Engine to Nougat, which introduced A/B updates to the platform. Google is unsurprisingly bringing up Andromeda on a number of platforms, including the humble Intel NUC. ARM, x86, and MIPS bring-up is exactly what you would expect for an Android successor, and it also seems clear that this platform will run on Intel laptops. More on this later. My best guess is that Android as an API and runtime will live on as a legacy environment within Andromeda. That’s not to say that all development of Android would immediately stop, which seems extremely unlikely. But Google can’t push two UI APIs as equal app frameworks over the long term: Mojo is clearly the future. Ah, but what is Mojo? Well it’s the new API for writing Andromeda apps, and it comes from Chromium. Mojo was originally created to “extract a common platform out of Chrome's renderer and plugin processes that can support multiple types of sandboxed content.” It seems to have enabled Android apps in Chrome OS, and now it will serve an even more extensive role as the developer API for Andromeda. (Sidenote: as far as I can tell, Native Client is well and truly dead. Pour one out for the valiant effort that was NaCl.) Mojo in Fuchsia features intriguingly extensive language support. C/C++, Dart, Go, Java, Python, and Rust are all first-class citizens of the platform. I am guessing that C/C++ is for native development, Go is for networking, Java is for Android, Python is for scripting, and Rust is for writing portions of the kernel. Mixing and matching languages aside, the main UI API is based on, yes, Dart. Flutter was an existing Google widget framework for apps written in Dart, and it has been repurposed to become the UI framework for Andromeda. Flutter includes a series of Material Design widgets and was engineered to render apps up to 120fps.* I imagine Andromeda’s standard UI components will look similar if not identical to those of Android. A physically based renderer, Escher, is apparently being used to render, well, material elements and perhaps shadows in a high quality manner. I have very strong reservations about Dart as the language of the primary platform API, but it’s best to wait for the fully revealed details before forming an opinion. The reason for Dart is obvious, however: to enable a cross-platform app framework. The pitch will clearly be that developers can write a Flutter app once and have it run on Andromeda, Android, and iOS with minimal extra work, in theory. (Flutter does not target the web.) Even if Andromeda is its full replacement, Android will be a separate developer target for many years given its gigantic installed base. Andromeda's actual app runtime is called Modular, “a post-API programming model that allows applications to cooperate in a shared context without the need to call each other's APIs directly." To do this it uses Mojo inter-process communication (IPC) messages, which are exchanged via low-level primitives in the form of message pipes (small amounts of data), data pipes (large amounts of data), and shared buffers. I'm not technically knowledgeable enough to understand how the various languages interface over these IPC calls, and what exactly that enables. The IDL used is the Fuchsia Interface Description Language (FIDL), “an encoding format used to describe [Mojo] interfaces to be used on top of Magenta message pipes. They are the standard way applications talk to each other in Fuchsia.” Right now at least, only C/C++, Dart, and Go have supported bindings. Dart is thus the main platform language. (My understanding is that Go is not exactly ideal for writing UI apps.)   Why Andromeda? Observers have naturally wondered for years if Google would ever unify Android and Chrome OS, in line with Sundar's obvious desires. Despite some questionable half-measures along the way, this will now finally take place. Andromeda will immensely help Google bring together and unify a broad array of in-house technologies, beyond just its two consumer OSes. Andromeda clearly serves Google’s own purposes. The only platforms that the company really supports are the web, Android, and iOS, in that order. I think Windows support is effectively limited to Chrome at this point. Flutter exactly exemplifies this strategy. Google will no longer have to field separate Android and iOS apps and teams, and can now greatly focus its app development efforts. "More wood behind fewer arrows," in other words.   Observations: As you would expect, Google submitted patches for Fuchsia to both LLVM and GCC. Interestingly web rendering is currently based on WebKit, but this is simply “meant as a stopgap until Chromium is ported to Fuchsia.” There is a machine learning/context framework baked into Fuchsia, which seems conceptually similar to the existing Google Awareness API.   Questions: What happens to the Android Open Source Project and its huge ecosystem of partners? Does this platform only ship on laptops for its initial release? Will Android Studio be the basis for Andromeda’s IDE? If so, ouch. IDEs written in Java are wildly slow… Would it actually be possible to use languages other than Dart for UI code, analogous to UWP’s support for C# and JavaScript for Windows? At the very least Dart is the native language for Mojo apps, in the same way that C++ is the real native language of UWP, despite the CLR’s projections into UWP. How do you replace the enormous contributions of the Linux kernel and Linaro? It seems like Google will emulate the Linux user space to make its new OS a tractable effort in the first place, such as by supporting ELF binaries. But what about existing massive projects, like an Energy Aware Scheduler? Or will Google continue to utilize much of its existing Linux code for now?   Progressing the PC I can think of more than a few (read: one hundred) reasons why you would want to replace Android. I will highlight only one: to completely rewrite the rendering pipeline. The market for Chrome OS meanwhile is of course mostly limited to education, not to diminish it. Andromeda, however, will provide a laptop OS with native apps and backwards compatibility with Android. It could very well look much the same visually as Chrome OS does now, however. I also can’t imagine the Android update problem (a symptom of Linux’s modularity) won’t at last be solved by Andromeda, but one can never be too sure. The promise of a laptop platform that can bring all the advances of mobile, bereft of the vestiges of PC legacy, while also embracing proven input and interface paradigms is extremely appealing. And since Apple has only inched macOS along in recent years despite its decades of cruft and legacy, I welcome Google’s efforts wholeheartedly. Hopefully 2017 will finally be the beginning of the new PC.   Notes - I am not a programmer, so if anything stated above is incorrect, please, please send me corrections. I would also greatly appreciate any clarifying comments, which were one of my primary motivations for writing this piece. - For anyone interested, I intend to write quite often about consumer technology on this blog. Topics will include hardware, software, design, and more. You can follow via RSS or Twitter, and possibly through other platforms soon. *At least in trivial cases. I don’t see the average garbage-collected language using a virtual machine allowing for a target higher than 60fps realistically.

#NuAns is back with Neo Reloaded, but it's Android-powered http://www.gsmarena.com/nuans_is_back_with_neo_reloaded_but_its_androidpowered-news-23500.php #android #linux

NuAns is back with Neo Reloaded, but it's Android-powered
The Japanese company has ditched Microsoft's mobile OS after the Kickstarter campaign for Win10-powered Neo failed last year.

2 powerful new features on their way to Android right now http://www.computerworld.com/article/3170924/android/new-android-features.html #android #linux

2 powerful new features on their way to Android right now
Surprise! A couple of cool new features may be lurking in your phone's settings this very minute. Ready to find 'em?

Some websites think I am using #adblocker when I disabled image loading in firefox #android

Crazy !

#diaspora