{"id":774,"date":"2018-10-08T17:58:16","date_gmt":"2018-10-08T15:58:16","guid":{"rendered":"https:\/\/craftcoders.app\/?p=774"},"modified":"2024-08-14T14:27:53","modified_gmt":"2024-08-14T12:27:53","slug":"explore-the-unexplored-tech-world","status":"publish","type":"post","link":"https:\/\/craftcoders.app\/explore-the-unexplored-tech-world\/","title":{"rendered":"Explore the Unexplored! (Tech world)"},"content":{"rendered":"
Autumn is coming. This is the time when I like to grab a cup of hot tea and crawl under a warm blanket with my laptop. As a developer, it’s a good time to broaden your horizons with new knowledge. I want to motivate you to use that time as well to explore the tech world.<\/p>\n
Whilst working on tech stuff, often a talk with a friend comes to my mind. When he asked in a deeply sarcastic tone whether I’ve got time to meet up or if I’m into my “private projects” again. Yeah, exploring the tech world can be pretty time consuming but doing so is great fun too. The result of that time was an Android note app<\/a> which I use until today regularly. With that project, I learned a lot about clean architecture, object-orientation, Android, UX, and even project management.<\/p>\n Basically, the message is: Engage with a tech field you are new to. This is not a new idea. Despite, a lot of professional and experienced developers have a limited mindset when it comes to usage of appropriate technologies because they don’t know the objective advantages and disadvantages of choosing one technology over another.<\/p>\n So, the question is not whether you should broaden your horizons or not. It is when and how you should do it and how to keep on. Here are two approaches which both have their own up- and downsides:<\/p>\n My current project is part of our future gadget lab, so put your cup of hot tea aside and take a fresh cool Dr.Pepper instead!\u00a0 We gave our project the name Divergence Meter (modernized) Ver.2.31<\/em> and it will help us to finally leave the alpha attractor field and reach the Steins;Gate worldline. I can’t tell you too much as the organization is chasing after us. ~el psy kongroo<\/p>\n <\/p>\n For the boring normies out there: A divergence meter is a fictional device from the anime Steins;Gate, but you can use it as a multifunctional clock. A friend of mine built the thing and I’m currently programming it. We created a modernized<\/em> version using lixies instead of the original nixie tubes because for our poor lab they were more affordable. The lixies work with a rotary encoder called Cronios-1. Put simply, with the rotary encoder you can program your device using a dialect of BASIC namely LED-BASIC. Here is an impression of the beautiful code you can write with it:<\/p>\n I never programmed that close to the actual hardware and it feels quite hacky in the beginning. You can spend hours trying to display a 6-digit number. The code for our clock has a length of more than 1800 lines in a single file with jump marks all over the place.<\/p>\n But I could learn a lot about imperative programming especially when it comes to separation of concerns. With such a long file and a maximum of 26 variables which are all global ones, you have to think about where to put what code snippet to avoid side effects and maintain the structure. Generally speaking, by engaging with projects like this one or the previously mentioned Android app you can think of problems in new ways and use your knowledge from one technology in another. This is also what Mr. Tate states as you will see in the next section.<\/p>\n Let’s assume that you’ve actually managed the difficult task of downloading and installing the interpreter or compiler for the language you are interested in. What should you do next? What will be your first program? – Joe Armstrong, creator of Erlang<\/p><\/blockquote>\n This is an excerpt of the\u00a0 books preface. If you also have these questions in mind whenever you think about starting a project, then the book will be just right for you. It is stated that new programming models emerge roughly every 20 years. Some emerging new languages are covered and some well-known languages, too. By doing so you can see how different paradigms can overlap or make clean breaks. Concurrency, for example, is a topic which is treated very differently in different languages.<\/p>\n Here is quick overview of the languages and some of the aspects you can learn from them:<\/p>\n As soon as you have worked through the book and you are still eager to learn you can search the web for code katas<\/b> or object calisthenics<\/b>. These little exercises will help you build more confidence in programming especially if you choose unfamiliar technologies.<\/p>\n As always thanks for reading! One rumors that you can find a pdf version of the book if you search the web. Maybe you should take the chance and start right away using it \ud83d\ude09<\/p>\n Greets, Autumn is coming. This is the time when I like to grab a cup of hot tea and crawl under a warm blanket with my laptop. As a developer, it’s a good time to broaden your horizons with new knowledge. I want to motivate you to use that time as well to explore the tech world. Whilst working on tech … Read More<\/a><\/p>\n","protected":false},"author":3,"featured_media":2331,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[171,113,114],"tags":[],"acf":[],"yoast_head":"\nHow to approach it<\/h2>\n
\n
Hacking to the Gate<\/h2>\n
\r\n' VAR: g: Month from data, q: Day from data\r\n8020:\r\nfor i = 1 to 10 step 3\r\ng = read 50, i\r\nq = read 50, (i+1)\r\nif g = (IO.getrtc(4)) and q >= (IO.getrtc(3)) and i <> (IO.eeread(18)) then IO.eewrite(18, i)\r\nnext i\r\nreturn\r\n\r\n<\/code><\/pre>\n
Benefits<\/h3>\n
7 Languages in 7 Weeks<\/h2>\n
Covered languages<\/h3>\n
\n
How to proceed<\/h3>\n
\nHououin Kyouma<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"