Introduction of IoT, OSS, and Myself

This is my first post on steem although I have steemit account >1 month ago ๐Ÿ˜†.
Forgive me if it's not easy/comfortable to read, overused emoji, and stray out of topic because I still exploring what writing style should I use ๐Ÿ˜‹

Hello, my name is Wildan (with {nick|user}name DrSensor, cimenx, or wildan on many account ๐Ÿ˜†). Here I'm trying to challenge the status quo of IoT Development. Currently I build, file some issue, and doing PR to some OSS project in my spare time to make the IoT development easier and to exert my skill because my background are Electrical thingy related degree ๐Ÿ˜‚, became Fulstack Developer for a year but doing Data Scientist related stuff during that time, then quit my job and been working on web development (freelancing and others) for a year (nice timing for webdev because opinion war between 3 web framework became more stable and clear). Exerting my previous skill is important for me that I'm afraid what I learn long time ago became dull and not usable (trends in tech stuff is unpredictable). Currently I semi-employed-or-not-whatever-you-call ๐Ÿ˜†, have some low income but lead a decent live (cheap living cost but healthy food) and luckily have decent internet connection (I'm serious because internet are the most expensive thing in my living cost budget ๐Ÿ˜ข).

Back to topic, why I write on Steemit (or Busy.org if you read it on that) ?

Umm..sorry but I though the title have something related to IoT

Well, umm I just beginning to writing because it's near Ramadhan and I live in moeslim country which in that month I will receive less work (which mean less income ๐Ÿ˜†). If you are from west or europe you can think of it as Summer Break. Because of that I though to spend my time writing some article and development diary in here. Unlike StackOverflow which rate how valueable the content is by number of ๐ŸŒŸ/upvote, Steemit/Busy.org have some unique feature by showing how much your post in dollar (which is not real USD but can be estimated into real USD). And this can raise real condition (not just article or perception) which you propose some idea then it tend to be billion-dollar mistake.


Now let's talk about IoT development.

In the current state, you can build E-Commerce in 5 days alone but you can't build Smart Home in 1 week.

Well, of course, you can't, are you some kind of new superhuman that can build A HOME in 1 week

Sigh... I mean planting SMART...HOME...SYSTEM into your existing literally HOME... baka!

Back to topic, in the current state doing web development is easy not only because there is many content/tutorial for that but also many great tooling that exists in the ecosystem (thanks to many Open Source project). Let's list what we have now in Web Dev ecosystem.

Now in Front End development we have:

  • some framework that decent and have mature enough based on Component Design Pattern
  • live/hot reload. Change small portion of code and the result will be shown in less than seconds regardless how big/complex your codebase.
  • Static, dynamic, and duck typing language. Choose what suits you well
  • make/enforce consistent code style using linter. Useful when you are working on a team (importantly the linter is easy to install and sometimes integrated into the framework of choice)
  • development can be framework and language agnostic thanks to WebComponent & WebAssembly (not many workplaces utilize this but it's there ready to be utilized)
  • thousand library and hundred UI Components ready to use in many frameworks
  • rich debugging tools, you can even do time travel debugging, event there is built in the debugger in any popular browser now

and Back End development we have:

  • some backend framework has live/hot reload like feature. (it's called Hot Swap if you using Java Spring)
  • many backend framework/lib became database agnostic
  • thanks to microservice pattern and docker, backend code can be written in any language. (still needs DevOps guy to operate the infra)
  • many tools for documenting, building, and inspecting API and data. (Swagger, GraphiQL, etc)
  • Design Pattern agnostic. (some depends on the language that you use)
  • currently, I can't find backend framework/lib that can do time travel debugging (like redux/vuex)

while in Embedded development (especially ยตC) we have:

  • language agnostic but depend on specific devices. (microphyton, nodejs johnyfive, STM32F4DISC, etc)
  • device agnostic but depend on language and abstraction layer. (C/C++, Arduino)
  • nearly write once run anywhere can only be achieved using Arduino
  • low productivity because no live/hot reload thing. (exception if using ZephyrOS)
  • mostly concurrent programming can only be achieved if using RTOS by sacrificing signifant memory

Ok then, that's it for now (time to sleep ๐Ÿ›Œ). I will continue it on the next post hoping it's not stray out of topic ๐Ÿ˜‹. If there is some mistake or something to be added feel free to comment below ๐Ÿ˜Š

.As a bonus here is some Sand Dune Cat in Britol Zoo

sand dune cat

feel free to ask anything about me (anyone can ask me about my personal live but I will try to blur my answer ๐Ÿ˜„)

H2
H3
H4
3 columns
2 columns
1 column
6 Comments