I am eager to experiment with bleeding-edge programming languages, frameworks, and libraries. Exchanging experiences gained during such experiments is one of my thirsts. Also, irregular spinning music records in some clubs is a very welcome activity to which I cannot say no to when asked. I love flying drones, driving Mustang, watching NBA, and motorsports. Well, I think this is a good overview of myself.
Sharing knowledge, consulting, programming, and DJing. Contact me.
The solution is attractive but not bulletproof. Changing the UserAgent in Safari is enough to trick the script into thinking I'm on Windows. platform and vendor offer more details than just appVersion alone. And checking appVersion to contain "Mac" doesn't identify iPhone, iPad, or other Apple devices because "Mac" is always included in the appVersion on every Apple product. But it's a good start to improve upon :-)
I get a mixed message from your website, documentation, pricing, and examples. The added value of your service is not clear after reviewing your product. Admin interface On the Pricing page, I find a lifetime option that grants me access to an admin page of the self-hosted service I bought from you. I wonder why I don't get access to said admin-page when I'm a monthly paying customer (Startup), especially as you do not list any support option for the 'Developer' and 'Startup' package. Kickstarter It looks like I have to use your clients, but they are just kick-starter projects or examples. The API is documented, and I can even use Postman to query your service. So I can write my own client software. I would rephrase the website; otherwise, it looks like I must get a server to host your clients. Token expiry All requests must contain an access_token but for how long is each token valid? How is each token validated? How can I invalidate tokens? Can I bring my token? Customer and data protection laws I can create users, but nowhere on your page or the code examples can I find how your service protects sensitive data such as user passwords, emails, forms, and documents. Nor is it stated what data-protection-law or data-privacy-law your a complying. Can I use your service for my EU business (GDPR)? Can I use your service for my US-California business (CCPA)? How is your service dealing with user account deletion requests as they are defined in law (GDPR)? User deletion request I found in the API only the possibility to delete users but not their contents, which the user has created/saved. But according to the law, I have to delete the contents as well. I thought I have to write such a service, but I feel it's impossible when looking at the API — or it's merely not described if, for example, if the files API lists only the files the user has uploaded. Maybe just a documentation issue or a real problem. Securing passwords The authentication part is practically not usable, as I don't know how passwords are protected. Your service operates via HTTPS, but I can't be sure not even you or your administrators can see or decipher the passwords. Are you using salts to hash passwords? How can I get access to salt to send you only hashed passwords, not plain text passwords? Forms must also be protected, as forms can contain sensitive data. If I need to care about storing the salt used for hashing the password and then send you the hashed passwords, I have nothing won. Not just only can some of your admins still pick up the hashed passwords, and I also have a useless storage system that costs maintenance. I suggest you kick the password thingy from your API and passwordless authentication. For example, FIDO or implement an email-based authentication as the one Hashnode uses. Missing error responses Practically I have to try to break all your API endpoints to learn about all possible error responses to prepare my software. Inconsistencies in the client API's Singular / Plural user vs. emails, files, images. Use either plural or singular. Verbs / Create upload - client.files.create image - client.images.create The file/image exists before I can upload it to your service. Other endpoints use submit or send . Summary $30/mo is too much as I feel. Not only is it unsafe to use for businesses in the EU and US-California. I also need to create an admin interface and implement my password storage, as yours shouldn't be used in production.
A good run down and easy to read :-) I add some links I find useful: Cheat Sheet Regex cheatsheet A vast collection of solutions Regex DB Generate RegExes from input data http://regex.inginf.units.it Online Editors Online regex tester and debugger Regexper (My personal favorite <3) RegExr: Learn, Nuild. & Test Regex Visualize RegExes Regulex: JavaScript Regular Expression Visualizer
You can get the reading time value before publishing your articles. Just find the Share Draft button, and on the next page, you'll find the reading time. Sure, the value is hidden behind another click, but it's available before publishing. Seeing the word count together with the reading time while writing articles could improve the writing experience a bit. It also allows deciding to split the articles into a series or keeping it all together in one lengthy post.
I used Ayu for a very long time but at the end of 2017 I found Level Up Theme Official It's eye friendly at night sessions :-) But it's a bit dark too in bright environments (office at daylight or outside in the park) and may stress your eyes.