From my experience, WASM is great for easily porting existing codebases to the browser. It took me less than a day to download Emscripten, learn a little about WASM, make one toy project, and then port a 20-year-old, 40-KLOC C++ project to the browser [1]. The last part only took me half an hour, and I don't even write C++.
HN user
ubavic
Find me at https://ubavic.rs/?lang=en
This is my third install fest and I planned to write some check list that I compiled in these years. I can share this:
- make sure bring extension chords, and make sure you have enough fast wifi for all participants
- bring enough USB-s. Installation on older laptops can take time
- ventoy is useful
- for beginners stick to Fedora/Debian. Popular distros come and go, but these two are constant and will be supported for a long time
- don't give options to beginners if they don't ask for it. You will induce paralysis of choice
- automatic dual boot setup by Debian installer works very well. Partition shrinking on Windows isn't scary as I thought before
- sometimes you can't install BIOS/UEFI drivers without windows (on older devices). You maybe want to do that before installing Linux
- i think it is good to have a windows installation ready. At least for windows boot loader recovery if anything goes bad
- bitLocker can be PITA. Don't lock users device
- after installation update system
- write some material, what-to-do-after-installation guide, and give to participants. Maybe create group on some social network or messaging app
You know what? I removed that part. You are probably right, and there is no need to scare beginners :)
Check podcast https://radiostudent.si/druzba/tehno-klistir They talk about open source, linux, etc...
System from USB will feel sluggish. Users could get a feel for UI, but I think it would be inadequate for a long term usage.
That is something I accidentally discovered. TexInfo also uses @.
I am reverse-engineering a PKCS#11 module for Gemalto smart cards and re-implementing it in Zig (https://github.com/ubavic/srb-id-pkcs11). The original module is published only for Windows, and my implementation targets *nix platforms. This is my first project in Zig, and I am very happy with the language.
I am currently working on a custom markup language called atex. It's syntax reminds of latex syntax, but with @ instead \ as a special character (very similar to the Lout language, if anyone remembers it). Also, the atex language hasn't any predefined commands. Instead, all commands are defined via schema specified in a separate YAML file. Schema defines commands that can be used and means of "rendering" those commands to different targets (HTML, Tex, Typst, whatever...)
Just today, I finished first working version of the new compiler (https://github.com/ubavic/mint). It is written in Go, and there are lot of things on the TODO list, but it works :)
This is actually the second compiler for the atex. The first one was written in Haskell and compiled fixed document schema. I used it for writing a book on Haskell (https://github.com/ubavic/programming-in-haskell).
This year marks 40 years of Galaksija, and the magazine PC Press with the author of the Galaksija Voja Antonic released a reprint of the original special issue which introduced Galaksija. Building kit is also available. More information is available on: https://racunari.com/
Not Pascal Pascal, but a spinoff: AL for Business Central (Microsoft's ERP system). It is a very old system, but Microsoft heavily develops it (every year new language and std lib features, first class VS Code integration). Userbase is pretty big (and seems like it is growing).
Thank you for this information!
Great job!
I am actually thinking these days about building a BASIC compiler for another Z80 retro machine (Galaksija). But I am a little bit afraid about the machine code generation part. How hard was it to target Z80?
Tangential: Your Fourier Cuboid is very cool project. I have added it to awesome-interactive-math [1] list.
Hmm, I always disliked coordinate approach to (multi)linear algebra. To me, the notion of a tensor product clicked with the following definition:
Tensor product v₁⊗v₂ of vectors form V is bilinear form on the dual space V* defined by v₁⊗v₂(ω₁,ω₂) = v₁(ω₁)v₂(ω₂). Tensor product V⊗V is space of all bilinear forms on V*,
This can easily be generalized to products of forms (covariant tensors), and mixed tensor products. Getting coordinate representation in basis (E₁ ... Eₙ) is trivial: (v₁⊗v₂)ₖ,ₗ = v₁⊗v₂(εₖ,εₗ) where εₖ is dual to Eₖ...
A little off-topic: I am seeing the same design in 1/3 of links that get to to HN front page. The design is clearly a copy of the Vercel's design (and maybe they stole it from somewhere else). The same typography, gradients, border radius, and definitely the same blur effect.
I am happy that 'Corporate Memphis' is dying, but I am not happy it is getting replaced with another fad.
Makes me wonder, does someone keep track of web design trends trough history?
Hey everyone,
If you are in Belgrade you will maybe interested into Decentrala (https://dmz.rs). Decantrala is a new tech-community/hackerspace organized around idea of decentralization and knowledge sharing. We try to organize talks/workshops every week and we covered many topics: form lambda calculus to Mail servers and PGP.
We all share love for technology, but we try to organize as much as possible events live because we believe that live contact is very important today. If you are seeking friends and you love technology, come and visit us.
I enjoy Go so much. It is almost perfect language for getting things done, but I still can't understand some design choices.
Does someone knows why Go uses env variables (like GOOS and GOARCH) instead command line arguments?
Cool, thank you for sharing.
I am interested in simulators, especially in simulators of analogue circuits. Do you have any recommendations on where to start reading about algorithms that lie at the core of simulators?
Also, how was the experience developing such product with JS?
For anyone that wants to try this type of coding, I would recommend just to start. Pick your favorite language and just start drawing things. You will often need some thing that you don't know, but you will learn as you go. It often feels like 'hacking' to get result. Coding train, reddit, and personal blogs are perfect starting points. Remember, like in any art, it is about process, not result.
BTW: Every January is month of creative coding (https://genuary.art/), so you can join hundreds of other artists in 'solving' daily prompts. I did last Genuary (well not all prompts), and I got some some results that I am proud of (https://github.com/ubavic/genuary2022). That was the first time I coded in Processing.
Sentence 'Therefore, a programming language such as Haskell has only functions taking one argument.' is a little bit misleading. Haskell perfectly fine handles multi-argument functions. It even has functions `curry` and `uncurry` in the Prelude.
After two years of teaching Haskell to highschoolers, I will complete my notes and release them as a proper web book. While working on content I also wrote (in Haskell ofc) a compiler for custom markup (something like Pandoc). The book will defiantly not go deep as some other books, but I hope it will be the best resource on Serbian for starting with Haskell.
Also, now when I have my dream tool for publishing, I am thinking of my next web book project (probably on Complex Analysis).
Even if LaTeX3 brought some nice things to the TeX world, TeX programming is every year lagging more and more behind modern programming languages and practices. SILE has a long way to go before it can compete with math-heavy publications made with TeX, but I think it is already a good solution for typesetting technical documentation or prose fiction.
From my experience, in literature you will usually found (external) direct sum of spaces defined as Cartesian product. But as comment before `Proposition 6.1` says, there is a bijection between definition from book and 'standard' definition, so it doesn't really matter as long we are consistent with choice. (i guess this nonstandard choice was made because it behaves nicely from the point of inner sums)
It is unfortunate coincidence, but Haskell sum types don't correspond to sums of spaces. Sum type is disjoint union of types, while sum of (vector) spaces is isomorphic to Cartesian product of those spaces (and therefore corresponds to product types in Haskell).
I always wanted to start with generative art and this seems like a perfect starting place.
Question for people that already do generative art: what library (framework) do you recommend? I know a little bit about GLSL but I know it is limiting in some cases
Mathematics.
Of course, mathematics will continue to develop in unimaginable directions, but the “base” notions in math will stay the same. I am talking here about notions of relation, function, group, vector space, tensor, category, measure, integral... Even if some of those are known for a long time, formal definitions that we use today are pretty new. And it seems to me that those will stay fundamental for a long time.
(Seems to me that other sciences (like physics and biology) don’t have that “stability”. In those fields, it wouldn't be too surprising if we discovered some fact that changes a lot we know about it)
Also, as these core notions of math will stay the same, math notation will stay the same also. And that is a good sign that we will continue to use TeX for a loooong time
I am not sure why are you being downvoted. Mass surveillance in Belgrade exist for some years and China helped the government with implementation. Serbia will continue to buy surveillance equipment from China regardless of this law.
Serbia is definitely becoming a Chinese colony. China is placing dirty industries here, effectively cutting transportation costs to the EU and reducing pollution in China. Also, a few years ago there were official government proposals (like this) to bring Chinese police to Serbia.
Unfortunately, the EU absolutely doesn't care about any of this and actively supports the Vucic regime.
You are welcome.
I don't know of any such list. I was thinking of including native platforms in the list, but I think that there are no too many examples. Web is dominant platform for this.
Another shameless plug:
I just made a awesome-type list of tools that can be used for creating interactive mathematics (and physics) visualizations like we see here. Feel free to add tools that i forgot to mention.
I wonder will this hatred ever end; I wonder and worry my friend; I wonder; I wonder, wonder don't you? - S. Rodriguez