The squash and merge button is convenient, but not the only way. As you mentioned, sometimes I do squashing locally into multiple meaningful commits. It's important that my mess doesn't end up in the main branch. Also, another approach would be creating smaller pull requests.
HN user
lukicdarkoo
https://lukic.io
In my workflow, I typically commit often and use the commits as personal checkpoints. Once a pull request is ready I simply squash the commits and merge. That way, the history in the main branch is clean and I have my checkpoints. I assume that is a typical workflow for many teams.
Professionally, I do embedded and robotics, but once a year I find an excuse to create a simple web application (to stay updated). Every time, I get impressed by power and simplicity of the web technologies in general. In JavaScript those are things mentioned in the article + WebComponents. For CSS those are flexboxes, grids, and animations. In my opinion, React made a revolution with hooks and contexts. I love the direction in which the web world has been going!
This a great observation. Robotics requires a strong foundation in mathematics, control, embedded and similar, something that is unheard in typical software engineering roles. Plus, there is a "real-world effect" - if something works in simulation there is no guarantee it will work in the real-world (especially if the simulation is not properly designed). The software has to written in multiple programming languages, often minimum is C, C++ and Python. And everything stated here are software challenges, there are also mechanics, electronics and expensive equipment.
In summary, it requires more than a few tutorials to get started, it is multidisciplinary, and you have to deal with the unpredictable real-world.
Webots is an open-source robot simulator: https://github.com/cyberbotics/webots
Webots R2021a has arrived and it brings camera image segmentation among the other features: https://cyberbotics.com/doc/blog/Webots-2021-a-release
Download it now and start building deep learning applications! https://cyberbotics.com/
If you want to use Webots and ROS2 check out the following wiki page: https://github.com/cyberbotics/webots_ros2/wiki
Can we use it as an actual keyboard (plug it into our PC)?
There is OpenAI gym interface for Webots: https://github.com/aidudezzz/deepbots
The interface simplifies usage of Reinforcement Learning algorithms with Webots.
There is an article about performance comparison and Webots is way ahead of the competition: https://arxiv.org/pdf/2008.04627.pdf
There is a Wikipedia article comparing different robotics simulators: https://en.wikipedia.org/wiki/Robotics_simulator
You may find a podcast with Olivier (CEO of Cyberbotics) interesting as well: https://www.youtube.com/watch?v=gy75VfUg9II
The script is heavily based on the article. Full credit to the article!
For everybody interested in details, the article gives useful insights on configuration automated by the script.
I suspected that the network wasn't ready, so I configured the service start after network without much luck. I didn't go further than that.
No idea! I spent some time debugging it, but it just does't make sense it works with cron and not with systemd. Let me know if you have any idea where to look!