Dolibarr is a comprehensive open-source software for enterprise resource planning (ERP) and customer relationship management (CRM). Designed to meet the needs of small and medium-sized enterprises (SMEs), freelancers, and associations, it offers a simple, flexible, and modular solution to efficiently organise the various activities of an organisation.
Why host your own services? My perspective: Why self-host your services?
Key Features
Dolibarr allows the management of numerous aspects of a business:
Clients and prospects: Manage contacts, create quotes, issue invoices, and track payments and reminders.
Product and stock management: Track items, manage stock levels, and handle suppliers.
Orders and sales: Manage client and supplier orders, and create purchase orders and delivery notes.
Accounting: Track expenses and revenues, generate financial reports, and manage invoices.
Project management: Monitor tasks, deadlines, and resources for ongoing projects.
Human resources: Track employees, manage leaves, absences, and expense reports.
Advantages of Dolibarr
Dolibarr excels due to its modularity: each user can activate only the features they need, making the software highly customisable. With its intuitive interface, it is easy to use, even for non-technical users.
As open-source software, Dolibarr is free, making it an accessible alternative to paid software solutions. It can be installed locally on a server or used in SaaS mode (hosted in the cloud) for remote access via a web browser.
Finally, it is scalable: suitable for small businesses, it can grow alongside the company as its needs evolve.
Conclusion
Dolibarr is a versatile and cost-effective ERP/CRM solution, ideal for organisations seeking a simple, modular, and high-performance management tool.
Self-hosting your own services, whether it be websites, applications, or management systems, is an option chosen by many businesses and individuals for various reasons. Here are some key advantages of this approach.
1. Complete Control
One of the main advantages of self-hosting is having complete control over the server environment. You decide which software to install, what configurations to apply, and which security policies to enforce. Unlike third-party hosted services, where limitations may restrict your choices, here you are in full control of all technical decisions and can adapt the infrastructure to your specific needs.
2. Data Privacy
When you host your services, your data remains in your hands. You are not reliant on third-party providers to manage sensitive data, thereby reducing the risk of leaks or unauthorised access. This is particularly important for businesses subject to strict data protection regulations, such as GDPR.
3. Cost Optimisation in the Long Term
While self-hosting may incur higher initial costs (servers, maintenance, etc.), it often becomes more cost-effective in the long term, especially if you manage multiple services. You avoid monthly subscription fees and have the ability to optimise your resources as you see fit.
4. Scalability and Customisation
With personal hosting, you have the freedom to scale your infrastructure according to growing needs. You can customise the configurations, add modules, and adjust performance without being restricted by the plans offered by commercial hosting providers.
5. Continuous Learning
Self-hosting is a valuable opportunity for continuous learning. By managing your own servers, you are constantly exposed to new technical challenges that push you to broaden your knowledge. Whether it’s optimising security, improving performance, or troubleshooting complex issues, every step of self-hosting presents a chance to develop skills in system administration, networks, security, and web technologies. This keeps you up to date with technological developments and allows you to progressively gain expertise in key areas, fostering a constant learning curve.
Conclusion
Self-hosting your services provides technological independence, better cost control, and ensures increased data privacy. Additionally, it is an excellent way to train in technologies related to hosting and server management. It’s a strategic choice for those who want to maintain control over their tools and infrastructure while being ready to manage maintenance and administration.
The Future of AI: Why AGI Won’t Happen (and What Will Really Happen)
In the current context of the AI industry, the recent departures of executives at OpenAI raise important questions regarding the future of the company and its technologies. After years of innovation, the loss of key talent could have a significant impact on OpenAI’s strategic direction and its development ambitions.
As a developer who closely follows technological advancements, I am fascinated by the rise of artificial intelligence (AI). Today, much of the discussion focuses on AGI (artificial general intelligence): the idea of an AI capable of understanding and solving any problem, like a human—or even better. However, after observing market trends and analysing comments from major players in the field, I believe it is time to be realistic: AGI is not just around the corner. Here’s why.
AGI: A Distant Dream
Some industry leaders, like those at OpenAI, claim AGI is within reach. However, there are signs that achieving this may be more complex than they suggest. Many key executives have recently left the company, including major technical leaders (https://www.theregister.com/2024/09/26/openai_execs_leave/ ). If OpenAI were on the brink of creating what would arguably be the greatest technological breakthrough in history, why would these people leave? It’s highly likely that AGI remains a distant prospect, despite the public optimism.
The Near Future of AI
Instead of witnessing the emergence of AGI, I believe we’ll see something else: the generalisation of current technologies. Models like OpenAI’s GPT-4, Anthropic’s Claude, and Meta’s Lama are reaching similar performance levels. This convergence of capabilities means AI technologies are becoming more accessible, and their costs are rapidly dropping.
Today, if you want to integrate an AI feature like GPT into your product, it costs about 95% less than it did a year ago. This incredible cost reduction makes AI increasingly affordable for businesses, and this trend is likely to continue.
Pervasive, Cheap AI
In a few years, AI will be everywhere and almost free to integrate. However, this does not mean the companies developing these technologies will generate massive profits. With competition driving these technologies toward similar levels, margins will shrink, and AI will become a mere commodity—a tool among many in the toolbox of developers and businesses.
Some companies, like OpenAI, have shifted from non-profit to for-profit models. This change likely aims to maximise profits before AI becomes mundane. We may see IPOs, allowing certain people to capitalise on this opportunity before the market reality—ubiquitous, low-margin AI—sets in.
AI: Just Another Technology
Over time, AI will become so common that we won’t even talk about it as a revolutionary technology. Just as we no longer refer to products as “Internet-enabled” because everything is already connected, AI will simply be an integrated aspect of all technological products. It will no longer be a unique selling point but just another standard feature in our tools.
Conclusion
Artificial intelligence is advancing at an incredible pace, but AGI remains a far-off utopia. What we are witnessing today is AI technology becoming commoditised and accessible to everyone. The real challenge, for businesses and developers alike, will be to adapt to this new landscape where AI is no longer cutting-edge innovation but simply a standard technology.
What do you think? Am I being too pessimistic about the future of AGI, or do you share this pragmatic vision? I’d love to hear your thoughts in the comments below!
Unison is an open-source file synchronisation tool that allows you to keep two directories perfectly synchronised. It can be useful in many situations, such as synchronising files between a desktop computer and a laptop, backing up files to a cloud storage server, or sharing files between different users on a network.
Synchronising a Local Folder
To use Unison, you must first install it on each computer or device you want to synchronise. Unison is available for most operating systems, including Windows, macOS, and Linux. You can download the latest version of Unison from the official website of the tool.
Once you have installed Unison on each device you wish to synchronise, you can use the command line to start the synchronisation. Here’s an example command to synchronise two directories stored on your desktop computer:
unison /home/user/documents /home/user/backup
This command will synchronise the /home/user/documents directory with the /home/user/backup directory. Any files that are present in one of these directories but not the other will be added or deleted to ensure that the two directories are in perfect synchronisation.
Synchronising a Remote Folder
Unison can also be used to synchronise files between two remote computers or devices. To do this, you need to configure both computers to connect to each other via SSH. Once SSH is set up, you can use a command similar to the one above but replace the local directory path with the IP address or hostname of the remote computer.
For example, to synchronise files between two remote computers, you can run the following command:EnregistrerCopier
In this example, the /home/user/documents directory on your local computer will be synchronised with the /home/user/documents directory on the remote computer named remote-server.
There are many options available that you can use to customise the way Unison synchronises files.
There are many communication protocols used in the field of home automation to connect and control the devices and services in your home. Here are some of the most commonly used protocols, along with their typical usage frequencies:
Z-Wave: Z-Wave is a wireless communication protocol that uses radio frequency to allow devices to communicate with each other. It operates on a radio frequency of 868 MHz in Europe and 908 MHz in North America. It is very popular in the field of home automation due to its low energy consumption and extended range.
Zigbee: Zigbee is another wireless communication protocol that uses radio frequency to enable devices to communicate. It operates on a radio frequency of 2.4 GHz. It is also highly popular in the home automation sector due to its low power consumption and extended range.
Wi-Fi: Wi-Fi is a wireless communication protocol that uses radio waves to enable devices to communicate with a local network or the Internet. It operates on radio frequencies of 2.4 GHz or 5 GHz. It is very commonly used in homes and businesses to connect devices such as computers, mobile phones, and smart home devices.
433 MHz: The 433 MHz wireless communication protocol is one of the most widely used in the field of home automation. It operates on a radio frequency of 433 MHz to allow devices to communicate with each other. This frequency is in the medium wave band, which is used for short-distance data transmission.
LAN: LAN (Local Area Network) is a communication protocol that allows devices to communicate with each other on a local network, such as a business or home network. It uses network cables or wireless technologies to connect devices to one another.
Infrared: Infrared is a communication protocol that uses invisible light waves to allow devices to communicate with each other. It is commonly used in remote controls and smart home devices such as thermostats and motion detectors.
Bluetooth: Bluetooth is a wireless communication protocol that uses radio waves to allow devices to communicate with each other over short distances. It is widely used in portable devices such as mobile phones and Bluetooth speakers. Bluetooth operates on a frequency of 2.4 GHz to transmit data.
EnOcean: EnOcean is a wireless communication protocol that uses ambient energy, such as light or movement, to power and transmit data between devices. It is often used in smart home devices such as motion sensors and wireless switches. EnOcean operates on a frequency of 315 MHz or 868 MHz to transmit data.
It is important to choose the communication protocol that best suits your needs and smart home environment. If you need to connect devices over short distances, like portable devices, Bluetooth may be a good option. If you want to use devices powered by ambient energy, EnOcean might be a solution. If you need to connect devices to a local network or the Internet, Wi-Fi may be the most suitable choice. Ultimately, the choice of communication protocol depends on your needs and smart home setup. Note that the cost of sensors may vary significantly depending on the protocol.
In my case, the priorities in my setup are, in order of importance: Zigbee, Wi-Fi, LAN, and Bluetooth.
Home Assistant is an open-source home automation software that allows you to centralise and control all connected devices and services in your house. With Home Assistant, you can create automations for your home, monitor its real-time status, and control your devices remotely.
Home Assistant is compatible with many communication protocols, devices, and services such as Google Assistant, Amazon Alexa, Nest, Philips Hue, and many others. You can easily add new devices and services using Home Assistant’s built-in “Marketplace.”
One of the greatest strengths of Home Assistant is its active and constantly growing community. You can find help and support on the online community forums, where many users share their configurations and automations. There are also numerous tutorials and guides available to help you get started with Home Assistant.
Home Assistant is also highly customisable. You can adjust the appearance of the interface by using pre-built themes or by creating your own. Additionally, you can create custom views to display your home’s status in the form of dashboards, widgets, and graphs.
In summary, Home Assistant is an excellent open-source home automation solution that allows you to centralise and control all the connected devices and services in your home. Thanks to its compatibility with a wide range of devices and services, along with its active and growing community, Home Assistant is a solid choice for anyone looking to build a smart home.
This serves as a good introduction to Home Assistant. I’ve been using it for over a year and have already accomplished quite a lot with it. You’ll find plenty of posts here: notes, impressions, feedback, and much more.
The objective is to mount an OVH object container on a Debian machine. For this, we will use the S3QL utility. The repository can be found here: https://bitbucket.org/nikratio/s3ql
Installing S3QL
On Debian, a quick:
sudo apt install s3ql
and you’re good to go.
Mount Configuration
Next, it’s time to configure it with OVH. The OVH documentation is well-written: https://www.ovh.com/fr/g1908.monter_un_conteneur_dobjet_avec_s3ql Personally, the following commands are very useful to me. I use a Seafile server, and the files are stored in the container.
Practical Case for a Seafile Server
Mount the container with the permissions for a Seafile user:
I lack a comprehensive understanding of the system, but in practice, I have to admit that I wouldn’t recommend this architecture for a production system. OVH themselves do not strongly recommend this setup (see their documentation). Furthermore, I’ve encountered data corruption issues and have been forced to run fsck both at the Seafile level and with S3QL.
NOTE: In case of a machine shutdown, you should stop Seafile first and then unmount the S3QL folder. The same process applies for a startup: first mount the folder with S3QL and then start the Seafile server. I will update this post as soon as I find the best method to handle this scenario.
I want to add an email confirmation field during the user registration process.
There are plenty of plugins available to customise registration fields in the WordPress front end. However, for just one or two fields with basic validation logic, I prefer using some custom code in a plugin or in the functions.php file instead of opting for a full-fledged plugin that might unnecessarily bloat my WordPress site.