I am primarily an iOS user, but at home, I also use Android devices (such as tablets, Fire TV, and some WearOS & Smart home devices). Recently, I developed a simple, free, and ad-free Android app. My goal was to learn something new while creating a free app that could benefit others. However, the journey to publish it on Google Play made me realize it was a path full of endless challenges.
Up until now, I had always stayed on the web side of development, with a few exceptions for small desktop apps and plugins. However, I had been curious about the mobile space as well. Now, having experienced this frustration, I can’t help but wonder if the barriers to entry are worth it.
First, I had to navigate registration fees and multiple official document requirements, which I handled without issue. Before the 14-day testing phase, I also had to conduct an internal test and submit the app to Google for review. But then came the real challenge. Google required me to conduct a 14-day Closed Test with at least 12 users. I found friends & volunteers, completed the testing, and submitted the results.
Here’s another hurdle: You can’t directly share the app link. Instead, you need to first collect the emails of the volunteers participating in the Closed Test, add them to the list, and then make them click the link to download the app.
The next step, I had to fill out an extensive questionnaire. Finally, after a 7-day review, I was informed that the testing was insufficient, and I needed to repeat the process for another 14 days.
This “closed testing” protocol has been enforced on developers who created their accounts after 2023. Meanwhile, older developer accounts—exempt from these restrictions—are being sold on the black market, allowing buyers to bypass these hurdles and instantly publish apps. This raises an important question: How rational is it to impose such heavy burdens on independent developers while allowing loopholes to be exploited elsewhere?
I agree that certain restrictions and regulations are necessary to maintain market quality. However, there is a clear double standard for users, and a lack of transparency in how these rules are enforced—for example, the specific reasons why an app is being blocked/rejected are often unclear.
I had to ask myself: Is it worth investing so much time and effort into a platform that complicates life for independent developers and has dual standards in its rules?
I am not blaming any specific manufacturer or platform because, unfortunately, the entire market has become monopolized. The mobile app ecosystem is controlled by a few big players, and situations like this make you question how fair and accessible it is for individual developers. These companies operate as monopolies, restricting or making it difficult to install alternative app stores—or even preventing sideloading apps without a store.
Fortunately, the EU has taken steps to address this issue, and I hope they succeed. Just as you can refuel your car at any gas station or watch any channel on your TV without restrictions, smart devices should not be locked into a single app marketplace. Breaking this monopoly is essential for a fair and open digital ecosystem.
https://finance.yahoo.com/news/record-4-5-billion-eu-091232963.html
https://www.reuters.com/technology/eu-antitrust-regulators-tell-apple-how-comply-with-tech-rules-2024-09-19
Have you had similar experiences? Let’s discuss.
Recently, I was reviewing the API calls of DeepSeek. Right away, I noticed that everything aligns directly with OpenAI counterparts. Interestingly, even the Python library is based on OpenAI’s library.
All you need to do is modify the endpoint and api_key to get started.
This makes the transition incredibly straightforward for anyone looking to switch.
Your First API Call | DeepSeek API Docs
I’m pleased to introduce a small project I’ve been working on—a Chrome extension that lets you quickly check Bitcoin prices right from your toolbar. The idea is to provide a convenient way to track Bitcoin’s current value without the need to switch tabs or open extra apps.
Features
I wanted a straightforward solution to check Bitcoin prices at a glance. Plus, I thought it would be handy to have a “Boss Mode” for times when discretion is needed. It’s a lightweight tool that aims to be practical and easy to use.
If this sounds useful to you, you can find it on the Chrome Web Store. Feel free to share any feedback or ideas for improvement; I’d love to make this tool even better. You can download it from here: https://chromewebstore.google.com/detail/bitcoin-price-tracker/ogcfnfaghlapiadmkhalanafbifeeoba?authuser=0&hl=en
I’ve been moving away from Google, Yandex, and DuckDuckGo lately. Perplexity not only provides better answers most of the time, but it also saves me time. So, how can we add this search engine to our browser?
To add Perplexity AI as your default search engine in Microsoft Edge, follow these steps:
Open Microsoft Edge on your computer.
Click on the three-dot menu icon in the top-right corner and select “Settings”.
Click “Privacy, search, and services” in the left sidebar.
Scroll down and select “Address bar and search”.
Click on “Manage search engines”.
Select “Add” to add a new search engine.
In the dialog box that appears, enter the following details:
Search engine: Perplexity AI
Shortcut: perplexity.ai (or your preferred shortcut)
URL: https://www.perplexity.ai/?q=%s[1]
Click “Add” to save the new search engine.
Find Perplexity AI in the list of search engines, click the three-dot icon next to it, and select “Make default”.
Once you’ve completed these steps, Perplexity AI will be set as your default search engine in Microsoft Edge. When you type a query in the address bar, it will use Perplexity AI to provide results.
Just released the first public version of my Icinga Chrome Extension (ICE).
In the beginning I developed it for my own needs. Now it can work with any icinga & chrome installation.
http://bit.ly/icingaplugin
You can test it with official icinga demo page: https://www.icinga.com/demo/authentication/login
user: demo
pass: demo
Feel free to test it and report bugs #icinga #nagios
#!/usr/bin/perl use strict; use Data::Dumper; sub swap{ @_[ 0, 1 ] = @_[ 1, 0 ]; } sub bsort{ my (@a) = @_; for my $j (0 .. $#a){ for my $i (0 .. $#a - 1 - $j ){ swap $a[$i], $a[ $i + 1 ] if $a[$i] > $a[ $i + 1 ]; } } \@a; } #Testing my $a=1; my $b=3; my @c=(3,2,1,4); print "First:".Dumper(@c); print "\nLatest:".Dumper(bsort(@c));
Tags: perl
$stopingServices=Get-Service | Where-Object {$_.status -eq "stoping"} $startingServices=Get-Service | Where-Object {$_.status -eq "starting"} $runningServices=Get-Service | Where-Object {$_.status -eq "running"} $stoppedServices=Get-Service | Where-Object {$_.status -eq "stopped"} if($startingServices){ Write-Host "`nStarting Services: $startingServices" } if($stopingServices){ Write-Host "`nStoping Services: $stopingServices" } if($runningServices){ Write-Host "`nRunning Services: $runningServices" } if($stoppedServices){ Write-Host "`nStopped Services: $stoppedServices" }
Tags: powershell
Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Tags: powershell, system monitoring
Open Powershell as an Administrator on the web server, then run:
$apmem= gwmi -ComputerName localhost -NS 'root\WebAdministration' -class 'WorkerProcess' | select PSComputerName, AppPoolName,ProcessId , @{n='RAM';e={ [math]::round((Get-Process -Id $_.ProcessId -ComputerName $_.PSComputerName).WorkingSet / 1Mb) }} | sort RAM -Descending | ft -AutoSize echo $apmem
You should see something like:
PS C:\Windows\system32> C:\scripts\appool.ps1 PSComputerName AppPoolName ProcessId RAM -------------- ----------- --------- --- MYSERVER01 ersinakyuz.com 2352 1150 MYSERVER01 kutuphaneleriseviyorum.org 6184 729 MYSERVER01 perlmonks.com 3444 646
If you get Get-WmiObject : Could not get objects from namespace root/WebAdministration. Invalid namespace then you need to enable the IIS Management Scripts and Tools feature using:
ipmo ServerManager Add-WindowsFeature Web-Scripting-Tools
If you receive the following error while running remote .exe files from in powershell.
UNKNOWN: WEB SERVICE STATUS [vmserver01] Connecting to remote server failed with the following error message : The WinRM client cannot process the request. CredSSP authentication is currently disabled in the client configuration. Change the client configuration and try the request again. CredSSP authentication must also be enabled in the server configuration. Also, Group Policy must be edited to allow credential delegation to the target computer. Use gpedit.msc and look at the following policy: Computer Configuration -> Administrative Templates -> System -> Credentials Delegation -> Allow Delegating Fresh Credentials. Verify that it is enabled and configured with an SPN appropriate for the target computer. For example, for a target computer name “myserver.domain.com”, the SPN can be one of the following: WSMAN/myserver.domain.com or WSMAN/*.domain.com For more information, see the about_Remote_Troubleshooting Help topic.
Resolution:
Use below cmdlet enable CredSSP on the server by specifying Server in Role
Enable-WSManCredSSP -Role “Server”
for more info: https://technet.microsoft.com/en-us/library/hh849872.aspx