Recently we've shown you an overview of Bytecoin development process which puts testing as a corner stone. During a testing process we sometimes face bugs: some of them are very simple and take not more than a few minutes to fix, but there are also a category of bugs that are very hard to find and reproduce. During Bytecoin 1.0.3 development we've faced one of these bugs that almost stopped our work for a week.
While developing Bytecoin Wallet for OS X we've faced a bug in pthread library condition variable implementation. This bug can't be called nothing else but pesky. Pthread is one of the cornerstones of multithread programming and used in almost every OS X application that uses multithreads, including gcc, clang, java and boost. Due to this bug - user can lose a vital piece of data that is placed in the memory. For instance, some applications are storing transaction amounts in the memory and in certain circumstances this bug can lead to the data corruption and therefore some info regarding the transaction amount is going to be lost...
About five years ago I was sitting in a cafe in Cambridge with an old friend. We had not met for a while, and were sharing our achievements: his in the field of biology of aging, mine in the field of business of innovations.
I asked him if I could, in theory, live 300 years (I can!), and he asked me how, in theory, he should make a 21st century company. I started my answer with stating that there were 12 attributes and... I noticed a mask of discontent on his face.
I started wrong. My friend did not tell me that there were 12 recorded factors influencing the lifetime. And, naturally, expected the same complete and clear answer. I took a time-out, drank my coffee and started again.
Oxygen level on our planet has dropped by 3% due to deforestation. A pity. Like. A child dying from leukaemia needs help. So sad. Like. Repost. Cruel experiments on kittens. Terrible. Retweet.
No problem can be solved by likes and reposts if one's enthusiasm stops at clicking a couple of buttons. It is hard for a slacktivist to get to his account, let alone taking direct action.
Apologists of slacktivism claim that drawing attention can solve the problem, while attackers argue that reposts in social networks create nothing but illusion of an action and imaginary support without affecting the reality. I do agree that slacktivism works, and I do agree that it is inefficient...
This is a guest post by Ofir Beigel @ 99Bitcoins.com
Almost a year ago the Israeli police apprehended a 20 year old computer technician in suspicion of fraud. Of course this story wouldn't have made it to the headlines if it didn't involve the controversial currency Bitcoin.
Here's how the story evolved:
A naive Bitcoin merchant was looking to sell his coins through one of the many Bitcoin trading groups on Facebook. The suspect contacted the merchant and offered to buy his coins from him for a total of $5,000. The merchant agreed and requested that the suspect wire the money to him.
Shortly after, the merchant received a screenshot with the wire confirmation and transferred the coins to the suspect's public address. Having felt that this was "just too easy" the merchant inspected the screenshot in greater detail only to find out that it was fake and didn't actually belong to the suspect's bank account...
The purpose of the wallet is to provide the user with convenient tools to use Bytecoin financial system. Still, the concept of 'convenient' differs significantly between the users. We had to choose if we were going to make a multipurpose compromise solution, or a solid basis for many future solutions.
We chose the second way. On this basis, we have built a series of tools that would satisfy different users. In this post we are going to describe the advantages of such an approach and provide a summary of solutions we have already released.
We have been developing Bytecoin for almost three years and have tested a number of development approaches during this time. We aim for Bytecoin to be secure, yet operating as fast as possible and being resource-efficient.
We hope that our three-years worth of experience in developing a cryptocurrency would be useful for other developers. We are going to share our knowledge with the community in the series of articles. This is the first post covering our development methodology that helps us uphold the highest quality standards of Bytecoin.
When developing a cryptocurrency, remote working does not present any problem for the team, and open source is more of a peculiarity rather than effective attribute affecting the development process.
The crucial point for cryptocurrency is to be reliable and secure. Bytecoin is a financial system that operates with users' funds. It is designed to automatically process a number of use cases in a decentralized manner. Keeping this in mind, we've always held robustness as the main criteria.
Task management methodology
In the very beginning, when Bytecoin was being created, we chose Scrum methodology. It was extremely useful during the stage of creating Bytecoin's core functionality. We worked at 3-week sprints, and the main functionality of Bytecoin was developed in 12 sprints. We used unit test on the regular basis to check the code's reliability, and added integration tests later on....
When I was a child, I was startled by the story "Flying Pan" by popular sci-fi author Robert F. Young. It tells about a girl who worked on an assembly line that produced pans. A pan moved to the girl on a conveyor, and she had to attach a handle to it with a steady move. Another pan followed right after, then another... Five days a week, from morning to evening, she had to stay at the conveyor and attach standard handles to standard pans.
People engaged in creative activities find it hard to imagine such a terrible situation. However, these jobs still exist in the world, although it seems wrong to use harassing human labor when robotics allow for cheaper and more efficient operating.
I agree that today people perform less standard operations and tend to solve creative tasks. Business itself has changed, it has moved away from production towards technologies, management, research, design, and development. Yet many people still think along the lines of the industrial revolution while new business principles already exist.
In this article, I present you the three main trends to be followed by a business that wants to be successful in the 21st century. These trends do not include using IT, respectful attitude towards clients, efficiency and many other terms, which, I believe, should be used by default.
Recent Blog Posts
Cryptocurrency market has been developing drastically, bringing more and more innovations to explore. The Bytecoin team ...
Diamond provenance protection, asset trading, land title registry, passport issuance, smart contracts, currency... you n ...
I have a phone, and I have no idea how it actually works despite the fact that people, like me, created it. I know that ...
In the 21st century, speed of delivery is paramount for any kind of business, but especially for software development. E ...
On May 19, the Bytecoin team introduces Bytecoin v.2.0.2. This release marks a major update after extensive core refacto ...
On July 4, the fourth anniversay of the project, the Bytecoin team introduces Bytecoin v.2.0.0. This release marks a maj ...