I recently got out of my day to day job and instantly started to work with some of the technologies I discovered and worked with at work. Tons of new libraries, frameworks and software that I discovered during my adventures.
To name a few, React and Aurelia are both frontend frameworks. Each has it's strengths and weaknesses. React is functional while Aurelia isn't and uses dirty checking to do updates to the view.
My preference is in dirty checking, which comes with a con such as not being able to observe object changes directly, but one can work with this as I did. Generally, you make a change to native objects and that change is picked up and pushed to the view on it's own. Form fields? Just using the variable bind feature and it works out simply. Use dependency injection and you have access to resources such as an api http client. It is that amazing to me. I really prefer Aurelia's development style. I don't like that it does not have much people working on/with it.
Functional programming is odd to me because you have to create copies of the state and then inform the state manager of the new state and I think it is too weird to do. Keeping state in Redux is weird too, like do you create a reducer for each view? or each data piece (post, post list, etc.)? How about errors? Global errors, local errors and etc. How do you make sure to make it view state and not redux state? Autocomplete fields require http client access and require state, so do you put all of that in redux state tree? Let's say you do, how do you have more than one autocomplete field? Forget form input binding, you have to create functions to handle that kind of basic stuff. I can't figure out how to best represent state in Redux. I guess I need more time to figure it out.
Everyone has a different way of looking at things and I prefer Aurelia/Angular/Vue.js way of doing things. React + Redux/etc. seems like a piece of over-engineering in my opinion.
Anyway, I wrote this blog in Aurelia at first, but found Google not being able to render the pages (SEO), so I rewrote it in React. I can say I did not enjoy the experience of React right now. My current thought is for public websites, I'll use React and for internal apps I'll use Aurelia to make my life easier. If at some point, I hire other people to do stuff and they can do things in React or Aurelia better than I can, then those people have my blessing. I hope Aurelia matures on the SEO and webpack front some day, so I can take it more seriously.
I'm glad I got the experience of rewriting this blog and moving away from Wordpress. I'm glad I got to find new tools during this adventure and the next adventure is a mobile game that I hope people will be entertained and incentivized by.
My hard goals for this year is this blog (+ internal management), mobile game (+ internal management) and a digital asset manager (internal tool). My soft goals are a kanban task tracker (so I can move away from Trello) and my dream comment system.
I talk and think a lot about engineering and work, but I should be more open to writing about other things.
Like finding a date online, the current state of online dating is trash. Like bitcoin, it is not worth the effort. There is no algorithm for dating, so why bother? I couldn't even tell you what kind of girl I would like to be with. I know the ones I don't want to associate with! Maybe some cultures had a thing with the idea of arranged marriages. Hanging out with one another really is the only way to know if you want to be with another person. Parents were the filter with their network and without that who do you trust? Your FB network? What if you don't have an FB? Twitter? Why rely on networks anyway? It is as good as random. What do you do then? How about getting rid of the people who are fishing for attention from these dating sites? Sure they are people, but they deliver no value other than being a number. The question becomes how do you get serious people within each region to go hang out and date. I don't know the answer to that. My hunch is on common activities and the idea of being introduced either randomly or by a friend/parent. I think this will be a soft goal for this year as well.
Technology augments and does not replace the experience of doing things. Sometimes I think that thought process is missing in the direction that we want to go in.
Like I said, it is a new day and I feel like a kite!