You can have two keyboards. A first ergonomic split keyboard for the alpha keys. A second keyboard _only_ for function keys (placed between the split keyboard), an ortholinear planck keyboard with QMK firmware would be ideal. With QMK you can program a single key to send a complex combination like Alt+Shift+F10 (the Run... action in IntelliJ), you get the idea.
Moreover you can make [1] the same key to do the same action in different OSes and programs. No need to remember different shortcuts how to switch tabs in a browser and in a text editor.
Razer makes a macro keypad which they call "orbweaver" and it also has a nifty thumb switch which I suppose they intended to be used for the wasd movement in games. Unfortunately, it's designed to be used with the left hand and I mouse with my left hand. I would dearly love a macro keypad exactly like an orbweaver but which was designed for use with the right hand.
So I also now own an unbranded "ambidextrous" macro keypad. Besides the fact that it is great example of how ostensibly ambidextrous devices being really not that great for left handed people, I mostly used it for gaming but as I am not much of a gamer it doesn't get used often.
I also migrated from a Mac desktop to Linux. I had a very nice application for macros on MacOS called ControllerMate but I've yet to find anything remotely similar for Linux.
Kudos for Microsoft for that keyboard. Compared to the previous 4000 model they made the 2019 model more ortholinear. Notice the offset between the A key and the Z key. It is not pure ortholinear but it makes possible to type with your pinky Q, A, Z letters without stretching that much. This is the first popular keyboard which goes into the right direction and breaks the 150 years old design!
If your are more demanding then it is becoming not ortholinear enough. Later on you will want to have staggered columns like Keyboardio model 01, Kyria, Kinesis Advantage all have. After you'll try the QMK firmware you'll start to hate that Office and Emoji keys, which are under your strongest finger but are basically useless.
I run a small company and offer an app to monitor sales reps work. Managers use it also to see how much time employees spend in the field. To count how much time is spend in some specific location my app uses background location updates.
10 years ago I was distributing just the apk file. Then I moved to Play store. It turned out that most people on their company owned Android devices don't configure Play Store. App updates are disabled until you log in. So I had to educate my customer employees how to log in to Play Store and install my app. The additional benefit was that people had security updates of Chrome and other apps.
Two months ago my app was suspended after I made all necessary changes to support Android 10. The Gbot claims that background location updates aren't essential for my app. As you may guess I wrote appeal without success. My customers pay mainly for that time report feature but Gbot knows better what my paying customers want.
And I just do not care about securing my customer devices and Play Store any longer. Now I distribute apk files again and train people how to install apk files from unknown sources.
Good - There's a clear theme in the motivations of both major mobile OS companies here:
You, a 3rd party developer making custom software products for a mobile platform, are no longer allowed to have customers yourself.
Instead you must grovel and beg and pray that our lords Apple/Google consent to allow you to rent their customers.
This consent can be revoked at any time, you will pay through the nose for it (20%+ of total mobile revenue), and for basically all but the largest of customers - this consent is machine based and you will never be able to get a living person to so much as glance at any content you put into the process.
What's currently stopping some third party from creating a fork of Android with a better store? Are there closed-source parts of Android that can't be easily replicated? Is it the difficulty of getting any major phone manufacturers to agree to install it? Or something else or all of the above?
> What's currently stopping some third party from creating a fork of Android with a better store?
A huge piece of it is the network effect of starting with a store that lacks a significant number of apps available on the Play store. Sure, a competitor could, over time, grow their store to be competitive, or they could fail to tread water and go the way of Windows phones.
A competitor would have to get most/all of the phone manufacturers to all at once drop Google Play and use their ecosystem instead, otherwise no one would bother publishing apps for it. There's no way to ramp up a competitor because users won't tolerate a subpar app selection. See Amazon's Fire Phone launch for what happens when one manufacturer tries to start their own ecosystem.
It's actually very easily possible. Apart from Samsung, the largest phone manufacturers are all Chinese, and currently under sanction by the US government, with more soon on the way. Out of the Chinese bunch, the majority are Huawei. Huawei has been forced to move into a non-Playstore Android OS.
I use a burner Huawei for non-essential Android stuff. Every time I click the "Rate App" button on apps, it redirects me to Huawei store instead of Play Store. Every time I click the "Download" or "Install" button on the browser, it sends me to Huawei store. I think we can expect to see more changes in the coming two years as Android keeps updating. Huawei phones up until 2018 are allowed to use the Google SDKs but none are allowed from 2019.
The only one left behind is Samsung, which has the wherewithal to create its own (Apple clone) app store. If they go ahead with that, Google Play will be a fucking joke at that point.
I didn't say that Huawei is the gold standard. Just that Huawei has already begun its own app store, and if Samsung does it too (and pushes it aggressively like Huawei does), Google Play will be done in no time.
The new Huawei phones don't have Play store or any Google services.
Amazon tried and even with giving away hundreds of dollars in free apps every year they still failed. People just don’t want to use an alternative that has warnings of security holes.
They aren't preventing surveillance at all, they're monopolizing it.
Google is LITERALLY a fucking ad company.
Apple is tracking the exact time and location you use any piece of software on their systems (Don't worry guys, it's just for security purposes! /s)
----
I'm no longer sympathetic to the "They're securing my device from the boogeyman!" argument.
It has the same overtures as "Won't anyone think of the children!!!!" in policy debates - It's rhetoric designed to obfuscate the true intentions of the parties involved, and short-circuit real discussion with an immediate emotional response.
A few months ago it came out that MacOS was constantly making unencrypted calls over the internet to check signatures of non-Apple software; such calls were thus feeding back to Apple (and anyone sniffing the connection) the time and IP address of each application's being opened. (Technically, only the company, but each company usually only has a few apps.)
(I wrote a giant response to this explaining why I was frustrated and who I was frustrated with and how it meant we were just screwed as a society, but I have decided to just suffice it to note that I am not mocking your phrasing--that is the correct phrasing for the demoralizing thought--and that, FWIW, I don't think iOS does this in the same way, even for the "enterprise"-signed software where one would expect it would work identically, which is a bit hilarious.)
True, but it didn't make much difference, since the reports from the thread showed it had a bizarrely short cache time.
>the server didn't keep any logs
Well, that's the rub isn't, it? Part of privacy-centric design is that you shouldn't have to risk such information being exposed or trust such reassurances; if they don't need the information, they shouldn't get it at all. There are privacy-respecting ways to do what they wanted to, which are also more efficient. For example, periodically update the machine's local revoked cert list, and check signatures against that (as several users recommended).
>etc
Was there anything substantively different from my characterization?
Short retention according to who? That server only? No copies to the NSA? I’m a trust but verify kind of guy and with just the word of Apple I assume somebody is keeping the data and using it in some way.
Agree with such skepticism but what are you replying to there? My comment was saying that it cached the cert check for a bizarrely short time (necessitating frequent network calls), not that the logs were retained for only a short time, which I agree is a bad defense.
Apple is using an industry standard protocol to check and see if an application's developer certificate has been revoked.
>To make sure the certificate hasn’t been revoked, macOS uses OCSP—short for the industry standard Online Certificate Status Protocol—to check its validity.
> I’m glad that I don’t have a direct relationship with shady 3rd party developers.
To enable background locations update, a sales rep has to open a check-in screen, wait 10 seconds to see their location on the map and then press the big check-in button. Because people were often forgetting to check-out, my customers requested auto check-out feature which requires background location updates. Once a sales rep leaves the check-in area, background location updates are stopped. Managers and employees see exactly the same time reports. And if some sales rep is suspicious then it is always possible to disable that GPS icon in the quick menu settings after work hours. It is almost like using your batch card to open doors in a workplace.
A popular alternative solution to my app is to use GSP devices which are installed in all corporate cars. And there managers see their employees background location updates 24/7.
Android already has a very fine grained permission system that allows blocking such behavior, you simply revoke an apps right to access location data.
So the argument then becomes an appeal to protect less knowledgeable users that would be tricked to enable advanced features for some eye candy. It has some merit; but there has to be some compromise there for advanced users, short of relegating then to APK install with no security updates, like in the Windows days.
I run a small company, and offer local business financial services.
A few years ago, I setup my Google My Business listing for my retail location.
Late last year I was trying to do a GSUITE account data export. It requires you to setup 2FA and I couldn't get it to work - so I asked our MSP to help since they help with other stuff. They had better luck, but multiple switching of the 2FA options and recovery emails/phone numbers caused an automatic suspension on the admin account.
I was able to quickly unlock the account with another admin account, but the suspension cascaded to Google My Business, which remains suspended because GSUITE support only support their core apps.
As you can imagine, my appeal went unresponded, and here we are, months later, with no business listing, and literally no ability to contact anyone that can help.
I wonder how many other businesses have stories like this.
Way to go. Someone gave me an old unlocked Android phone that had almost no apps installed. Playing around with it, I removed all the installed apps and somehow I managed to also disable (break) PlayStore so that it does not work, refuses to update. If there is way to fix it, I surmise it is well beyond the capabilities of the average Android user. AFAICT PlayStore cannot communicate with the mothership to heal itself nor send user data; anyway there are no PlayStore apps installed.
I installed a few useful F-Droid apks. Installing from "untrusted" sources seems far more reliable than any "app store". Besides the F-Droid apps I use it like a dumb phone with maps on a different cellular network. I wish there were more reliable sources for apks, like F-Droid, including apks for older Android versions.
Only if you are going to use Rails. It seems that in all other domains Ruby have lost to Python, Kotlin, Go and others. Personally I love Ruby and Rails, I prefer clean Ruby syntax over Python syntax, however except Rails all other activity is going in other languages. Kotlin code with type inference is as concise as Ruby code but executes 50x faster. Ruby simply won't have ML libraries like Python has.
For a web programming I would switch to Kotlin. However Ktor is still lacking compared to Rails in most important areas for me. In Rails common operations like upload a picture, serve is later in a different resolution, migrate a db, quickly create CRUD forms, etc. are just a few lines of code. In Kolin web frameworks you would have to invest much more time to glue together different libraries to do the same job. Many won't agree with that opinion but for me Rails ActiveRecord is the best part of Rails. There is no a such complete thing for a Java ecosystem. It is a beautiful compromise between ideological (only pure plain Java objects are allowed) ORMs like Hibernate and plain SQL approach like jOOQ.
I've been using Phoenix rather than Rails as my go to for web development, but I still use Ruby shell scripting. It's dramatically faster to write than Python, Go or Rust, largely because it's got more convenient Unix interop than anything since Perl.
One example is, I've written a script that I can pass a domain name and an email address to. It will then set up basic nginx blocks, install certbo and add a cron job if needed, run certbot, get an https certificate and reconfigure the nginx blocks to reverse proxy incoming requests and force https.
I have no idea what language would have let me write this faster than Ruby did. Maybe Perl if I knew it well. Definitely not Go or Rust.
Ruby started as a shell scripting language so I agree that it is good for that purpose. However the question is how much time one spends writing shell scripting code for personal use. If someone already knows Python and only occasionally writes shell scripting code then in my opinion learning a new language only for that purpose isn't a good investment. I would say Python is good enough for that tasks.
In other words if someone has a good enough tool in their tool-belt for a certain area, then learning another slightly better tool in that area is not a must.
In my opinion it is better to be proficient in a one language than mediocre in two similar languages. If someone is bored and has time to learn both Python and Ruby then why not.
I'd say Ruby's edge for shell scripting is considerable, but I agree with that strategy and recorded a whole video on the idea: https://youtu.be/bIpgUmn5yK8
tldw; Pick tools that complement each other rather than compete with each other.
Also it's interesting that some languages like C or JavaScript make a good complement to almost anything.
As much as I want to learn new languages, it looks like my brain is not cooperating. Either the syntax is hard to read (eg ruby or elixir) or articulating the same solution (eg python) in Javascript much easier.
Any suggestions on which practical language to complement Javascript for web dev? Also, use cases for functional programming language, is it even useful?
Ruby is a fine application development language, but an incredible scripting language. Can't recommend it enough for that niche. Nothing else is even close.
Apple car is a terrible idea. Apple is good at selling luxury products to ordinary people. An ordinary person can buy a good enough headphones for $40 or spend $550 for the AirPods Max mainly as status symbol. But an ordinary person won't spend $350,000 for a VW ID.3/Golf competitor.
Lattice C occupied two 3.5 disks so when I was compiling a program I had to switch the disks many times. Then I bought a second external disk drive and it was 10x improvement. As far I remember an executable was very slow for some reason. AMOS was much better for graphics and audio.
Xiaomi Mi 10T Pro 5G[1], which was announced on the same day and with the similar price tag as Pixel 5, comes with Snapdragon 865 processor, 5000mAh battery, 6.67" display size, and wireless charging, but lacks an OLED display, a dedicated security chip, a water resistance rating, and a "zero-bloatware" Android experience.
I would still pick any Pixel smartphone over any Xiaomi smartphone, if they were available in my country. But at least there is an open-source tool on Github for safely removing most of the Chinese bloatware that comes with Xiaomi devices[2].
This is how people almost always behaved. In the Middle Ages the term "heresy" was used, today only slogans have changed, the social mechanisms are the same. Of course there is a group of opportunists, but there is also a large group that really believes their ideology (it used to be some religion) will do good.
It is also a good solution for the US. The blue states are much more richer and should block money transfers to the red states. Punish financially until the red states will vote for the correct party and establish more progressive laws.