Jun 6 | 8:55 AM |
Mark M. | has entered the room |
Mark M. | turned on guest access |
Jun 6 | 9:05 AM |
Paul R. | has entered the room |
Paul R. |
Greetings
|
Mark M. |
hello, Paul!
|
Mark M. |
how can I help you today?
|
Paul R. |
I have soem Kotlin/Intellij questions today.
|
Paul R. |
Specifically about setting up a multiplatform project.
|
Mark M. |
I have only lightly experimented with that, but I concluded at the time (a few months ago) that the IntelliJ new-project wizard sucked
|
Paul R. |
You may not have crossed this bridge yet but I encourage you to do so as part of Elements of Kotlin.
|
Mark M. |
I expect to cover Kotlin/Multiplatform, but probably in a separate book
|
Paul R. |
You are right about the Intellij project setup. Android Studio is very nice. Intellij not so much.
|
Jun 6 | 9:10 AM |
Mark M. |
I have taken to just crafting the bootstrap Gradle setup by hand, then importing that and going forward from there
|
Paul R. |
Me too. But I am giving a talk next week and I would have loved to had the kind of new project wizard that is in Android Studio. Such is life. :-(
|
Paul R. |
You given any thought to take these office hours to audio so that some people's awful spelling errors don't happen?
|
Mark M. |
I have considered it and it might be something that "falls out" of other things that I am doing
|
Paul R. |
I've been fat-fingering keyboards for 50+ years now and it just isn't getting much better.
|
Mark M. |
I was once described as having a 100 words-per-minute typing speed: 80 forwards and 20 backwards (through lots of backspaces)
|
Paul R. |
:-)
|
Jun 6 | 9:15 AM |
Paul R. |
I should let you know that I thoroughly enjoy your humor in the Exploring book. I appreciate subtle.
|
Mark M. |
thanks!
|
Paul R. |
I'll let you go since I don't have any other pressing questions. Talk later.
|
Mark M. |
anyway, back to Kotlin/Multiplatform -- I was playing with it early this year, before Android Q showed up and stole a bunch of my time. So, my depth on it is shallow and fading due to being away from it for a few months. I can try to help with your questions, but I am skeptical.
|
Paul R. |
I have Kotlin multiplatform down pretty well. My talk next week is on deploying a Kotlin MPP library to Maven Central using Kotlin DSL Gradle script. I'll reveal the ugly manual steps to get to done.
|
Mark M. |
cool! is the talk being recorded?
|
Paul R. |
Probably. It is part of Kotlin Office Hours meet-up group in Boston.
|
Jun 6 | 9:20 AM |
Paul R. |
I'll send you a link once I find out it definitely exists.
|
Mark M. |
they appear to have a YouTube channel at https://www.youtube.com/channel/UCfFaiR3gVKeQwR..., though they haven't posted anything in a year
|
Paul R. |
It also covers setting up 100% code coverage which probably comes as no surprise to you now.
|
Mark M. |
I'm not sure if they have videos elsewhere
|
Paul R. |
I'll ping the organizer now.
|
Mark M. |
you are able to measure coverage in Kotlin/Multiplatform? I usually think of test coverage tools as being very platform-specific
|
Paul R. |
They are. JVM is best supported. Kotlin/Native just had the first release announced a month ago.
|
Mark M. |
that's impressive
|
Mark M. |
note that when I do write about KMP, it'll be more on the Kotlin/JVM and Kotlin/JS sides, with very lightweight coverage of Kotlin/Native (unless I find a Native use case other than iOS, as I have near-zero iOS development experience)
|
Paul R. |
I had a rant with Andrey Breslav on the Kotlin Slack channel. A few months later Kotlin/Native announced the first code coverage tool support via LLVM. I'll take some credit. :-)
|
Mark M. |
who-hoo!
|
Jun 6 | 9:25 AM |
Paul R. |
I've embraced KMPP for iOS. I've found that I must supply iOS apps in addition to Android if only because they are family apps and most of my family is on iOS devices, much to my chagrin as an Android developer.
|
Mark M. |
yeah, I've managed to avoid fruit-flavored operating systems, other than BlackBerry :-)
|
Mark M. |
(though, now that I think about it, Android 9.0 was cherry pie, according to the statue...)
|
Paul R. |
Wow! That goes back aways. Probably not too much demand for BB books.
|
Mark M. |
I didn't touch BlackBerry until they got that Android runtime briefly for that short-lived tablet
|
Mark M. |
so I never wrote actual BlackBerry OS apps
|
Paul R. |
The tablet story with Android is sad. Apple ate Android's lunch in that space.
|
Jun 6 | 9:30 AM |
Mark M. |
in countries where iOS is popular, yes
|
Paul R. |
I like the Slate but only profligate buyers touch it.
|
Paul R. |
And it is rather large. Samsung I avoid like the plague having grown too many gray hairs supporting their devices with the Brightcove video SDK as one of the devs.
|
Paul R. |
I like that ChromeOS devices are now supporting Android (and Linux!)
|
Mark M. |
yes, and that will be a bit of a backdoor way for Android to do more in the tablet space
|
Paul R. |
That's going to open up some space for mult-window apps.
|
Mark M. |
yes, all six of the multi-window apps that we have created to date :-)
|
Paul R. |
:-)
|
Mark M. |
or, as I blogged this week, "at our current pace, widespread support for dark mode will come when the sun goes out"
|
Paul R. |
Yeah, I saw that and chuckled.
|
Mark M. |
it's been a ranty week for me
|
Jun 6 | 9:35 AM |
Paul R. |
There's a lot to rant about in Android and software in general. But I'll take Android development over iOS or Web in a heartbeat.
|
Paul R. |
When I was following your discourse i Exploring on Room, I wanted to throw up. SQL (even lite) is just so much impedance over some alternatives, like something I call "transactional repository" where a flat file contains a list of strings (some json) is played at startup to load objects rather than getting them from Room. Much simpler.
|
Paul R. |
Much simpler persistence model.
|
Jun 6 | 9:40 AM |
Mark M. |
yes, the "object-relational impedance mismatch" is for realz
|
Paul R. |
During runtime the objects are created and the replication string is appended to the flat file.
|
Paul R. |
There's a paper I read that showed this approach will work nicely for something the size of Stack Overflow. That wowed me.
|
Mark M. |
it would seem like it could only work for small data sets, where by "small" I mean "can comfortably fit in available memory"
|
Paul R. |
Did you see the specs for the Mac Pro yesterday? Over a terrabyte of RAM!
|
Mark M. |
no, I didn't -- even at today's RAM prices, that's gotta be seriously expensive
|
Paul R. |
Cost your 50K but solves the problem of keeping 200G in memory.
|
Jun 6 | 9:45 AM |
Mark M. |
that would qualify as "seriously expensive"
|
Paul R. |
I use it for mobile device size caching of "paged" data. It's analogous to SQLite. it is for small amounts of data on a mobile device.
|
Paul R. |
Relatively speaking
|
Paul R. |
I won't be buying the Mac Pro anytime soon.
|
Mark M. |
maybe you could do a GoFundMe for one :-)
|
Paul R. |
Well that was a fun hour (almost) but I must get back to work. Enjoy the rest of your day.
|
Mark M. |
you too!
|
Paul R. | has left the room |
Jun 6 | 10:00 AM |
Mark M. | turned off guest access |