Hacker Newsnew | past | comments | ask | show | jobs | submit | zserge's commentslogin

That's impressive! Seems like we're back to ELIZA again, only with a more versatile dataset format and better NLP/search

Nice! A while ago I was doing something similar - https://habit.zserge.com/ - turns our printed habit trackers serve way better as motivators or reminders than phone apps.


I'm building my own - https://git.zserge.com/fierj - and for a few weeks it's hosting itself. Still working on patches workflow and CI, but it's quite usable already. I try to make it "minimally federated" - only threads (issues/discussions etc) are federated via ActivityPub, for PR there is old-school patches workflow, for CI just chroot and a shell script. A lightweight personal git forge in ~4KLOC. Can't say everyone should use it and can't recomment it, but building a personal forge is very realistic. Or you can run cgit as a frontend to your git remote on a server.


    Location: Munich, Germany
    Remote: Yes
    Willing to relocate: No
    Technologies: Fullstack, distributed systems, embedded (C/Zig, bit of Rust), ML (torch, tinygrad, edgeAI/tinyML)
    CV: https://zserge.com/cv.pdf
    Email: hello <at> zserge <dot> com
I'm a generalist with 15+ years of experience, usually on a pragmatic and minimalist side of tech. Looking for contractor work, preferably fully remote, but open to other options, too.


I guess I miscommunicated it. I meant I'd call everything a tensor but for some smaller dimensions we have specific names. Of course, 1D can still be a tensor and so is 6D or nD.


Got it, thx!


I suppose one of a few examples when a picture is totally not worth a thousand words, if a picture is made by me


hahaha don’t sweat it, we all visualise things differently


I wish we used something else but Python as the default ML language, so that some advanced type system would work for us to ensure tensor shapes and compatibility.


I found [ggml] is really easy, educational and fun to use. It is written in C and the backbone for llama.cpp.

[ggml]https://github.com/ggml-org/ggml


Haskell is actually really good for that. Hasktorch[1] is high quality, batteries included, and leverages Haskell's GADTs for some cute stuff like gradual tensor shape checking. There's also just a grain to Haskell that feels really good for the machine learning domain. It doesn't just alleviate whole classes of bugs and a lot of annoying background noise reasoning, but it's also a much more natural-feeling expression.

The "gotcha" is that Haskell is heavy duty machinery, and getting up to speed with it if your background lacks solid type-theory can be really daunting. For that reason alone, it could never be the default. Sometimes I like to think about how much of a disservice academia has done to itself by training mathematicians without giving them the foundational knowledge they need to utilize the nuclear-grade tooling they themselves have the most potential to benefit from. For a number theorist? Sure makes sense. But the fact that machine learning courses don't have rigorous undergraduate prerequisites in learning the foundation of computation is pure absurdity.

[1] - http://hasktorch.org/


Here's a Python library for static type checking of tensor shapes: https://pypie.dev/


Thanks. Did not know about it.

Looks a little FiShy. In a good way [0].

[0] https://link.springer.com/article/10.1007/s100090050037


Honestly, I quite like Python most of the time. The times when I don't, argghh type errors.

The worst I have had in a while is when I was dealing with a sparse array data type and getting some processing done in a C function to speed things up.

Infuriatingly enough, the index type used to change after initialising the array. It would check if Int32 could accomodate the size of the array. If it could it would downgrade to Int32 at runtime. My C counterpart had no clue.

That was so not fun to debug because the errors were intermittent (depending on the fill factor of the sparse array)


Not in a general mathematical sense, of course. Rather carthesian tensors. Seems like for most libraries it's `numpy.ndarray`: https://docs.tinygrad.org/tensor/ or https://docs.pytorch.org/docs/main/tensors.html


To add to the confusion, Mathematicians and Physicists often disagree on what that word means. A Physicist's tensor is often a mathematicians tensor field.

An appropriate tensor can certainly be represented by a multidimensional array but not all multidimensional arrays are tensors. It depends on how that multidimensional array participates with others.

For example, (lat, long) is not a 2d vector although it can be represented as a 2 dimensional array.


Was doing a similar thing for plain HTML zines: https://github.com/zserge/zine - write each page as html, render as page previews in browser and as a folded zine when printed


Reminds me of a good old arduino shell, Bitlash - https://github.com/billroy/bitlash/wiki/commands


A slightly larger implementation at the end of the post does that to some extent - https://github.com/zserge/kalk (CSV import export, Excel-like "locking" of rows/columns like $A$1). If there's a need for such a project - I'm happy to add ODF or XLSX, more compatibility with Excel formulas etc. I'm not sure about Vi keybindings, I personally find spreadsheets easier to use in a non-modal manner.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: