We recently inked Elecnor Deimos as our first corporate client (yay!). Elecnor Deimos is a top tech company with over 500 engineers in staff. They provide software solutions for different sectors ranging from aerospace and aeronautics and defense to transportation or telecommunications in a EU and worldwide levels. The relevance of their clients is descriptive of the quality of their products and services; a few of them are ESA (European Space Agency), NASA, European Union, Telefónica, Siemens, Nokia…
For all these top-level companies they develop a huge variety of products like Satellite imagery, air navigation systems, environmental managing systems etc. All of which are top-knotch pieces of software. But what’s even better for their clients is that Elecnor Deimos is making a bold move to support and use modern technologies like biicode or CartoDB as we’ll explain later. This could only mean that a thriving software company is not only keeping its gained quality standards but also expanding their horizons into new sectors and technologies. Never stop moving!
Cross post from the CLion team: biicode integration in CLion!
C and C++ have a long history going back to the early days of programming. Over three decades, many interesting tools have appeared in the field: debuggers, compilers, memory analyzers and code analyzers for these languages are evolving swiftly. But how about a dependency manager? Can C/C++ developers save their time by configuring and installing various libraries used in their projects?
Luckily there is a very interesting cross-platform tool called biicode. With biicode, you can reuse any single source file from any given project in any other project you are developing. It tracks and manages versions of published code and retrieves the missing files from the repository (GitHub and Bitbucket are supported for now). In its latest versions, it supports boost libraries, Eigen and many others, and can even work with Arduino boards. The original content is here.
The POCO C++ Libraries are, like their own web recites, “Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems“. They were created by Günter Obiltschnig in 2004 and have been extended by enthusiastic C++ developers from all over the world.
Now, you have the following versions available in biicode:
As a C++ developer I love the Boost libraries. They are one of the highest quality and best suited C++ libraries in the world, with the spirit and design of being fully compatible with the standard library and its practices.
However, Boost is not easy to love. It’s shipped with tons of inter-dependencies, even circular dependencies, and that’s only for header-only libraries (thankfully 80% of Boost is header-only). For non header-only libs, it’s a true pain. You should compile those and then link against, being careful about what you are doing.
Even if setting up Boost manually could be a bit hard, when it works it’s a pleasure to develop with it.
At biicode we have been working hard to simplify the process, to make Boost available for any C++ programmer with just an include. But this is only the start, the project has been released as open source to allow everyone contribute and help.
I hope you like it.
biicode 2.0’s press release
Because managing a project with multiple dependencies is still a pain in C or C++, biicode sets it up with one #include.
For C/C++ developers that think a dependency manager is needed, biicode is a multiplatform tool and hosting service that allows you to build your projects easily, integrate third party code and reuse code among projects with just #includes.
When one launches a product or service, one knows they’ll never sleep again 4 hours in a row.
Apocryphal, but probably muttered by our founder Diego Rodríguez-Losada any time during the biicode’s two-year existence.
Especially when your product tries to address a common problem to almost 4 million of C and C++ developers – probably the largest development community by language – that however lacks what in other languages is a basic and a widespread tool: a dependency manager. It is true that several initiatives exist, as RYPPL, Meson, Repobuild, CPMCPP, but unfortunately none of them seem to have a large adoption.
We are proud of where we came from and confident of what we have achieved. We have worked hard to build it, developing and iterating a lot: for example we changed our full codebase from java to python in the process, or rebuilt more than 50% of our codebase in 1,5 months to release v1.0. So we didn’t even consider about making biicode open source. Until today.
Professor Jose Daniel García (UC3M) explains its main features:
This week ISO/IEC JTC1 has reported that DIS 14882, the revision to the C++ Standard, has been APPROVED with 0 negative votes. What does this mean in practice? Well, it is just another step towards the publication of the new version of the C++ standard that will eventually get the official name of ISO/IEC 14882:2014 (C++14 for friends).
The ISO C++ committee aka WG21. Not standard people at all!
Yesterday biicode suffered a DDoS attack on this wordpress blog.
DDoS attack (Distributed Denial of Service) tries to make a resource (this blog) unavailable using servers distributed all over the world.
In this case, sources came from Korea, USA, Europe… More than a hundred simultaneous connections brought down our blog.
Today, by the hand of Pablo San Segundo, we present graph and ugraph, two simple, easy-to-use, C++ wrappers for unweighted graphs encoded as bit strings.
One of the most interesting and versatile applications of bit strings is to encode simple unweighted graphs dynamic in the number of edges (i.e. there is an efficient way to add/remove edges but not so for the vertices). Graphs encoded as bit strings have recently attracted the attention of researchers in relation to well known NP-hard problems such as vertex coloring or clique. The main reason is that efficient algorithms that exploit bit-parallelism at CPU level have been found for such problems.