one nice thing about having the terminal within vim is that you can manipulate the output like any old buffer. So for instance if you want to copy something from the terminal into a script you're editing, you can yank the text from the terminal and paste it into your script, taking advantage of vim's editing features and without needing to move your mouse.
Do you regret doing your PhD in math? Reason I ask is that I thought about going to grad school for math but decided against it. It just seemed like it would be postponing the inevitable of finding a job that had little to do with my "passion". I definitely see the appeal of doing a PhD in a field with better industry employment prospects (e.g. AI in CS if you're into that), but less so for fields like pure math that aren't as employable outside of academia. I'm curious if you felt the experience was worth it, though
I've found that I often get better results on google if I click "Tools" under the search bar and change "All results" to "Verbatim". It seems to force it to just do the query without as much of the magic.
I'm still using my "dumb phone" from 2010. I like it cause it has a physical keyboard, a long battery life, and I can drop it without worrying about breaking the screen. Plus I don't have to worry about the privacy issues that come from apps collecting data.
Honestly the only feature I feel like I'm missing out on is GPS. But I've actually found that not having GPS improves my sense of direction, since I force myself to actually learn the map of my surroundings instead of just always relying on the phone.
Using bit manipulation to calculate chess piece movements is really quite satisfying. If magic bitboards are too confusing, the precursor - "kindergarten bitboards" - are a bit easier to understand. I have a description here if anyone is curious: https://github.com/cglouch/snakefish#sliding-pieces
I think once you understand the principle behind kindergarten bitboards, magic bitboards start to make more sense. It's basically a more clever way of indexing into a precomputed move table, that takes advantage of the redundancy in occupancy states, and requires even fewer instructions to determine the index. Although it does still feel kinda magic!
Does anyone have any recommendations for learning to write modern, idiomatic C++? I used C++ in college for data structures and algorithms, so I have some familiarity with the basics. But we were mostly restricted to using C++98, and I'm not sure what the best practices look like these days with the changes introduced in 11, 14, and 17.
in case anyone was curious how a bitboard chess engine works, I wrote one from scratch in python and included a writeup describing my general approach (mostly focused on the move generation aspect):
If you find out, let me know! One thing I'll caution you about is there's sometimes a bit of a disconnect between "doing math" as perceived by someone who studied e.g. CS versus someone who studied math. For some people, doing math means maybe doing some trigonometry or some basic stats; whereas others won't be satisfied unless they're working on algebraic k-theory or something similarly next level. For people in the former category, there are certainly jobs available with just a bachelors degree and ideally some programming skills, whereas for the latter, you'll almost certainly want a PhD (and even then you may not get to use that knowledge outside of academia, depending on your area of study.) You'll want to find out where you are on that spectrum, and how you feel about grad school / work life balance / etc.
Personally, I got a bachelors in math and ended up working as a software developer. There's enough overlap in the sort of thinking required that makes it reasonably enjoyable. I do wish I had more opportunities to use math in my job though!
I prefer listening to a familiar podcast to fall asleep. It's easier to do while lying down in bed and I can do it with my eyes closed, unlike TV/Netflix. The lack of visual stimulation is nice, at least for me.
Definitely agreed. I was introduced to functional programming via Pyret, which is similar to Racket and draws from HtDP in terms of pedagogy. It's a much gentler introduction than being thrown to the wolves with Haskell or OCaml. I'm sure one could learn FP effectively with those languages too, but if you're still trying to wrap your head around the functional paradigm you don't really want to have to stumble across words like "endofunctor" while reading the documentation. I even have a good math background but I would have found that confusing at the time.
Yep, for important written communications (e.g. CRAs, the IRS, debt collectors, etc.) I always use certified mail and request a return receipt. For any clueless millennials such as myself who are unfamiliar with the post office, this is a good video that shows exactly how to fill out the forms:
I know it's not the same type of AI, but in chess there's a whole scene for computer + human play. A chess engine on its own can have trouble seeing strategic ideas that humans can recognize (e.g. opposite-colored bishop endgames, certain closed positions, and fortresses) so an engine on its own will lose to that engine being assisted by a skilled human player. In other words, humans are still capable for contributing at least a little. That said, it's not much - I think a chess GM paired with an engine will probably only be able to beat an engine rated ~100 or so points higher than their own.
It will be interesting for deep learning, though, where the ideas are a bit more abstract. Perhaps humans will be useful for a while longer.
I'm guessing the reason so many companies are in Utah County is because of tax incentives, but it's still weird to me. I would think that it's harder to attract talent to an office in Provo, seeing as the stereotypical tech worker is probably going to prefer living in SLC where there's less Mormon influence and more going on socially.
There's some great chess people on youtube - I'm a fan of John Bartholomew. He has playlists called "Chess Fundamentals" and "Climbing the Rating Ladder" that are geared towards beginners who know the basics but want to start improving their play. Practicing "tactics" on sites like chess.com, lichess, or chesstempo is another good way to improve.
Options solve it in the sense that you limit your downside, but you can still very well lose your premium. Even if you're 100% convinced that $TSLA is overvalued, markets can remain irrational longer than you can remain solvent, and your puts may very well expire worthless.
At least for me, the "fluff" ends up being quite practical. I often remember stuff by thinking back to where I saw it in the book. With a physical book, my brain associates content with where I read it on the page (left vs right), how far into the book it was (judging by the depth of the pages), and what the book looked/felt like and weighed. All of this lets me recall information more easily, because the physical sensations jog my memory. Maybe I don't remember the proof of some theorem right away, but then I remember it was on the right page, towards the end of the book, and then for whatever reason it comes back to me.
Perhaps I'm weird in this sense but I know a couple people who remember stuff similarly. It matters more for textbooks or academic literature where I'm trying to recall specific information; with novels it's not as necessary.