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

Precompiled binaries in biicode: a proof of concept with SFML

The problem: C and C++ compilation times

Biicode is a file-based dependencies manager for C and C++, focused on sharing and reusing source code, specifically, source (and header) files.

Biicode uses the CMake building system to configure and build blocks, its unit of source code sharing. The default way to develop blocks is to include the required sources and any required extra configuration for building such files on a CMakeLists.txt file at the root of the block. Also biicode provides other files for specific config such as dependencies.bii or paths.bii.

So writting our own biicode block is a process with three simple steps:

  1. Get the sources and copy them on the block directory.
  2. Configure the CMakeLists.txt file of the block for the specific build instructions for that sources.
  3. Upload the block to the biicode cloud via bii publish command.

So far so good. This approach works pretty well and the biicode community is growing everyday thanks to it. Whats exactly the problem with this approach? Its simple: Some C and C++ sources are hard to compile and it takes time. A lot of time.

SFML works fine as biicode example

Continue reading