addictedcs

Joined 9 years ago

Karma
157
Submissions
27
Member since
Mar 17
Author of https://github.com/AddictedCS/soundfingerprinting. Founder @ https://emysound.com & https://visely.io
View on Hacker News

Recent submissions

Comment · 2 years ago
Comment · 4 years ago
Comment · 4 years ago
Comment · 5 years ago
Comment · 5 years ago
Comment · 5 years ago
Didn't know about the change, thanks.
Comment · 5 years ago
If you delist your Shopify app from the app store you will not have to pay the 20% monthly commission from the new customers. It also means your app is private, and you will have to invest in your distribution channel now. Shopify stores can install it as a Private App, which means you will need to find new customers on your own.

On a different note, I wouldn't recommend building an app that is strongly integrated into the Shopify platform due to a myriad of reasons.

Shopify App store will not give you enough exposure to grow your customer base naturally, you will have to invest in your distribution channel anyways, but now you are tied to a 20% commission since your app is public.

App store ranking system is heavily tuned towards the rate of installations your app has, which means products that offer free, or very cheap pricing plans are getting to the front page. If you offer free or very cheap pricing you will get inundated with customer support requests. The biggest chunk of Shopify customers, have very little understanding how to run an e-commerce store. Handling these requests will be a nightmare. This also means that the Shopify App store is not used anymore by stores that are running on Professional or Shopify Plus platforms, since it is full of apps that are borderline scam, and they can't find valuable services by a simple search.

Shopify understands this as well, that's why they've created Shopify Plus Certified App Store https://www.shopify.com/plus/partners/technology, which is essentially a curated Shopify App store targeting customers who are not afraid of paying money for valuable services. Getting there is not easy since the certification process is not transparent (we've applied but not heard anything from Shopify since then).

Also, Shopify integrates new features into its platform every year getting into more and more verticals. This essentially means that if you build an app that provides important e-commerce functionality, Shopify will probably release the same feature integrated natively into their platform.

All in all, don't bet on the Shopify App Store distribution channel, it is just not worth it.

Comment · 6 years ago
Very thoughtful point. I was concerned about it as well. Rushing a half-backed vaccine that has serious side-effects will fuel antivaxxers for decades.
Comment · 6 years ago
Comment · 6 years ago
There are a couple of concepts in F# that I really like:

* actor-based approach to concurrency[1]. Very useful when you want to design your code lock-free. Treating instances as agents that read messages from a mailbox, frees the developer from using low-level threading primitives. First time I've used this approach in production with AKKA and Scala. In F# it is much cleaner because the language itself is built on a better platform.

* exhaustive pattern matching[2]. Writing in F# means using pattern matching a lot. Exhaustive matching gives you the confidence to refactor and maintain your code. The compiler will warn you when adding a new value in your type and not covering the execution path that uses it. It catches a lot of errors before you even push the changes to CI.

* obviously immutability, conciseness, currying, these have been mentioned so far by others.

One nitpick in F# are Exceptions [3]. They approached it similarly to how it is done in C#. You are allowed to define and throw an exception that will "jump" somewhere in the execution path. I prefer when a method returns Option-style types. This way, you know what to expect from a call, and pattern matches on the result without adding one more execution path in your code, which covers exceptions separately. It was added to support C# style error handling, though I very much prefer an error-code-based approach.

[1] https://fsharpforfunandprofit.com/posts/concurrency-actor-mo...

[2] https://fsharpforfunandprofit.com/posts/correctness-exhausti...

[3] https://fsharpforfunandprofit.com/posts/exceptions/

Comment · 6 years ago
Comment · 6 years ago
Radio/TV broadcast analytics is the most frequent use case. At least I receive a significant amount of questions regarding it, so the library has been optimized for this task. YouTube ads detection is also an interesting case that falls in this category.

Other use cases are divided between game development, repeating content detection, robocalls detection, or just iOS/Android apps for Shazam like style features.

Surprisingly a couple of times, I was asked about recognizing birds by their singing. The library can't do it, but it is something I am thinking about exploring one day.

Comment · 6 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton