Profile

Cover photo
Ashish Soni
Lives in Delhi
64 followers|188,728 views
AboutPostsPhotosVideosReviews

Stream

Ashish Soni

Shared publicly  - 
 
Best Google doodle yet.
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Is it Caturday yet?
Come on kitten it's not even Friday!
www.authicle.com

#gif   #gifs   #caturdayeveryday   #kitten   #whatshot  
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
One of the most beautiful and playful experiences I have seen to date.  So much attention to detail both in terms of visuals and sound. Beautiful details. Try leaving the tab and go to another window - sound mutes. I Love it. #HTML5   #WebGL  http://www.drinksmartwater.com/#/explore-the-sky
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Mars Panorama - NASA’s Curiosity Mars Rover selfie: Martian night
(Digital Art Compilation)
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Next Android version: even more breakage

A while ago, I already reported on the state of AOSP and its repercussions for root apps - https://plus.google.com/+Chainfire/posts/Lyhjzu1z9s1

With 4.4.3 (or 4.5, or ...) expected to be released very soon, it was time to take another look at the state of AOSP, and it appears there are changes aplenty! Of course, current AOSP is not the same as stock 4.4.3, so some things may yet change - though I don't really expect them to.

SuperSU

Let's get this out of the way first - I have built a new version of SuperSU (v1.97) with all the massive changes required to work on the latest AOSP builds. It is linked in the box below, or you can click here - http://download.chainfire.eu/supersu

I am not spreading this version through Play just yet, but I encourage all tech-savvy users to give it a shot and report back issues, not just for AOSP builds but also for older common firmwares.

I have tested this build on over a dozen devices running various Android revisions in various states, and it all worked for me. The first rule of Android development thus guarantees that there will be a lot of breakage and it will crash for absolutely everyone - so don't forget to report those problems.

The XDA thread for SuperSU can be found here - http://forum.xda-developers.com/showthread.php?t=1538053 - and is the preferred location for feedback. G+ comments do not work as well for bug reports.

Of course, my How-To SU guide - http://su.chainfire.eu/ - has also been updated with the changes, and aside from the rest of this post, I would urge every developer to re-read the SELinux section.

SELinux on steroids

In my previous post on this subject, I already mentioned the need for root apps to switch contexts for certain situations. The method I used then no longer works on AOSP (it was already broken on Samsung's latest 4.4 stock firmwares as well), but the relevant code for the -cn/--context su parameter has been replaced with a version that does work again - and is much, much more complex.

Context switching is becoming much more important for root apps, as SELinux policies have been made significantly more secure. For example, executing code in /data as root doesn't work in the default context, and calling Java-based code (like 'am' and 'pm') should no longer be done from the default context either, as things will break in new and exciting ways; apps contacting daemons using sockets as IPC mechanism no longer work out-of-the-box; the list goes on - the How-To SU guide has details on these issues and on how to switch contexts to solve them.

Thanks to these changes, SuperSU has gained some more binaries in its installation, so if you are doing custom ROMs with integrated SuperSU, be sure to look at the new flashable ZIP and copy the changes/additions.

Additionally, the SuperSU daemon now must run as the init context (not the init_shell or whatever context), or things will not work correctly. This was always the way it was meant to be, but I know this is not the case on some custom ROMs.

ART

It seems ART is now the default setting in AOSP. It remains to be seen if that is carried over to production firmwares, but it creates some issues for root apps.

Above I detailed the need to call Java-based code like 'am' and 'pm' from a different context. Of course, existing root apps don't yet do this. If you're running Dalvik, some of the 'am' and 'pm' options still work without issue, and some simply don't work at all. If you're running ART though, the combination of SELinux restrictions and the immaturity of ART can cause crashes that take down the entire system.

That's right - the wrong call to for example 'am' will crash Android entirely and ultimately lead to a reboot. Not to mention that it will then also have to re-optimize all the packages (snore). Maybe this will be fixed before official release of 4.4.3, but I wouldn't count on it, as these crashes never happen outside of root apps.

As such, I would advise early adopters of root apps on 4.4.3 to run Dalvik for the moment, and for developers to make haste testing with ART on current AOSP builds.

PIE

It also appears PIE (Position-Independent Executable) is now a requirement. Non-statically built executables must be PIE, or they will not run at all (even if switched to the right context).

PIE has been supported since Android 4.1. So this means that if you are not using statically built executables, you need to provide a PIE and a non-PIE version if you want to support both pre-4.1 and post-4.4.2.

Note that the NDK's Application.mk's APP_PIE option can be used to enable building your executable as a PIE.

For a lot of root apps this is not a problem, as they come with statically linked executables (if any), which still work. But some apps will definitely choke on this.

Conclusion

This version of SuperSU took quite a bit longer to update than I had expected. For most apps, work-arounds (if needed) will not be very complicated. Unfortunately, most of the simple work-arounds were not viable for SuperSU and all it's edge cases - they would seem to mostly work, but then I'd run into a needed case where it didn't - repeatedly. Granted, I didn't know that much about SELinux when I started out - and now I feel I know more about it than any sane person could want ... live and learn!

Either way, these additional changes made in AOSP since the last time I looked mean that a lot more root apps will need updating than I initially thought - still by no means all of them, but certainly a lot of them.

Let's get to it!
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Koalas sleep cuddled in their young to protect them at all times, mother’s love come to feel is the same as humans feel

Please follow :: +Amazing Things

#Koalas   #Sleep   #Mother   #Feel  
1
Add a comment...
In his circles
136 people
Have him in circles
64 people
Gyanesh Kumar's profile photo
jagat sharma's profile photo
Dalun Leong's profile photo
Sagan Bazaz's profile photo
neha sharma's profile photo

Ashish Soni

Shared publicly  - 
 
I just Backed this project!
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Passive income is best type of income :-) But how can you get to a sustainable level? This article brings up some great points and shows how Statuspage.io went from 0 to $5000 a month in revenue: http://blog.statuspage.io/5-steps-to-5000-in-monthly-recurring-revenue
If you enjoyed that also consider: Good User Experience Means More Than A Good Product Another article by StatusPage.io on some of the little things they do to make their customers happy. Little things go a long way. http://blog.statuspage.io/user-experience-means-more-than-a-good-product
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
La photo Astro du jour / Astronomical photo of the Day

⇒ Voici la toute dernière image du paysage martien capturé par la caméra MAHLI du rover Curiosity.
→ Elle a été reçue le 29 mai 2014 à 22:10:07 UTC

/

⇒ Here is the lastest image of a Martian Landscape captured by the Mars Hand Lens Imager  (MAHLI) camera onboard the Mars Curiosity Rover.
→ It has been recieved on the 2014-05-29  at 22:10:07 UTC

Courtesy NASA/JPL-Caltech
#AstroSpace   #Mars   #curiosity   #NASA   #JPL  
 ·  Translate
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
The First Image Ever of a Hydrogen Atom's Orbital Structure

What you’re looking at is the first direct observation of an atom’s electron orbital — an atom's actual wave function! To capture the image, researchers utilized a new quantum microscope — an incredible new device that literally allows scientists to gaze into the quantum realm.

An orbital structure is the space in an atom that’s occupied by an electron. But when describing these super-microscopic properties of matter, scientists have had to rely on wave functions — a mathematical way of describing the fuzzy quantum states of particles, namely how they behave in both space and time. Typically, quantum physicists use formulas like the Schrödinger equation to describe these states, often coming up with complex numbers and fancy graphs.

Up until this point, scientists have never been able to actually observe the wave function. Trying to catch a glimpse of an atom’s exact position or the momentum of its lone electron has been like trying to catch a swarm of flies with one hand; direct observations have this nasty way of disrupting quantum coherence. What’s been required to capture a full quantum state is a tool that can statistically average many measurements over time.

Source: http://io9.com/the-first-image-ever-of-a-hydrogen-atoms-orbital-struc-509684901

 link to the more in depth news on on this: http://physics.aps.org/articles/v6/58

actual scientific article in  pdf : http://journals.aps.org/prl/pdf/10.1103/PhysRevLett.110.
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Understanding the Linux graphics/desktop/gui standards

Every Linux boots with a minimum graphics standard, the "framebuffer", also known as DirectFB. There you see some primitive ASCII signs and perhaps a bitmap logo, showing the boot process. Logo, font and xy resolution (80x25) can be changed with boot parameters.

This DirectFB standard you find on any computer, mobile, ...

So, some programmers ported frameworks to DirectFB. GTK+, the base of GNOME desktop and Qt are mostly used for "embedded computing", e.g. on low power ARM/NEC processors.
Negative side: You have to care about every pixel yourself - no TrueType (vector) fonts, no antialiasing, just .bmp graphics. So, e.g. Squeak Smalltalk works fine on it!

The next standard is MESA with EGL. Formery just thought as an experiment to do a software emulation of SGI OpenGL standard, it now implements even highest OpenGL standards in all variations of possible hardware support by graphic card manufacturers. Whatever function is supported in ASIC or FPGA (software programmable chip architectures), MESA supports it. Missing functions are emulated in software then. So, it also works on DirectFB!

Next standard is GLX. Invented by SGI, it allowed to mix X-Windows and OpenGL. In a reserved (framebuffer) window the graphic card could display OpenGL rendered objects. This is called WGL on Windows, CGL on MacOS X.
AIGLX is now supported by NIVIDIA and AMD (ATI) graphic cards.

Now comes a software "helper" standard:

GBM: Since MESA 3D only supports vector graphics, GBM allows to display pixelgraphics (JPG, PNG, 90° rotation...) on DirectFB or OpenGL canvas.

X-Windows: Since all Linux distributions (desktop as well as "server" distributions!) are UNIX standard, Linux, by default, is a terminal server!!!!
With 16/32 GByte RAM and a cheap $150 octacore AMD 8150 or 8350 CPU you can easily serve 50 cheap $35 Raspberry Pi ARM SoC computers as 'thin clients'.
A function named "Kernel Samepage Merging" cares about RAM efficiency. You may have 50 terminals running 50 instances of OpenOffice or (better) LibreOffice, nevertheless you find only one instance of the binary in RAM. Nice, isn't it?
So, X-Windows is a remote transfer protocol (x-protocol) as well as a graphics standard (xlib, xcb) to display (serve) vector graphics, true type and bitmap fonts (see X fontserver), OpenGL in a reserved window. Note: The X-Server runs on the client!!

On top of this X-Window standard, you find most other well known graphic frameworks, like GTK+/GNOME, Qt/KDE, FLTK, wxWidgets, ...

Cairo/Pango is a graphics/font renderer standard. Since circles, bows, fonts need a special rendering/antialiasing "treatment" to look good on all pixel resolutions (even the new HiDPI "retina" displays), all webbrowsers, SVG graphics, PDF/PS/epub viewers, almost all frameworks use it. Scaling, zooming even looks fine for mixed graphics and fonts. You may, of course, display on a DirectFB or on an OpenGL canvas. Even Mac OS X and Windows use it. For speeding up complex documents, Cairo/Pango uses multi processing.

Enlightenment/TIZEN/BADA (three names for one thing!) is an exceptional framework: Written in pure C, it cares about everything itself. Rendering, antialiasing, all sorts of 2D graphics, animation (triple buffering), multi core processing, windows, mouse, touch,.... except X-protocol.
Quality and programming comfort is Apple niveau. Even a sophisticated, free SDK exists!
For speed, it uses multi processing. So, it is bindingly fast, even without using GPU. But does, if a GPU is available. This is, why Samsung is heavily sponsoring and using it on millions of smartphones just with DirectFB. This not only makes things simpler, but phones also cheaper (no GPU licenses needed!) and less energy consuming. Battery endurance is - by far better!

Wayland: Since gaming requires syncing of sound, video, animations, mouse/touch, camera,... (and this even mixed and remote!) a container protocol was needed to care about buffers, latency, syncing, e.t.c.
It includes all above protocols (including X!), without replacing any of them. That's, why it is just called "compositor".

Mir: A nice, new GUI and launcher (working on OpenGL canvas!) for the upcoming UBUNTU Phone™, using (above) default standards. So don't care, Linux programs (Qt,GTK+,GNOME) will continue to run on the new phone with just a few changes.

XMir same like Mir, but also running remote, encapsulated in x-protocol. So, XMir does not replace Wayland!!!

Since all these standards are written in pure C, almost all programming languages have created "language bindings". So, whatever framework you would like to use, you can do that in almost any language:

http://www.gtk-server.org/examples.html

Sometimes it may happen, that language bindings are a bit outdated, but this is nothing, a "C" programmer cannot correct within a few hours! Most frameworks also offer C++ bindings (gtkmm, Qt).

So, at least the most important GUI: Android

What is Android? A Java - EGL (C) language binding (NDK) and individual (DirectFB/OpenGL canvas) touch framework, that is based upon. Nothing else!

Oh, yes - forgot to mention - Android has it's own JAVA bytecode interpreter/jitter (machine code translator)! Very similar to GNU libjit (Lightning engine) or LLVM multi language compiler/jitter. But you can also use any DirectFB/OpenGL canvas enabled frameworks on it, such as Qt and GTK+ programs.

And finally: OpenGL standard itself. Note: Till OpenGL ES 2.0 it is a surface rendering/displaying standard, beginning with OpenGL 3.0/4.0 it is a volume rendering/displaying standard. OpenGL 2.0 ES you can handle with PowerVR SGX (iPhone) chips pretty well, for OpenGL 3.0/4.0/4.4 you need much more powerful graphics (AMD APU/GPU, NVIDIA) and much more memory. Volume models and textures will eat up any memory pretty quick! ;-)

Have fun!
1
Add a comment...

Ashish Soni

Shared publicly  - 
 
 
Comprehensive and useful Linux I/O stack diagram to find a bottleneck on server via http://www.thomas-krenn.com/en/wiki/Linux_I/O_Stack_Diagram

#linux   #kernel   #server  
1
Add a comment...
People
In his circles
136 people
Have him in circles
64 people
Gyanesh Kumar's profile photo
jagat sharma's profile photo
Dalun Leong's profile photo
Sagan Bazaz's profile photo
neha sharma's profile photo
Basic Information
Gender
Male
Apps with Google+ Sign-in
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Delhi
Previously
Hyderabad
all junk they sell!
Public - a year ago
reviewed a year ago
One of the oldest and trusted pearls dealer in Hyderabad.
Public - 3 years ago
reviewed 3 years ago
Well this is an experience that has to be experienced by yourself... and you wont regret it.. trust me..
Public - 3 years ago
reviewed 3 years ago
7 reviews
Map
Map
Map
One of the biggest screens ive ever watched a movie on! Highly Recommended
Public - 3 years ago
reviewed 3 years ago
all junk they sell!
Public - 3 years ago
reviewed 3 years ago
Well this is a must visit hotel if you are ever to visit kovalam beach.. they have a part of the kovalam beach whose access is limited to this hotel guests only... so you can enjoy the beach being away from normal crowd.. so there is less interference in your fun.. :)
Public - 3 years ago
reviewed 3 years ago