In-App Updates Flexible Flow: Speed Up the App Update Process on Android

With a variety of new tools and features announced at Android Dev Summit, special attention should be given to the In-App Updates (IAUs) API allowing developers to increase the speed of delivering features, bug-fixes and performance improvements to active users. Since this feature was finally released after Google I/O 2019, in this article I’ll deep dive on IAUs API, describe in details recommended user flows and provide with some code samples. Moreover, I'll share some experience of IAUs integration in the Pandao app, a marketplace platform for Chinese goods.
Improvements to Visual Studio App Center Distribution
Here at Visual Studio App Center, we try to incorporate customer obsession in our day to day. Earlier this year we started an effort for widespread customer outreach to understand our users and guide product prioritization. The effort helped us gain a lot of insight and helped our prioritization last quarter. However, as we continue to grow, we unfortunately don’t have the capacity to reach out to as many customers as we would like.
To continue to engage with as many customers are possible, we created a GitHub repo specifically for this purpose. We’ve been using the repo to track monthly iterations from the team, feature requests, and community interest for certain features. We are making changes to align our priorities for the upcoming quarters based on what our customers are requesting.
I wanted to highlight some of the changes we’ve made to the Distribution service based off what we learned from customer outreach and feedback. All of these changes are available now:
- Distributing releases to multiple destinations
- Distribution releases to individual testers
- Turning off email notification for releases
- Disabling a release
- Make releases sortable
How We Find Lambda Expressions in IntelliJ IDEA
Code search and navigation are important features of any IDE. In Java, one of the commonly used search options is searching for all implementations of an interface. This feature is often called Type Hierarchy, and it looks just like the image on the right.
It's inefficient to iterate over all project classes when this feature is invoked. One option is to save the complete class hierarchy in the index during compilation since the compiler builds it anyway. We do this when the compilation is run by the IDE and not delegated, for example, to Gradle. But this works only if nothing has been changed in the module after the compilation. In general, the source code is the most up-to-date information provider, and indexes are based on the source code.
Finding immediate children is a simple task if we are not dealing with a functional interface. When searching for implementations of the Foo
interface, we need to find all the classes that have implements Foo
and interfaces that have extends Foo
, as well as new Foo(...) {...}
anonymous classes. To do this, it is enough to build a syntax tree of each project file in advance, find the corresponding constructs, and add them to an index.
How Many Developers Need to Create Service Like Airbnb
Now, the company has 3,100 employees and generates insane revenues for its founders. The statistics say that Airbnb has 150 million registered users, 3 million hosts, and 4 million listed offers. The service covers 80,000 cities in 190 countries, and, interestingly, 50% of traffic comes from mobile applications.
These figures are so impressive that you may also want to create your own Airbnb clone and become successful. But slow down. This story is already written; do you really need to create a marketplace similar to Airbnb?
Citymobil — a manual for improving availability amid business growth for startups. Part 5

This is the final part of the series describing how we’re increasing our service availability in Citymobil (you can read the previous part here). Now I’m going to talk about one more type of outages and the conclusions we made about them, how we modified the development process, what automation we introduced.
Announcing ML.NET 1.0
We are excited to announce the release of ML.NET 1.0 today. ML.NET is a free, cross-platform and open source machine learning framework designed to bring the power of machine learning (ML) into .NET applications.
https://github.com/dotnet/machinelearning
Get Started: http://dot.net/ml
Reverse engineering a high-end soldering station

(This is the translation of the original article performed by baragol)
We had a bunch of photographs of the main PCB, a YouTube video with drain-voltage waveforms of MOSFETs, a forum post with a breakdown of the capacitance values of LC circuit capacitors and also a number of unboxing videos showing the heating-up of the soldering tip. The only thing that really worried me was the video with the measurement of the peak power consumption during the heating-up. There is nothing in the world more helpless and irresponsible and depraved than burned cartridge newly bought for 60 bucks from Amazon. But let me start from the beginning.
The Role Of Augmented Reality And Virtual Reality In The NBA

App builders that are looking to achieve a greater level of success will often look to areas that have yet to be explored. Augmented reality and virtual reality are opening up whole new worlds to app builders. For example, there are a number of app builders who are already looking to the NBA in this regard.
The NBA has established a reputation for themselves as a progressive league from a technological standpoint. Teams are already participating in competitive gaming, as numerous franchises have created their own e-sports teams. Now, the league is partnering with app builders to find out more about how they can leverage augmented reality and virtual reality to their benefit.
Making games is [not] hard. Looking back at small mobile project on Unity3D

How Much Does It Cost To Create IoT Solution?
7 tips how to deal with remote teams
A number of both large corporations and small companies having almost no staff is increasing. This is the impulse of new times that many call “uberization”. The phenomenon was named after Uber — one of the largest public-transportation companies whose drivers all are independent entrepreneurs aka freelancers. Such a structure allows Uber to work all over the planet through operating remote teams of drivers in dozens of cities simultaneously.
indibiome labs
Indibiome labs

Project Executive Summary indicating current developments and basic goals of the Project
Indibiome labs for kids are franchise network food labs providing safe environment where kids (13+) will learn how to analyse the food content and study influence of foods on health and will spread this knowledge through social networks, therefore educating other kids and adults in the field of healthy nutrition.
DO-RA: Preparing for Industrial Production

1. Transporting prototypes
The idea of the DO-RA project originated in March 2011 after a nuclear disaster on the Fukushima Daiichi nuclear power plant in Japan. This gadget was conceived as a personal dosimeter/radiometer working with eponymous software (DO-RA.Soft) on mobile platforms (iOS, Android, WP) as well as on desktop platforms—Windows/Linux/MacOS.
At the end of 2017, a tourist from China brought in his backpack ten long-awaited prototypes from the DO-RA.Q test batch. They were manufactured in China based on our design documents and then transported from Shenzhen to Moscow. By the way, the development of design documents was assigned to the largest Design Centre in Eastern Europe—the PROMWAD company. The documents were clear and plain—prepared in IPC format and written in proper English—to enable the automated production of electronic devices in a foreign country.
Tips and tricks from my Telegram-channel @pythonetc, April 2019

It is a new selection of tips and tricks about Python and programming from my Telegram-channel @pythonetc.
Previous publications.
Practicalities of deploying dockerized ASP.NET Core application to Heroku
Intro
.NET is a relative newcomer in the open-source world, and its popularity is nowhere near mainstream platforms like Node.js. So you can imagine there're few tutorials that deal with .NET and frameworks such as ASP.NET on Heroku. And those that do, probably won't use containers.
Do you see C#/.NET here? Yes, me neither.
Citymobil — a manual for improving availability amid business growth for startups. Part 4

This is the next article of the series describing how we’re increasing our service availability in Citymobil (you can read the previous parts here: part 1, part 2, part 3). In further parts, I’ll talk about the accidents and outages in detail.
1. Bad release: database overload
Let me begin with a specific example of this type of outage. We deployed an optimization: added USE INDEX in an SQL query; during testing as well as in production, it sped up short queries, but the long ones — slowed down. The long queries slowdown was only noticed in production. As a result, a lot of long parallel queries caused the database to be down for an hour. We thoroughly studied the way USE INDEX worked; we described it in the Do’s and Dont’s file and warned the engineers against the incorrect usage. We also analyzed the query and realized that it retrieves mostly historical data and, therefore, can be run on a separate replica for historical requests. Even if this replica goes down due to an overload, the business will keep running.
Legacy Outage
Right at the beginning, we need to outline a couple of details for our readers:
- All Autonomous System Numbers under 1000 are called “lower ASNs,” as they are the first autonomous systems on the Internet, registered by IANA in the early days (the late 80’s) of the global network. Today they mostly represent government departments and organizations, that were somehow involved in Internet research and creation in 70-90s.
- Our readers should remember, that the Internet became public only after the United States’ Department of Defense, which funded the initial ARPANET, handed it over to the Defense Communication Agency and, later in 1981, connected it to the CSNET with the TCP (RFC675)/IP (RFC791) over X.25. A couple of years later, in 1986, NSF swapped the CSNET in favor of NSFNET, which grew so fast it made possible ARPANET decommission by 1990.
- IANA was established in 1988, and supposedly at that time, existing ASNs were registered by the RIRs. It is no surprise that the organization that funded the initial research and creation of the ARPANET, further transferring it to another department because of its operational size and growth, only after diversifying it into 4 different networks (Wiki mentions MILNET, NIPRNET, SIPRNET and JWICS, above which the military-only NIPRNET did not have controlled security gateways to the public Internet).
How to create a dark theme without breaking things: learning with the Yandex Mail team
My name is Vladimir, and I develop mobile front-end for Yandex Mail. Our apps have had a dark theme for a while, but it was incomplete: only the interface and plain emails were dark. Messages with custom formatting remained light and stood out against the dark interface, hurting our users’ eyes at night.
Today I'll tell you how we fixed this problem. You will learn about two simple techniques that didn't work for us and the method that finally did the trick — adaptive page recoloring. I'll also share some ideas about adapting images to a dark theme. To be fair, darkening pages with custom CSS is a rather peculiar task, but I believe some of you may find our experience helpful.