zmitchell's recent activity

  1. Comment on Speeding up Zsh and Oh-My-Zsh in ~comp

    zmitchell
    Link
    I've been down this rabbit hole before :) I don't have many plugins, so I've resorted to simply clone their repositories and sourcing where appropriate. I did that because I found that the...

    I've been down this rabbit hole before :) I don't have many plugins, so I've resorted to simply clone their repositories and sourcing where appropriate. I did that because I found that the plugin-manager machinery (I think I was using zplug) itself was slowing things down as well. I also remember reading somewhere that this all just works slower on macOS due to some interaction with the keychain, but my memory on that is fuzzy.

    1 vote
  2. Comment on How do you manage your dotfiles? in ~comp

    zmitchell
    Link Parent
    That's handled in my Ansible playbook. I have a dictionary that looks like this: dotfiles: zsh: path: <path to actual files> link_dir: <path to where the symlinks go> nvim: <same stuff> Then I...

    That's handled in my Ansible playbook. I have a dictionary that looks like this:

    dotfiles:
      zsh:
        path: <path to actual files>
        link_dir: <path to where the symlinks go>
      nvim:
        <same stuff>
    

    Then I just say something like this in the playbook, where link_items is the list of items that I actually want to create symlinks for:

    - name: create symlinks for dotfiles
      file:
        state: link
        path: "{{ dotfiles.zsh.link_dir }}/{{ item }}"
        src: "{{ dotfiles.zsh.path }}/{{ item }}"
        force: yes
      with_items: "{{ dotfiles.zsh.link_items }}"
    
    2 votes
  3. Comment on How do you manage your dotfiles? in ~comp

    zmitchell
    Link
    I just got a desktop at home (my main computer is a laptop), so I'm just starting to use Ansible. Here's how I'm doing it: Use Ansible to specify which packages should be installed (pip, ripgrep,...

    I just got a desktop at home (my main computer is a laptop), so I'm just starting to use Ansible. Here's how I'm doing it:

    • Use Ansible to specify which packages should be installed (pip, ripgrep, neovim, etc)
    • Keep my dotfiles in a separate repository on Github
    • Use Ansible to clone those dotfiles into place on the desktop

    Any time I run the Ansible playbook, the latest versions of all of my packages are installed, and the latest commits to the dotfiles repo are pulled. I'm basically done at this point, but I want to make sure it's all working perfectly before I switch my laptop over to that set of dotfiles.

    2 votes
  4. Comment on Are there any scientists on Tildes? in ~science

    zmitchell
    Link
    I'm in the last year of my physics PhD doing ultrafast spectroscopy on photosynthetic proteins. When I'm done I'm going into software development!

    I'm in the last year of my physics PhD doing ultrafast spectroscopy on photosynthetic proteins. When I'm done I'm going into software development!

    2 votes
  5. Comment on Favorite linux distro? in ~tech

    zmitchell
    Link Parent
    Antergos is basically “Arch, but with a real installer”

    Antergos is basically “Arch, but with a real installer”

  6. Comment on Favorite Laptop? in ~tech

    zmitchell
    Link Parent
    I've thought about other laptops, but the huge variety of really good software written for macOS is what keeps me on the platform. It's also really nice to have the same apps on my iPhone, my...

    I've thought about other laptops, but the huge variety of really good software written for macOS is what keeps me on the platform. It's also really nice to have the same apps on my iPhone, my iPad, and my laptop.

  7. Comment on Favorite Laptop? in ~tech

    zmitchell
    Link Parent
    I use an app called Karabiner to remap keys on macOS. On Linux it would be something like xbindkeys.

    I use an app called Karabiner to remap keys on macOS. On Linux it would be something like xbindkeys.

    1 vote
  8. Comment on At what point is a rewrite warranted? in ~comp

    zmitchell
    Link
    Oh god this is giving me flashbacks. I get the feeling you're a computational chemist or something like that, so hello from experimental biophysics land *waves* The software that controls my...

    Oh god this is giving me flashbacks. I get the feeling you're a computational chemist or something like that, so hello from experimental biophysics land *waves*

    The software that controls my experiments is a scripting language that comes bundled with a non-free application my advisor wrote in 1995. Everything is global, there are no functions (only GOTO/GOSUB/subroutines), and you can't split a program into multiple files. There are no loop constructs, so you see a lot of this (baffling line-labels and all):

    agaga:
    if some_condition; GOTO agaga
    

    I've started rewriting this thing like three times, twice in Python and once in Rust, but the actual PhD work has gotten in the way each time. Here are the things I ask myself about the program:

    1. How do I know that this program even does what I think it does? In your case it sounds like you're doing simulations, so you should be able to provide some minimal test cases to do some sanity checks. My program interacts with a bunch of serial devices, so it's more difficult to know that it's doing what I think it's doing.
    2. If I need to make modifications to the program, how long will it take me? Will I be able to tell if I've broken something? (See 1.) I did a rewrite of another program (same scripting language, different experiment) and restructured it so that I could more easily make programs to test the system, and it was really useful.
    3. Is this the most important thing I can be doing for my PhD/masters right now? Is this going to get me out the door faster? I'm not staying in academia, and I'm close to graduating, so that may be more important to me than it is to you. It's really easy to work on the things that don't really matter just because it's easier than banging your head against a wall doing actual research.
    4. How much empathy do you have for the people who will have to use this after you leave? If you really care about making life easy for the next person, go ahead and rewrite it. If you just want to get the hell out of dodge, just stick it out and use Fortan.
    5. I know Fortran gets used a lot for simulations because it's blazingly fast, but if speed isn't the first priority, you might consider rewriting it in another language that more people know. It will be easier to find help when you get stuck, it will be easier for the other people that use the code, etc.
    2 votes
  9. Comment on Favorite Laptop? in ~tech

    zmitchell
    Link Parent
    I use caps lock for control already!

    I use caps lock for control already!

  10. Comment on Legion (FX) discussion in ~tv

    zmitchell
    Link
    I love this show! The cinematography is fantastic. Having watched Twin Peaks: The Return, I've realized that I have a masochistic streak when it comes spending hours of my life watching something...

    I love this show! The cinematography is fantastic. Having watched Twin Peaks: The Return, I've realized that I have a masochistic streak when it comes spending hours of my life watching something that I don't understand.

  11. Comment on Favorite Laptop? in ~tech

    zmitchell
    Link
    I seem to be the only Mac person here :) I have a 2013 Macbook Pro 13" and it's been rock solid, never had to take it in even once. It's my main computer, so I wish I had bought the next storage...

    I seem to be the only Mac person here :) I have a 2013 Macbook Pro 13" and it's been rock solid, never had to take it in even once. It's my main computer, so I wish I had bought the next storage level up, but Apple gouges you on that, and pretty much anything else. Say whatever else you want about Apple, but their displays are top notch.

    <rant>

    I'm a huge fan of iOS and macOS, but the latest round of MBPs has me worried. If I had to buy a new laptop now I don't know that I would get one of the latest MBPs.

    • They made the batteries smaller, which is supposed to be offset by more power efficient chips, but the chips are only more power efficient at idle. If you're doing anything serious you're going to see worse battery life.
    • The trackpads were industry leading, but they decided to make them even bigger. Now they're so big that they flex when you press on them, even though there's no physical click mechanism.
    • They took away the light-up Apple logo on the back, which was a pretty iconic Apple detail.
    • If you want a physical Esc key you can only get a 13" laptop with two ports, one of which will be used when charging.
    • The keyboard is objectively worse to use than the previous keyboard.
    • The keyboards seem to fail at an alarming rate.
    </rant>
    15 votes
  12. Comment on What are your favourite podcasts? in ~talk

    zmitchell
    Link Parent
    It depends on where you are in your career. If you're relatively new I would recommend CodeNewbie because it hits on a wide variety of topics and talks about how people got their start, which can...

    It depends on where you are in your career. If you're relatively new I would recommend CodeNewbie because it hits on a wide variety of topics and talks about how people got their start, which can be helpful for making a n00b feel better about their current skill level. If you're further along I would recommend Software Engineering Radio. It doesn't push out episodes very frequently, but they tend to be deep dives from people who've been at it a while. Developer Tea is good for the "soft skills", and Python Bytes is good for staying on top of what's happening in the Python community.

    1 vote
  13. Comment on Daily Tildes discussion - thoughts about making the site publicly visible, but still invite-only? in ~tildes.official

    zmitchell
    Link
    Setting all of the other issues aside, can ~ afford to go public? If there's a 10x increase in traffic, how long could the site sustain itself?

    Setting all of the other issues aside, can ~ afford to go public? If there's a 10x increase in traffic, how long could the site sustain itself?

    4 votes
  14. Comment on What are your favourite podcasts? in ~talk

    zmitchell
    Link
    Oh boy, here we go. These lists are in alphabetical order: General 99% Invisible - generally about design and how it interacts with culture By The Book - two women live by a self help book for two...

    Oh boy, here we go. These lists are in alphabetical order:

    General

    • 99% Invisible - generally about design and how it interacts with culture
    • By The Book - two women live by a self help book for two weeks at a time, hilarity ensues
    • Embedded (NPR) - deep dives on topics in the zeitgeist
    • The Film Reroll - a group of friends role play (like DnD) popular movies, and they never go down like the actual movie
    • Gastropod - a podcast about the history and science of food
    • Invisibilia - stories about how people interact with each other
    • Last Podcast On The Left - hilarious podcast about cults, conspiracy theories, serial killers, etc
    • Radiolab - covers a wide variety of stories
    • Recode Decode - Kara Swisher says mean things to CEOs
    • Reply All - stories about the internet
    • Science Vs - explanations for the layman about science topics
    • What Trump Can Teach Us About Con Law - listen just for the opening music

    Software Development

    • The Changelog
    • CodeNewbie
    • Coding Blocks
    • Developer Tea
    • Podcast.init
    • Python Bytes
    • Software Engineering Radio
    • Test and Code

    Movies, TV

    • Beltalowda (The Expanse)
    • The Cine-Files
    • How Did This Get Made?
    • Mad About Movies
    • Watching Westworld
    • We Are Legion
    8 votes
  15. Comment on Bitcoin's energy consumption is growing at 20% per month and threatens to erase decades of progress on renewable energy in ~finance

    zmitchell
    Link Parent
    Why is Ethereum not sound money, and what makes Monero better?

    Why is Ethereum not sound money, and what makes Monero better?

    7 votes
  16. Comment on A collection of Linux profiling tools and guides in ~comp

    zmitchell
    Link
    There is a wealth of information here. I've barely scratched the surface, but it's really informative.

    There is a wealth of information here. I've barely scratched the surface, but it's really informative.

  17. Comment on RSoC: Porting tokio to Redox in ~comp

    zmitchell
    Link
    Redox is a pretty interesting project. If I remember correctly, it takes the "everything is a file" mentality and turns it into "everything is a URL". Documentation is universally pretty sparse,...

    Redox is a pretty interesting project. If I remember correctly, it takes the "everything is a file" mentality and turns it into "everything is a URL". Documentation is universally pretty sparse, which makes it hard to dig into, but I can't wait to see if grow up over the next few years.

  18. Comment on Hey ~comp, what's your current project? in ~comp

    zmitchell
    Link
    I’m working on doing terrible things to Python. I really like procedural macros in Rust (enough to write about it) because they allow you to do all kinds of code generation and reduce boilerplate....

    I’m working on doing terrible things to Python. I really like procedural macros in Rust (enough to write about it) because they allow you to do all kinds of code generation and reduce boilerplate. I’ve been wondering if it’s possible to cram a macro system into Python for the same purposes. My current plan is to try something with type annotations, since they don’t affect the actual code, and an arbitrary string is a valid annotation.

    2 votes