off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
borkdude 2021-05-14T09:09:47.182300Z

am I right that you can't package the mysql driver with a redistributable app, due to the GPL license? just checking, I think this is the case

1
2021-05-14T11:05:47.184300Z

Compiling to native? I know with CLojure you can have Graalvm with certain restrictions, but the exes aren't exactly small.

šŸ‘Œ 1
borkdude 2021-05-14T11:07:55.186200Z

The smallest image you can get with some Clojure in it is about 7-10 mbs. Including sci (Clojure interpreter) around 11. Clj-kondo is 34 megabytes, babashka around 80 (it includes lots of libs), clojure-lsp around 100, but lots of things can be done to keep the size of the binaries in check. These are imo reasonable sizes in this day and age (smaller than most node_modules directories I would bet)

šŸ‘ 1
1
raspasov 2021-05-14T11:11:23.186700Z

The node_modules for my React Native project is 450MB (which is stunning)

raspasov 2021-05-14T11:11:54.186900Z

(But I guess not a fair comparison, the final artifact when said and done in the App Store is ~20MB)

borkdude 2021-05-14T11:12:34.187200Z

Yeah, I mean, it's not like your'e running out of disk space with this kind of size in this day and age

šŸ‘ 1
raspasov 2021-05-14T11:12:45.187400Z

Absolutely.

borkdude 2021-05-14T11:14:41.187700Z

Is the final artifact in the app store also compressed in some sort of way?

borkdude 2021-05-14T11:14:55.187900Z

Usually when you compress native images they become much smaller. e.g. bb is around 20mb zipped

raspasov 2021-05-14T11:15:22.188100Z

Mmm, I assume, yes. Whatever automagic Apple does. I havenā€™t explored exactly.

borkdude 2021-05-14T11:15:38.188600Z

Last time I tried to make an sbcl image it was around 35mbs for a trivial hello world

raspasov 2021-05-14T11:15:55.188700Z

The final output under :advanced for the index.js (contains all JS code for the app) is 1.3MB for my medium sized app.

raspasov 2021-05-14T11:16:29.189Z

I think the highest I ever saw that under CLJS :advanced is 3-5MB for quite a big app (many screens, e-commerce, etc)

raspasov 2021-05-14T11:17:42.189200Z

But thereā€™s other supporting native code that the JS code calls into, etc (the React Native lib code + some libs frameworks). Unless you pack your app with all sorts native bloated libs/frameworks, itā€™s hards to exceed 30-40MB.

borkdude 2021-05-14T11:19:28.189500Z

For mobile the size might matter more since it's often downloaded over a data plan

raspasov 2021-05-14T11:19:29.189700Z

When you see an app in the app store thatā€™s not a game and is like 200MB, thatā€™s gotta be all sorts of tracking/framework bloat I assume in most cases.

raspasov 2021-05-14T11:20:42.189900Z

Nowadays, it matters less and less. Mobile internet is generally fast. And the over-cellular limit that Apple has is 200MB.

raspasov 2021-05-14T11:21:06.190100Z

I remember ~2012 or so. It used to be 20MB. You tried hard to stay under that šŸ™‚ .

gklijs 2021-05-14T11:53:51.192300Z

About graalvm, in https://www.kafka-summit.org/sessions/cost-effective-graphql-queries-against-kafka-topics-at-scale they discovered for their Micronaut app, a JVM build had 4 times the throughput of the GraalVM build. I knew it was expected to be less, but I didnā€™t expect it to be this much. I wonder if anyone has done a similar experiment with Clojure?

Aron 2021-05-14T11:59:44.194100Z

4 times doesn't seem like much tbh

borkdude 2021-05-14T12:00:04.194500Z

GraalVM is also a JVM and it comes with a tool called native-image. When building a native-image the compiler makes certain decisions that might not be optimal in certain scenario's. The enterprise version comes with a feature called profile-guided optimizations, so you can run the app and it will generate info which will be used during compilation for optimization.

borkdude 2021-05-14T12:00:55.195200Z

If you are optimizing for high throughput you are probably not optimizing for startup time anyway, in that case it makes sense to just go with the JVM probably.

gklijs 2021-05-14T12:02:51.197Z

You miss the JIT optimisation. For their use case I can imagine there is a lot to win, since the Request/Response will be very similar for each call, which canā€™t be known at compile time. I want to run a similar test myself, but havenā€™t gotten around to it.

Aron 2021-05-14T12:04:22.199200Z

well, graphql. i have not used it since 2015, i suspect it changed a lot, but i am not eager to try it out again.

borkdude 2021-05-14T12:05:25.199900Z

> You miss the JIT optimisation So for tuning you can use the profile guided optimizations. https://www.graalvm.org/reference-manual/native-image/PGO/

šŸ‘ 1
gklijs 2021-05-14T12:06:43.200700Z

Too bad you canā€™t try it for free.

2021-05-14T12:06:43.200800Z

Anyone into watches?

2021-05-14T12:07:01.201100Z

I have a watch conundrum.

Aron 2021-05-14T12:07:43.201900Z

I know a guy.

2021-05-14T12:07:46.202100Z

I really like the new white face stainless steel daytona, but getting one new from Rolex isbasically impossible as the waiting list is insane. like 5 years, unless you are the sort to spend six figures on watches with them.

Aron 2021-05-14T12:07:51.202400Z

or two. or three

2021-05-14T12:08:47.203500Z

BUt I've found another good watch, that is an actual good watch internally from Tudor, and it looks almost exactly like a daytona. BUt I can't make up my mind if I bought that instead if I would end up hating it, because I would look at and just see that's nota Daytona, and I should get something completely different instead

Aron 2021-05-14T12:09:51.203900Z

imagine if you are left alone on the Earth, everyone else dies or leaves

Aron 2021-05-14T12:09:59.204300Z

which one you think you would wear more?

2021-05-14T12:10:17.204600Z

The Tudor. I love the white face, panda dial

borkdude 2021-05-14T12:11:02.204700Z

If your company has a Java SE subscription you will get it for free

2021-05-14T12:11:50.205200Z

the one that is impossible to buy v the one I could buy and have reasonably quickly

2021-05-14T12:11:53.205300Z

borkdude 2021-05-14T12:13:48.205700Z

I am considering an Apple watch to replace my ipod nano for listening to podcasts :P

2021-05-14T12:14:20.206Z

do apple watches have enough storage to store mp3s?

2021-05-14T12:14:30.206300Z

or can you install something like spotify on them ?

2021-05-14T12:16:18.207200Z

i have gbs of mp3s on my phone but my phones headphone jack is broken

2021-05-14T12:16:25.207600Z

I still like getting music by buying mp3s

borkdude 2021-05-14T12:17:11.208700Z

The SE has 32gb I read now

gklijs 2021-05-14T12:17:28.209300Z

As long as the podcasts are one Spotify it should also be possible with some Garmin watches. But I wouldnā€™t advise it. I only use it for running/music and often have sync issues.

2021-05-14T12:17:37.209500Z

we really are living in the future, when a watch has 32gb memory. My first computer was like 150MB or something

gklijs 2021-05-14T12:18:12.210Z

My first mp3 player had 32mb šŸ˜†.

raspasov 2021-05-14T13:07:38.211100Z

I remember a laptop from the 90s with 4MB hard drive.

raspasov 2021-05-14T13:07:56.211300Z

Windows 3.11

Aron 2021-05-14T13:16:07.212100Z

late 90s math teacher in school had to take apart one machine to use 8MB for installing the OS, but then it ran on 4MB

2021-05-14T13:27:51.213500Z

The daytona is so lovely ā¤ļø

2021-05-14T13:28:52.213700Z

I know, I want one badly. BUt as a regular person I feel they are impossible to get. Second had are going for between 2.5 > 3x list price. I saw one second hand for ā‚¬30k

2021-05-14T13:28:55.213900Z

You can also look at zenith, they have great chronos too

2021-05-14T13:29:17.214100Z

I got a new Zenith El Primero chronograph in December last year šŸ˜„ I love it!

āœØ 2
mpenet 2021-05-14T13:29:26.214300Z

Sinn are quite nice alernative too

mpenet 2021-05-14T13:29:46.214500Z

and I say that as a swiss citizen!

mpenet 2021-05-14T13:31:18.214700Z

almost all rolex models are on waiting lists now it seems, you're better off with after-market maybe

2021-05-14T13:32:04.215Z

not chronographs, but I like what grand seiko is doing too

2021-05-14T13:32:14.215200Z

also not swiss, if that matters šŸ˜›

borkdude 2021-05-14T13:32:56.215800Z

I also remember inserting multiple disks while installing an OS or "big program" one after another

2021-05-14T13:33:45.216Z

also considering this, just as something completely different. Since I hear the new IWCs are all in house calibres again.

2021-05-14T13:35:41.216200Z

I think my first install of maybe windows 3.1 was installed off multiple floppy disks

2021-05-14T13:37:38.216400Z

oh, thats pretty too

alexmiller 2021-05-14T13:37:45.216700Z

for sure! Turbo Pascal was on like 10-12 floppies

2021-05-14T13:37:58.216900Z

yeah, case is bronze! So it might age quite nicely too as the bronze changes colour

Mno 2021-05-14T13:48:24.217200Z

Feeling nostalgic? You can supposedly install windows 10 with floppies

Mno 2021-05-14T13:48:51.217300Z

Oh wow that was compressed to the point of useless

2021-05-14T13:49:11.217500Z

fitting

Mno 2021-05-14T13:50:04.218Z

2021-05-14T13:50:27.218400Z

I once compared windows 98 notepad with windows 8 notepad. The binary is about 4x the size, but, no extra features. I think its the logo in the about menu.

šŸ˜‚ 1
Mno 2021-05-14T13:50:28.218500Z

Higher res in the replies

2021-05-14T13:51:28.218700Z

Itā€™s size, unlike ā€˜modernā€™ apps, is measured in kilobytes

caumond 2021-05-14T13:53:52.218900Z

And even installation was not a given. I started on cpc, the loading of the program was required at each startup as the only persistance was the rom. No floppy only a tape !

alexmiller 2021-05-14T13:56:17.219100Z

yeah, my first PC only had 360k floppies. I remember how chuffed I was when we finally bought a 20mb hard drive

borkdude 2021-05-14T13:57:05.219300Z

If you would drill a hole in those, you could get 720k

borkdude 2021-05-14T13:57:19.219500Z

if you had the right disk station (high density)

Aron 2021-05-14T13:58:12.220400Z

to be fair, modern editors fulfill expectations way beyond what notepad was good for. At some point the problem with Windows was actually just that it included software other people wanted to ask money for...

2021-05-14T14:02:20.222600Z

I managed to get windows xp down to a pretty tiny size. I got pretty obssessive with it at one point, where I had a spreadsheet of every file on the machine and how much I had changed on each one. Down to the byte, like I was going into dlls and editing the strings and icons and stuff they had in them to remove absolutely everything my workflow didn't need. Obviously if you deviated from what I used it for it crashed horribly. But it was so small, fast and started up so quickly! I';m sure I had to hack around something that tried to stop you from messing with files in the windows/system/system32 folder. But it was literally trial and error, hack some stuff out of a dll or exe and try to reboot and hope it came back.

ā¤ļø 1
2021-05-14T14:04:57.223600Z

Oh, I still have some version of the spreadsheet on a really old hd! Ah, the days of winzip and an A-Z of tabs for files on the system and if it could be safely deleted or not

šŸ¤Æ 2
2021-05-14T14:06:50.223800Z

haha sure

caumond 2021-05-14T14:16:21.224100Z

I forgot that !! With manual writing in the file allocation table, and sequential files... a whole lost world

raspasov 2021-05-14T14:23:36.224400Z

Wow, are you sure thatā€™s not a meme? šŸ˜†

borkdude 2021-05-14T15:57:34.225500Z

does someone has an answer on this? ^

sova-soars-the-sora 2021-05-14T16:08:00.226500Z

@qmstuart 5 years waiting list for a watch? If you've got the time... From traveling and flying a lot, I'd like to get a 24-hour watch like Svalbard https://svalbard.watch/pages/Svalbard_24-hour_watches.html I like the classy look of the singular hand

borkdude 2021-05-14T16:11:51.227Z

it's not a commercial application

borkdude 2021-05-14T16:12:20.227200Z

it's https://github.com/babashka/babashka-sql-pods

alexmiller 2021-05-14T16:13:23.227600Z

how would you know how long it had been if you didn't have a watch?

sova-soars-the-sora 2021-05-14T16:13:34.227800Z

I think if commercial is OK, OSS would be ok de facto, non?

sova-soars-the-sora 2021-05-14T16:14:14.228Z

rudimentary sun dial and notches in the totem pole?

borkdude 2021-05-14T16:14:21.228200Z

even if OSS is not GPL itself?

2021-05-14T16:14:26.228400Z

Maybe that's what they rely on! "Where's my watch, I've been waiting years" "Sir, its' been 10 minutes, calm down..."

dpsutton 2021-05-14T16:18:23.228600Z

my understanding is that commercial and non-commercial are immaterial. only license is relevant

sova-soars-the-sora 2021-05-14T16:27:04.228800Z

My good friend got a watch that buzzes/vibrates to remind him of stuff. You can program reminders and it's a little tactile sensation

sova-soars-the-sora 2021-05-14T16:27:44.229Z

Not as disruptive as <ring tone> or whatever. I also read months ago that amazone has buzz watches for their warehouse sprinters to alert them when to turn left/turn right šŸ˜®

2021-05-14T16:30:54.229200Z

I'd more expect Amazon to have collars that give their warehouse workers shocks šŸ˜„

sova-soars-the-sora 2021-05-14T16:31:18.229400Z

kills brain cells, not good for long-term comprehension of commands

sova-soars-the-sora 2021-05-14T16:33:31.229600Z

Amazap Prime

1
sova-soars-the-sora 2021-05-14T16:41:42.229800Z

You can e-mail oracle and ask them but i think according to this page you're all good 2 go https://www.mysql.com/about/legal/licensing/oem/

sova-soars-the-sora 2021-05-14T20:09:26.231400Z

Seeing a tweet about how the NHS covid-19 app helped stop the spread of cvid19... I'm thinking to myself... yeah people will use information provided them, but in our case only a handful of the population create apps and stuff. So in a way coders are the tiny enclave "stealing fire from the gods" and creating information paths for the rest of the world

sova-soars-the-sora 2021-05-14T20:09:50.231800Z

There's self-organizing systems... and then there's the aqueduct and the need for water, for example.

2021-05-14T21:01:02.232Z

Some licenses have a specific ā€œclasspath exceptionā€ clause: https://en.wikipedia.org/wiki/GPL_linking_exception

2021-05-14T21:04:19.232300Z

Then thereā€™s the question of whether running a pod from Babashka constitutes ā€œlinkingā€. I would guess not, e.g. you can certainly run bash from Babashka via shell without thinking about bashā€™s license.

borkdude 2021-05-14T21:04:54.232500Z

The linking is probably the pod code with the mysql driver

borkdude 2021-05-14T21:05:33.232700Z

that it's a pod is kind of irrelevant, let's pretend I would add the driver to bb itself

Mno 2021-05-14T21:06:57.232900Z

I think I saw a Japanese version as well, but it may be I didn't do any research šŸ˜…

2021-05-14T21:07:36.233100Z

Iā€™m also not sure whether a classpath exception, if it exists for the MySQL driver, works under GraalVM native compilation.

2021-05-14T21:07:50.233300Z

(this stuff is so complicated!)

2021-05-14T21:13:51.233500Z

Hrm, according to this page the GPL is incompatible with the Eclipse Public License 1.0: http://www.gnu.org/licenses/license-list.html

borkdude 2021-05-14T21:19:13.233700Z

They have this though: https://oss.oracle.com/licenses/universal-foss-exception/

borkdude 2021-05-14T21:19:30.233900Z

and the mysql connector falls under this exception. it's only not so clear to me what this means

2021-05-14T21:49:51.234200Z

That certainly did nothing to help my understanding of the situation!