https://kotlinlang.org logo
Join SlackCommunities
Powered by
# random
  • d

    darkmoon_uk

    03/28/2025, 8:45 AM
    ...then allow me to kill it further with politics, because I'm just dying to know: Are US tech workers and companies now feeling a moral impulse to relocate? I'm not from the US, but have cancelled all US tech subscriptions, since contributing to US tax dollars now feels "morally incompatible with my workflow". It's hard to gauge what the feeling is elsewhere, but I do think at some point every human should weigh up principles vs. convenience. Thankfully my favourite JetBrains' tooling is all EU. ...and [JB] certainly have good form in this space.
    f
    r
    t
    • 4
    • 6
  • s

    Samuel Gammon

    03/29/2025, 7:58 AM
    image.png
    โค๏ธ 5
  • s

    Stefan Oltmann

    03/30/2025, 7:26 AM
    โ€žOnlyโ€œ ๐Ÿ˜„
    m
    n
    p
    • 4
    • 6
  • s

    Stefan Oltmann

    03/31/2025, 5:36 AM
    True. https://www.linkedin.com/posts/alexander-chiou_techcareergrowth-softwareengineering-ios-activity-7312141588242079744-K1Ci?utm_source=share&utm_medium=member_desktop&rcm=ACoAABtOtiQB7AU4bj_dit5FQVOZwtxx1Yk_MWo
    d
    • 2
    • 3
  • s

    Stefan Oltmann

    04/02/2025, 4:28 PM
    Love this guy ๐Ÿ˜„

    https://www.youtube.com/watch?v=JeNS1ZNHQs8โ–พ

    โค๏ธ 1
    ๐Ÿ˜€ 1
    • 1
    • 2
  • s

    Shree Charan N

    04/04/2025, 1:07 PM
    ๐Ÿ‘‹ Hello, team!
    ๐Ÿ‘‹ 5
    kodee welcoming 2
  • m

    Mark Marcel

    04/06/2025, 6:27 AM
    Companies say they can't find qualified people to fill software developer roles, people say they can't find software jobs. I think I'm getting a bit of insight into why and share it on LinkedIn
    c
    • 2
    • 2
  • y

    Youssef Shoaib [MOD]

    04/06/2025, 7:07 PM
    Had to make this today. It's a map that holds different values, where each key determines the type of the value. May be useful for somebody out there!
    Copy code
    private class TypedMutableMap private constructor(private val map: MutableMap<Key<*>, Any?>) {
      constructor() : this(mutableMapOf())
      interface Key<T>
      @Suppress("UNCHECKED_CAST")
      operator fun <T> get(key: Key<T>): T = map.getValue(key) as T
      operator fun <T> set(key: Key<T>, value: T) {
        map[key] = value
      }
      fun copy(): TypedMutableMap = TypedMutableMap(map.toMutableMap())
    }
    This can be made into a
    value class
    , I just didn't have the need to do so
    ๐Ÿ‘ 2
    k
    c
    • 3
    • 5
  • b

    Binod Basnet

    04/10/2025, 7:43 AM
    https://www.linkedin.com/posts/binodbasnet_encrypting-sharedpreferences-in-android-ac[โ€ฆ]m=member_desktop&amp;rcm=ACoAACxnsOIBBHOPAv018KcV9y1Dy-msEHhyt_U
    ๐Ÿ‘Ž 2
    ๐Ÿ‘Ž๐Ÿผ 1
    s
    c
    • 3
    • 3
  • s

    Sam

    04/14/2025, 7:16 AM
    Anybody written for proandroiddev.com? They approached me about publishing some articles with them via Medium. Problem is they also say they copy-paste all their articles from Medium to their parent site (droidcon.com), where I assume they can run their own ads/recommendations/etc alongside it. Without paying me. They talk about this like it's all in the name of more exposure for my content, but on droidcon.com the author credit is not exactly prominent; the focus is definitely on their brand and not on their authors. The cynic in me thinks the Medium publication is just a way for them to harvest unpaid labor for their own site. Am I overthinking it, or does it seem a little shady?
    ๐Ÿ‘€ 3
    h
    • 2
    • 4
  • h

    Hovo

    04/14/2025, 1:53 PM
    Hello. Who knows, which countries are currently facing a shortage of Android developers? Or there are no countries, like the USA, where there's no shortage at all?
    ๐Ÿ‘€ 1
    l
    • 2
    • 2
  • s

    Stefan Oltmann

    04/17/2025, 5:50 PM
    Since I burned through my Junie quota for the month in no time, I'm thinking of giving local models a shot. Iโ€™ve got an RTX 2080 and can run Deepseek-Coder R1 8B without much trouble. There are tons of options at ollama.com/search, and Iโ€™m sure some of them will run just fine on my setup. My question is: Can anyone recommend a good local model for Kotlin or something close to Junie's capabilities? Edit: Nevermind. Junie doesn't support local models. I believed that, but I fall for an UX issue.
    p
    d
    • 3
    • 16
  • j

    Jackson Mafra

    04/17/2025, 11:54 PM
    Spent the week sick at home with two daughters, surrounded by Minecraft, Roblox, and an impressive amount of screaming. So instead of resting like a normal person, I built this: https://github.com/jacksonfdam/androidx-cataloger It scrapes the AndroidX site, lists all the libraries, shows their versions, and builds a version catalog for you โ€” because manually checking mvnrepository and copy-pasting dependencies is a special kind of pain. Still rough around the edges, but works great when Iโ€™m too lazy to do things properly. Feel free to fork, judge, or improve it.
    e
    • 2
    • 1
  • s

    Sam

    04/22/2025, 9:21 AM
    Would anyone like to help me with my current writing project? My publisher and I are working on a new book called Kotlin Brain Teasers, and I'm looking for technical reviewers to give some early feedback on the book. It's a collection of short puzzles where you read a Kotlin program, guess the output, and read an explanation. It's easy: you just read the book (about 100 pages so far) and reply to my editor with any comments or suggestions you have. If you love the book we might also ask you to go on record with a quote we can print in the blurb, but that part's completely optional. I want to make sure the book is accessible to all skill levels, so I'm not just looking for Kotlin experts (though expert feedback is always great). Please let me know (thread or DM) if this sounds interesting to you! My publisher doesn't pay technical reviewers (sorry), so you'd need to be comfortable with the idea of giving up some of your time to read and comment on some fun Kotlin puzzles.
  • s

    Stefan Oltmann

    04/22/2025, 2:06 PM
    Do you also have the effect that DeepL sometimes randomly changes to klingon? ๐Ÿ˜ฌ
    m
    k
    • 3
    • 6
  • h

    hfhbd

    04/24/2025, 9:16 AM
    Does anybody know the release notes of Android R8?
    r
    • 2
    • 4
  • s

    Stefan Oltmann

    04/24/2025, 10:09 PM
    That's a pattern I've encountered often with Junie: I ask it to implement a method, and it ends up generating ineffective code with comments like, "In a real application, we would do X..." - even though I never said I'm not building a real app or something like that. It feels like a subtle form of refusing to do the actual work. Do you run into that too? Maybe I should try adding things like "You are a senior software engineer" and "Make it work or you go to jail" to my prompts. ๐Ÿ˜„
    ๐Ÿ˜‚ 2
    t
    s
    +3
    • 6
    • 16
  • p

    PHondogo

    04/25/2025, 8:54 AM
    Anybody using r8 for JVM target (--classfile)? Starting from 8.8.x it produces corrupred jarfile. Is it only me or someone has the same issue? Update: Seems like r8 is removing META-INF/MANIFEST.MF from resulting jar file starting from 8.8.x version.
    • 1
    • 1
  • a

    Alex Styl

    04/26/2025, 9:52 AM
    Is there a programmatic Kotlin API for formatting Kotlin code in runtime? what i am looking for String -> Formatted string Asked perplexity and the AIs but i think it they hallucinate. they say ktlint and ktmt has an api but on their repo i see they have gradle plugins to format your code in build time
    h
    • 2
    • 7
  • s

    Stefan Oltmann

    04/28/2025, 6:23 PM
    https://www.linkedin.com/posts/jetbrains_exciting-news-for-the-open-source-llm-community-activity-7322683531447484416-Nt_O?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAABtOtiQB7AU4bj_dit5FQVOZwtxx1Yk_MWo ๐Ÿ‘€
    ๐Ÿค” 1
    ๐Ÿ‘€ 3
    kodee excited 1
    ๐Ÿค— 3
    yay 1
    • 1
    • 1
  • c

    Colton Idle

    04/30/2025, 4:25 AM
    Anyone doing kmp development with androidx.datastore? it works great on ios and android. but looks like its not supported for wasm. No big deal. I'll try to stub it out, but it looks like that's not possible since wasmJs source set doesn't know anything about datastore so I can't even stub things out. Im still a noob when it comes to kmp. Whats the process I should be taking when using it in an app where i have expect actual setup for datastore types?
    p
    j
    • 3
    • 5
  • r

    Rob Elliot

    04/30/2025, 9:52 AM
    This is very much not kotlin but kotlin colored hence putting it in #C09222272 , but I'm not aware of a JVM focussed chat group with the quality of insight this Slack has... We've written a Kotlin JVM CLI that is deployed with a bundled JVM[1]. One issue we are seeing is clients deploying it in controlled environments where all HTTP traffic goes via an HTTPS proxy that does MITM stuff because the O/S has self-sgned root certs installed. This fails because the JVM does not use the O/S certs so the MITM presented certs are rejected. I was surprised to find that there is no Open Source TrustManager implementation that uses the O/S certificates. I could write one... but the fact that I can't find one that already exists makes me think that perhaps there are very good reasons not to write your own? Any thoughts? [1] I am aware of the general shortcomings of the JVM for CLIs - can we just take it as read that for reasons it would be tedious to go into this is a necessary compromise?
    s
    e
    s
    • 4
    • 9
  • s

    Stefan Oltmann

    04/30/2025, 1:21 PM
    Made my day. ๐Ÿ˜ฌ
    ๐Ÿ˜‚ 6
    ๐Ÿ˜ฌ 1
    f
    p
    h
    • 4
    • 5
  • h

    hfhbd

    05/02/2025, 9:09 AM
    I want to write a (ktor) server, with a custom content negotiation plugin, to provide 1 endpoint with two different input/output formats (mime types), namely xml (application/xml) and json (application/json), depending on the accept header. If the caller request an unsupported mime type, the server responds with 406, Not applicable. Thatโ€™s easy. But I also want to use the problem rfc for error handling, that uses application/problem+xml and application/problem+json. This is the problem: the mime type are different with different semantic, but roughly compatible based on the suffix (+xml/+json). After reading the RFCs, I still unsure about the accept header/mime type handling because the RFCs donโ€™t mention suffix handling (it was added later): Should the server only validate the accept header for the expected successful response (and returns the error in the requested format based on the suffix mime type)? Or should the accept header also be validated for the error response type? In this case, should the accept header contain both mime types?
    ๐Ÿ‘€ 1
    k
    • 2
    • 1
  • a

    Alejandro Rios

    05/05/2025, 8:38 PM
    https://github.com/google/dagger/issues/3916#issuecomment-2825109480
    e
    a
    • 3
    • 2
  • e

    Edoardo Luppi

    05/07/2025, 5:39 PM
    Just seen CLion is free for non commercial use now, this is huge. Well done JB! https://blog.jetbrains.com/clion/2025/05/clion-is-now-free-for-non-commercial-use/
    ๐Ÿ‘ 4
    ๐ŸŽ‰ 6
  • n

    Nitesh Singh

    05/08/2025, 10:39 AM
    hey there, what kind of I will make Android app could you suggest me ?
    y
    • 2
    • 1
  • y

    Youssef Shoaib [MOD]

    05/09/2025, 11:27 AM
    Just discovered empirically that
    is SomeInterface
    is slower than
    is SomeClass
    , maybe about 6x slower. That pushed me to switch a
    sealed interface
    to a
    sealed class
    ๐Ÿ‘€ 2
    f
    f
    +3
    • 6
    • 15
  • y

    Youssef Shoaib [MOD]

    05/11/2025, 12:28 PM
    This is a PSA to run your programs on newer JDK versions even if you don't use any of the new features. Your performance will genuinely improve without doing anything!
    โž• 3
    h
    s
    • 3
    • 2
  • s

    Stefan Oltmann

    05/12/2025, 9:57 AM
    Did anyone figure out what it takes to run Mellum-4b-base smoothly? I've got an MacBook Pro M1 with 32 GB - it's really slow in responding if asked via AI Chat in IntelliJ... I'm running it through LM Studio. Responses inside are okay, but from IntelliJ it collects the context for an eternity. Edit: I'm trying the MLX forks now. Maybe that helps.