• 0 Posts
  • 32 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • This is loosely related to “online experience” (as you’ve covered most of the “tech tips”) :

    When choosing a movie don’t watch the trailers, instead (blindly) watch what’s popular. (obviously, if you’re into niche genres - this won’t work.)

    I’ve found Trackt is a good place to understand recent trends (and it just shows film posters). Then I’ll go to IMDB, maybe read the summary, but I always read the first/popular user review and decide if it’s worth my time and money.

    The first/popular user review usually doesn’t contain spoilers.

    Since I’ve actively avoided trailers and spoilers, my enjoyment for films has nearly doubled - even for “bad movies” (I probably wouldn’t have watched otherwise). It’s such a shame that a 2 minute trailer often shows many/most of the highlights of the film.



  • There has to be a better way to keep the strengths of federating without partitioning the community smaller and smaller until there is no community left.

    Can you imagine Lemmy with a similar amount of Reddit users? Anytime you’d post, you’d have to replicate it between X number of instances (for visibility). Conversations would be fragemented and duplicated, votes would be duplicated. To me this almost sounds like “work”…

    There has to be something better.

    For example, instead of “every instance is an island”. Meaning the current hierarchy is “instance” - > “community” - > “post” - > “threads”. We could instead have “community (ie: asklemmy)” - > “post (ie: this post)” - > “instance (Lemmy.ml, Lemmy.world, etc)” - > “threads (this comment)”.

    From a technical perspective, it would mean that each instance would replicate the community names and posts. Which is already beginning done (this post is a perfect example), but as long as each instance would share a unique identifier to associate the two communities/posts as “the same thing” (and this could simply be the hash of the community /post name). Everything else would be UX. Each instance would take ownership of the copy of the community and post, which means they could moderate it according to their standards.




  • The “downvote to disagree” thing isn’t just an attitude problem, it’s a structural issue. No amount of asking people nicely to obey site etiquette will change the fact that the downvote button is a disagree button. If you don’t want a hive mind, you necessarily need to be able to allow for things you don’t like to be amplified.

    Actually, with enough interactions from different people (ie: enough data points) Lemmy should be able to determine if a comment brings value to the conversation (either positive or negative) or if it’s noise that should be ignored (and prioritized lower).

    If you have 4 comments:

    1. Has 100 upvotes (in total)
    2. Another has 100 downvote (in total)
    3. Another has 50 upvotes and 50 downvote (100 in total with a 0 sum)
    4. The last was a new comment with 0 votes.

    It’s obvious that 1 and 3 are providing more to the conversation than 2. 4 is a bit of an outlier, but probably provides more value than 2.

    Regarding 3: The challenge would be that there’s a low chance that there will be such a wide margin of upvotes/downvotes. Due to the hive mind, the voting will probably look like 30 upvotes and 130 downvotes. So, there would need to be a weight accordingly, so those fewer upvotes had a greater impact (in terms of sorting and scoring comments)

    Reddit has a “sort by controversial” algorithm that seems to be missing from Lemmy (or maybe it’s hidden in the “what’s hot" - I haven’t looked at the code).

    It would be awesome (and resource intensive) if Lemmy could provide the federated instances with custom sorting algorithms. It would allow federated instances to be unique, provide some playful competition, and given the open source nature of Lemmy - I’m sure these algorithms would be open sourced, which would improve the entire Lemmy ecosystem as a whole.



  • One of your questions I didn’t see answered:

    And after doing my research I found out americans file taxes every year. I haven’t done it the last 18 years of working. Should I just not file?

    You have two choices:

    1. Full Disclosure : you tell the IRS, you haven’t filled and ask them to help you rectify the situation. This could mean penalties and fines for filing late or based on your situation, they might let is slide (as it was an honest oversight). Once you’ve gone through this, then your back in the IRS’ good graces (assuming you still file your taxes and fbar annually)

    2. A “stealth” disclosure : (there’s a better name but I forgot was it’s called) basically, you just start to file your 2023 taxes and pretend that nothing has happened during the last 18 years… if you do this for the next 5 years (or 7 years?) and the IRS does not say anything, then you’re back in the IRS good graces (they can only penalize you for x number of years) . But if the IRS decides to contact you, then they could throw the book at you (more than if you went with option 1).

    Ultimately, it’s a gamble with a risk. However, if you’ve recently learned of your citizenship and got a passport. I think it’s quite plausible to get some lienency, both for the full disclosure and the stealth disclosure.


  • Well… there is also Eritrea, a small country in West Africa.

    The U. S. Taxes is based on the country you’re living in. If there are double taxation treaties between the two countries (ie: Europe and the U. S.), then the IRS would tax you on the amount you’ve earned over a certain limit (it was 100k usd, but I think was increased). Meaning, if you earned 110k usd, you’d be taxes on the 10k. If you earn less then 100k, you’d pay no U. S. Taxes.

    If there isn’t a treaty, which is often the case in countries that tax their citizens less than the U. S. , then you’d basically be charged taxes in the U. S. (based on your worldwide income) minus whatever you paid the country you’re living in.


  • OP read this, they’re absolutely right - lawyer up!

    Cause in the U. S. if you want to renounce your U. S. citizenship, you must settle your debts - which includes filing your U. S. Taxes.

    … and yes, as a U. S. Citizen you need to file U. S. Taxes *even if you’ve never set foot in the U. S. *.

    Note: there are double taxation laws between the U. S. and Germany, which prevent you from needing to pay taxes in U. S. (up to 100k / year or so), but you still must file them.

    Also, as a U. S. Citizen, you’ll need to file annually a FBAR with the IRS. This is basically a disclosure to the IRS that you have non-u.s. bank accounts (that exceed, in total, 20k usd / year).

    The point being is that, in theory, there could be fines for not doing this, which (in theory) you would have to pay before being allowed to renounce your citizenship.

    In practice, the IRS is pretty approachable - so you probably won’t have an issue, but you’ll definitely want decide if you want to keep the U. S. Citizenship (and the work associated with it: annual taxes and fbar) or renounce it.

    The (only) upshot of filing U. S. taxes abroad if you have kids is that you qualify for a Child Tax Credit. Which amounts to 1000 usd / kid / year (I don’t know if the kids need to have U. S. Citizenship or not)










  • Oh my favorite is Crystal. It’s a statically compiled dialect of ruby.

    It supports:

    • Most of the ruby goodness: custom DSLs, patching classes/mixins (monkey patching instances is not supported)
    • Compile time type checking (but it also uses duck typing)
    • Coroutines / fibers that work across multiple threads (multi-thread support is still experimental, but from my experience works well)
    • Possible to create small self-contained binaries (like go-Lang apps).

    As much as I love the expressiveness of crystal, there are a few cons:

    • It’s slow to compile. Due to the dynamic nature of the language, the compiler needs to parse a lot of files (think C/C++) before it creates a binary.
    • The number of libraries is very immature at the moment. Crystal is a young language and is missing support for things like aws.
    • The library management mechism (called “shards” akin to ruby gems) is not great (in my opinion). There are helpful tools to create the scaffolding, but if you’re pretty much stuck with the defined structure. For example you cannot have a single git repo that provides a library and an application that uses it.

    Other than that, the type checking but with ruby-like syntax is awesome!

    edit: fixed formatting


  • Others have given a good description of what a launcher is.

    But my reason for why I use a custom launcher is simple : I want a consistent UI experience, regardless of whether my current (or future) android phone is a Google, Samsung, OnePlus, ect.

    For me a phone is tool, nothing more. I don’t have the time or interest to “explore” the difference in UI’s. In fact, Samsung’s Launcher (Bixby?) inferriates me the most as the default “back” and “apps” Buttons are inverted compared to many other launchers… so it messes with my muscle memory.

    With a custom launcher (I use Nova), I can restore/import my settings on any device (or custom version of android like lineage) and I’ve got the same familiar interface. Actually, Nova is quiet nice as it’ll also show you greyed-out Icons for all the apps you has on your home screen. As the apps are installed, you can start to use them. This (for me) makes moving to a new phone much easier.