(step 1 of 2)
Write your email address in the white field and then click the "Confirm" button.
(step 2 of 2)
Write your password in the white field and then click the "Confirm" button.
Or click the "Request password" button to request forgotten password.
Email address has not been found!
Click the "Previous step" button to to enter your email address again.
Or click the "Register user" button to register your email address.
Pasword does't match!
Click the "Previous step" button to enter the password again.
Or click the "Request password" button to request forgotten password.
(step 1 of 2)
Write your email address in the white field and then click the "Confirm" button.
(step 2 of 2)
Your password has been sent to your email.
Please also check your spam folder.
Email address has not been found!
Click the "Previous step" button to enter your email address again.
Or click the "Register user" button to register your email address.
(step 1 of 5)
Write your email address in the white field and then click the "Confirm" button.
(step 2 of 5)
Registration code has been sent to your email.
Please also check your spam folder.
Copy the registration code from your email in the white field and then click the "Confirm" button.
Or click the "Previous step" button to request the registration code again.
Email address already exists!
Click the "Previous step" button to enter the email address again.
Or click the "Log in user" button to log in with your email address and password.
Or click the "Request password" button to request forgotten password.
(step 3 of 5)
Set your user name in the white field and then click the "Confirm" button.
Registration code does't match!
Click the "Previous step" button to enter the registration code again.
(step 4 of 5)
Set your password in the white field and then click the "Confirm" button.
User name already exists!
Click the "Previous step" button to set another user name.
(step 5 of 5)
User has been successfully registered.
Click the "Log in user" button to log in.
Please log in to be able to open user settings.
Click the "Log in user" button to log in with your email address.
Or click the "Register user" button to register your email address.
Your subscription has been successfully canceled.
Your subscription has been successfully established.
Write your comment in the white field and then click the "Add comment" button.
Article#: 00005
Date: 2020-04-11
Author: Radim
Do a good job!
Don't compromise!
Learn when working on the task and learn from the result.
Only if the task has been done correctly, it can be done even better next time with the new knowledge.
Compromising and doing bad work doesn't bring the right insights. It damages evolution.
© Radim-Automation, 2020–2025. All rights reserved.
Sharing of this article is permitted with proper attribution (link to the original page).
Related previous articles:
Related next articles:
Comment#: 00001
Date: 2020-04-20
User: Radim
I heard once that we are not allowed to use the word "evolution" in software development because to the investors it sounds like development will never be completed ...
But isn't evolution just the best example of development? Isn't it evolution that does things best to meet the demands of nature?
Comment#: 00002
Date: 2021-08-30
User:
@Comment#: 00001
"Good point actually. I think it is crucial to find the good balance between evolution (development) and releasing. If we never stop developing, we never start selling. But if we stop developing, we can not sell the product. Its like a ying-yang, isn't it?"
- Martin Zavodsky
Comment#: 00003
Date: 2021-08-30
User:
@Comment#: 00001
"This statement comes from deep of my heart!!
Evolution means continuous development, clever learning from past and implementing of each of those findings to improvements. Moreover, it also gives stability to that, what we are doing and eliminates surprises."
- Jiri Rus
Comment#: 00004
Date: 2022-10-22
User: Radim
"What do you really learn from mistakes? You might learn what not to do again, but how valuable is that? You still don’t know what you should do next.
Contrast that with learning from your successes. Success gives you real ammunition. When something succeeds, you know what worked - and you can do it again. And the next time, you’ll probably do it even better.
Failure is not a prerequisite for success. Success is the experience that actually counts.
That shouldn’t be a surprise: It’s exactly how nature works. Evolution doesn’t linger on past failures, it’s always building upon what worked. So should you."
- Jason Fried, David Heinemeier Hansson. 37signals (2010). Rework.
Comment#: 00005
Date: 2022-11-30
User: Radim
New problems occur in real operation that were not expected or experienced during development or test operation.
Then you are happy if you know the system / devices well, if you know how they work, how they are connected and controlled, etc. This know-how comes simply from working on the system, from solving smaller and larger problems...
Comment#: 00006
Date: 2022-11-30
User: Radim
During development, do not use other (preliminary) hardware than the one selected for production. You gain important experience with the hardware. You will find out whether the performance is sufficient and learn how to eliminate problems that arise during development. If the software development phase is carried out on the hardware designed for sharp operation, you will experience fewer unpleasant surprises after the machine is commissioned.
Comment#: 00008
Date: 2023-09-11
User: Radim
Does it make sense to think about digitalization if we don't see any use case?
"If you don't see any practical use case or clear benefit for digitalization in your specific situation, it may not make sense to pursue it blindly. Digitalization should always align with your organization's goals and needs. Here are some considerations:
1. Assess Business Objectives: Start by identifying your organization's objectives and challenges. Digitalization should align with your strategic goals, whether it's improving efficiency, reaching new markets, enhancing customer experiences, or reducing costs.
2. Customer Demands: Consider whether your customers or clients expect or would benefit from digital solutions. If there's no demand for digital services, investing in them may not provide a return on investment.
3. Competitive Landscape: Analyze your competition. If your competitors are effectively utilizing digital technologies to gain a competitive advantage, it might be necessary to explore digitalization to stay relevant.
4. Cost-Benefit Analysis: Conduct a thorough cost-benefit analysis to determine if the potential benefits of digitalization outweigh the costs. If the investment doesn't offer a reasonable return, it might not be justified.
5. Resource Availability: Evaluate whether you have the necessary resources, including financial resources, technical expertise, and staff training, to implement and sustain digital solutions effectively.
6. Future Growth: Consider the scalability of your organization. Even if you don't currently see a clear use case for digitalization, it's essential to think about your organization's future growth and whether digital technologies could play a role in that growth.
7. Technology Trends: Stay informed about industry trends and emerging technologies. While there may not be an immediate use case, technological advancements could create new opportunities down the line.
8. Customer Feedback: Engage with your customers or stakeholders to gather feedback on their needs and preferences. They may provide insights that could uncover potential use cases for digitalization.
9. Pilot Projects: Instead of a full-scale digital transformation, consider starting with smaller pilot projects to test the waters and assess the feasibility and impact of digital solutions in a controlled environment.
10. Consult Experts: Seek advice from digital transformation consultants or experts in your industry. They can provide insights into potential use cases and help you determine if digitalization is appropriate for your organization.
In some cases, it may indeed be the case that digitalization doesn't make sense for your organization at a given time. However, it's essential to regularly revisit this assessment as technology and business landscapes evolve. What might not be relevant today could become essential in the future. Ultimately, the decision to pursue digitalization should be guided by a thorough understanding of your organization's unique needs and circumstances."
- https://chat.openai.com (Does it make sense to think about digitalization if we don't see any use case?)
Comment#: 00009
Date: 2023-09-15
User: Radim
Complaints and identified problems are good sources of innovation.
Comment#: 00010
Date: 2023-09-27
User: Radim
"By continuously improving the design of code, we make it easier and easier to work with.
This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently add new features.
If you get into the hygienic habit of refactoring continuously, you'll find that it is easier to extend and maintain code."
- Joshua Kerievsky. Addison-Wesley (2004). Refactoring to Patterns.
Comment#: 00011
Date: 2023-10-04
User: Radim
"Never discourage anyone who continually makes progress, no matter how slow."
- Plato
Comment#: 00013
Date: 2024-02-14
User: Radim
Benefits and risks of software updates via remote access to customer machines
In today's agile world, quick and easy software updates are essential for maintaining technologies and systems. However, the transition from manual installation of updates to remote access raises an important discussion about the risks and benefits of this approach.
Technical feasibility and tools:
The technical aspect is not an obstacle. With today's concepts and tools, the application software can be updated on remote machines at the customer's premises.
Risks:
However, the main concerns relate to the risks associated with this procedure. There is a possibility that the installation of the new software version may cause unexpected problems that can have serious consequences. The machine may no longer be able to be started and may even no longer be accessible remotely. A specialist then has to travel to the customer. This can take up to several days and leads to expensive production downtime for the customer.
Benefits:
Conversely, remote software updates have many advantages. Customers do not have to wait for a technician to be present, which saves time and travel costs. In addition, the rapid availability of updates can improve overall customer satisfaction and increase efficiency.
Solution:
To minimize the risks associated with remote updates, clear rules and procedures must be established. These include thorough testing of updates prior to deployment, detailed data backup and recovery plans and adequate training of customer personnel.
Comment#: 00014
Date: 2024-03-25
User: Radim
Remove the "ballast" from the program!
Only include things in the program that are really needed. Unnecessary parts of the code in the program become obsolete, untested, raise unnecessary questions and are a source of ambiguity.
Sometimes it is a good idea to try more than one way in practice to find out which way is the best. However, once we have decided on a particular approach, it is important to consolidate our methods and remove the outdated ones. By removing "ballast" from the program, we eliminate potential sources of confusion and improve the overall quality of the code.