Fork me on GitHub
Alexander Heldt11:11:44

my macbook is dying and i want to get a new laptop, but i don’t want another mac. i’d love tips for laptops people like to use linux on


why no mac?


because you want to switch to linux completely?

Alexander Heldt11:11:13

i don’t like the recent keyboards on the mac (tho i’ve heard the latest one fixed that), plus i miss linux


I've heard good stories about Lenovo Thinkpad Extreme.

👍 4

yeah, I were going to buy a new laptop today I'd go for the 16" macbook. I already bought a new 15" a few months ago

Alexander Heldt11:11:25

i’ve been looking at the lenovo x1 carbon


lenovo thinkpad has good support for linux I've heard


FWIW, they’ve reverted most of the unpopular changes to the MacBook line that’s happened the last few years, including the keyboard.


I use Pop OS on an XPS 15, it works well


You have good laptop from Dell


like Dell XPS 13 7390

👍 4

Lenovo X1 Extreme. The bee's proverbal knees'!


I run Arch Linux on it - flawlessly.


❤️ arch linux !


I hear you @U1ZJ06MMK 🙂 Spead the lurve!


I've had really good luck with the Dell Precision laptops. I have one at home and at work both running Linux with... not too much trouble 🙂

👍 4
Alexander Heldt12:11:15

ok i’ll take a look at the x1 extreme then!

Alexander Heldt12:11:44

i used arch before. the only friction i had with it was me breaking my machine twice by upgrading some package… i need to be a bit more careful in the future


Thinkpad T and X series I really like T480

Alexander Heldt12:11:39

anyone using debian? i like the stability of it (for the reason that i apparently break stuff easily), but i fear not being able to install latest packages… but i guess i shouldn’t


For me, ArchLinux is the most stable linux distro for one reason: it do not do automatic stuff. No auto updates No auto configure on install no auto start on install... Debian, ubuntu, fedora... all these distros will blow up because they try to reconfigure on update but you customize the instalation then it will try to understand what you change and it do not work.

Alexander Heldt13:11:09

@U2J4FRT2T i totally see your point, i agree

Alexander Heldt13:11:18

its me as a user that made it unstable

Alexander Heldt13:11:24

i just have to figure out dell vs thinkpad now then. i had a thinkpad before and i loved it, but i’ve read the recent x1 carbon has cpu throttling issues with linux


Another thing I like about Arch (apart from it's fantastic flexibility), is that if you install a new service, it doesn't get enabled by default, you have to explicitly enable it (after of course, checking the configuration etc...), i.e., no magic services like on Ubuntu


lean and mean

Alexander Heldt13:11:29

yeah, i remember loving arch. im not looking forward to setup a new machine tho

Alexander Heldt13:11:40

i made a bootstrap script before but i’ve probably forgotten what most of it does


I do all my setup via Ansible


All my machine are configured/controlled by Ansible. After an initial install from Arch, I run ansible against the nearly blank install and away it goes...after a few minutes, my machine (or vm!) is up to the same level as all the rest.

Alexander Heldt13:11:04

that sounds great, i’ll read up on ansible

Alexander Heldt13:11:59

you don’t happen to have any config files etc. open-sourced?

Ben Hammond14:11:00

my 2010 MBP HD died the other week; a quick trip to and it was back and running

Ben Hammond14:11:23

if the mac is old enough, then it may be fixable ?


@UNNA27M5L unfortunately not - it's all internal and private to my network 😞

Alexander Heldt14:11:32

@U11EL3P9U no worries, thanks anyways!

Alexander Heldt14:11:57

@U793EL04V its not super old, but i’ve wanted an upgrade anyways. i’ll convert it to be a mediapc at home instead 🙂

Alexander Heldt14:11:21

my original post of “dying” was a bit of a stretch


re: arch linux - if you don't want to go through so much setup, manjaro linux is based on it and at least the setup is much simpler. (former arch linux user here)

Alexander Heldt15:11:11

@UG1C3AD5Z i know of it but never look at it much, do you find it nice?


i've been using it for years now -- and i used arch linux for years before.


if you want to know how things work and don't mind spending that time, i'd say go for arch linux first

Alexander Heldt15:11:48

cool, i guess you’re happy? did manjaro abstract away anything more besides the initial setup?


you don't get exactly the same stuff because they swap in some of their own things (or some modifications). but they tend to batch release after some testing, so i found the overall experience to be more stable.

Alexander Heldt15:11:12

sounds good, i’ll take a look at that as well. i’ve ordered an thinkpad x1 carbon now, looking forward to using linux again


all choices in os come with trade-offs -- i think i find things to be happy about in any choice. for being able to make your own packages and quickly tweak others, arch linux is quite good.


i've heard mostly good things about that machine. hope that works out well for you 🙂

Alexander Heldt15:11:21

yes i agree with you, it all comes down to trade-offs. nothing is perfect

👍 4
Alexander Heldt15:11:42

i just want to find a home where im comfortable with fixing issues. i remember liking the freedom in arch


I like the “i find things to be happy about in any choice”. Positive way to look at it.

🙂 4
👍 4
Alexander Heldt15:11:55

im looking forward to spending my christmas configuring a new computer haha

Filipe Silva15:11:46

I'm on the 2016 x1 carbon

Filipe Silva15:11:00

best machine I've ever had

Alexander Heldt15:11:23

i bought the gen 6, i dont need the latest 7

Filipe Silva15:11:36

that's mine too

Alexander Heldt15:11:38

i feel most problems with gen 6 is probably already solved

Filipe Silva15:11:00

I know you mentioned Linux, but in case you're curious I use it to great effect with a EGPU for gaming on windows

Alexander Heldt15:11:30

ah, nice to know. im planning to keep windows on a small partition just in case

Filipe Silva15:11:37

ah turns out mine is 2018, gen6 too

Filipe Silva15:11:42

this is my setup

Alexander Heldt15:11:44

nice writeup, i’ll take a look at it later tonight


I'm inclined to repeat business with I've bought 4 machines through them, and I've always been happy. Everything has worked. And if I had questions or problems - they were totally on the ball.


how are the keyboards and track/touchpads?


good question. I mostly dock the laptop and use a Kinesys keyboard and external mouse.


that's what i try ro do, but not always practical when travelling


I'm not fussy about keyboard / track pads - they seem fine.


love kinesis, but have not used one in years


I use a dinky $20 logitech external mouse in meetings.


it's unfortunate that often built-in input devices are not that great


i am a trackball user and have not found a good small one

Alexander Heldt17:11:41

Yes, i wish i could have the trackpad from a MacBook, they're pretty much perfect if you ask me

Alexander Heldt17:11:58

But i dont want to pay the price

Filipe Silva17:11:06

the x1c6 trackpad is decent, since it's a precision trackpad and thus managed by microsoft, with native gestures

Filipe Silva17:11:14

but it's not a mac trackpad

Filipe Silva17:11:45

you can get the external mac trackpad, and try to use

Filipe Silva18:11:51

AFAIK there's no external precision on sale for windows... but there is one that looks good for chromebook

Filipe Silva18:11:27

maybe it works on linux in general

Alexander Heldt19:11:52

yeah i know of the external mac trackpad, but i don’t like the idea of carrying around an external accessory. i like everything built in


@U2J4FRT2T for me Nixos is the most stable distro. It does everything automatically while still being dependable because every part is built with the foundation of immutability and functional programming 😄 Usually you communicate your needs via config file, instead of firing arbitrary command lines

Alexander Heldt09:11:35

@U0E2YV1UZ i tried getting into nixOS but i just couldnt get over how to do the configs. i really tried but i guess im not smart enough

Alexander Heldt09:11:56

i would love to use it tho, because its really cool how you can rollback if you break something

Alexander Heldt09:11:44

im interested in any resource that could help a potatoebrain like me


@UNNA27M5L it's not easy to start with, just like Clojure. Keep the growth mindset, don't say you're not smart enough

Alexander Heldt09:11:28

🙂 im just reveling in my lazyness. i’ll take a look at it again when i install my new computer


i found nixos to be an amazing experience, but 1) didn't have the time to keep building, 2) don't like the language that was needed at the time for configs. if i could survive with what guix has to offer, i might consider them again.


What's the library of choice for dealing with yaml in Clojure land?


You could try clj-commons/clj-yaml


it wraps snakeyml which is probably as popular for yaml as jackson is for json

👍 4

The Turing Machine is doing it wrong. Discuss.


My argument boils down to the fact that the Infinite Canvas is a poor analogy for RAM.


Because with functional programming, we want to map and filter and reduce, and not care about which couch something is behind currently. But there are few things in nature like the free wizard space of RAM and FP. Wondering what a good analogy would be.


If you are saying that a Turing Machine has never been physically implemented, then you are correct -- every computer is finite. In a very strict sense, every existing computer is a finite state machine, not a Turing Machine. However, the number of states is so huge that they can be in far more states than any human can comprehend in a reasonable manner.


Turing machines are primarily a useful abstraction representing one of the simplest possible set of operations required to get as general of computability power, in terms of what problems it is capable of solving, as any more complex realistic computer is capable of performing. So it is useful for theoreticians to prove results about.

eccentric J16:11:43

What kind of diagrams do people use to architect\plan projects in an FP lang like Clojure?


I was gonna say, for me a plain ol' org mode outline


I'm using a similar format in org mode


I'd say this is unrelated to the language you're developing in


FYI: conj videos are showing up...

📺 8
👀 4
👍 36
😲 8
🎉 12
eccentric J17:11:10

Right, I didn't mean to post that todo list! That was actually supposed to go to the standups channel in work slack but I accidentally posted it here. 😞

eccentric J17:11:40

In terms of what I was asking, I'm thinking what you would use in place of a UML class diagram for architecting a FP project?


Free form seems to be the most common thing. This is Rich Hickey in Effective Programs:

How many people like UML? How many people have ever used a UML diagramming tool? Right? It's not fun, right? It's like, "no, you can't connect that to that", "oh no, you have to use that kind of arrow", "no, you can't do this", "no, you can't...", it's terrible. OmniGraffle is much better, draw whatever you want. What are you thinking about? Draw that. What's important? Write that down. That's how it should work, right?

👍 16
eccentric J18:11:34

That's a fair criticism. I guess I'm just looking for ways to represent aspects of an FP application. Side effects, function params, data flow, etc...


I really just use the docs and docstrings for that. It would be redundant for me to do a diagram as well, but I guess it depends on your organization's needs.


luckily there are some diagrams from cognitect that might be interesting as samples: prepl, spec, and clj / tools.deps come to mind


We use Lucidchart at work, which is UML (I think). It’s kind of terrible, but can be useful to communicate high-level architecture to many different groups of people.


@UG1C3AD5Z I haven’t come across these. Do you have any links?


I reach for plantuml when I want to draw. You can represent in text... often I represent in edn and then write a tiny program to translate that into planuml text...


If I just want to show how stuff is related (like dependencies or such) I use the "dot" command. which is a part of


This isn’t quite what you’re asking for, but Hodur allows you to define the domain model as data and visualize it:


I went hunting and also found a graphviz + spec thing:

sogaiu19:11:48, like @U04V15CAJ (and @UE21H2HHD) said -- i found the web version to not work so well in firefox, but there's a desktop version which seems to be working well so far


@UG1C3AD5Z amazing, thanks!

🙂 4
eccentric J21:11:54

Thanks @UG1C3AD5Z exactly what I was interested in!

🙂 4
eccentric J21:11:45

Found another diagramming tool from a Clojure meetup about but I'm very curious about what decisions people make to represent FP styled programs.

👍 4

possibly relevant -- stuart sierra's 2012 strangeloop talk on function design patterns spells out some definitions. don't know if it's worth trying to capture that type of info in these types of diagrams.


nice -- same org that provides the fc4-framework thing @U8WFYMFRU mentioned it seems


@UG1C3AD5Z maybe we should try that instead of for clj-kondo... I kinda like the idea of just editing data instead of drawing 🙂


yes, i like the idea -- need to learn about it first though


where's the link to the code?

eccentric J20:11:36

Nice! That's the conj version of the talk I saw at a local meetup from Avi.


@U8WFYMFRU is that different from the fc4-framework?

eccentric J20:11:41

Nope, he's the developer of that tool


I'll just watch the talk.


Having good flow diagrams is also something I want to sci/babashka


and data gets the job done faster than drawing.


as long as i get to see some good diagrams, i'll be happy -- though the actual drawing seems to have some nice side-effects sometimes

💯 4

Good point here. "I wanted to update some diagram someone else made with OmniGraffle"


similar remarks for .key files?


is .key closed? I guess so


this is around minute 10-12


just zip of folder of xml?


remark at 11:40 -- repeat many many times!


i'm going to cry


this sounds fantastic


ok now I HAVE to watch this simple_smile


gotcha 😉