Ok posted here:
Nice! I’ve just done a clean format for the latest version of macOS Big Sur (11.2) - will spend most of tomorrow setting it all back up (Don’t tell @dimitarvp tho )
{groans in pain from distance}
But still, I’d be curious if that improves your Mac.
Learning Elixir and Phoenix so I can use the PETAL stack to build my CS grad final year project. Nothing ultra crazy, but a lot of learning for sure.
So far so good! Feels like I’ve got my Mac back! However watch this space as I have not installed my dev env yet!
Learning Elixir and Phoenix for my overly-engineered side project
Currently making a hackintosh again, i got a new wifi adapter so hopefully everything won’t lag – old adapter software had a memory leak resulting in 100% cpu while wifi was on
flawless install, gg!
except that the camera randomly freezes and is way too bright
also wifi speeds on mac (80 up, 40 down) aren’t that good compared to windows (250 up & down)
but hey, at least wifi works!
Learning elixir!
Working in the last touches for my pet app to watch Youtube videos and add notes to it. This app is based on the Rumbl app from the Phoenix 1.3 book. I will put it online this week… I hope.
At the moment trying to master parallelism in Golang
What’s tripping you up?
On the way of learning elixir and phoenix, I am working on an toy app for my son.
A digital clock (liveview) on which you can change the time and which is reflected in all connected devices.
Now wants user profiles, save the time, , interesting and fun.
I’m building a side project with Elixir/Phoenix and I hope that I can get some monthly revenue
Currently learning to write cli apps in several languages, to see what approach I like the most…
I am rewriting my 2 older apps in particular:
rinit:
simple cross-platform cli app for setting up my new projects and connecting them to remote repo
- creates repo at one of (github, gitlab, bitbucket, azure devops)
- sets up local git
- copies some basic dotfiles based on language (e.g. .prettierrc, .tsconfig, .eslintrc, .editorconfig)
- gives option to choose from list of supported .gitignore from gitignore.io website
- commits and make an initial push
currently have it written in node.js at stefanjarina/ginit but it is somewhat slow (I suspect some libraries, or simply my beginner code). Also I stopped working on it because of the speed issue. So trying to rewrite it in different languages (Go, .NET5, Rust in particular).
sda (Simple Docker Apps):
- preconfigured list of different servers/services, which is then simple to create/start/stop/delete
- very useful for me, when I need some database and do not want to clutter my pc and do not want to spend time reading DockerHub
- Idea is to have an API like e.g.:
sda new mssql -p "mypass"
-
sda start postgres
,sda stop postgres
-
sda remove postgres
,sda remove postgres --include-volumes
This I currently have written in Powershell at stefanjarina/SimpleDockerApps as I used this project to learn powershell for work.
It already supports like 20 different services, though I did not review a lot of them if they still work.
But it is powershel and it uses docker command and it is not really polished much. So idea is to rewrite it in different language so it will be cross-platform (thou it works in Powershell 7, so it technically already is). maybe also support kubernetes, or nomad.
Golang and Rust are the most worthwhile options. If you are feeling masochistic OCaml and Julia will work well too.
I respect people’s choices in educational projects or stuff written for their own convenience, of course – do it in ADA, FORTRAN, Forth, PL/1 and Assemlby if you want to learn them! – but the moment you want some real speed and a bit more strictness then using the static and strongly typed languages (that compile to machine code) is common sense.
Indeed that is how I learn most of the things, and also encourage everyone to try this approach
I hate tutorials where they talk about variables, maps, structs, pointers, etc. That is something I can easily find on my own just by reading language spec or documentation.
Way more fun is to write something either I or my colleagues can use.
As for your point about static, strongly typed languages, I fully agree here. I used to write a lot of python previously, but am slowly moving towards languages like C#, Go, Rust. And for CLI apps they indeed look like the best choice.
I also like .NET a lot, using it at work quite heavily, and it is no longer this funny windows only abomination. since .net core 3.x it is just great to write cross-platform stuff in it.
Also to be fair, I did not really hit the the speed wall in node.js until recently. It was extremely slow on Windows specifically, and I narrowed it down to azure sdk module (when commented out, app starts to be snappy again). I might have just rewritten the logic I needed with direct calls to API and not use module at all, but heck, why not to try to rewrite it in something different and learn something new right
Rust I started to learn just a few weeks ago and so far I really like it. I even do not find borrow-checker to be extremely confusing as some people like to point out
So let’s see what I will end up with.
PS: Aaand as for other languages, I seem to be unable to acquire a taste for them, especially due to syntax. I just want something that resembles C or Ruby syntactically (at least a bit).
That was for example a blocker for me to learn functional programming, until Elixir came along. That language have so nice syntax, that suddenly it was rather easy (compared to e.g. Haskell)
Me too. I get it that most tutorials are for beginners but their copy-paste nature really does disservice to programming in general. Some more accent on true productive tasks should be put.
To that end, I always found various database tutorials MUCH more useful. They directly throw you at employees, salaries, departments and such (or music tracks / albums / books / catalogs), and many people can immediately see the value of the skill acquired when following the tutorial.
With programming that’s extremely rarely the case.
Trying to master Reveal.JS. No it’s not yet another front-end framework, it’s a way to do presentations from an HTML file, rather than a binary file.