2021-10-11

My path to the S8 replacement.

So my trusty Samsung S8 died the other day without any apparent reason. It was just charging and all of a sudden in the middle of the night it starts screaming (well beeping really loud) and the screen flashes. Half drunken I just pushed the power button to shut it off. That is the last thing I ever heard of it. It was dead from the next day. I have insurance, however because the phone is "too old", there is no way to have it repaired. The only option is a A42 as a replacement phone. This sounds good, as it is a new phone and thus gets a somewhat recent Android version, however being an "A" phone from Samsung - it lacks a lot of features that my S8 had. I was never a big fan of the "Samsung Experience" (quite an awful experience imho), but I found multiple work-arounds via 3rd party apps to make it bearable (Nova, other keyboard, Bixby-button work-around app, force uninstall some apps via USB).

That made think: What are the average peasants options?

I came up with these for me:

The somewhat affordable droidProsWeightConsWeight
Google Pixel 5a
No bloatware - no "custom" experience - no extra assistants5Relatively expensive for the average peasant4
Big modern screen4You submit to the digital overlords1
Good stereo sound - headphone jack3Big and chunky2
ScoreFingerprint sensor that "just works"5No Wireless charging2
16
Very good cameras2The side buttons are not very ergonomic1
Long software support expected2
USB-C1
5G support1
Multilingual (Keyboard, Interface, Assistant)3
Total26Total10
The DoCoMo "replacement" for the S8ProsWeightConsWeight
Samsung A42
Big modern screen4Bloatware OVERLOAD 5
Headphone jack1Awful speaker - MONO3
Pretty good cameras2under screen fingerprint scanner (works about 50% of times)2
ScoreCheap4There will be 0 feature updates / OS updates and security updates will be months late (I know from S8 experience)2
-9.5
USB-C1Only Japanese and English of the relevant (for me) languages are supported. (No German, No Español, No Pусский)3
Pitty for non big IT company0.5No wireless charging2
The side buttons are not very ergonomic and "inverted"1
Extra malus for the system stability, random crashes and quirky work arounds to get basic apps like youtube and casting to work3
No 5G1
Total12.5Total22
5 year old device from appleProsWeightConsWeight
Refurbished IPhone 8
Cheap4Small, but good screen2
Good stereo sound2No Headphone jack1
Still surprisingly good camera2Thunderbolt1
ScoreFingerprint sensor that works best5used (battery not 100%, might not have as much life left as a new one)4
12
Multilingual support (really good with Apple)3outdated specs (C/GPU slower than modern)2
Wireless charging2No 5G (of course)1
Long software support2
Ergonomic side buttons - quiet mode switch1
Great integration with Mac2
Total23Total11

2021-08-15

M1 Mac vs the beast

 It's time to upgrade the computer - aka the beast. Short story - the whole M1 concept convinced me and I got myself one of those M1 Macs. I've been using it for a couple of weeks now and really can't complain. So now, the old beast has got to go. But before I pass on it's parts for recycling - I wanted to compare how this old, big and heavy Xeon electric heater compared to the M1 performance wise.

Compare the Geekbench5 results

  Single Core Multi Core OpenCL
The Beast 528 2816 21098
M1 Mac 1559 6080 17628

As the above table shows - the M1 is significantly faster than the beast. However, for gaming the beast has a small advantage  - mainly due to the somewhat modern GPU that I inherited from my nephew.
Obviously the M1 is better in so many other ways - energy efficiency - size - connectivity (yes - only 2 thunderbolt ports, but that's vs 0 on the beast) - noise (no fans vs 8 ). So yeah - another hurray for the Apple M1. The only thing I miss is my virtual machines - but I will come up with a solution for that (probably a new beast - headless - AMD based).

The beast - definition

Motherboard Information

Gigabyte Technology Co., Ltd. X58A-UD7

CPU Information

Intel Xeon X5650
1 Processor, 6 Cores, 12 Threads
GenuineIntel Family 6 Model 44 Stepping 2
Base Frequency 2.68 GHz
Maximum Frequency 3 GHz
Socket 1366 LGA
Codename Westmere-EP
L1 Instruction Cache 32.0 KB x 6
L1 Data Cache 32.0 KB x 6
L2 Cache 256 KB x 6
L3 Cache 12.0 MB x 1

Memory Information

16.00 GB 669 MHz TypeDDR3 SDRAM 2 Channels

OpenCL Information

AMD Radeon HD 7800 Series
Compute Units 16
Maximum Frequency 920 MHz
Device Memory 2.00 GB
 

2020-12-12

Sumaho from China

Becauズ my life doesn't suck enough, I buy Sumaho from 中国...

Following again a note to myself:

I had low expectations - and even lower demand. The only reason for this device to come into my existence is to run some unverified applications that I am forced to install.

Anyway - I get this thing - I start it up and notice that Google services are in a constant crash cycle. Completely unusable. I read that this happens if google services are too old or something. Not sure - Android 6.0 too old? Who knows - I like the clear error. Next step, download newer apk from somewhere on the internet and push it via adb.

So I hook it up to USB and start adb. Good thing - it already comes rooted - fantastic. So poking around, I see nothing at first glance. But then, when I try to get some settings, I see this:

"/system/bin/settings[5]: app_process: not found"

root@4G:/system/bin # ls -l app_process
lrwxr-xr-x root     shell             2019-06-18 17:54 app_process -> /root/ext4/system/bin/app_process64  

Yeah, this doesn't look right - since it's rooted (and I don't give a s... about this thing) I just bend the link to where I think it should be. DONE!

root@4G:/system/bin # mount -o remount,rw /system
root@4G:/system/bin # ln -fs app_process64 app_process 
root@4G:/system/bin # mount -o remount,ro /system
root@4G:/system/bin # ls -l app_process
lrwxrwxrwx root     root              2018-01-01 01:34 app_process -> app_process64

Finally:

 ./adb install ~/Downloads/com.google.android.instantapps.supervisor_6.09-release-345429215-65418_minAPI23_maxAPI25\(armeabi-v7a\)\(nodpi\)_apkmirror.com.apk
Performing Push Install
/Users/bon/Downloads/com.google.android.instantapps.supervisor_6.09-release-345429215-65418_minAPI23_maxAPI25(armeabi-v7a)(nodpi)_apkmirror.com.apk: 1 file pushed, 0 skipped. 5.4 MB/s (6667656 bytes in 1.183s)
        pkg: /data/local/tmp/com.google.android.instantapps.supervisor_6.09-release-345429215-65418_minAPI23_maxAPI25(armeabi-v7a)(nodpi)_apkmirror.com.apk

Success

Yeah - success - well, not really. Still as soon as I connect this China-brick to any network, the error loop continues. Time to look at some logs - ah - f... about 1 core-dump per second. You know what? I actually don't care about google services on this thing. So let's do a bit of the good old rm -rf game. But maybe - better take a backup of sorts, since I have no idea what ROM this POS runs.
> ./adb exec-out 'cd /; tar -czf - system/' > Chinese_system.tgz

Uninstalling every app that has google in it's name:

package:/system/app/YouTube/YouTube.apk=com.google.android.youtube
package:/system/priv-app/Velvet/Velvet.apk=com.google.android.googlequicksearchbox
package:/system/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk=com.google.android.onetimeinitializer
package:/system/priv-app/ConfigUpdater/ConfigUpdater.apk=com.google.android.configupdater
package:/system/app/PrebuiltGmail/PrebuiltGmail.apk=com.google.android.gm
package:/system/app/Music2/Music2.apk=com.google.android.music
package:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk=com.google.android.gms
package:/data/app/com.google.android.gsf-1/base.apk=com.google.android.gsf
package:/system/priv-app/TagGoogle/TagGoogle.apk=com.google.android.tag
package:/system/app/GoogleTTS/GoogleTTS.apk=com.google.android.tts
package:/system/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk=com.google.android.partnersetup
package:/system/priv-app/GoogleFeedback/GoogleFeedback.apk=com.google.android.feedback
package:/system/priv-app/GoogleLoginService/GoogleLoginService.apk=com.google.android.gsf.login
package:/system/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk=com.google.android.backuptransport

Some fail to uninstall:

root@4G:/ # pm uninstall com.google.android.gm
Failure [DELETE_FAILED_INTERNAL_ERROR]

So let's disable them.

root@4G:/ # pm disable com.google.android.gms
Package com.google.android.gms new state: disabled

root@4G:/ # pm disable com.google.android.gm

Package com.google.android.gm new state: disabled

root@4G:/ # pm disable com.google.android.tag

Package com.google.android.tag new state: disabled

root@4G:/ # pm disable com.google.android.tts

Package com.google.android.tts new state: disabled

Somehow after rebooting the door-stopper, uninstall succeeds. I love Robots.

> ./adb shell pm uninstall --user 0 com.google.android.gms
Success

And yes - so the Error-loop is gone.

Next - install that app - doesn't work of course, but NOW I can complain and wine to somebody about it - GREAT!


Dudesettes yours app don't work on mi Android 6.0 China-sponsored spyphone. What you say? I should get a new phone? Great - I take one of them I-phones 12, send it to my home address, thank you very much. Oh - I see, you DON'T want to buy me a phone. You want ME to buy myself - from me own hard cash - a new private phone, so that I can run your app for you? Good idea - sadly, I don't have any money (for this).


2020-09-15

Windows SSH Forwarding Socks Proxy

 Windows is not what it used to be (completely useless). Nowadays it is possible to forward yourself your local connection via a socks proxy to some place remote. On Linux and other OS, this is nothing new, but it was news to me, that this is possible with Windows too. It's basically the same as with linux / others, just with the exception of one bug, that requires hard-coding the PATH to the SSH client exe.

What you need:

  • OpenSSH Client (optional Windows feature) - or download.
  • OpenSSH ssh-agent (optional feature / service) - only for convenience, who likes to enter all those passwords (not me!)
  • OpenSSH server. Most likely you won't have that enabled on your Non-Admin host - but what's stopping you from downloading it or building your own? - Right - nothing.

Example:

A complected setup with 2 jump hosts

  • Opsn-SSH running on localhost (A container would work too - or a some VM,WSL...)
  • First jump host "jump"
    • There is some bug in the current open-ssh client for windows that breaks "ProxyJump" and requires this ProxyComand with full path.
  • Second jump host "ap008" (only reachable from jump host)
    • Basically the same setup. Add as many jump hosts as you need on your path to success.

sshd-config:

You can go with the defaults here pretty much. Just change the paths accordingly to where you put the installation and where you create the host key etc. Two important parts:

  1. You need to set: "UsePrivilegeSeparation no" because you are not admin
  2. You need to authenticate with key

See the link to the actual sshd-config config file.

ssh-config:

Hostname localhost
    # Local IP of Container / VM running sshd
    Hostname 127.0.0.1
    Port 22222
    User bon
    DynamicForward 8888

# jump host
Host jump
    Hostname 10.XXX
    User jumphostuser


# second jump host
Host ap008
    User appuser
    HostName 10.XXX
    ProxyCommand c:/Windows/System32/OpenSSH/ssh.exe jump -W %h:%p

Host erde
    User bon
    Hostname 100.xxx
    Port 2225
    ProxyCommand c:/Windows/System32/OpenSSH/ssh.exe ap008 -W %h:%p
    RemoteForward 8888 127.0.0.1:8888

Run it:

Start your private SSH server

PS> sshd -f sshd_config_localhost
PS> ssh localhost
Background this, or open a new tab/window
 
PS> ssh erde
Now you can use localhost:8888 as a socks5 proxy to connect to whatever needs connecting.

2020-09-13

Car Laptop

 Time to add my car / emergency laptop to the diary.

FUJITSU SIEMENS Amilo Si 1520

Specs

  • OS: Windows 10  (originally came with Vista)
  • CPU: Intel Core 2 Duo T5600 1833MHZ
  • GPU: Intel 82945GM(L/S/Z)/GT Internal Graphics [A3] 256MB
  • RAM: 3 GB DDR2 SDRAM 332MHz
  • Chipset: Intel 945GM (Calistoga-GM) + ICH7-M/U 
  • Sound: Intel 82801GB ICH7 - High Definition Audio [B0] 
  • Ethernet: Intel ICH7 Mobile LOM with 82562GT/ET/GZ/EZ PLC
  • FireWire: Ricoh RL5C832 IEEE1394 FireWire Controller
  • WiFi: Intel PRO/Wireless 3945ABG Network Connection (MOW2)
  • Bluetooth: Cambridge Silicon Windigo BTM01C2AC Bluetooth Adapter
  • Build-in Card reader: Ricoh RL5C843 SD/MMC Host Controller
  • Bios date (02/14/2007)
  • Display: Chi Mei N121I3-L01(1280 x 800)
  • HDD: Samsung SSD 850 EVO 120GB 
  • Optical Drive: HL-DT-ST DVDRAM GSA-T20N (DVD+R DL)
  • Connections
    • DVI
    • USB 4x
    • Fire-Wire
    • Ethernet
    • Modem
    • S-Video
    • 3mm audio in/out

Results

That's not great - given for a Windows 10 Laptop. But it it still quite usable. I mean, don't open 10+ tabs in Firefox and don't try any modern games. But for simple usage, it's still OK.

Why?

It's the car laptop. It basically stays in the car all the time and is intended to be used during emergencies. There may be times where we have to evacuate in a hurry and I will not waste any time in gathering computer stuff. So I have this bag in the car, with a laptop, essential adapters etc, for emergency use - or when I'm stuck in the car waiting for someone or something.

Bla 

Just my usual - about laptops being built better in the past. The fact that this thing also survived being a kids laptop, being thrown around in the car for several yeas without anything breaking proofs that. Also it's very serviceable - every component that one might want to switch is reachable through a little hatch. Also, even though it's small (30cm x 22cm), it has a optical drive - which is nice on vacations, when there is no internet and the weather is bad and you want to watch a movie or something with the kids.

Pictures