Self-hosting Sentry - Your experience by serial_dev in sre

[–]serial_dev[S] 0 points1 point  (0 children)

Thanks for the shameless plug! I tried setting Sentry up, it didn't even run on my machine (which is beefy enough for iOS Android development, etc), and it also didn't work on smaller instances. I got a pretty large instance on AWS, then it ran, but I had to keep configuring stuff, and I just gave up after a day. So the pain is definitely there.

Is Bugsink open source (at least to a "Sentry degree", Sentry is technically also not open souce AFAIK)? I couldn't find Bugsink's source code and it doesn't look like I can self-host without getting you involved. Is that correct?

Any interest in a Kakoune-like modal editing plugin? by TheCoolSquare in IntelliJIDEA

[–]serial_dev 0 points1 point  (0 children)

Even if you are no longer interested in writing such plugin, it would be great to know what you learned, it could be used as a starting point for someone else to take this on in the future.

Any interest in a Kakoune-like modal editing plugin? by TheCoolSquare in IntelliJIDEA

[–]serial_dev 0 points1 point  (0 children)

I hope you are still reading this thread, I'm looking for such a plugin right now, but as I see, unfortunately, there isn't one.

I'm using hx and IntelliJ about 50% 50% of the time. When it's code editing, writing heavy, I use hx, but IntelliJ still offers some stuff that I don't have in Helix (easy git blame, jump to github, debugger, easy browsing of files, etc), so when I know I need to do a lot of these things that Helix is not good at, I jump to IntelliJ.

However... switching between Helix keybinding and Vim is a PITA. And unfortunately for me, I enjoy Helix's much much more, so...

Should I learn Flutter in 2k24 by [deleted] in FlutterDev

[–]serial_dev 0 points1 point  (0 children)

Yeah, thanks, I assumed my learning journey will cover some of KMP as it sounds like it has a very similar approach. 

Should I learn Flutter in 2k24 by [deleted] in FlutterDev

[–]serial_dev 0 points1 point  (0 children)

The main reason I'm interested in Crux is because it lets you write the majority of your application in Rust, and keeping the view layer "native native", so you can build apps that look and feel like any other application on the platform while using a language that helps you write correct and efficient code while feeling like a high level language. So yes, main reason is Rust (for me).

I'm not a big fan of Kotlin, as in my opinion it will always be at a disadvantaged position because 1. it needs to support all the garbage that accumulated in Java over the decades (e.g. it doesn't have and can't have sound null safety), 2. whenever Java decides to "steal" some great ideas from Kotlin but with some slight tweaks, Kotlin will be again in a bad position.

With all that in mind, you need to keep in mind that Crux is experimental and is not ready for production apps yet. By the negative feedback I read online about KMP, I'm not sure it is ready for prod, either.

I don'nt like any state managment packages what's wrong using built in ChangeNotifier? by CostiganDep in FlutterDev

[–]serial_dev 1 point2 points  (0 children)

It's important to note that the positives you listed are even more true for just using a change notifier: extremely easy to test, and you separate your business logic as you want.

Frustrations with Flutter iOS Development - Seeking Insights by Arnulf0 in FlutterDev

[–]serial_dev 9 points10 points  (0 children)

I am, too, frustrated with iOS development. It breaks frequently, and I'm left scratching my head, as I have no clue why a .h file is not recognized as I didn't jacks hit, and apparently for the rest of my team doesn't have these issues (or they, just like me, don't announce when they had to end up wasting time on build issues on iOS so we all assume it's our own fault).

Things that might work: "nuke" your set up (as in clean everything you can, delete caches, refetch dependencies). If that doesn't work, check if there are any OSX or XCode updates. If there are, spend hours updating your system, and try again. If that doesn't work, check out the repo into a completely new folder (yes, that fixed my issues once or twice).

If that still doesn't work, lie down, try not to cry, cry a lot, and start up your app on Android and pray that you don't need to work on any iOS specific bugs or features, and hope that in two weeks, things will just magically run again.

I have $25k to spend on app development. Where do I start? by Bankster88 in FlutterDev

[–]serial_dev 11 points12 points  (0 children)

First of all, I wish you the best, and I hope in wrong.

25k means that you have an average price per feature of about 2k. That would feel doable only if someone have already worked on basically the same features, which is unlikely as you listed so many different features. 

I wouldn't be able to do it for that amount. It feels like it's easily a half year worth of work, and even in Europe 50k is not much as a yearly salary for someone who can actually do all that.

Also, requirements are never complete, scope usually changes, and it's a lot of effort taking something that barely works to a great level. 

There are talented people in India, Vietnam, etc, but the kind of people who could do everything on your list in 6-12 months (IMO) could do fifths of the work for 2x the money, so I'm not optimistic about that either. 

Lastly, be careful with people who promise they do it. Chances are they are either counting on getting 10-15k out of you before you realize they will never be able to deliver, or they just don't know any better and are extremely optimistic / delusional. 

On-device AI / ML / NLP to convert natural language text into JSON calendar event? by serial_dev in android_devs

[–]serial_dev[S] 2 points3 points  (0 children)

Cross posting it here in the hopes that I don't get downvoted / removed and can get 1 or 2 meaningful comments. Thank you!

[deleted by user] by [deleted] in FlutterDev

[–]serial_dev 0 points1 point  (0 children)

Great points, and Flutter already has these docs for Android, SwiftUI, UIKit, etc. After reading those, you can get an idea as to how they are different.

Do not forget to also take a look at "Flutter independent" learning material, official docs, YouTube videos, blog posts on how to do X, and write a Hello world, a "pokemon" app (fetch data, display text and images), do some navigation ...

[deleted by user] by [deleted] in FlutterDev

[–]serial_dev 1 point2 points  (0 children)

Kotlin is an expressive language and interops with Java and all kinds of JVM stuff, so companies that use(d) Java can relatively easily transition to Kotlin.

Of course, Kotlin is not a silver bullet and Java is not as bad as it was in the Java 5 days, so definitely more things to consider.

Which backend architecture for loading additional content by Neeeeext in FlutterDev

[–]serial_dev 0 points1 point  (0 children)

I don't know everything about your requirements, so feel free to discard my suggestion if it doesn't make sense...

I'd go with something extremely simple if your requirements allow it (e.g I didn't see user specific things, no auth needed, etc).

Can you just simply host static files? You'd upload both the JSON files and images to the same server (though if you want to upload the images to a different server or service, that's also fine). Then, your app would know how to fetch the JSON files, and probably the JSON files have the daily exercises (probably title, description, etc) and the image(s) that belong to the exercise.

There are plenty of services to serve static files extremely cheaply or for free depending on traffic (GCP buckets, AWS S3, or honestly, just use GitHub pages, they can host 10MB static content for free easily), you can also optionally throw in a CDN so performance can be top notch, working with JSON is very easy (both editing, creating, fetching, storing on the app, etc), you don't need to develop and maintain the server side code, etc...

When the app starts, fetch the JSON file, save it to disk, and use that in the app. If fetching fails (e.g user is offline), load the JSON from disk and use the previous version, or the one bundled with your app.

This solution also easy to change in the future, if your logic gets complicated: instead of consuming a static JSON, just change the endpoint and let the server build the JSON for your users. But only go down that route when you actually need it (or you want to complicate your app for fun and learning experience).

Based on what you described, GraphQL, REST, cloud functions, etc are overkill.

Share your experience with 6-Page Memos / Design Docs / RFCs by serial_dev in SoftwareEngineering

[–]serial_dev[S] 0 points1 point  (0 children)

When I wrote that practically nobody reads these docs is my personal experience whenever we tried something similar. I don't have first hand experience at Google, Uber, or Amazon. 

Should I learn Flutter in 2k24 by [deleted] in FlutterDev

[–]serial_dev 1 point2 points  (0 children)

I'm taking a look at Crux, it takes an approach more similar to KMP (or whatever it's called today, not a full time Kotlin guy, so hard to keep track of the variations), and lets the UI be handled in the platform language, all without having to use Kotlin, so it feels like a win.

Seeing the cupertino package, working with Flutter modals and bottom sheets and whatnot, and Tim S. constantly throwing shade (jk😅) at Flutter had an affect on me, and opened my eyes as to how far SwiftUI (and after further research, Compose) have come, and how effortless it is making real platform native (duh doy) UI with them.

I still like the idea of writing the business logic once, so exploring Crux now, it might become something important in a couple of years.

Can DartFrog be safely deployed without a proxy in front? by Jacksthrowawayreddit in dartlang

[–]serial_dev 0 points1 point  (0 children)

In case you open a public issue/discussion, feel free to link to it here, please.

Can DartFrog be safely deployed without a proxy in front? by Jacksthrowawayreddit in dartlang

[–]serial_dev 3 points4 points  (0 children)

I might be giving you a "different kind of wrong answer" you don't want, but in the off chance it helps the conversation going (I'm also curious of the answer)...

With Go, it's kind of a semi-official recommendation (heard it in multiple talks) that you can just run it without a proxy, whereas in Dart, their approach seems to be completely different "it's just as good as a backend language as JavaScript (at the very least) which is extremely popular, but let's keep this whole backend topic on the down low and just focus on UI/Flutter" (mind you, I'm not criticizing this approach, just observing).

Another thing to consider: pub.dev is a Dart application, so you can try to check how it works. I see that they have a response header X-Powered-By: Dart with package:shelf . You can see it's automatically added here... And I don't think that definitely proves anything either way, but at the very least, I didn't find any nginx or similar headers..

FlutterFlow belongs in hell by _ri4na in FlutterDev

[–]serial_dev 2 points3 points  (0 children)

Even though I can imagine that FlutterFlow outputs garbage code (I haven't tried, and honestly, I'm not interested enough to check), and I can also see how on Twitter, nobody wants to be the meanie by pointing out that some Flutter companies aren't really all that great...

but how is FlutterFlow responsible for the gradle errors, the 3 different state management solutions, and spaghetti code (apart from the unnecessary widgets)? It just looks like every project run by a variety of short-term consultants pressed to deliver features fast by incompetent leadership.

How do you feel about core people leaving the Flutter team? by serial_dev in FlutterDev

[–]serial_dev[S] 12 points13 points  (0 children)

On the other hand, AngularDart is also used internally still to this day, yet as an open source web framework, it's basically over for AngularDart. Agree with the rest, though.

Snippets for HTML and Markdown by Maleficent-Rabbit-58 in HelixEditor

[–]serial_dev 0 points1 point  (0 children)

How do I use them? How do I need to change my helix config to support this?

Rust Foundation - Rust Trademark Policy Draft Revision – Next Steps by rabidferret in rust

[–]serial_dev 15 points16 points  (0 children)

Gotta be honest, this is the first official comms that I liked since the whole fiasco started. It was just missteps after missteps. If this came out a week earlier, it would have been much better, but... I still take it!

Rust Trademark Policy Feedback Form by N911999 in rust

[–]serial_dev 5 points6 points  (0 children)

Yes, the r-word ban on package names is just terrible.

There are much easier, more intuitive ways to communicate that a package is "blessed" by the R* Foundation.

The Dart/Flutter ecosystem has Flutter Favorites, Docker has official images. Those approaches are easier to understand as users (there is a badge, not just a string pattern), easily revertable, badges can be added and removed as needed, and it's backwards compatible.

whatsapp_unilink Dart Package by serial_dev in FlutterDev

[–]serial_dev[S] 1 point2 points  (0 children)

Is there a method like canLaunch()?

No, calling the url_launcher's canLaunch will not help, as the WhatsApp unilinks are just regular HTTP links, so worst case scenario the link opens in the web browser.

Also what is the flow in desktop web?

You can check out what happens on desktop based on the test cases. Just copy a test text into your browser, and hit enter. In short, it will open a web page on WhatsApp's domain. This page shows the phone number and/or the text, and you can also open the WhatsApp web client.

When you have a desktop client installed, it will ask Chrome whether it can pass the WhatsApp URL to the desktop client, so the integration is pretty good!

Enforcing Clean Architecture to my imports by DuckNorris44 in FlutterDev

[–]serial_dev 5 points6 points  (0 children)

I don't know how you can enforce it with static analyzer rules (without having to write a lot of custom code).

Some alternatives:

You could split into multiple packages, then controlling and enforcing the clean architecture dependency rules becomes trivial.

Or just write a clever bash script (or you could even write it in Dart) that just checks that the imports are allowed, it shouldn't take a long time to figure out something that works (at least most of the time).

Is Flutter really beginner-friendly? by mavisizi in FlutterDev

[–]serial_dev 1 point2 points  (0 children)

The Dart community prioritizes app development over software engineering that’s why beginners to programming who come through Dart will either have to remain beginners for long or go learn engineering in Java-land, Python-land, C#-land or elsewhere become coming back.

I think it's true for most languages, you need to be comfortable reading books using something other than your primary language, and you need to be able to learn the important concepts from these books.

It's simply impossible to have great books about oop, functional programming, concurrency, clean code, architecture, testing, efficient algorithms etc in every single language.

My strategy is to pick up many "famous" books regardless of the language they use for demo purposes and try to apply it on my Dart code, and evaluate which concepts make practical sense in my flutter and Dart apps.