Freetrade allows me to have more exposure to Cloud Functions for Firebase and I found out that it would be nice, at least for me, to know before hand which is the active project you would deploy to, before hitting
While you can use
firebase use, it is slow and I wanted something that show the active project constantly without me worried to run any commands.
Think of the git prompt but for the firebase active project.
oh-my-zsh and digging around I found out this nice tutorial and the relative github project but I wanted something that works for sub folders of a firebase project too and something that works with the robbyrussell theme (the default oh-my-zsh theme) out of the box.
So I created a plugin for oh-my-zsh, you can find it in my github .
Here is a screenshot of how your prompt should look like in case you are in a firebase project:
README you will find how to install and use the plugin. Continue reading
A while ago I was looking for a free alternative to Google Analytics for a side project of mine.
Countly but it uses MongoDB which I could not make it work easily for an ARM 32bit, to try it with on my Raspberry Pi 3.
So I stumble upon
Matomo (ex Piwik).
It uses MySQL which can easily run on the Raspberry.
However I could not find a simple Docker to try it out.
So I wrote a docker compose for Matomo, you can find it on my github:
Just clone the repo, then run:
docker-compose -f x86/docker-compose.yml --project-director ./matomo up
And you will see the service coming up.
At that point if you go to
http://localhost:8080/ you should see the initial Matomo setup screen:
To try on an arm v7 32 bit architecture (the Raspberry Pi 3), just run the docker-compose contained in the other folder:
docker-compose -f arm32v7/docker-compose.yml --project-director ./matomo up
wrote about building the Dart SDK for ARMv6, so that I could use Dart on a Raspberry Pi Zero.
The problem at the time was that I could build only version 1.24 of the SDK, while Dart 2 has been around
for a while now.
I managed to build the latest version of Dart (
I could run
Aqueduct and the Flutter tools with that.
I used Docker again but this time I also wanted to play around with
CircleCI, mainly to have a more powerful setup during the build process.
You can find everything in my repo:
A zip file containing the binaries is in the
Given the rising popularity of
Flutter I wanted to play around with the underlying language and it’s sdk, Dart.
More specifically I wanted to use Dart on my Raspberry Pi Zero.
The official binaries of Dart VM / SDK support only ArmV7 which means Raspberry Pi 2 onward, as the Zero is ArmV6.
In the Dart Github there are some instructions on
how to build the sdk, also for the Raspberry Pi 1, but those instructions seems to be outdated and they doesn’t cover my preferred Linux distribution, Archlinux.
If you have to inject / create a React Native module into your Android Activity (that does not extend the default React Native Activity), please beware that the Activity lifecycle is not tied to the React Context lifecycle used to create the RN module.
So you have to be careful to retrieve it at the right moment, bearing in mind that a developer can hot reload (pressing double R on the simulator), causing the creation of a new React Context.
Also, the framework gives you a way to listen to the lifecycle of the topmost React Native Acitivity, so that you don’t need to hold a reference to it.
To show how to solve these things, I wrote a short example that you can find
Here is what the running app look like:
While ago I bought the
Adafruit PiTFT 2.4″ touchscreen HAT and I wanted to use it with my Rapsberry Pi Zero.
Unfortunately, it seems that Adafruit supports only the
Raspian distribution while my favourite distro is Archlinux.
However, I managed to get the screen to work under Archlinux too:
You can change the locale programmatically in an Espresso test too.
Here you can find a quick example I wrote.
The key part is to
restart the Activity after you have set the new Locale.
Of course you can also set the flag of ActivityTestRule to manually re-launch the Activity so that you launch it after you set the new Locale.
ensure you have a new Activity after you change Locale.
Bear in mind that to change the locale taking into account all the deprecations and sdk versions is more complex than the code I wrote in my example. Read more
I wrote an IdlingResource for Espresso that works with thread pools.
You can find a
repository in my github with an example application and test.
The IdlingResource is in the androidTest folder, the file is named
Just a quick note about the
Normally the widget has the magnifying on the left side if expanded. So if you do something like this:
SearchView searchView =
We will end up with something like this:
If we need to manipulate the magnifying icon, we need a reference to that View:
ImageView searchViewIcon =
After that just retrieve the parent ViewGroup. It is, at least today, a LinearLayout, so just remove the View and add it again to have it at the end / right side of the SearchView.
ViewGroup linearLayoutSearchView =
So we have something like this:
Of course, it is a standard View, so if we need to remove it altogether, just set its properties accordingly (from
searchViewIcon.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
Atlassian Jira, it is very useful to have notifications for issues, created or edited, of your projects.
Unfortunately, to enable custom notifications, you have to create a
notification scheme and only an administrator can do that.
Jira, however, offers you the ability to save searches, called
and the results can be filters delivered by email through subscriptions.
With the right filter and the right subscription you can set Jira to notify you via email if and only if issues of your projects are creted or edited, without clogging your inbox.