Showing posts with label offtopic. Show all posts
Showing posts with label offtopic. Show all posts

Monday, March 13, 2017

Hey, Google, I'm not a robot! Yet


Google was my favourite search engine for many years. Unfortunately, I have a ridiculous problem with Google from time to time. Instead of the searching interface I see now Google's captcha, asking a confirmation that I'm not a robot.

I do understand that Google receives a lot of requests from the world and from my IP specifically. My ISP is large enough to cover a half of my city, but there are cookies after all.

Most annoying thing is that the captcha seems buggy: it shows me pictures of storefronts, mountains, rivers, traffic signs, and numbers again and again, despite the fact that I mark relevant fragments every time. I really can distinguish things ;-). Nevertheless, Google's AI still thinks my clicks are somehow robotized. Or maybe Google tries to classify internet images to be indexed by forcing visitors to help? ;-) Or - no - my IP is in Russia - doesn't this mean that I'm a hacker by define? But a hacker is not a robot, anyway. I don't get it.

Well, I'm moving to other search engines. What a pity. What a shame.

P.S. After a further investigation I can say that your search request does matter. If I try something simple as a test, for example, "book" - it works, but if I enter more specific query - it fails with endless captchas. Of course, my queries are real world queries (nothing criminal, of course) and they are often banned.

Friday, April 1, 2016

Space review for Snappy mobile browser

April 1-st. Google Play published apps reviews from space. Here is what they say about Snappy - an extendable browser for Android:

Tuesday, February 16, 2016

Snappy: mobile browser with Chrome-like extensions

I'm happy to announce a brand new product for Android - Snappy. This is a mobile browser which supports Chrome-like extensions.

The extendable browsers are standard de-facto on desktops. Yet mobile browsers provide very limited facilities for extension. Some of them declare a support of so called "plug-ins" or "add-ons", while the others withdraw such possibility completely due to supposedly large resource consumption that "plug-ins" would impose. Anyway, the range of features supported by extensions for desktop browsers is far wider than that's available for mobile browsers. This is why I decided to port a considerable part of Chrome extensions API to Android, using the mobile WebView based on the same Chromium project.

Today you may try it yourself. The browser is available in Google Play (Android 5+, WebView 48+ is highly recommended). Please visit the home page for further details. As the very first release, it may have some issues, but I hope that the whole idea is so powerful and universal to produce positive impression nevertheless.

Tuesday, January 12, 2016

Google thinks my tablet is a car

As an Android developer I often analyze system logs from my tablet. Starting from some recent updates (presumably, since Android 6.0) I see peculiar records there from time to time.

I/ActivityManager(591): Start proc 7994:com.google.android.gms:car/u0a21 for service com.google.android.gms/.car.CarService ... D/ChimeraCfgMgr(7994): Loading module com.google.android.gms.car from APK com.google.android.gms ... D/CAR.SERVICE(7994): Connecting to CarCallService... D/CAR.SERVICE(7994): com.google.android.projection.gearhead isn't installed. D/CAR.TEL.Service(7994): Creating a new CarCallService. W/ActivityManager(591): Unable to start service Intent { act=local_bind cmp=com.google.android.gms/.car.InCallServiceImpl } U=0: not found D/CAR.TEL.PhoneAdapter(7994): setListener: com.google.android.gms.car.dn@43460a D/NativeLibraryUtils(7994): Install completed successfully. count=14 extracted=0 D/CAR.TEL.Service(7994): Starting CarCallService with initial phone null ... D/CAR.SERVICE(7994): mConnectedToCar = false, abort E/ActivityThread(7994): Service com.google.android.gms.car.CarService has leaked ServiceConnection com.google.android.gms.car.hr@b3012b2 that was originally bound here E/ActivityThread(7994): android.app.ServiceConnectionLeaked: Service com.google.android.gms.car.CarService has leaked ServiceConnection com.google.android.gms.car.hr@b3012b2 that was originally bound here E/ActivityThread(7994): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:1092) E/ActivityThread(7994): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:986) E/ActivityThread(7994): at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1303) E/ActivityThread(7994): at android.app.ContextImpl.bindService(ContextImpl.java:1286) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at android.content.ContextWrapper.bindService(ContextWrapper.java:604) E/ActivityThread(7994): at com.google.android.gms.common.stats.g.a(SourceFile:128) E/ActivityThread(7994): at com.google.android.gms.common.stats.g.a(SourceFile:145) E/ActivityThread(7994): at com.google.android.gms.car.hc.(SourceFile:319) E/ActivityThread(7994): at com.google.android.gms.car.CarChimeraService.onCreate(SourceFile:74) E/ActivityThread(7994): at com.google.android.chimera.ServiceProxy.setImpl(SourceFile:115) E/ActivityThread(7994): at com.google.android.chimera.ServiceProxy.onCreate(SourceFile:105) E/ActivityThread(7994): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877) E/ActivityThread(7994): at android.app.ActivityThread.-wrap4(ActivityThread.java) E/ActivityThread(7994): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427) E/ActivityThread(7994): at android.os.Handler.dispatchMessage(Handler.java:102) E/ActivityThread(7994): at android.os.Looper.loop(Looper.java:148) E/ActivityThread(7994): at android.app.ActivityThread.main(ActivityThread.java:5417) E/ActivityThread(7994): at java.lang.reflect.Method.invoke(Native Method) E/ActivityThread(7994): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) E/ActivityThread(7994): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

What this means is that Android lives its own life, very far from reality, and tries to run tons of useless crap behind the scene, without user consent.

I don't have a car and my tablet has not ever been connected to one. Yet Google thinks it's acceptable to waste device's resources unconditionally and embed such ridiculous services into the system core. For example, the car service lives inside com.google.android.gms, which is a part of indispensable Google Play.

Monday, January 4, 2016

Chrome extension for secure, private, and faster Internet browsing

If you're reading this, you're definitely browsing Internet at the moment. Perhaps you spend a lot of time in the net. So am I. This is why it's important to know that we can surf the web securely, privately and fast. For this purpose I've made a browser extension which was originally developed for FireFox back in 2008, but then ported to Chrome. I've been using it for all these years and continue improving.

Not long ago the source code and downloadable crx-file have been moved from discontinued code.google.com to Bitbucket, where the latest version of Domain Cage is available.

You may say that there are a lot of analogous extensions and you'll be partially right. Yet Domain Cage has an optimal set of features: it's small, universal, standalone, customizable for your needs, and most importantly very restrictive by default - this helps you to keep privacy and security on unknown sites (what is very common situation in Internet). You may find further details in the introduction and the user guide.