Codefolio is a basic portfolio object builder for your projects.
Portfolio
object from a Markdown Readme.Portfolio
objects.For example, given this markdown in a README.md
file:
# Hi I'm a level one heading
![img](./img.png)
Here's the body!
When passed into Codefolio:
const codefolio = require('codefolio');
const portfolios = await codefolio.promisePortfolios(['README.md']);
Produces a Portfolio
object like this:
{
body: "# Hi I'm a level one heading\n\nHere's the body!",
image: {
url: "./img.png",
alt: "img",
title: "img"
},
examples: []
}
npm install --save-dev codefolio
Handoff is a simple, A+ like Promises implementation for Java. It allows easy control flow to be written for asynchronous processes in Java:
public Promise<PlaybackFile> promiseFirstFile() {
return new Promise<>(messenger -> {
final IPositionedFileQueueProvider queueProvider = positionedFileQueueProviders.get(nowPlaying.isRepeating);
try {
final PreparedPlayableFileQueue preparedPlaybackQueue = preparedPlaybackQueueResourceManagement.initializePreparedPlaybackQueue(queueProvider.provideQueue(playlist, playlistPosition));
startPlayback(preparedPlaybackQueue, filePosition)
.firstElement() // Easily move from one asynchronous library (RxJava) to Handoff
.subscribe(
playbackFile -> messenger.sendResolution(playbackFile.asPositionedFile()), // Resolve
messenger::sendRejection); // Reject
} catch (Exception e) {
messenger.sendRejection(e);
}
});
}
And the promise can then be chained as expected. The method then
is used to continue execution immediately using the promised result:
playlist.promiseFirstFile()
.then(f -> { // Perform another action immediately with the result - this continues on the same thread the result was returned on
// perform action
return f; // return a new type if wanted, return null to represent Void
});
For instances where another promise is needed, the method eventually
should be used, and excuse
should be used for catching errors, which will fall through if not caught earlier in the method chain.
playlist.promiseFirstFile()
.eventually(f -> { // Handoff the result to a method that is expected to produce a new promise
return new Promise<>(m -> {
});
})
.excuse(e -> { // Do something with an error, errors fall through from the top, like with try/catch
return e;
});
project blue is a streaming audio client for JRiver Media Center (http://jriver.com/). Stream your favorite music and audio from your JRiver Media Center wherever you are!
Its features include:
Download on the Google Play Store
Requires JRiver Media Center running on your home server
A simple library that helps with serializing Android SQLite queries to and from Java objects:
public Collection<Library> getLibraries(Context context) {
try (RepositoryAccessHelper repositoryAccessHelper = new RepositoryAccessHelper(context)) {
return repositoryAccessHelper
.mapSql("SELECT * FROM library")
.fetch(Library.class);
}
}
What problems does it solve?
The standard Android library has for ages had numerous ways to pull back data from its built-in SQLite database. However, none of these ways either a) are easy to use, or b) give developers the power they need to develop performant, flexible applications.
In the C# world, developers have long had the excellent Dapper library, which maps C# types nicely to and from C# objects without getting in the way of how you want to write your queries. QueryDroid started off with Dapper as an inspiration and made querying your data in the built-in SQLite library much more natural and cleaner!
Sharper Integration is an AppImage desktop integration program primarily written in C#.
Its features include:
Download SharperIntegration from here and make it executable. Then execute the AppImage, it should prompt you to install itself.
Image Created by Markus Költringer
from the Noun Project