It has been awhile, I won’t lie. In terms of a personal update I am now settled just outside Toronto, for the time being, and have started a new job. The new job is going good, my family is happy and healthy and…we have another baby on the way!
So, the last tutorial was on Phauxth which is great, but if you are looking for a more "batteries included" option - look no further! Coherence has two important things going for it (IMHO) it has a large user base and it is very simple to get up and running, so this tutorial should be a breeze.
I wanted to make an application that was simple enough that I could focus on implementing Authentication and Authorization, and complex enough to have a semi-realistic Authentication scenario. In keeping with tradition (and because I intend to do another more detailed tutorial in the future) we will be building a blog (hurray!... well, ground work or basis for a blog), but we will have user management restricted to an Admin user. So, the only routes that will be public will be our homepage, sign up, and register. The rest will need authentication, and listing as well as deleting users will require role-based authorization.
Authentication is such a common problem, most production apps (apps that companies will pay to be made) need to deal with Authentication (and Authorization, more on that later), that is seems strange to me that it is not included at least as an option in frameworks such as rails or phoenix. Coming from Spring (which has the almighty Spring Security) it seems that *something* should be supplied, at least the bare mechanics that enable you to build your own. Some plug, for example, that gives the rough idea on how to go about implementing it with best practices in mind, or a generator, I think this may be more practical even then contexts. Not to bash contexts I like the idea, one of the reason I do not like rails (but love Hanami) is because of this, however, I think authentication is something that would be more practical. The following is an **opionated** review of three of the top packages to use when dealing with authentication in phoenix.
I was fine with Vim. I really was. I had been working with Elixir (coming from Java) and loving it in Vim, until Chris McCord decided to switch to Emacs. Of course I knew what Emacs was, and had played with it before, but had settled on Vim. Knowing that Chris like so many rubyists used Vim heavily I decided to take his que and see what Emacs had to offer. There are many reasons specific to Elixir for his switch, however, I use Java, Go, Python, and lately Ruby in addition to Elixir, so I wanted to evaluate how it would work with my workflow.
I was hoping to get started on a video series this week which would be a tour of different MVC web frameworks, but my daughter was born so I had to scratch that due to lack of time/sleep. I did, however, have time to install Solus on my thinkpad T470 which I just received so I will give a quick overview of that and how I have been using Solus and what I think thus far.
I have been using Fedora on and off for many years, coming from gentoo and arch it just gets out my way, lets me get work down with - for the most part, recent tooling on what has been for me one of the most stable systems besides FreeBSD. I no longer have that much time to tinker with Linux, and I never cared too much about how my desktop looked, just that my DE provided good keybindings (or a simple way to customize it) and a stable interface to get work done. I switched back to tmux from i3, as I find it more efficient for web development - web browser on one workspace, tmux on another possibly emacs on another, zeal for code docs, and a music player on another. I switch back and forth between vim and emacs as I love elisp and org-mode but really can’t stomach vimscript, but I digress.
I would like to welcome everyone to my blog. I will be posting mostly about work related topics, Web Development, Software Development in general, Concurrency, and a few posts about non-work related interests.