Technology is all around us (fuck… it’s so obvious…). We have powerful machines in our pockets, we use computers and internet every minute and humanity would definitely collapse if everything would stop working now. Look at your grandparents or people in their age – even though they use a percent of all what technology gives us today, they feel like in… magic world.
Look at yourself
You are a developer, right? An engineer. Imagine that someone asks you to build a TV or even a 4-bit processor right now. A great part of us has no idea how to do this from scratch. Me either. We know how to implement a thread-safe singleton, how to make a SQL query 4 times faster than it was and we probably can say in a middle of a night that concatenating strings by
+= is a disaster. Pretty cool, nice to show up in front of friends on beer session, yeah? Not really.
I have a strong feeling that our work is super interesting for us and not interesting at all for a rest of the world. Each of us seems to be a gear in a big machine called “Software industry”. We are replaceable, so it is our concern to step out! It’s fine that you created a website used by 5 millions users per day, but can you do something what’s magical? I asked this myself and I guess that all of us have technical background that gives us a possibility to create great things!
Do a step out
A competition organised Maciej Aniserowicz, called “Get Noticed!” (“Daj się poznać”) is a perfect opportunity to create something that you have never tried and you didn’t even thought you can, so I decided to build something that will let me think that I’ve created a physical product that helps me in everyday life (at least will feed my ego). It is going to be finished till the end of 2017, but it’s not a deadline. I don’t want to rush! I’m tired of throwing “ASAPs” all around me, so I will just do my project slowly and carefully.
What I want to do, you ask? A mirror. A mirror that will show me in the morning all my emails, news, a weather outside and the God knows what else. I want to have everything personalized, so it will recognize a face and adjust content to the current user.
What functions it will have, you ask? I don’t know yet. It’s not the most important part. I’ll choose technology first and I’ll try to think out a fancy feature that I can implement with it. I have in mind a bunch of technologies, concepts, frameworks and so on, that I would like to know, so I’ll try hard to use them! That’s the main purpose.
There are couple of constraints that I will respect:
- .NET Core – a hell gets frozen (this climatic allegory is a clichéd, but I like it). I can feel that in 5 years whole .NET Framework will be similar to Windows Forms with VisualBasic, so it’s crucial to ask Linux for forgiveness, and say
Console.WriteLine("Hi Ubuntu! Can we be friends again?").
- RaspberryPi 3 – Santa gave me this last Christmast! Woohoo! Can’t say about this too much yet, but .NET Core team is working hard to make a Raspberry a good home for your apps. I dusted off my soldering iron. Hopefully, I will not have to keep a PC to the bathroom, which will be a brain of my mirror.
- Docker – MICROSERVICES! CLOUD! VIRTUALIZATION! If you’ve heard those fancy words on conferences or read them on blogs, you’ve probably seen a cute whale-ship logo. It’s supposed to be a useful tool, so I’ll definitely try to get familiar with it.
MagicMirror is a “nihil novi” project concept. Many of folks already did it and they seem to be really successful ventures. Here you can see an example of pretty fine mirror:
I’ll not copy that. I’m using this idea to create something which fulfill my needs and I hope you will support me, guys and give me more ideas of functionalities.
The project is available on GitHub.
As you probably noticed, I’m not the best English writer, but I treat those posts as a training, so please – if you see a serious mistake in here, write a comment or email. I’ll learn and try to never make this mistake again. It’s also cool to write the content to more than only polish speakers.