Hello,
I meant to post last week, but I couldn't find content for a full blog post (at least for one that, unlike the blunt blog title that I chose out of poor imagination, would be coherent and structured enough. So how are things going?
The first point I'd like to address, which is the most important one IMO, is that things are going smoothly. Sure, there are a lot of obstacles, or to be exact things that seem like obstacles. But once you get the grips of them you see that it is a valuable experience; at least the way I choose to see things is that if you don't overcome obstacles, they will always be ahead of you. To be particular, personally I come from a background that put a lot of emphasis on math and abstract thought (BTW, I'm an electrical and computer engineering student. That will be one of the few personal details I think I'm willing to share publicly, and I hope you'll excuse me on that). For most of my programming years, which to be honest were before my 18s for hobbies and not counting university obligations, the computer had in my mindset infinite resources. Infinite memory, infinite processing power... At least you didn't have to deal with that. Of course, I realized the importance of technical restrictions when I got into the Engineering school, but that was for most of my classes on a theoretical level. But when you are developing on an embedded device, as Nitrokey is, then these restrictions become important. Also, as a USB device (emphasis on the U), you have to be sure to follow the standard when you ought to, and the margin for errors on that is, simply put, non-existent. And this is a whole different developing logic from following an API, in my opinion.
Secondly, cryptography is awesome! And it's nice to stray away from the academic books for once. But unfortunately this is something that would have to be postponed for the time being. Now we are deciding the system architecture, i.e. all the important aspect of how to the code should be organized, how it should function, important give-or-take aspects, preliminary choices on libraries that we might use... that kind of stuff. This is kind of hard, as it requires to have a very good understanding and on a general level. But the promising thing is that you can always feel that day by day, you are tackling the problem more and more.
I will provide more information as we are getting deeper into the coding part. As you can understand things are still fluid right now and I frankly doubt that analyzing choices that we may disapprove in the future would be of any help. So long, and thanks for all the fish.
I meant to post last week, but I couldn't find content for a full blog post (at least for one that, unlike the blunt blog title that I chose out of poor imagination, would be coherent and structured enough. So how are things going?
The first point I'd like to address, which is the most important one IMO, is that things are going smoothly. Sure, there are a lot of obstacles, or to be exact things that seem like obstacles. But once you get the grips of them you see that it is a valuable experience; at least the way I choose to see things is that if you don't overcome obstacles, they will always be ahead of you. To be particular, personally I come from a background that put a lot of emphasis on math and abstract thought (BTW, I'm an electrical and computer engineering student. That will be one of the few personal details I think I'm willing to share publicly, and I hope you'll excuse me on that). For most of my programming years, which to be honest were before my 18s for hobbies and not counting university obligations, the computer had in my mindset infinite resources. Infinite memory, infinite processing power... At least you didn't have to deal with that. Of course, I realized the importance of technical restrictions when I got into the Engineering school, but that was for most of my classes on a theoretical level. But when you are developing on an embedded device, as Nitrokey is, then these restrictions become important. Also, as a USB device (emphasis on the U), you have to be sure to follow the standard when you ought to, and the margin for errors on that is, simply put, non-existent. And this is a whole different developing logic from following an API, in my opinion.
Secondly, cryptography is awesome! And it's nice to stray away from the academic books for once. But unfortunately this is something that would have to be postponed for the time being. Now we are deciding the system architecture, i.e. all the important aspect of how to the code should be organized, how it should function, important give-or-take aspects, preliminary choices on libraries that we might use... that kind of stuff. This is kind of hard, as it requires to have a very good understanding and on a general level. But the promising thing is that you can always feel that day by day, you are tackling the problem more and more.
I will provide more information as we are getting deeper into the coding part. As you can understand things are still fluid right now and I frankly doubt that analyzing choices that we may disapprove in the future would be of any help. So long, and thanks for all the fish.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου