Hey everybody, welcome back to the channel today. I'm going to be talking about the top five email clients for Linux now Chances are you use email? I think everybody pretty much does now the level that you use email probably varies Some people check it several times an hour. Some people check it once a week I mean really it depends on what you do for a living or your general Idea of what emails for because a lot of people have transferred from using email to chat apps like discord and telegram and things for their primary means of communication and leave email for corporate responses and stuff like that But no matter what your level of use of email is chances are You've tried to decide how to use it now most people I'd say probably about 80 to 90 percent actually just use the web client so if you use Gmail which Most people use Gmail. Unfortunately. I use Gmail. I can't help it That Google has their hooks into me. I can't you know not Must use Google services must I Lost it there for a minute. Anyways You know most people use the web client, so they just go to gmail.com or whatever and that's how they check their email and then On their phone, they'll use the Gmail app But if you're a nerd or if you need more features Then what the web client will provide there are several clients available on Linux that do a really good job So that's what we're going to be talking about today. Let's go ahead and jump in Okay, so the first one I want to talk about is Neomutt and that's what this is right here now Neomutt is not for everyone. I'm gonna put that out there right up front It's a terminal based application and terminal based applications are definitely not something that Everybody will be into so that's just a thing if you're not into terminal based applications Go ahead and jump into the next Application which I'll leave the time stamps down below so you can jump around if you want to Main selling point of Neomutt is that is terminal based. It's low on resources and it's highly customizable It also has full support for most email services that support IMAP including Google But you'll have to have two-factor and authentication Enabled in order to actually use Google or Gmail Inside of Neomutt because you'll have to have an app specific password in order to do so now setting up Neomutt is not Easy if you're just going to do it on your own now that new Luke Smith has a tool or script That he's written called Mutt wizard, which I'll link in the description below And that will allow you to set it up really easily It has several dependencies with you go through and do that do it that way Including pass and GPG and all these things that you have to use in order to actually secure your account so I've started with this one because this is the nerdiest option out there This is the one that I use as my daily driver but it's really not for everyone but if you're into tweaking stuff and getting into the nitty gritty details of customizing terminal based applications This one would definitely be an option for you. So the next one I'm going to talk about is Thunderbird now Thunderbird I'm not exactly sure what the development status of Thunderbird is. It's not part of Mozilla anymore It's its own separate thing, but it used to be its own separate thing. Then it was Mozilla. It's very confusing I don't know who's developing anymore. It is still being developed. It's probably the most popular email client on Linux it is very customizable. It has a full a productivity suite including email calendar to do It has enterprise support ahead of the ones that are on here that are GUI applications. It has the most customizable Appearance in terms of actually laying stuff out so you can move your message You're the message over here or up top or along the side. It doesn't really matter There's several options. There are it has keyboard support and stuff Yeah, it's very easy to set up works well with Google and pretty much every IMAP service and I think it also works with pop I'm not sure. Are there even any services out there that still use pop 3. I'm not I'm not even sure I think most places have now just switched over to IMAP, but it works very well with Google Even works well with Google with two-factor authentication enabled, which is not something that Other apps on this list can actually say because all the other ones If you're using something like what Geary, which I'm going to talk about here in a few minutes you'll have to have two-factor authentication set up and and get a App specific password in order for her to actually work with it with Thunderbird. You can actually log into your Google Account through like a browser plug-in that it has that's included and it will just you know, log you in and then Do whatever two-factor right in Thunderbird Instead of logging you out or not working at all So a few cons for this. It's very clunky. That's something I've noticed that is It's just there's a lot here and the whole full productivity sweet thing like I Don't know if I can actually show you as I got here We got the calendar and then here's the to-do thing that can be kind of bloat for a lot of people and You know it has all these features that you might not necessarily need now One of the cool things about it is it does have a full suite of plugins that you can use including for contact syncing and Themes and all this sorts of stuff and that's not something that the other apps on this list can boast It's and it's also probably though because it's so popular It has the biggest community therefore if you have problems chances are you'll probably be able to find help with this one better Than if you used one of the other apps, especially Neomutt Neomutt doesn't have as big a community So you're not gonna be able to find the support as much as you would on Thunderbird now the next one. I'm going to be talking about is mail spring Mail spring is probably the prettiest of the Apps on this list if you like the design aesthetic of Apple's applications This is probably kind of like that now It also has come a ton of cool features it has read receipts and open and link tracking Enabled out of the box it has contact tracing and a ton of different Cool little features that it has built in that you can use that none of the other apps actually have For example, it has this share this thread feature. So you could actually share a email thread to the Cloud and then share it to people who aren't actually in the conversation, which is kind of cool It's definitely Not for everyone though because this aesthetic is very pretty It doesn't work well with piling window managers because it has this menu up here and you can't get rid of that I've also noticed that it doesn't really Play well at all with GTK themes. This is Written by itself in terms of theming and stuff. You can change the theme You know you could go to the dark theme here Like that and you can also create your own theme, but again, it's not it doesn't actually go through and Follow your GTK theme Like some of the other ones will actually won't list Thunderbird kind of does But it more focuses on your the theme you install from the The web store or whatever it's called All right, so that's mail spring. I should mention that it does feature It does work well with Gmail and proton and all those things The biggest downside actually that I forgot to mention this I really should mention this is that mail spring requires you to have a mail spring account in order to even use the app It will not even open the app and allow you to sign into an email account Without having a mail spring account and as far as I can tell that mail spring account is completely useless You don't get anything for it. You're just giving them your email address for no parent reason Now if you sign up for their pro account, then I suppose you'd maybe get some Kind of benefits for having an account through mail spring But you know, I don't know anybody who does it it's a dollars a month I'm not gonna pay dollars a month for an email client when there are other free options or when I can give that money to an app a developer That I actually want to support that I'm not being forced to support, you know, so Keep that in mind. You can't actually use this without Having an account So the next one I want to talk about is Gary now You'll notice here that I don't actually have Gary and I have do have Gary installed, but I can't sign into it because it doesn't play well with Gmail now if you have Two-factor authentication set up you can get an app specific password and actually get this to work But I wasn't gonna go through and do that for this Video I just I just didn't have time to do it But Gary itself is actually very well-designed. It's kind of reminds you of mail spring and kind of like Reminds you of maybe Apple Mail in terms of design It may it probably won't use this Look and deem anymore because this is you know an older screenshot So it will use your g2k theme from whatever you're using And it's just an email client. So it doesn't have the extra Features or functionality of something like Thunderbird. It's just an email client. It's very fast and it's easy to set up So if you're using just a standard IMAP account, it is truly easy to set up if you're using Gmail It's not so easy to set up because like I said, you have to have two-factor authentication on You have to have an app specific platform and actually order to get to work And that's because it doesn't Unlike Thunderbird where Thunderbird will take you to like a to the browser once you Try to sign in with Gmail and it'll allow you to sign in with Google's like web page or whatever And then we'll take you back to the app after authenticating Gary does not do that. It just has a regular login screen that it for itself and that's all it is And that's really disappointing if you're using Gmail So if you're using something else is probably the best solution on the list because Gary is really well done It's really fast. I will say that it's not updated very often. So well, I don't think it's abandoned It's updated maybe once a year ish. So in terms of Security patches and new features and stuff. You're not going to be expecting a lot with Gary This is one of those ones that just is I think developed by like one or two people and that's literally all there is It's good, but just keep that in mind Okay, so the last one on the list is evolution and once again You'll notice that I don't have this up for you to actually use and that's because it will not launch on my computer Like I have installed if I do evolution like it's there and I can hit enter and it never shows up I don't know why I installed it through the pet the arch Repositories and I'm not sure like actually I can actually go through and look that's that'd be an interesting So it has been updated recently. So why it doesn't work on my particular system. I don't know That's just it's just a thing. So that might be just me a me problem I have had this problem in the past where we'll just not start for whatever reason and Whether that's an arch problem or if it's an evolution problem, like I said, I'm not sure so That may be turning you away from this immediately, but I would say don't let it unless it actually won't work for you I give it a try because of all of them on the list. I think evolution is probably the best now. It is a full Productivity suite it has contacts current calendars tasks and memos You may never use those things. It doesn't matter The reason why I like it and when I can get to work I use it When I'm not using you might is because it's easy to set up It works well with most email accounts including gmail It follows the g2k theming very well because it's actually developed by the genome foundation or at least somebody who's associated with the genome foundation, so If you don't like supporting genome software, then this one probably is not for you. It has enter surprise support I didn't mention an enterprise support for the other ones But mail spring has enterprise support and Thunderbird has enterprise support So if you have an enterprise email those three or these three will work the best for you I don't think Geary does and I'm not sure how Neo mutt would support it I'm assuming you'd have to have some kind of hacker. You know what or they actually get to work Geary is updated very frequently. It's it's done. Like I said, it's supported by the genome foundation the Code is actually on The genome get lab. So, you know, it's very well tied in with genome So if you're if you're a genome user or a desktop environment, that's based on genome or g2k This is probably the one that will look the best and we'll get the most updates It's also very fast when you can actually get to start And like I said, it has full productivity suite So if that's something that you're looking for that, you know, you want you want you want to have all of your Calendars and tests and emails and stuff all in one place. This would be a great option in terms of comparing this one and Thunderbird, which is also the full productivity suite thing Really, that's going to come down to How much you want to customize interface because Evolution doesn't have very much customization terms of interface at all Thunderbird allows a lot of customization and has theming and stuff and plug-in support and all this Kind of stuff whereas evolution is really kind of just meant to be however it is That's what you get out of the box is what you're going to get So in terms of cons the full productivity suite again may turn some people off It might be bloat for some people Maybe you just want an email client in which case you'll want to, you know Look at one of the other ones on the list the design may not be February like I said It's not very customizable Thunderbird of all of them in terms of interface Thunderbird is the most customizable Unless you're looking at like Neal mutt where you can actually go through and really get into the code And the last one is that I've had some problems with bugs in the past. So On my system right now, I can't get to launch don't know why I've had that problem before I've had problems where it would crash in the past. So one of the Cons of it being updated to frequently is you're probably going to see more bugs with it than what you would with Gary in term You know because Gary seems to be a little bit more stable now granted if there's a showstopping bug on Gary It's not probably gonna get fixed as fast as it would on evolution. So that's a thing. So Those are the top five email clients for Linux now Like I said, I use Neal mutt, but that's mostly because I'm a nerd for everything in the terminal And I will continue to be that way for a long time. It's just the way I Prefer to do work if I were to use a GUI. I'd probably use Evolution if I could get it to run or Thunderbird Malespring is the prettiest and I like this that I could mail spring, but I don't this camera is horrible We'll just fight through it. Shall we? I'm trying to turn the lights up. Maybe they'll stop If anybody ever wonders why I'm really well lit Overlit maybe because this camera requires weird lighting and if you don't have it just right It does this nonsense. Anyways, what was I talking about? If if I were to use one of the GUI ones, it'd probably be evolution or Thunderbird Thunderbird seems to be the most customizable and I kind of like the customizable thing. So Thunderbird probably would be my options things how I can't get evolution to work So anyways, if you use a different email client, let me know in the comments below if you're something else Do you like or let me know which one of these that you enjoy and I'll work on the whole Shifting light thing. I don't know what's going on with that. It's no way. I really got dark there Thanks for watching You can follow us on Twitter at the Linux cashing and follow us on Facebook at the Linux cashing You support us on patreon at patreon.com slash the Linux cast I'd like to take a moment to thank our current sponsors Devon Marcus Meglin American Camp. Thanks everybody for your support Support me for a better camera if you would please seriously.  This is dumb Thank you for your support. Thanks everybody for watching. I'll see you next time


This lecture is part of an online course on mathematical group theory and will be about the transfer homomorphism between groups. So as motivation for this, in previous lectures we've classified the groups of order up to 24 and we're now going to look at the groups of order 30. So group of order 30 has ordered 2 times 3 times 5 and this is the first example of an order that's a product of three different primes. And in order to do this we're going to show that if she has ordered 30 then she has a normal subgroup of index 2. And the way we will do this is we will construct a transfer homomorphism from G to it's a subgroup of order 2 of it and this map will turn out to be on 2. So here this is a seal of 2 subgroup of G and this map will be on 2 and so its kernel would be a normal subgroup of order 15. This makes G easier to classify because the only subgroup of order 15 must be cyclic of order 15. So we get an exact sequence like this and this is split because G has an element of order 2. So G is isomorphic to a semi-direct product Z modulo 15Z with Z modulo 2Z and these are just classified by the ways the group of order 2 can act on the group of order 15 and there are four ways you can do this and this gives us four groups for G none of which are terribly interesting. It can be cyclic or it can be a product of a group of order 2 by sorry group of order 3 by a cyclic group of order by the dihedral group of order 10 or it can be a product of a group of order 5 by the dihedral group of order 6 or it can be the dihedral group of order 30. So there's nothing new there are just products of groups we already know about. So what we've got to do is to construct this magical transfer homomorphism. I should say this is transfer and the way it works is as follows. Suppose H is a subgroup of a group G then the transfer homomorphism will be a homomorphism from the abelianization of G to the abelianization of H. So what is the abelianization of G? Well this is the biggest abelian quotient of G. So informally you can think of it as being what happens if you take a group and force it to be abelian. So what we do is we take the set of all elements ab 8 minus 1b to the minus 1 in G and these generate a subgroup called the commutator subgroup of G sometimes denoted like this because ab sometimes used to mean ab 8 minus 1b to the minus 1 so and G modulo the commutator subgroup is abelian because you've kind of forced all the elements to commute by just quotienting out the bits that stop everything commuting. If you have any homomorphism from G to an abelian group then you can easily see that this actually factorizes through the abelian quotient of G. So this is a sort of universal way of making G into an abelian group. And what you notice is we seem to have made a mistake here because this arrow goes in the wrong direction. It seems to be going in the wrong way. So if we've got a map from H to G then it's pretty easy to see we've got a map from the we get an induced map from the abelianization of H to the abelianization of G so it looks as if it made a mistake there but in fact the transfer really does go the wrong way. The way of defining the transfer we're going to give looks a bit mysterious. The most natural way of defining the transfer is to use the fact that the abelianization of G is in fact some sort of Tate homology group of G with coefficients in Z. And there are various Tate co-homology groups for all integers N. And for all of these Tate co-homology groups you get a map from the Tate co-homology group of G to the Tate co-homology of H. However, using this definition requires defining Tate co-homology which takes rather a long time. So what we're going to do is going to forget about Tate co-homology and come up with a sort of elementary ad hoc definition which looks a bit mysterious. This is sort of the definition you get if you unwind the definition of Tate co-homology. So we define it as follows. This is the definition of the transfer from the abelianization of G to the abelianization of H. And what we do is we write G is a union of left cosets of H. So it's a union of elements A i H. And then we're going to look at what, let's pick some G in G and look at the action of G on all these left cosets. So you can, you remember G is really acting on the set of left cosets by left translation. So let's look at the action. Well, suppose these left cosets are A 1 H, A 2 H and so on. Then we have G A 1 is equal to A, well it's going to be A something, let's say A i 1 times H 1. G A 2 will be A i 2 times H 2 and so on. So the action of G on these left cosets is taking A 1 to A i 1 and A 2 to A i 2 and so on. And we have these undetermined factors of H on the left. And then the transfer of G is simply defined to be the product H 1, H 2, H 3 and so on. And this definition looks really fishy. So we better check that it is actually a well-defined definition. First of all, the order of the H i does not matter. You see we've got H 1, H 2, H 3. Well why don't we take H 2, H 1, H 3 and get a different element? Well the order doesn't matter because we're considering this to be an element in the abelianization of H. So whatever order you multiply these in, it gives the same element in here. So as we work in H, abelianization of H. So the order doesn't matter. Well the next problem is A 1 and A 2 and so on aren't uniquely determined. So what happens if we change A 1 to say A 1 H? Because A 1 H is equal to A 1 H H. So the definition of transfer seems to depend on our choice of left coset. Well it doesn't, actually it doesn't. Because we know that G A 1 of H is now going to be A i 1 H 1 times H. Sorry there shouldn't be a one there. And we've also got a G A J for some J is going to be A 1 times H J. And this will be equal to A 1 H times H to the minus 1 H J. So if we replace A 1 by A 1 H, then we replace H 1 by this and we replace H J by this for some J where J is the thing mapping to A 1. So we replace H 1 H J by H 1 H H minus 1 H J. And this is just equal to H 1 H J. So the choice of coset representatives doesn't matter. So T does not depend on the coset representatives A i. So it is actually well defined. Finally we want to check that T is a homomorphism from G 2 H abelianised. And for this we just calculate what it does. So suppose G A 1 is equal to A i 1 H 1 G A 2 is equal to A i 2 H 2 and so on. So that T of G is equal to H 1 H 2 and so on. And suppose we've got another element G prime of A 1 which is going to be a J 1 H 1 prime G prime A 2 is equal to A J 2 H 2 prime and so on. So T of G prime is equal to A H 1 prime H 2 prime and so on. Now we have to work out what G prime G does to things. Well this takes A 1 to A i 1 H 1 which is now going to be A something or other whatever G prime takes A 1 2 times H i 1 prime times H 1. And similarly G prime G of A 2 will be A something or other H H i 2 prime H 2 and so on. So T of G prime G is the product of all these. So it's H i 1 prime H 1 H i 2 prime H 2 and so on. And now you notice that these things here are just a permutation of these things here. So these things there not that one. So T of G prime G is just the product of all the H primes and all the H's. So it's the product of T of G and T of G prime. So this equals T of G, T of G prime. So we verify that this rather peculiar definition of transfer is indeed a well-defined homomorphism from the abelianization of G to the abelianization of H. Incidentally we define it using left cosets and you may wonder what happens if we define it using right cosets. If you define it using right cosets you get the same thing but I don't need that so I'm not going to bother proving it. Well the next question is how do you calculate it? So if G is in G let's try and find out what is T of G and the definition makes it not easy to see what this is. Well so let's try. Let's take G to be in H. So this makes it a little bit easier to calculate and then we calculate G A1 is going to be A2 and what we're going to do is just choose A2 to be equal to G of A1. You remember we could vary the choice of cosets without changing the transfer homomorphism and similarly G A2 then we can just choose A3 and it goes on like this until we get back to A1 but then we can't choose A1 because we we already fixed A1 so there has to be some element H here. Let's call this H1 and then we can carry on like this GAN plus one is equal to AN plus two all the way up to GAN plus K is equal to AN plus one times some element H2. So what we're doing is we're splitting up the action of G on the set of cosets into cycles and for each cycle we just get one element of H and then the transfer of G is going to be H1, H2 and so on. Well how does that help? Well what we do is we notice that G squared A1 equals A3 G cubed A1 equals A4 so G to the N A1 and you go all the way this equal to A1 H1 how does that help? Well this says that H1 is equal to A1 to minus one G to the N A1 and similarly for H2 and so on. So H1 is actually a conjugate of G to the N. Well how does that help? Now suppose H is the following special property. Suppose that in H no two distinct elements are conjugate in G. Well then from H1 equals A1 to minus one G A1 you notice these are both in H and they're conjugate so this gives us H1 equals G and similarly H2 equals G and so on. So sorry G to the N and this would be G to the whatever the next number is so that should have been G to the N. So the transfer of G is just equal to H1 H2 and so on which is equal to G to the N G to the K and so on which is equal to G to the number of cosets which is the index of H in G. So we've actually found a formula for the transfer of an element of H provided H has this slightly funny property here. Well when does H have this property? Well first all if G is abelian then the transfer of an element of G for G and H will just be G to the G the index of G and H so it's not really a terribly exciting map. This also occurs if H is in the center of G and another case that occurs if H has order two because if H has order two then any two elements in H that are conjugate must obviously be the same because they're either the identity or they're the unique element that's not the identity. So in other words if H is order two this means that the transfer from G to H acts on H as G goes to G to the index of G in H. Now if this is even then that's rather uninteresting it just says the transfer is the trivial homomorphism but if G modulo H is odd this means that the transfer map from G to H which is equal to the abelianization is onto. So in other words so if the order of G is of the form two N with N odd then there is a homomorphism given by the transfer from G to H where this is a seal of two subgroup. So this is a homomorphism T onto H. So G is a semi-direct product K with H where this is index two and this is a group Z modulo two Z. So we found the structure of all groups of order two times an odd number. They're all semi-direct products of a group of order two and some group of odd order. So in particular G is not simple so there are no simple groups of whose order is congruent to two modulo four. And of course in particular we can apply this to the group of order 30 that we start with and see that it has a normal subgroup of order 15 as we said earlier. So we can do a bit more than this. So suppose P is the smallest prime dividing the order of G. If P squared does not divide G then the seal of P subgroup is Z over PZ. And you notice that no two distinct elements can be conjugate because if they were conjugate they would have to be an inner automorphism of G acting on this non-trivially and the group of inner automorphisms of this is only divided by divisible by primes less than P but G doesn't have any elements of order less than P. So the transfer map from G to Z over PZ acts as G goes to G to the order of G over P for G sorry little G in Z modulo PZ. And since this is co-prime to P this transfer map is onto. So G has a normal subgroup of index P we call that a normal P complement. So G is not simple. In fact if you look at this argument a little bit more carefully you see that it also applies even if P squared does divide the order of G provided the seal of P subgroup is cyclic. So in particular we found that if so for any simple group its order must be divisible by the square of some prime in particular it must be divisible by the square of some prime not dividing it. So let's give one final application of the transfer so suppose G is simple and suppose that the seal of two subgroup of G is well it can't be Z modulo two so the next simplest possibility is Z modulo two Z times Z modulo two Z. So it's got three different elements of order two and the question is are these conjugate in G or not? Well then all elements of order two in G are conjugate well suppose not then look at the elements in the two seal of subgroup we've got an element one and we've got three elements A, B and C. If these aren't all conjugate then either no two of them are conjugate or or maybe A and B are conjugate we don't really care but there's going to be some element C not conjugate to anything else. So then some element C not equal to one in Z over two Z squared is not conjugate to anything else. Now we look at the transfer map from G to Z over two Z times Z over two Z and the transfer of this element C as before is equal to C to the order of G modulo divided by four which is must be equal to C because this is odd. So we've got a homomorphism from G onto a group of order two or four so G has a normal subgroup of index two so G is not simple. So you see that's that the transfer map has given us a small amount of information about simple groups. If the seal of two subgroup is the Klein four group then all involutions in G are conjugate. Okay the next lecture will be about what a ridiculously large number of groups of prime power order there are.


Hi, this is Dr. Don. I'm going to take a few minutes and show you how you can use ChatGPT, one of the free AI tools that's out there, to help you find code or write code to solve problems that you need to solve. Here is a view of my Posit Cloud workspace. I've loaded already the GapMinder package into the library that has the data I need. And then I created a data frame, GapMinder underscore DF, from that data in the GapMinder package. And you can see it over here in the environment. So my instructions that I've given is to make a graph plotting GDP per capita, which is one of the variables in life expectancy using another variable for all the years for the United States, Italy, and Germany. I think it's got a note there by filtering the country variable. Make GDP per capita the x variable, and life expectancy the y variable, and again make sure you filter that. So I'm just going to take these instructions, copy them, control C on a PC, and I guess Command C on a Mac, and jump over here to ChatGPT, which I've already opened up, and I want to just start having a conversation. I have a data frame, GapMinder DF. I need to make a graph using these instructions. GapMinder DF also load all needed PACK packages. So let's run that. Okay. We got an answer there, but I didn't tell it. I wanted to use R. So for some reason, it tends to default to Python. So what I want to do down here is say, okay, but use R code instead. Okay. Let's look at this code here. It said we need the tidyverse packages, and that's that code, and then it shows how to filter, and then to create the plot. So I'm going to copy this, and then we'll go over into Posit Cloud. Okay. I'm in Posit Cloud. Let me drop down here. I've got an empty code chunk I've inserted. So let me just paste this in, and I'm just going to run it as is and see what happens. I'm going to go up here and find the Run button, and let's see. It seems to have Run, and there we go. We've got a plot of those three countries, Live and Filtered. It's got a dot plot. I think I'll change it to be a line plot, but everything's there. It gave me all I think I need. Let's go back to ChatGVT, and I'm just going to say, great. Please update to use a line plot. And just by inspection, the only thing that's changed here is GeomLine, plus up here in the first one, it was GeomPoint. So I'm just going to copy, instead of pasting the whole thing, I'm just going to copy the GeomLine, Control-C, go over here into Posit Cloud, and paste over here, and now run the code again, and there we have my plot. Just to give you an idea of how helpful it can be to use Posit Cloud or one of the AI tools to help you with code, so you can focus on answering your questions and thinking about that, the types of analysis you need instead of fighting with the code. Again, I hope this helps.