brew install coreutils
and whathaveyou.768 karma · joined October 4, 2020
brew install coreutils
and whathaveyou.They all come home at the end of the year, expire, repeat.
I have thought something similar, perhaps with a bit more emphasis on network effects and initial luck of popularity, but the same idea. Then about a week ago, I was one of the lucky 10,000[0] that learned about The Lisp Curse[1]. It's as old as the hills, but I hadn't come across anything like it before. I think it better explains the reason "the best languages don't get adopted" than the above.
The TL;DR is with unconstrained coding power comes dispersion. This dilutes solutions across equally optimal candidates instead of consolidation on a single (arbitrary) optimal solution.
I had a lot of trouble understand what was going on from just the original publication[0].
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer()
we were told to change it to from sklearn.feature_extraction import text
tfidf = text.TfidfVectorizer()
to be compliant. Guess what variable name everyone used to store document text in every file.Until this article, I always blamed this on the decision to blindly import modules instead of... well... whatever makes sense. Now I'm realizing if we all avoid common names for packages then this whole class of issue goes away.
https://www.dotnom.com
The response includes:> Calling this site "Dotnom" makes sense because after visiting it, the only thing I'm left dotting is the 'i' in 'unimpressive.'
Most of the rest of the roast addresses atypical design choices, which is exactly what I'd expect to be focused on in a real roast. I really enjoyed this!
Is this what is meant by "sweeping"?
> Disclaimer: There is no actual profit. That was just one of those clickbaity things everybody seems to like so much these days. Also, it’s not really fun. Alright, on with the show!
Did you ever tell the junior about the ticket?
I don't think of it as degrading the thing that I do. I think of it as boiling it down to the simplest description, and I find it more refreshing than "software developer" or "computer programmer" or f"{word} engineer".
> Error: cannot find app using Client App ID 'onestickertesting-qslvg'
For anyone else that knows Vim but can't seem to get a good CL environment going, read https://susam.net/lisp-in-vim.html
If you need to learn a plotting library and you already work in Pandas, I recommend choosing Altair to learn. It's a natural extension to pd.DataFrame and the only magical incantation to learn is
alt.Chart(df).mark_<plot_type>.encode(x=df["col"], y=df["other_col"])
I find this significantly easier to work with than Matplotlib, where the same things can be done in several ways with subplots, plt.figure(), df.plot(), and maybe others?My only complaint with the library is that outputting to an image file feels weirdly complicated. I often resort to making HTML files and taking a screenshot if I don't want to take the time to look up all the steps equivalent to `.savefig("file.png")`.
My goal isn't really to get "IPythonButForCommonLisp", but to iteratively build up programs so I can quickly learn syntax. I'm going to go with the Slimv suggestion the next chance I get and see if that solves it. Instead of working in revisioned code, I'll probably just work in `Untitled.lisp` until I get the hang of things.
In [1]: my_list = [1, 2, 3]
...: my_other_list = [4, 5, 6]
...: final_list = [str(i) for i in my_list ++ my_other_list] # whoops a syntax error!
...:
...: "".join(final_list)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[1], line 3
1 my_list = [1, 2, 3]
2 my_other_list = [4, 5, 6]
----> 3 final_list = [str(i) for i in my_list ++ my_other_list] # whoops a syntax error!
5 "".join(final_list)
TypeError: bad operand type for unary +: 'list'
In [2]: my_list = [1, 2, 3]
...: my_other_list = [4, 5, 6]
...: final_list = [str(i) for i in my_list + my_other_list]
...:
...: "".join(final_list)
Out[2]: '123456'
All the CL REPLs I've tried only allowing getting back one line at a time, which feels tedious to execute in order. I feel like I'm fundamentally missing something about iterative development in Common Lisp and it's blocking me from learning the language.∇⋅E = ρ(electric) / ϵ0
∇⋅B = μ0 * ρ(magnetic)
∇⨯E = -μ0 * J(magnetic) - ∂B/∂t
∇⨯B = μ0 * J(electric) + (μ0)(ϵ0)(∂E/∂t)
We could switch every physics textbook to using the above today, and the only difference would be setting ρ(magnetic) and J(magnetic) to zero when there are no monopoles in the problem.
[0] Griffiths Introduction to Electrodynamics 3E, Section 7.3.4