biicode’s new basics – git remote linking, collaborators and more

We have decided to move out of beta some of our coolest features and allow any user enjoy them. Today we are featuring git remote linking and block collaborators management but we release every two to three weeks so expect new features like these coming every fortnight or so. These functionalities are now available to all biicode users. Enjoy! you can always suggest or upvote the existing features that are ahead in our roadmap here.

Continue reading

Raspberry PI cross building native (C/C++) graphical applications from Windows

Developing and testing C and C++ applications for the Raspberry can be inconvenient because of slow builds, so it is usually far more interesting to be able to develop in your own box, then just do the final checks in the target platform, in this case the Raspberry PI.

raspberry pi ++

This article shows how to develop an OpenGL based application (using the GLFW library), that will be first built and run in the desktop, then cross-built to the RaspberryPI, using biicode hooks and toolchains features to easily automate the process.

Continue reading

Lessons learnt adapting CppMicroServices to biicode

This post summarizes the lessons learnt from adapting the CppMicroServices framework to a biicode compatible format. It does not go into detail about the actual modifications, but focuses on the lessons learnt adapting the framework.

Background

CppMicroServices is an implementation of the OSGi framework, which enables runtime dependency injection. Modules of code (bundles) can be loaded and unloaded at runtime. In the case of CppMicroServices, bundles are either shipped in the form of shared libraries, or statically linked into the executable.

cppmicroservices

Based on packaging principles, bundles should be packaged and released separately – so that they can be depended on individually. biicode’s dependency management through blocks is suitable as a dependency management tool that supports this flow.

Continue reading

Solving the maximum clique problem with BITSCAN

The maximum clique problem (MCP) consists in finding in a graph a clique—i.e., a complete subgraph, one such all vertices are pairwise adjacent— of maximum cardinality.  The term *clique* has its roots in the social sciences; in a social network, a clique refers to a group of individuals who all know—or are linked together by some relation such as friendship— each other. The first algorithm for the MCP can be traced back to Harary & Ross in the late 50s. The first modern enumerative algorithm is most probably the one from Bron & Kerbosch in the early 70s.

A retweet network can become a maximum clique problem solvable with BITSCAN

Figure 1. A retweet network

 

Continue reading

New feature: Version Tags

Biicode is not a Version Control System, neither a Source Code Management System. As a dependency manager, biicode makes “some kind” of internal version control to establish dependencies against a specific version of the block.

Our versions are incremental integers starting on 0. Until now,  to know that biicode’s version corresponds to any official version you had to look for it on the block’s description or readme.

Now you can tag a version while publishing. For example, qiangwu/atlstl corresponds to the official “1.9.98” version:

Version tags now available in biicode 2.0

Continue reading

How to upload to biicode. Example 5: Libuv

Recently, I wrote a post about biicode’s tracks. “Biicode Tracks” mean just that: Actual working versions of the same lib uploaded into different tracks of the same block. 

Biicode tracks enable quick using and switching of versions.

Let’s see how I used block tracks to upload Libuv. This is a successful example of maintaining a library developed using github with several versions, being each one a different line of development.

libuv's logo

Continue reading

Improving our search engine with Elastic Search

A few days ago, I got a lovely message from Jordi our marketer:

I’m typing “Manu” and the search engine doesn’t find manu343726’s blocks. The search engine is crap.

Well, Jordi was right. Our users are asking to find the libraries available in biicode easily.
So I decided to recharge my batteries and thanks to Elastic Search, I can now show you the new amazing search features.

Improving biicode's blocks search function with Elastic Search

Continue reading