1. -2

    I find this hilarious. As Steve Lord has mentioned, Gary Bernhardt was right!

    1. 5

      I do these things once a week at least… >_<

      1. 1

        Sublime isn’t free, so it’s natural for people to go and look somewhere else. Btw Sublime is my third favorite all time text editor (Emacs on first place, Vim second). It is probably one of my favorite modern applications, looks and works like a clock on every platform. But what people look for is accessibility. Integrated debugger and git support are one of few reasons why everybody went down that route. It is questionable if that is the area which text editor should cover, but if it is easy to setup and use then people roll with it.

        Same principle could be applied to Electron. Surge of web technologies, JS and web devs led to logical step of creating customizable environment that would be programmed with HTML/CSS/JS. And it is fine. Look, why would someone who is front end developer, who haven’t written in any lower level language since college (or even ever) go through the process of learning lisp or vim. He goes and finds free editor, written with web technologies in mind and it looks pretty and has all the features he can possibly need.

        Sublime on the other hand is really good and robust text editor, and that’s it. In it’s essence it is really to the point, getting the job done fast and without too much bells and whistles. Yeah maybe in 2010. Sublime’s extensions and plugins were something that no other editor had, but it got surpassed pretty fast by Atom and later on by VSCode. Atom and Code can dream of speed, code navigation and indexing that Sublime has. If I had to work on larger code base I can see myself coming back to Sublime. For now (and that’s few year for now) Emacs is still keeping me pretty satisfied. Vim is always there in CLI. And I stopped looking at anything that’s Electron quite some time ago.

        edits: typos

        1. 18

          Slightly off topic: I see people complaining a lot about Electron, with Slack being a prime example.

          I think the success of Visual Studio Code means that it is possible to build excellent apps using Electron. And that the performance of Slack app is not necessarily representative of all Electron based apps.

          1. 26

            I think it’s possible. But VSC is literally the only Electron app that doesn’t blatantly suck performance-wise. Is that because Microsoft just actually put in the effort to make something good? Or is it because Microsoft has built best-in-class IDEs that scale radically better than any alternative for a long long long time?

            Now no one get me wrong, I’m a UNIX guy through and through, but anyone who claims there’s anything better than Visual Studio for large scale C++ development has no clue what they’re talking about. C++ as a language is complete bullshit, the most hostile language you can write an IDE for. Building an IDE for any other language is child’s play in comparison, and Microsoft is proving it with VSC.

            I don’t think it’s currently possible for anyone besides Microsoft to make an excellent Electron app. They took a bunch of internal skill for building huge GUI applications that scale, and built their own language to translate that skill to a cross platform environment. I think they could have chosen whatever platform they felt like, and only chose to target Javascript because the web / cloud is good for business. We’ll start seeing good Electron apps when Typescript and the Microsoft way become the de facto standard for building Electron apps.

            But I also haven’t slept in 24 hours so maybe I’m crazy. I reckon I’ll go to bed now.

            1. 7

              but anyone who claims there’s anything better than Visual Studio for large scale C++ development has no clue what they’re talking about.

              JetBrains CLion might actually be a bit better – but they started building addons to improve development in VisualStudio (e.g. the amazing ReSharper) originally, and only expanded to build their own IDE later on.

              I fully agree on all other points.

              1. 5

                CLion definitely has a great feature set, but I’ve found a lot of it to be unusably slow, at least on our large codebase. Lots of us use Qt Creator even though it’s objectively worse and has some sketchy bugs, because it’s at least fast for the stuff it does do. I look forward to the day I can comfortably switch to CLion.

                1. 3

                  CLion is fantastic, I came to it after a lot of use of PyCharm.

              2. [Comment removed by author]

                1. 5

                  I don’t think I can agree on the hype thingy here.

                  Background: I hate developing on Windows, been using Linux for god knows how many years, but I do have a Windows work(play)station at home where I sometimes do development and I don’t always want to ssh into some box to develop (or in the case of creating Windows applications, I can’t)

                  I’ve been using eclipse for years (for the right combination of languges and available plugins, of course) and had been searching for a decent “general-purpose” replacements (e.g. supports a lot of languages in a decent way, is configurable enough so you can work, has more features than, say, an editor with only syntax highlighting). So ok, I never used Sublime Text (tried it out, didn’t like it for some reason) and VS Code was the first thing since like 10 years where it was just a joy having a nice, functioning and free IDE/text editor that didn’t look like it was written i the 90s (like, can’t configure the font, horrible Office 94-like MDI), doesn’t take 2mins to load (like eclipse with certain plugins) etc.pp

                  It’s about frictionless onboarding, and yes, maybe I sound really nitpicky here - but it’s from the standpoint as a totally hobbyist programmer, as my overlap with any work projects or any serious open source work (where I usually have the tooling set up like at work, as it’s long-ongoing and worth the investmnt). That’s also the focus on free. Absolutely willing to pay for a good IDE (e.g. IntelliJ IDEA) but not if I’m firing it up once per month.

                2. 3

                  Is there a chance that the ill reputation of Electron apps is that Electron itself offers ample opportunity for prime footgunmanship?

                  I’d argue that yes, it’s quite possible to build a nice simple (moderately) lightweight thing in Electron; it’s just pretty hard in comparison to building, say, a nice simple (definitely) lightweight CLI. Or even a desktop app using a regular graphical toolkit?

                  1. 10

                    Visual Studio Code, Slack, Discord, WhatsApp, Spotify all are unfortunately not simple. And while they could be reduced to simpler apps, I kinda feel like we’re all using them exactly because they have all these advanced features. These features are not useless, and a simpler app would disappoint.

                    It also seems like GUI and CLI toolkits are lagging behind the Web by maybe a decade, no joke. I’d love to see a native framework that implements the React+Redux flow. Doesn’t even have to be portable or JavaScript.

                    1. 4

                      I’m a huge fan of CLI software that eats text and outputs text. It’s easier to integrate into my flow, and the plethora of tools that are already available to manipulate the inputs and outputs.

                      An example: I’ve written a CLI client to JIRA that I have plugged into the Acme editor. I just tweaked my output templates a bit to include commands that I’d want to run related to a given ticket as part of my regular output, and added a very simple plumber rule that fetches a ticket’s information if I right-click anything that looks like a JIRA ticket (TASK-1234, for example). It’s served me well as a means to not have to deal with the JIRA UI, which I find bloated and unintuitive, and it allows me to remain in the context of my work to deal with the annoyance of updating a ticket (or fetching info regarding a ticket (or listing tickets, or pretty much anything really)). It’s far from perfect, but it covers most, if not all, of my day-to-day interaction with JIRA, and it’s all just an integration of different programs that know how to deal with text.

                      [edit: It’s far from perfect, but I find it better than the alternative]

                      1. 1

                        Is either part of that open-source by chance? I’ve been trying acme as my editor and use JIRA at work. I have a hunch you’re largely describing four lines of plumb rules and a short shell script, but I’m still having trouble wrapping my head around the right way to do these things.

                        1. 3

                          Full disclosure, the JIRA thing has bugs that have not stopped me from using it in any meaningful way. https://github.com/otremblay/jkl

                          The acme plumbing rule is as follows:

                          type	is	text
                          data	matches	'([A-Za-z]+)-([0-9]+)'    
                          plumb	start	rc -c 'jkl '$1'-'$2' >[2=1] | nobs | plumb -i -d edit -a ''action=showdata filename=/jkl/'$1'-'$2''''
                          

                          It checks for a file called “.jklrc” in $HOME. Its shape is as follows:

                          JIRA_ROOT=https://your.jira.server/   
                          JIRA_USER=yourusername
                          JIRA_PASSWORD=yourpassword
                          JIRA_PROJECT=PROJECTKEY
                          #JKLNOCOLOR=true
                          RED_ISSUE_STATUSES=Open
                          BLUE_ISSUE_STATUSES=Ready for QA,In QA,Ready for Deploy
                          YELLOW_ISSUE_STATUSES=default
                          GREEN_ISSUE_STATUSES=Done,Closed
                          # The following is the template for a given issue. You don't need this, but mine contains commands that jkl can run using middleclick.
                          JKL_ISSUE_TMPL="{{$key := .Key}}{{$key}}	{{if .Fields.IssueType}}[{{.Fields.IssueType.Name}}]{{end}}	{{.Fields.Summary}}\n\nURL: {{.URL}}\n\n{{if .Fields.Status}}Status:	 {{.Fields.Status.Name}}\n{{end}}Transitions: {{range .Transitions}}\n	{{.Name}}	| jkl {{$key}} '{{.Name}}'{{end}}\n\n{{if .Fields.Assignee}}Assignee:	{{.Fields.Assignee.Name}}\n{{end}}jkl assign {{$key}} otremblay\n\nTime Remaining/Original Estimate:	{{.Fields.PrettyRemaining}} / {{.Fields.PrettyOriginalEstimate}}\n\n{{.PrintExtraFields}}\n\nDescription:   {{.Fields.Description}} \n\nIssue Links: \n{{range .Fields.IssueLinks}}	{{.}}\n{{end}}\n\nComments: jkl comment {{$key}}\n\n{{if .Fields.Comment }}{{$k := $key}}{{range .Fields.Comment.Comments}}{{.Author.DisplayName}} [~{{.Author.Name}}] (jkl edit {{$k}}~{{.Id}}):\n-----------------\n{{.Body}}\n-----------------\n\n{{end}}{{end}}"
                          
                          1. 1

                            Thank you so much! I’ll take a look shortly. It really helps to see real-world examples like this.

                            1. 2

                              If “jkl” blows up in your face, I totally accept PRs. If you decide to go down that path, I’m sorry about the state of the code. :P

                      2. 1

                        It also seems like GUI and CLI toolkits are lagging behind the Web by maybe a decade, no joke. I’d love to see a native framework that implements the React+Redux flow. Doesn’t even have to be portable or JavaScript.

                        I couldn’t disagree more. Sure, maybe in “developer ergonomics” Web is ahead, but GUI trounces Web in terms of performance and consistency.

                        1. 1

                          I’d love to see a native framework that implements the React+Redux flow.

                          Maybe Flutter?

                          1. 1

                            Flutter is such a native framework, although only for mobile (i.e. Android & iOS).

                          2. 2

                            I belive one of the things that gave Electron apps a bad reputation (aside from the obvious technological issuses) were things like “new” web browsers, built with electron, offering nothing practically new, that most people would actually want, such as lower memory consumption, for example.

                            1. 2

                              Building UIs is hard in general - it seems like electron trades off ease of making UIs performant for ease of building them.

                              That being said, it seems like it’s not prohibitively difficult to build a fast UI in electron: https://keminglabs.com/blog/building-a-fast-electron-app-with-rust/

                              It seems like most people building electron apps just don’t think about performance until much later in the process of development.

                            2. 2

                              I think one of the few main selling points of Electron was accessibility. Anybody with solid knowledge of HTML, CSS and JS could find his way around and build the app that was running on multiple platforms. But it wasn’t performant and it was quite resource hog as it turned out. Now why is this not the case with Visual Studio Code? Because it is being written by really good developers, who are working for Microsoft, who worked on creating Typescript, in which is Visual Studio Code written, on top of Electron. Now you can get the sense of things why Visual Studio Code is different case than rest of the Electron apps, people behind it are the reason. And whole story defeats the point of Electron. If Electron as a platform could produce half as good results as VSC in terms of performance and resource efficiency than maybe it would be more viable option, as it is right now, I can see the pendulum swinging back to some other native way of implementing applications.

                              1. 2

                                I mean, I hate the web stack like few others, but I think the point that ultimately the people are more determinative than the technology stands.

                                I just really hate the web.

                              2. 1

                                I completely agree. I think that a lot of the frustrations with the quality of Electron apps is misplaced.

                              1. 2

                                Almost every talk from Bryan Cantrill, Stuart Halloway and Gary Bernhardt.

                                1. 4

                                  Cantrill recently posted a list of all his talks. Don’t know if you saw that post.

                                  http://dtrace.org/blogs/bmc/2018/02/03/talks/

                                  1. 2

                                    I did indeed, but thanks anyway! Only thing missing over there is BSDNow podcast appearances, which I think are pretty good, especially first one, “Ubuntu slaughters kittens”.

                                1. 4

                                  I have no specific questions but I wanted to say how much I enjoyed the talk, and how much I look forward to the time when I can brew cask install xi and act as your alpha tester.

                                  1. 2

                                    If you’re interested in playing around with Xi on a mac, you should check out xi-mac. It doesn’t have much complex tooling but it does use CoreText which is pretty interesting, and in general is a very smooth feeling editor (compared to say, Atom).

                                    1. 1

                                      Yeah, I looked at it! But I couldn’t build it, because I only have the commandline tools, and it requires full Xcode.

                                    2. 1

                                      Pretty much I am in the same boat as Peter, both for Xi and Alacritty! Since I am no Rust dev (yet ;)) I feel like it’s too early for me to use it, but I check both projects on Github once in a while.

                                    1. 2

                                      Nice. So it’s mostly for web developers or really as mentioned power users. A matter of time until we see “how do I quit nEXT” posts :) The navigation experience reminds me of Chrome’s Vimium ext. https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb?hl=en

                                      1. 2

                                        It has Emacs keybindings, so I think that wouldn’t be a problem. ;)

                                      1. 3

                                        This is a fair response. Thank you.

                                        1. 57

                                          Yeah, “moderating” with a don't make "hate posts" isn’t gonna cut it. There was glossed over reason for not liking electron followed by good discussion pointing to the actual reasons. This looked a lot more like a “frustrated and with good reason” post to me!

                                          If absolutely nothing else - there needs to be an explanation from @pushcx on what the specifics of hate are!

                                          I sincerely hope that this type of moderation doesn’t become the norm!

                                          1. 16

                                            It’s really boring whenever an app made with Electron comes up that someone has to bring up that they don’t like Electron. It adds nothing to the conversation. I hope this kind of moderation becomes the norm.

                                            1. 45

                                              And I personally find many discussions on this site boring, but I’d hope that my discussion preferences don’t get baked into moderation policy.

                                              We’ve already got downvotes.

                                              1. 10

                                                So… sarcastic remarks are now a no-no?

                                                I find Electron to be a little too much bloated for my taste. I would not recommend it as a go-to solution for desktop applications, since not everyone really needs bundled web browser and ffmpeg. That out of the way, feel free to talk about it’s advantages.

                                                Is this really better?

                                                1. 5

                                                  I assume you mean moderating of the comment.. not the removal of the entire thread.. hopefully you mean that :P.

                                                  1. 6

                                                    Exactly this! Much nicer way to resolve this situation was to say in comments like “Hey, we consider this type of comments harmful because of etc etc etc… but no, they had to remove it. And the comment was not as problematic as they present it here. I don’t want to leave this place after 3 years of reading other people’s (well moderated) opinions. I kinda felt this is going to happen after JCS announced that he’s stepping out.

                                                  2. 0

                                                    Its really boring when a “lightweight” app comes up that has been written in Electron, when it is far from lightweight. It adds nothing to the site. I hope this kind of content doesn’t become the norm.

                                                  3. 5

                                                    Given the effects of rants on conversation (especially rants many of us have read many times), it would be nice to enforce stricter requirements on the writer of the rants to offer “constructive feedback”.

                                                    “I’m really tired of having to install Electron’s 200 megs” yeah we all are… “would be nice to have some shared libs/for people to rely more on OS-specific containers” OK now we have something that adds to the conversation.

                                                    And if we’ve all had this conversation before…. well… we can just not make the post (This one might apply to my own post but I don’t read it that often).

                                                    EDIT: I don’t necessarily think this requires deletion in most cases. Downvotes should work so long as people aren’t rage-upvoting….

                                                  1. 5

                                                    I don’t like the look of this. Okay, I get it, new management, different people -> different moderation! But I find this specific case to be more strict kind of moderation, and I think this already moderated community (by invites only access) doesn’t need that! Especially because the comment couldn’t be related to “hate post”. It was sarcastic yes, but in the end what OP said about electron was true, many people agreed and thus the upvotes.

                                                    I will start to feel much more claustrophobic here after this, and it’s a pita, since lobste.rs was my way to go to place to read people’s opinions and have a friendly constructive discussion. Now my opinion might not align with moderator’s and will be declared as “hate post”… bollocks.

                                                    1. 5

                                                      The post called itself a “hate post”, pushcx’s mod message was a snarky quote of that. Not the best choice of words, but moderators are humans too.

                                                    1. 2

                                                      What an amazing community this is! Congratulation guys, this transition was seamless.

                                                      1. 6

                                                        This is all just makeup and PR stunt. All I see is another Linux distro with Gnome and flat icons and themes… How hard is it for developer to install wanted software or install Arch (or even other OS like BSDs or illumos ones)

                                                        1. 2

                                                          This is potentially interesting, but I need more than a single screenshot before I’m going to bother doing a test install. Maybe this could be reposted when there’s something more to go on?

                                                        1. 6

                                                          I feel most of these tools that represent “alternatives on Linux” are young or half-baked solutions. It feels they are almost there, but still long way to go. ZFS, Dtrace, Zones (in this case read Jails) exist on FreeBSD for example, native and included in it for a long time. They exist for a long time in illumos and FreeBSD systems, so it seems much more reasonable to go with that than with Linux. You can get some of the things done on Linux but it feels like putting cube through circle hole imho.

                                                          1. 5

                                                            I feel most of these tools that represent “alternatives on Linux” are young or half-baked solutions. […] ZFS, Dtrace, Zones (in this case read Jails) exist on FreeBSD for example, native and included in it for a long time.

                                                            ZFS on FreeBSD is on-par with ZFS on illumos.

                                                            DTrace on FreeBSD lacks in features compared to illumos and has bugs that have been long solved in illumos. For example it lacks user-level CTF support (very important!) and for many years it had a bug that prevented it from working with Go binaries (maybe it was fixed? I don’t know).

                                                            Regarding Jails, FreeBSD still doesn’t have network virtualization enabled by default in the kernel. And if you try to enable it (by recompiling the kernel so by losing binary updates for the kernel), you will find out that it has a lots and lots of bugs that, at least for me, made it unusable. Linux has working network virtualization. Without network virtualization you can’t run VPNs in jails. (Solaris had the same limitation until it introduced crossbow).

                                                            1. 3

                                                              The Zones->?? bit seems particularly half-baked at the moment. FreeBSD jails are probably closer than the cgroups/etc. set of features on Linux, but both are more like primitives you can build a Zone-like system out of than the full system. There are management systems for jails like iocage that might be closer to a Zones-like experience (I haven’t tried it).

                                                              Gregg works for Netflix though. As I understand it, they use containers for maintainability and scalability, not for isolation (they don’t run untrusted containers), so the fact that Linux containers have a spotty security track record may not matter much to them. They also have a pretty substantial in-house infrastructure (Netflix basically is an infrastructure company), so Linux containers being more like low-level primitives than an out-of-box solution might also not matter that much to them, because they’re being slotted in as one piece of a big custom infrastructure anyway.

                                                              1. 2

                                                                There are management systems for jails like iocage that might be closer to a Zones-like experience (I haven’t tried it).

                                                                There is a project that is “like vmadm” for FreeBSD.

                                                              2. 0

                                                                They exist for a long time in illumos and FreeBSD systems, so it seems much more reasonable to go with that than with Linux.

                                                                Unless you need performance and good hardware support.

                                                                1. 5

                                                                  Solaris performance is stellar and hardware support is a non issue in a virtual environment like virtual machines or cloud providers where virtual hardware is well supported.

                                                                  I run #SmartOS installations in physical machines in Hetzner and OVH with no issues at all, BTW.

                                                                  1. 2

                                                                    Can you kindly describe how do you do it?

                                                                    Doesn’t SmartOS officially require a dedicated startup disc that only has the read-only image of SmartOS, or PXE booting? How do you accommodate that if you only have a couple of HDDs in someone’s datacentre, and no private network?

                                                                    1. 4

                                                                      I generally PXE boot everything, but SmartOS is distributed as a multiboot-compatible ELF kernel and an initrd image. It can be booted by anything that can load multiboot kernels and initrd images. That means pretty much anything. Everything can do that, including Grub, PXE, or just plain KVM without a bootloader (I imagine Xen too). If you can load Linux, you can load SmartOS.

                                                                      1. 2

                                                                        I have a hetzner box with a USB stick in it and two HDDs, boots from the USB stick (which was a one-off cost iirc) and runs from a memory image once booted. Works quite well, pretty happy with it.

                                                                        OVH provides a virtual private network if you need it (called vrack I think) for multiple servers spread over multiple DCs to share a “private network”. It seems to work okay, but there’s nothing like having your own kit in a rack with a dedicated switch.

                                                                    2. 4

                                                                      Unless you need performance

                                                                      Performance strongly depends on the specific task at hand and/or how you measure. Do you have any specific case/comparison/benchmark in mind (preferably not “Ext4 is faster than ZFS” or “that async function returns instantly compared to the non-async one”)?

                                                                      On current systems I tend do see FreeBSD ahead, but by a rather insignificant margin.

                                                                      and good hardware support

                                                                      I use FreeBSD cause hardware runs out of the box and stable. On my laptop I’d be using Linux if that wasn’t the case, for certain closed source software. However, since this is my primary system I cannot have it be unstable and hacky.

                                                                      I would have agreed before FreeBSD 11, especially because the release cycles used to be long and hopefully will become faster with their change of support cycles.

                                                                      One last thing on the performance topic: If this would be my primary concern DragonFly BSD might be worth a look. However, there the major drawback is the small community. So if you rely on Stack Overflow to be able to work, you might not want that.

                                                                      That said I don’t think when switching from Solaris the difference between FreeBSD and Linux is that big. The switch between Solaris to Linux or FreeBSD is a lot bigger than from Linux to FreeBSD or vice versa.

                                                                  1. 7

                                                                    Alfred, iTerm

                                                                    I can never get a concrete reason why to use these over Spotlight/Terminal.app. There used to be a significant difference, but today I can’t think of a compelling reason.

                                                                    Edit: Ditto for flu.x

                                                                    1. 4

                                                                      Personally, I couldn’t let go of having shortcuts to switch to the nth tab. Thus, iTerm beat Terminal for me.

                                                                      1. 3

                                                                        I use Alfred primarily for various workflows that I have set up. That’s not something that can replicated with spotlight.

                                                                        https://www.alfredapp.com/workflows/

                                                                        I have a few smaller ones that I’ve designed myself.

                                                                        I use the Github Repos Workflow constantly: http://www.packal.org/workflow/github-repos

                                                                        1. 2

                                                                          I happily used Spotlight for years. Then, a couple OSX updates back, it stopped properly indexing applications. I never was able to fully figure out what the problem was, as there was seemingly no pattern to which applications would be excluded. At one point it stopped including Chrome in the index, and that was the straw that broke the camel’s back for me. (More specifically, I believe it still included them in the index based on testing the command line interface, but Spotlight simply stopped showing them.)

                                                                          I switched to Alfred, and it immediately worked “perfectly” - which is to say it performed identically to how Spotlight did before the updates. It’s been a few months now, and I have no complaints with Alfred, it does everything Spotlight did, and is much faster.

                                                                          1. 1

                                                                            Weird! In your position I think I would have done the same thing.

                                                                            1. 1

                                                                              I have the same problem and switched to Alfred for the same reason.

                                                                            2. 1

                                                                              iTerm is waaaaaaaay ahead of Terminal.app.

                                                                              1. 6

                                                                                I keep getting replies like this, but still no concrete reason.

                                                                                1. 8

                                                                                  I think it’s because there aren’t great reasons anymore. Yes, you’ve got some tmux integration and similar I guess, but e.g. tmux support requires (or at least used to require) custom-built versions of tmux that kept it from being as useful in practice as you might think. Meanwhile, Terminal itself has added tons of features that used to be iTerm-only and added some of its own (e.g. window groups), and while there’s some comments below that iTerm has smoother scroll, I have noticed that using Terminal can actually speed up programs I run if I’ve got them dumping directly to stdout (because it can get stuff on the screen faster).

                                                                                  I used iTerm for many years, but I’m also back to Terminal. Ditto for Alfred, similar reasons.

                                                                                  1. 6

                                                                                    Terminal.app has added

                                                                                    • Mouse Reporting
                                                                                    • Ligatures (which is still in beta for iterm)
                                                                                    • Vertical and horizontal character spacing
                                                                                    • Key macros
                                                                                    • Tabs
                                                                                    • Window groups
                                                                                    • Custom entry commands
                                                                                    • STDout Search.

                                                                                    The difference between iTerm and Terminal.app is becoming more superficial. At this point the largest difference is the degree of customization, and people who care about this seem to be more evangelical about it.

                                                                                    That being said I still use iTerm for two reasons.

                                                                                    1. Hotkey Quake like drop down terminal window.
                                                                                    2. Its what I’ve been using.
                                                                                    1. 1

                                                                                      Only things missing from Terminal.app are:

                                                                                      • True Color support
                                                                                      • Hotkey dropdown
                                                                                  2. 7

                                                                                    smoother scroll, true color support, greater tmux integration, splits.

                                                                                    On the other hand I think Terminal.app has the edge with better font rendering and slightly smoother performance (latest Beta version of iTerm2 is much much better in that regard, but Terminal.app has still edge on that front, but it’s locked on 30fps, so it’s not that much greater in the end).

                                                                                    1. 5

                                                                                      Btw I’m still using Terminal.app because I found it much more stable, and I’ve stopped using tmux for terminal splitting and tiling. Now I use Tmux mostly for attaching and detaching and security reasons, as tmux increases input latency which I cannot stand!

                                                                                      And most important of all is that I didn’t want to become addicted/attached to my personal dev environment. I have been through customization hell with Emacs and Vim, now I am back to really minimal 200 Loc configs in both, using mostly stock stuff on macOS, and some universal UNIX programs. I have around 10 applications installed on my macOS, rest is stock Apple stuff and it works really well!

                                                                                      1. 2

                                                                                        What phl said :-) also, better splitting. Better full screen mode.

                                                                                      2. 1

                                                                                        I recently tried switching back to Terminal.app, but couldn’t get the colour schemes to show correctly. Terminal does something to the colours to add more contrast, and I couldn’t figure out how to fix it. https://apple.stackexchange.com/questions/29487/is-it-possible-to-disable-terminals-automatic-tweaking-of-colors-in-lion

                                                                                    2. 1

                                                                                      To be fair to flu.x, that’s a relatively recent addition, and still allows a lot more control (at least on macOS) over the timing, degree, and transition curve to red-shifted light. The rest, I’m with you.

                                                                                      1. 2

                                                                                        To be even fairer, it’s “f.lux”, not “flu.x” ;)

                                                                                    1. 4

                                                                                      I agree with OP on these specific examples, but I think writing code by hand on paper is great way for really understanding things. I had few courses where final exam (it took 70% of the grade) was writting code with pen and paper and answering what is the end result of few snippets of code. And that was really good way to learn C, It was tricky to solve all those snippets with nested for loops and bitwise operators, masking and pointers, but in the end I learned a lot. Is it the most efficient way? Probably not, but I learned things, without deceiving myself about understanding them.

                                                                                      Edit: typos.

                                                                                      1. 1

                                                                                        The nice thing about pen and paper is that a reasonable grader won’t care if you wrote func("string", 34, a -> a ^2) or funcc(lambda a: a**2, 34, string)

                                                                                        (Of course, perfectionists got caught up in those things, even knowing the grader wouldn’t care, and missed points because of it)

                                                                                      1. 13

                                                                                        No Bullshit Guide to Linear Algebra, because I’ve realised not knowing linear algebra is the thing holding me back the most for my personal goals lately.

                                                                                        1. 6

                                                                                          I liked Axler’s “Linear Algebra Done Right”. I am still undergrad student, but felt like I could learn more, so I found this book really appealing. But it could be too academic and kinda “dry” if you have finished with college long ago.

                                                                                          1. 3

                                                                                            I never took the class in school, and dropped out of college; text books are pretty hit-or-miss for me. I’ve tried a lot of resources to learn, though. My first intro was a crash course in an ML class on Coursera, and I’ve tried Shilov’s Linear Algebra, a linear algebra refresher course on Udacity (learn it by programming), and the Khan Academy videos, and a few other books. This book clicks, and also has a math refresher so you can relearn high school math first (which was over a decade ago for me). The thing that really sold it for me was it has lots of example problems and all the answers. I’ve taken the approach of working all problems and going back when I get one wrong to figure out where it went wrong, essentially using the answers as a unit test for my thinking.

                                                                                            1. 2

                                                                                              I have Linear Algebra Done Right on my bookshelf. It is quite good, a bit dry, and I wish I’d had it as the core of a class in university. The No Bullshit Guide to Linear Algebra looks like it might be a good reference with a bit more spice and entertainment to it.

                                                                                            2. 4

                                                                                              No Bullshit Guide to Linear Algebra

                                                                                              Is it good? Linear Algebra came up in a job interview recently and it stumped me; it’s amazing how much you can forget if you don’t keep using it.

                                                                                              1. 2

                                                                                                See my response in the other thread for why I like it. The writing style can be a bit off-putting at times, though; I just work through that because the rest of it really makes sense to me.

                                                                                                1. 2

                                                                                                  Another thing I forgot to mention, you can get laminated cheat sheets that summarize things. I picked up one when I grabbed a probstats cheat sheet, looks like it’ll be helpful later on.

                                                                                                2. 3

                                                                                                  Hi kyle, thx for the plug! Be sure to check out the jupyter notebooks that come with the book: https://github.com/minireference/noBSLAnotebooks The chapter numbers are a bit off (you need to s/n/n-1/g), but you can take a look to see examples of the SymPy commands—it’s an awesome tool for learning if you feel comfortable with code.

                                                                                                  For everyone else interested in the book, check out the preview here: https://minireference.com/static/excerpts/noBSguide2LA_preview.pdf or if you don’t have that much time, there is also a four-pager you can print an read on your next coffee break: https://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf

                                                                                                  Linear algebra is very powerful stuff!