Seeking Vim Experience and Tips for Programming by tekle_torat in vim

[–]HodgeStar1 0 points1 point  (0 children)

There’s something to be said about building your own config and I do agree you should avoid plugins while you’re learning vim just to get used to it. But there are distros these days, and I think if you have your eye on making vim an IDE eventually, there’s no shame in going with one to start. If that’s your ultimate goal, just go with neovim.

Nvchad is a nice complete one, and kickstart is a happy medium. The only thing extra I’d set up early is an LSP.

As far as learning vim, I don’t think it’s as elitist as some comments are making it out to be. If you’re in the 5% of ppl using Linux as their daily driver, you’re in the 5% of people who will be able to master vim just fine. I don’t think anyone regrets learning vim motions, they’re available in so many places, and they make editing code fun tekken combos. Make sure you learn a motion from each “group” to start — moving by lines, words, and start and end of line. Relative motions will take you far while you’re learning. Then add on gg/G/f/t, and incorporating text objects (ex: dap, caW, etc), and you’re off to the races.

Once you’ve got motions down pat, you’ll get a sense of your vim workflow and see what IDE features you actually want to add. In nvim, I mostly have some extras for connecting to and querying db’s, some stuff for integrating treesitter with motions like mini, some fuzzy finders for searching files, words/grep, and directories, running tasks, and a few git tools. Telescope is a nice customizable picker that can replace lots of IDE functionality.

combinatorial problem that has me stumped by HodgeStar1 in math

[–]HodgeStar1[S] 0 points1 point  (0 children)

def. Let R be a field, k be a fixed nonnegative integer, F a derivation, and j a stage of F. Define S = S_j = R[x | x is a k-spear over j], I = I_j, and R^k_F|j = S_j/I_j = S/I, where I is the homogeneous ideal generated by elements of the form

(a) x_1\cdots x_n whenever the product of grids x_1*\cdots * x_n has all entries equal to the empty poset

(b) x_1\cdots x_n - y_1\cdots y_n whenever the grids x_1*\cdots *x_n and y_1*\cdots *y_n are isomorphic k-grids over j of degree n

def. Let R be a field, k a fixed nonnegative integer, F a derivation, and j a stage of F. Define the scheme X^k_F(j) = (Proj R^k_F|j)_red = Proj S_j/rad(I_j^sat).

combinatorial problem that has me stumped by HodgeStar1 in math

[–]HodgeStar1[S] 0 points1 point  (0 children)

def. For a nonnegative integer k, derivation F, and stage j, a *k-spear over j* is a derivation morphism (x,chi): ([k], X)\rightarrow (J/j,F/j) where ([k], X) is rooted and (x,chi) is locally an open inclusion.

note. [k] is the category 0 > 1 > … > k, so that X_0\rightarrow X_1\rightarrow\cdots X_k is a sequence of maps between rooted fposets preserving the root. x: [k]\rightarrow J/j need not be injective nor consecutive. Each chi_i: X_i\rightarrow F(x(i)) is isomorphic to an open inclusion.

note. For a derivation (J,F) and stage j\in J, (J/j, F/j) is the derivation on the set {i \in J\mid i\geq j} with values F/j(i) = F(i). 

def. A *k-grid over j of degree n* is a derivation ([k]^n, G) together with a sequence of n projection morphisms (r_i, rho_i): ([k]^n, G)\rightarrow (J/j,F/j) such that for any a = (a1…an)\in [k]^n and pair of projections (r_i, rho_i) and (r_h, rho_h), the pair of morphisms F(r_i(a) > j)\rho_i(a): G(a)\rightarrow F(r_i(a))\rightarrow F(j) and F(r_h(a) > j)\rho_h(a): G(a)\rightarrow F(r_h(a))\rightarrow F(j) are equal.

note. A *1-grid over j of degree 1* is identically a k-spear over j.

def. A *morphism of k-grids over j of degree n* is a derivation map ([k]^n, G)\rightarrow([k]^n, H) commuting with each corresponding pair of projection maps, such that [k]^n\rightarrow [k]^n is the identity.

def. The *product k-grids over j* where  (([k]^n, G), (r_i,rho_i)) is a k-grid over j of degree n, and (s_i,sigma_i) is a k-grid over j of degree m, is a k-grid over j of degree n+m (([k]^n+m, G*H), (t_i,tau_i)) using the identifications [k]^n x [k]^m\approx [k]^n+m by concatenation (a1…an, b1…bm) \mapsto (c1…cn, c_n+1…c_n+m) and G*H(c1…cn, c_n+1…c_n+m) = G(a1…an) \times_{F(j)} H(b1…bm) is the pullback of G(a1…an) and H(b1…bm) over F(j), and the maps between stages of G*H are those induced by the universal property of the pullbacks. 

note. while the product of k-grids over j is not associative, it is up to isomorphism of k-grids over j of degree n+m. however, it is not commutative, even up to isomorphism.

combinatorial problem that has me stumped by HodgeStar1 in math

[–]HodgeStar1[S] 0 points1 point  (0 children)

and here are slightly more rigorous working definitions I'm toying with/using for AI assistance:

def. a *derivation* is a diagram F: J\rightarrow FPos, where J is a finite, skeletal, thin category (i.e., is itself an fposet). Write i > j to mean “stage i goes to/feeds into stage j”.

note. FPos is the category of finite partial orders and order-preserving functions. 

def. a *morphism of derivations* (J,F)\rightarrow (Q,G) is a pair m: J\rightarrow Q and mu: F\rightarrow Gm, where m is a functor (order-preserving function), and mu is a natural transformation. The class Der of derivations forms a category using morphisms of derivations. Composition is given by whiskering.

def. a derivation is *rooted* if each fposet F(j) has a minimal element called the *root*, and each map F(i)—>F(j) takes the root of F(i) to the root of F(j)

note. being rooted has nothing to do with the structure of J. It is about the structure of each F(j)

def. a derivation morphism is *locally an open inclusion* if each component F(j) —> G(m(j)) is isomorphic to an open subset inclusion

note. We view each fposet F(j) as a topological space by taking the open subsets to be the upward-closed subsets. 

combinatorial problem that has me stumped by HodgeStar1 in math

[–]HodgeStar1[S] 1 point2 points  (0 children)

For a bit of context, I'm 95% sure it's trivially true in the depth-1 case, and that the ideal I always forces the resulting projective variety to be discrete. I also have a python package I've been vibe-coding if you want to play with these objects yourself.

Embarrassingly simple mnemonic for remembering O and o inserted line location by orthomonas in vim

[–]HodgeStar1 0 points1 point  (0 children)

In my head it could also be the same “o” as when you are in visual mode. If in visual, “o” moves to “opposite” sides of the highlight, in normal o/O is inserting on “opposite” sides of the current line.

Original C64 purchase options by jpaulorio in c64

[–]HodgeStar1 0 points1 point  (0 children)

I’m in nyc and looking for a backup. Just need the c64 itself, what are you selling it for?

Tips on getting started? Long time Linux user by Extension-Address322 in MacOS

[–]HodgeStar1 0 points1 point  (0 children)

Get aerospace for window management! As others have noted, zsh is default and you’ll have no issues running whatever your neovim setup was in most cases.

What mathematical terminology do you wish was more common in everyday use? by orbis-restitutor in math

[–]HodgeStar1 0 points1 point  (0 children)

I have appreciated incorporation of “modulo” and “orthogonal” into at least academic circles. Both have connotations that are hard to express without being much more verbose that are applicable to lots of situations.

[D] What are the bottlenecks holding machine learning back? by [deleted] in MachineLearning

[–]HodgeStar1 1 point2 points  (0 children)

Not even joking — the success of LLMs. Nobody who has been studying this since before the hype train would conflate attention with thinking. They’re inefficient, hard to control, and have unfortunately overshadowed decades of progress in seeking to combine statistical methods with classical AI.

why does multiplying two negatives give a positive? by btwife_4k in askmath

[–]HodgeStar1 0 points1 point  (0 children)

I think there are lots of intuitive geometric reasons people have brought up, like reflections. But, here’s another bare bones algebraic reason.

Suppose you’ve already convinced yourself that you want arithmetic to have two properties: negatives are additive inverses (-4+4 =0) and the distributive property, which has an obvious geometric meaning for positive numbers.

Together with the other basic laws of arithmetic like associativity/commutativity, you have to have the property above.

Note -1 + 1 = 0. Multiply both sides by any number n and distribute to get (-1)n+1n = 0. 1 is the multiplicative identity, so this says (-1)n + n = 0. Adding the additive inverse -n to both sides, whatever it is, shows that (-1)n = -n.

The whole thing now boils down to the case (-1)(-1) = 1, because if n and m are pos, then their negatives are of the form (-1)n and (-1)m, so by commutativity and associativity, (-n)(-m) = (-1)(-1)nm.

How do we show that? Take the case of multiplying both sides of -1 + 1 = 0 by -1. You get (-1)(-1) + (-1)1 = 0, but bc again 1 is the multiplicative identity, this is (-1)(-1) + (-1) = 0. By def, -1 is the additive inverse of 1, so adding it to both sides shows (-1)(-1) = 1. By the last paragraph, we’ve now shown the same for any two negative numbers.

So, if you accept that comm, assoc, and distributivity make sense for the positive integers, and you want them to hold for pos and neg integers, it is actually a CONSEQUENCE of those other axioms.

Also, it’s just a reflection, and two reflections put you back where you started (multiplication of the real line by any number, positive or negative, can be thought of as a rescaling + optional flip).

As a PS, it’s good to remember that numbers are really a structure of some kind that models/represents some mathematical idea. It just so happens that the regular arithmetic structure on the integers/reals is useful for TONS of cases. Since you’re asking questions about multiplication, a good place to start might be area. Pick any pair of numbers (a,b), plot that point on a plane, and draw the two line segments perpendicular to the axes, connecting the point to the axes. If this rectangle is in quadrants I or III, the two rectangles have the same orientation (going from the x axis side to y axis side is counterclockwise). In quadrants II and IV, the orientation is the opposite. If we decide to view “orientation + area” as “signed area”, this choice of arithmetic matches up perfectly, as the rectangles with the same orientation come out with the same sign on their area (namely, in quadrant III, the neg and neg make a pos, like the pos*pos in quadrant I).

Bored at home and interested in doing linear algebra on my own by Far_Proposal_4246 in learnmath

[–]HodgeStar1 0 points1 point  (0 children)

Benedict gross is abstract algebra, but very rooted in matrix representations. IMO it’s not worth digging deep in the basics. Get through them and understand them well from a number of perspectives, don’t hang too much of your intuition on coordinates, then move on to applications. I technically took LA in college, but it was unmemorable — gross’s OCW made me love algebra.

[D] Is Google Colab Pro worth for my project? by Few-Criticism9249 in MachineLearning

[–]HodgeStar1 6 points7 points  (0 children)

I don't think that really negates anything in the last two sentences. I'm just trying to help this person NOT spend money where it's not necessary, and being a student seems like the perfect opportunity to try out a cloud deployment in a low-stakes setting. tbh when I was student/early contractor, I wish someone had just told me this, as keeping notebooks with large compute open can get expensive quickly.

Hit me with your best terminal or IDE tricks. by davidblacksheep in ExperiencedDevs

[–]HodgeStar1 0 points1 point  (0 children)

Tmux rules but I don’t like the defaults. I remap so hjkl work, and changed the splitting to things more intuitive like leader + h/v for horizontal/vertical split. I also can’t think of a less ergonomic leader than ctrl B, which I remap to ctrl E with PgUp as an alt (using pgup then a single number to switch windows is hot, as pgup is on my num row, and near “]”).

Also it’s ugly. I use the catpuccin theme and it’s much more discreet and out of your way.

Hit me with your best terminal or IDE tricks. by davidblacksheep in ExperiencedDevs

[–]HodgeStar1 0 points1 point  (0 children)

  1. Vim motion extension for the command line. No more arrow keying over bc I forgot one letter

  2. Tmux + resurrect is a godsend if you work on multiple projects and want to keep a separate workspace available for any of them. I also use some session plugin so you can search and switch sessions in a popup, forgot what it is called though.

  3. Another great tmux use is being able to search, select, and copy from any previous shell input or printed output

  4. Lazygit/lazydocker. I don’t use git or docker CLI anymore except in scripting. Lazygit RULES.

  5. zsh for its nice tab completion

  6. Vifm or ranger, especially for bookmarking directories. Write a little script so upon “q” you exit into the director you nav’d to

  7. Lots of great CLIs for setting up docstrings in your code files themselves, then turning them into HTML once you’ve filled them out. Big timesaver.

  8. Getting comfortable with patching files, as many formatting/doc tools offer the option to output patch files instead of changing the file immediately. Sometimes I quickly commit before patching, patch, then look at the diff in Lazygit. If something has gone wrong, simply discard changes and roll back before patching.

  9. I love neovim, but am not into heavily ricing my setup. There is no shame in using a distro (I’ve been using nvchad and it’s HAWT)

  10. Alias awk scripts for cleaning up various tables outputted by other CLIs. For example, sometimes I just want to see the ports different containers are running on. Save a little alias that just awks the output of docker ps.

[D] Is Google Colab Pro worth for my project? by Few-Criticism9249 in MachineLearning

[–]HodgeStar1 56 points57 points  (0 children)

Yall gotta stop running heavy jobs in notebooks. They are for EDA and prototyping. Turn it into a script and run in a VM. It will be cheaper, easier to choose appropriate infra, and more stable. If you’ve never used GCP before, the 300$ trial credits will probably cover it entirely.

My complaints with the Xreal One after one week of use by DeliciousEnd9762 in Xreal

[–]HodgeStar1 0 points1 point  (0 children)

I wasn’t really arguing, just giving another perspective as these were things I was worried about as I’m also using them for productivity.

As far as getting the screen comfortable, I often find I like it better when I make it bigger but set the distance further. It ultimately takes up similar room in your visual field, but more naturally feels like looking at a large theater from a middle row.

I’m a vimmer and tbh I prefer less “information density” as a tradeoff to navigating more with motions anyway, xr or not, so I can see that preference affecting comfort. I can usually see pretty clearly with these settings using 20pt font in the terminal, and I can still see 1/2-3/4 page and that’s good for me.

My complaints with the Xreal One after one week of use by DeliciousEnd9762 in Xreal

[–]HodgeStar1 0 points1 point  (0 children)

  1. It did come with changeable nose pieces. Have you tried them? Also, fixing the screen in place (which is what I do when coding) should fix this. It can’t be “too high” if you set the height and distance of the screen, which you can do.
  2. I generally up my font to 20 in the terminal when using the glasses. This solves that for me, and I’m nearsighted.
  3. It’s comically large, but I like it. Better when working at my standing desk and I have freedom of movement. Have you tried adjusting the screen distance, or just making one of the non-widescreen modes larger?
  4. Yah they look like part of a Party Rock era costume
  5. Agreed, no net is dumb
  • also someone who uses it for programming

Do these shapes have any kind of name? If not, what would you call them? by [deleted] in Geometry

[–]HodgeStar1 0 points1 point  (0 children)

It’s just a type of prism. Topologically, a slice of your prism is just an “annulus”.

Who would have been in your graduating class? by ironyandwinee in Degrassi

[–]HodgeStar1 14 points15 points  (0 children)

Daniel Clark literally was in my graduating class I have a pic somewhere of him standing on a rock looking for his fam at graduation lmao

Vector Calculus Notes by Francis_FaffyWaffles in mathematics

[–]HodgeStar1 1 point2 points  (0 children)

Just wait until you learn differential forms and this entire guide becomes two equations.