Showing posts with label ENG. Show all posts
Showing posts with label ENG. Show all posts

Monday, February 17, 2020

Serif Affinity Photo Review - A Photo Editing tool for Windows, Mac and iPad


Versione italiana QUI

With the explosion of digital cameras and the ubiquitous presence of camera-equipped smartphones, the need for photo-retouching software has also increased.

Nowadays more and more people spend hours retouching their own pictures, a "privilege" once reserved only for professional photographers and the more enthusiast hobbyists.
Everyone on this planet has at least once heard about Adobe Photoshop, probably the most famous piece of software of this kind. So famous that "to photoshop" has become a very much used synonym for "to post-process pictures".

Photoshop is also expensive, and even too powerful for the average (non-professional) user, who might easily be intimidated by the quantity of tools and options this program offers. That's why there is a lot room in the market for more user-friendly alternatives, like Serif's Affinity Photo, which has now reached v1.7 and is available for Windows, Mac and iPad.

Affinity Photo aims to represent a new solution to image editing for professional photographers, photo retouchers and even conceptual artists.
Serif's goal when designing Affinity Photo was to create a powerful software that could offer speed and performance alongside an intuitive interface.
Did they succeed?

The first thing that can be noticed after launching Affinity Photo is that the interface has a familiar look. This is because the vertical left toolbar, and the right column of panels strikes more than a resemblance to Adobe Photoshop. This is not a criticism, on the contrary: a familiar workspace makes it easier to work with a new software and makes transitioning less scary and time consuming.

The familiar look of Affinity Photo's interface

What's really innovative of Affinity Photo's interface is what Serif called "Personas". Basically, Personas are different tool sets that cover different design needs: they are called Photo, Liquify, Develop, HDR and Export. As you have probably already imagined by their names, every Persona has a different goal, which is made easier to achieve by Affinity Photo's behavior: when switching to a different Persona, the toolbars change and only offer the buttons, the tools and the options needed for this task.
This makes the interface much easier to navigate, and finding the right tool becomes a quick job.

The Personas toolbar

Obviuosly the Photo Persona is the one you are going to spend most of your time in. It offers all the usual set of tools to let you edit your pictures the way you want. Selection tools, cropping tools, paint brushes, clone brushes, color fill tools, blurring/sharpening/smudging tools, erasers, healing brushes with different options that makes things easier. They are not (yet?) at the same level of Photoshop's content aware healing tools, but they really do a great job once you get used to them.

The Develop Persona is particularly powerful as it's intended as a special "studio" dedicated to the processing of RAW files, where parameters like Exposure, Sharpening and White Balance can be edited directly on the RAW file (which means no degradation of the picture) and different tools like Lens Corrections, Chromatic Aberrations, Noise Reduction and others can be applied to the original picture.
The effects on the pictures are applied immediately, in a non-destructive way, so that it's always possible to fine-tune all the values changed.

The Develop "Persona"

The HDR Persona offers all the tools to merge different exposures into an HDR picture (even RAW files directly!), as well as the ability to extract more details from a shot by tone-mapping a single exposure. It also supplies a few presets, that can be applied as a starting point for additional editing, making the job easier and quicker.
The full end-to-end 32-bit workflow allow working on HDR images, renders, textures or exports from 3D software, which, coupled with its support for HDR/EDR monitors, makes Affinity Photo a great option for those that enjoy working on HDR files.

The HDR Persona with its presets on the left

On a more technical level, Affinity Photo offers a few interesting features. For example it's optimized for Direct3D and 64-bit engines, thus taking advantage of high-end video cards. It also has the ability to create/edit gigapixel-sized documents, along with the support for tablets (offering multi-touch) and Surface Studio (Surface Pen and Surface Dial are both supported).

Most plugins for Adobe Photoshop can be used in Affinity Photo, too. We have tried a few of the most popular ones (from Google's Nik Collection to NeatImage and PerfectlyClear) and they all worked flawlessly. And the compatibility with Photoshop does not end here: Affinity Photo can handle both PSD and PSB files, as well as Photshop Brushes

Affinity Photo includes also a tool for creating panoramas by stitching multiple shots together. We have no idea why they did not dedicate a "persona" to this, but it's not important. What's important is that the final result is almost perfect: in our tries the stitching jobs have always been impeccable with moving objects/people automatically removed from the resulting panorama.

The tools for stitching Panoramas

Of course it would be impossible to list and describe in detail all the features, options and tools that such a complete piece of software offers, so trust us on this one: Affinity Photo is a very well-done photo editing software, which is suitable for everyone: beginners will find a very good, easy to use and not overwhelmingly scary tool to start their adventure in image post-processing; enthusiasts will find themselves comfortable with a program that offers everything they need, with a familiar interface that allows them to find the things they need without effort; and professionals will find a feature-packed software that can definitely compete with its most acclaimed rivals.
With a HUGE difference: there are no subscription fees involved. Affinity Photo currently costs EUR 54,99/$49,99 for the Windows/Mac versions, and EUR 21.99/USD 19.99 for the iPad version, and it's yours to keep. FOREVER. In our opinion, it's a steal.

Go get your copy here (free trial versions available)

[Many thanks to Serif for providing a free license key of Affinity Photo for us to review]

Tuesday, January 21, 2020

QNAP NAS - Error FW003 when trying to update firmware

Have you received error FW003 when trying to update the firmware of your QNAP Network Attached Storage (NAS)?
You have found the right page!
 
If you encounter error FW003 when trying to update the firmware of your QNAP NAS, it means that the system disk partition (which is used by the NAS to actually work and is separated from the actual storage space) does not have enough free space to perform the update operations. For example, if the size of the new version of the firmware is 185 MB and the available space is only 180 MB, you will get this error.
 
The only way to solve is to free enough disk space to perform the update. To do this you will have to connect to the NAS via SSH (using PuTTY on Windows, or a terminal on Linux/MacOS), and start looking for files that can be sacrificed to make room for the update.
 
To achieve this, once connected to the NAS via SSH, you will have to perform the following operations:
 
  1. Confirm you have not enough free space on the system disk by issuing this command:

    [~] # df

    You'll get an output like the following:


    You have to check the column "Mounted on" and find "/mnt/HDA_ROOT". Check if available space is effectively smaller than the firmware update package. If so, go on. If not, contact QNAP support.

  2. Confirm no /mnt/update file or folder and no /tmp/update_process file exist: if they exist, you need to delete them using:

    [~] # rm -rf /mnt/update
    [~] # rm -f /tmp/update_process
     
  3. Repeat step 1. If available space on /mnt/HDA_ROOT is now larger than needed, proceed with the firmware update. If available space on /mnt/HDA_ROOT is still smaller than needed, proceed to Step 4.
     
  4. Now you will have to look for the files that are occupying too much space on your /mnt/HDA_ROOT partition. This is different for every system, so there is not a unique solution. It's basically trial-and-error. Start with:

    [~] # ls -als /mnt/HDA_ROOT/

    To get the list of directories on this partition. Now check every directory using the following command:

    [~] # ls -als /mnt/HDA_ROOT/directoryname

    where directoryname stands for each directory (and their subdirectories) on the partition. My suggestion: start with the .logs and lost+found directories. For example:

    [~] # ls -als /mnt/HDA_ROOT/.logs

    You might get something like this:
    -rw-r--r-- 1 admin administ 184.7M Jan 21 2020 conn.log
    -rw-r--r-- 1 admin administ 345.3M Jan 18 2020 event.log
    As you can see those files have become huge, so you can safely delete them (they are log files, so not needed by the system) using the command:

    [~] # rm -f /mnt/HDA_ROOT/.logs/conn.log
    [~] # rm -f /mnt/HDA_ROOT/.logs/event.log

    As specified above, this is just an example. You will have to find the files that actually occupy too much space ON YOUR SYSTEM.
     
  5. Once deleted these files, and freed up enough space, proceed with the firmware update as usual.

Tuesday, October 15, 2019

Let's keep an eye on our blood pressure - easy and cheap!

Homiee was kind enough to send me the new model of their blood pressure monitor.

The package is a simple cardboard box, and contains the pressure monitor, the arm cuff and the instruction manual. Very essential.

The device looks like a small box about 10 by 10 by 6.5 centimeters, with an inclined upper surface that allows a good view of the large 3.4" display. A nice light blue border that matches the blue light of the display contours the upper border of the monitor.

Below the display there are three buttons: one to consult the measurements stored in memory, one to start the measurement and one to set the time, date and to select the user who is using the device. The buttons are impermeable to liquids and dust, an important factor that could prolong the life of the appliance.

The cuff is suitable for limbs with a diameter between 22 and 36 centimeters: this means that you may have some problems using it on small children or bodybuilders with massive biceps. For everyone else it's okay (even for me, who certainly don't have a thin arm).

The device works with 4 AAA batteries (not included in the package) or with an external power supply (optional) and can be used by two different people. It is in fact possible to select user 1 or user 2 before performing the measurement, in order to keep a per-user log of the measurements using the internal memory of the device, which stores 90 measurements for each user.


The pressure measurement is quite rapid and takes less than a minute: as soon as it is finished the result will appear on the blue backlighted display, together with the heart rate count and the pressure value classification according to WHO standards.

The measurement is always very precise, and even when repeating them at a short interval the device maintains a certain consistency of values. Compared to the other monitors I have (an Omron and a Beurer) this Homiee is the one that gives me the most constant values ​​(with less oscillation).
Homiee states that the precision range of this device is ±3mmHg which is pretty high.


The possibility of switching off the appliance by pressing the central button is excellent (other models switch off by themselves after a certain period of inactivity, which is a waste of battery juice).

The only flaw I could find is the lack of a carrying case to transport and/or store the pressure monitor, but considering its price you can turn a blind eye, especially in virtue of the very precise and reliable measurements.

You can buy this device at Amazon:

 

Wednesday, May 22, 2019

The perfect tripod has finally seen the light!


The world’s most portable, packable, easy-to-setup professional travel tripod has finally been released by Peak Design and a campaign to fund its production has been launched on Kickstarter!

The Travel Tripod is the most portable, packable, and easy-to-setup professional tripod in the world. For years, traditional tripods have suffered a critical flaw: needless bulk and wasted space, the result of a spatially inefficient design. By redesigning the tripod from the ground up, Peak Design created the world’s most portable travel tripod—one that packs to the diameter of a water bottle—without sacrificing height, stability, or load capacity. But they didn’t stop there. Travel Tripod is radically faster to setup/takedown than traditional tripods and features more ergonomic adjustment points, built-in mobile compatibility, and thoughtful usability details at every corner. Plus, it’s built for life on the road: durable, fully serviceable, and backed by the Peak Design lifetime guarantee.

For a limited time you can pledge and pre-order your own Travel Tripod at a discount by following this link: https://traveltripod.kckb.st/14e62a15


Pro performance. Half the size.

  • Groundbreaking architecture eliminates dead volume
  • Packs down to half the size of traditional travel tripods—to the size of a water bottle
  • No protruding knobs
Lightning-fast setup and pack-down.
  • Quick-locking cams allow you to unlock legs in 3 swift motions
  • Legs deploy without flipping over for significantly faster setup than traditional tripod designs
  • Unique quick-release allows instant, secure camera attachment


Intuitive, ergonomic ball head interface.
  • Single, ultra-smooth omnidirectional ball head adjustment ring with no bulky/confusing knobs
  • Simple locking ring for total security and stiffness
  • Compatible with all PD plates and most Arca-type plates
  • Removable pins for use with most Arca-type L-brackets
  • Omnidirectional bubble level

Professional stability and features for demanding environments.
  • 20lb weight capacity, optimized for use with full-frame DSLR + telephoto lens
  • Stability and vibration dampening comparable to much larger tripods in it’s class
  • Nonslip, shock absorbing rubber feet
  • Built-in load hanging hook
  • Low and inverted configuration modes allow camera to sit just inches off ground
  • Anchor attachment points for carrying with Peak Design straps

Brilliantly integrated mobile phone mount.
  • Built-in mobile mount magnetically stowes in center column
  • Mount sets up securely and holds any phone/case

Durable, fully serviceable, and guaranteed for life
  • All components are weather and impact resistant
  • Slim, protective carry sleeve
  • All parts are fully serviceable, cleanable, and replaceable

Weight:
Alloy: 1.56 kg (3.44 lbs)
Carbon: 1.27 kg (2.81 lbs)

Weight Capacity: 9.1 kg (20 lbs) meaning it's suitable for pro setups, up to full-frame DSLR + telephoto lens

Collapsed Dimensions:
Length: 39.4 cm (15.5”)
Max Diameter: 8.3 cm (3.25”)

Deployed Dimensions:
Max height (center column raised): 152.4 cm (60")
Max height (center column down): 130.2 cm (51.25")
Min height (low mode): 14 cm (5.5”)

What are you waiting for?

Pledge and pre-order your own Travel Tripod at a discount by following this link: https://traveltripod.kckb.st/14e62a15

Thursday, January 3, 2019

How to install Xerox Phaser 6130 on Windows 10

I've recently upgraded my desktop PC to Windows 10 Professional, only to find out that my color laser printer, a Xerox Phaser 6130N is not supported in Windows 10!!

(Side note: since mine is the network model it has the final 'N' but a non-network version exists and is known as 6130 or 6130V)

The Xerox website clearly states that there are no drivers for Windows 10 and that it is not supported at all.

Well, I had no intentions of buying a new printer, so I tried installing the latest Windows 8 drivers and -SURPRISE!- they work!

So if you have the same printer, just go to the Xerox website and download the available drivers for Windows 8, install them on your computer and simply follow the instructions to add the printer manually.
All that's needed is to select the printer port the printer is attached to or punch in the IP address of the printer, if you have the network version.

Aren't you happy you saved a lot of money Xerox wanted you to spend on a new printer?
Enjoy!

Monday, January 22, 2018

Lifetime hosting with Dragify / Ahead Hosting: a lifelong nightmare!

In October 2017 Greedeals.com published a deal from a company called Dragify: they offered lifetime web hosting for up to 4 websites at $39.99.
It looked like a good deal, so I signed up to test the service for a few days.

After I signed up I discovered that Dragify would no provide this service directly. The webhosting they were selling would actually be provided by another company called Ahead Hosting, apparently from Spain.

Well, who cares? What's important is that it works... So I tested the service for a few days (not enough, I would discover lately) and it looked okay, so before the special offer ended, I signed up for a second account, this time paying for the "triple up" addon, which allowed up to 12 websites to be hosted on that account for $39.99 (as before) + $39.99 (for the "triple up" addon).

Since this is important, let's call them ACCOUNT A (4 websites) and ACCOUNT B (12 websites)

I then proceeded to move all my websites from my old hosting provider to these two new accounts... and that's when the nightmare started.
Downtime is the major issue here: the websites would be unreachable or show "Error 502 Bad Gateway" for long periods of time. I would write to Ahead Hosting's customer service but my emails would mostly go unanswered. On a few rare occasions I have received a reply to my emails, and they all consisted mainly on monosillables.

On December 20, while checking stats on my ACCOUNT B's cPanel, I discovered that some unknown third-party was sending spam using the SMTP of one of my domains hosted on this account. I immediately sent an email to the customer service to warn them that the server was misconfigured, since it allowed third parties to send spam, even though everything was set to avoid this. Of course, I have never received any reply.

In early January 2018, everything came crushing down: all the websites were unreachable, the cpanel would not allow me to login to any of my accounts ("user does not exist"). Of course, I immediately contacted the customer service and guess what? I have never received any reply.
Almost three full days later, the websites were up again and the cpanel would allow me to login again. Have I ever receive an explanation for this incident? Of course not.

Then, a few days later, without any forewarning nor any communications, my ACCOUNT A got suspended. The websites would show "This account has been suspended" and the cPanel would not allow me to login saying "this account has been suspended".
Of course I immediately contacted the customer service again, and this time (a few hours later) I received a reply that simply said that the account had been "suspended for spam".
Remember the problem with the SMTP server I tried warning them about? Well, it looks like they didn't give a damn about my warning, but they used it weeks later to suspend my ACCOUNT A, without any logical reason, considering that the domain which was used to send spam was hosted on ACCOUNT B!
In fact, my ACCOUNT B was still up and running and spammers were still using it to send spam!!

And it does not end here: while suspending my ACCOUNT A, they also decided to suspend my "triple up" plugin on ACCOUNT B. Why??? There was no logical reason at all, just utter incompetence! If the account causing problems was ACCOUNT B, why did they suspend ACCOUNT A? And then why did they suspend the "triple up" plugin on ACCOUNT B? Again, pure and simple incompetence.
At least, after contacting Dragify about this, they have canceled the suspension on the tripling up, and I have got my webspace and bandwidth allowance for 12 websites back.

Not that I intend to use this "lifetime" nightmare anymore. Immediately after the suspension I started moving all my websites to a different hosting provider, which hopefully will prove more professional than Ahead Hosting.

By the way, it looks like behind this so-called company Ahead Hosting lies a single person, who owns (or rents?) a single server: when my websites were down/unreachable, the "company's" website would be down/unreachable too. How professional is that?

In conclusion: as the old saying goes, you get what you pay for. If you want reliable hosting, stay away from these "lifetime" offers.
And most of all, stay away from Ahead Hosting.

Monday, January 15, 2018

Easily create a VPN Gateway with a Raspberry Pi (or similar board)

I don't have an OpenVPN-capable router, but I needed to create an always-on openvpn CLIENT that would connect to my VPN service, so that it could be used as a gateway for other devices in my LAN. Using this gateway to access the internet, the internet traffic of those devices would be protected by the secure VPN connection.

I've looked around and I have found a great tutorial to achieve this: it was written by Superjamie for the Raspberry Pi and you can find it here.

Unfortunately I didn't have a Raspberry Pi available at the time, so I thought it would be interesting to do the same for what board I had available, which was an Orange Pi Zero.

I used DietPi as the base operating system for this project, and tried following Superjamie's tutorial, but since it didn't work on my Orange Pi / DietPi combo, I made a few adjustments, which I share with you here.
All credits for this still go to Superjamie, because that's where all the huge work comes from.

Please follow Superjamie's tutorial (again, you can find it here) with the following exceptions:

  1. Install DietPi instead of Raspbian Jessie
  2. Since DietPi's user already has root capabilities, you should write any commands from Superjamie's tutorial without typing the 'sudo' at the beginning of the command.
  3. I've found out that the section of the tutorial called "Enable VPN at boot" was useless and harmful, as it would prevent OpenVPN to be launched correctly, therefore it must be skipped.
  4. The VPN Kill Switch section of the tutorial didn't work for me. I have found out that it had to be modified a little bit to make it work, so I'm re-writing it below, in a version that makes it work:

VPN KILL SWITCH 

This will block outbound traffic from the Pi so that only the VPN and related services are allowed.
Once this is done, the only way the Pi can get to the internet is over the VPN.
This means if the VPN goes down, your traffic will just stop working, rather than end up routing over your regular internet connection where it could become visible.

[Note by Tech Delirium: please adjust IP addresses by using the correct ones for your network and the port numbers by checking the ports used by your VPN service]

iptables -A OUTPUT -o tun0 -m comment --comment "vpn" -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -m comment --comment "icmp" -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -o eth0 -m comment --comment "lan" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --dport 1198 -m comment --comment "openvpn" -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -m comment --comment "ssh" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --dport 123 -m comment --comment "ntp" -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A OUTPUT -o eth0 -j DROP
iptables -I FORWARD -i eth0 ! -o tun0 -j DROP
  
[Note by Tech Delirium: Superjamie's tutorial didn't work for me, but adding the last line above does the trick and makes the kill-switch work]

And save so they apply at reboot:
sudo netfilter-persistent save
If you find traffic on your other systems stops, then look on the Pi to see if the VPN is up or not.

You can check the status and logs of the VPN client with:
sudo systemctl status openvpn@Japan
sudo journalctl -u openvpn@Japan
That's it! Now the board will connect to your VPN service at startup and if you set up you devices to use the Pi's as their gateway, that device's internet traffic will be tunneled via the VPN and will be protected. If the connection to the VPN service goes down, NO TRAFFIC will be allowed through, so you will have no leaks.

Wednesday, November 30, 2016

Easily install Logitech Media Server (Squeezebox Server) and Squeezelite on your Pi with Armbian Jessie

Do you have any spare Pi?
I am talking about the Raspberry Pi, Orange Pi, Banana Pi, Cubieboard, pcDuino, Odroid, NanoPi and the likes...

Why not transform it into a Sonos-like multimedia server and player?
It's soooo easy!

All we need is two nice pieces of software: the Logitech Media Server (aka Squeezebox server) and a player to connect to it, which is going to be Squeezelite.

First of all, download the right image of Armbian for your board HERE
Please choose "Jessie server" image, if available. This is the version for server usage, with no desktop environments.
Follow the instructions and setup the operating system (we have faith you can manage this on your own, since you have a spare development board...)

How to install the Logitech Media Server / Squeezebox Server

Now, we have to install the Logitech Media Server, but we have to download it first. From the command line give the following command:
wget http://downloads.slimdevices.com/nightly/7.9/sc/ffd0b97/logitechmediaserver_7.9.0~1480398011_arm.deb -O lms.deb
(Please notice that from http...to..._arm.deb there are no spaces)
And let's wait for the file to be downloaded.  If you get a file not found error, you'll have to visit this website with a browser:
http://downloads.slimdevices.com/nightly/?ver=7.9
Find the most recent version of the _arm.deb version available, right click on it to copy it's link, and substitute this link in the above command.

Once the Logitech Media Server installation package has been downloaded, proceed with its installation:
sudo dpkg -i lms.deb
That's it! The Logitech Media Server is now installed, and you can go to:
http://ip-address-of-the-board:9000
 from any browser to set it up.

How to install the Squeezelite player

To actually play/stream your music collection or listen to online radios, you'll also need a player. This can be installed on the same board as the Logitech Media Server (so you will have a Server and a Player on the same machine), or on different boards which will work as players that connect to the Server (you can have as many players as you want!)

So, let's install Squeezelite, the Player "side" of this combo.
First we need to refresh the packages list of our installation:
sudo apt-get update
 Then we can install squeezelite:
sudo apt-get install squeezelite
That's basically it! Squeezelite will be installed and will automatically be launched at startup.

If you are using an external usb soundcard you might need to tweak with the squeezelite configuration file, which is /etc/default/squeezelite

First you will need to find out the name of the soundcard, and to do this you have to issue the following command:
sudo /usr/bin/squeezelite -l
Check the output and identify the name of your sound card. Copy it, then open the configuration file:
sudo nano /etc/default/squeezelite
Find the following line:
SL_SOUNDCARD="sysdefault:CARD=ALSA"
and substitute sysdefault:CARD=ALSA with the name of the card you have copied before.

If you want to give your player a different name than your hostname, just edit this line:
SL_NAME="$(hostname -s)"
and change the string within the quotes to the name you want to give this player.

The other options usually don't need to be touched.
That was easy, wasn't it?

Enjoy your music on your Pi!

Friday, September 9, 2016

Hermit: an Android app to save on apps

Has the free space on your smartphone alarmingly decreased after installing all the official apps of the websites and social network you use most?
Then a hermit is going to help you. Yes, Hermit (link): an Android app that allows users to create "lite apps" of their own favorite websites, saving them from installing the official (memory and space consuming) applications.

To understand what a "Lite App" is, just imagine your favorite website running inside a custom-made app with the following features:
  • Every "website"/lite app is encapsulated in its own environment, virtually transforming it into a native app: this way each lite app is completely separated from the others.
  • Cookies are isolated, which means that your activity inside the lite app will not be tracked like it would be if you were doing the same inside a browser tab.
  • The sandbox environment makes it impossible for users to get a virus or malware from a lite app.
  • Private browsing is enabled by default, so no history of your browsing is maintained on your device.
  • Each Lite App can have its own independent settings, so that users can customize each lite app differently from the others.
  • Ad blocking (no root needed).
  • Each lite app can have its own icon in the launcher, which will instantly open the website it encapsulates (no need to wait for the browser to be launched, then a new tab to be opened and then finally the website to be loaded).
  • Every lite app has its own set of bookmarks. For example, your Facebook lite app can save links to your favorite pages and groups, so that you can find them instantly when you need them.
  • Lite apps don't run in the background, therefore when you close one, it will be completely wiped from memory. This means it will not consume any resources (no memory, no traffic, no battery)
  • Permissions like the use of the camera or to share the user's location are only activated when the user wants.
Even though you can create lite apps from virtually any website, Hermit comes with a library of very popular apps it can efficiently replace, which include social networks (like Facebook, Instagram and Twitter), news sites (like CNN, the NYT, Google News), entertainment apps (like YouTube or IMDb), shopping apps (like Amazon, Groupon or Woot!) and many others.

And lite apps also support notifications!

How much space does your Facebook app take on your smartphone?
My Hermit installation, with its Facebook lite app (and six more lite apps!) only takes less than 20 megabytes on my phone.

But it's not just a matter of space, it's also a matter of privacy: with Hermit, your personal data is not shared with any other apps. And your phone will not run as many apps in the background as it would if you installed as many official apps, thus improving your battery life.

The free version of Hermit is fully functional and shows no ads, but it's limited to the creation of two lite apps.
To create more than two, you will need to purchase the full version: maybe it's not the least expensive app on the market, but -as the developers point out- your privacy is worth more than the price of a sandwich!
And if you are a student, you can even upgrade for free.

You can download Hermit for Android from the Play Store by clicking here.


Thursday, December 10, 2015

The OrangePI PC, a low cost alternative to the Raspberry PI.
A short review.

A few months ago I was browsing AliExpress, when I stumbled upon a product called OrangePi.
I searched the internet for information about it, and I immediately discovered its official website, which is www.orangepi.org (there also exists www.orangepi.com but it looks to be the website of a UK vendor of the same boards).

Well, what is an OrangePi? Of course, the name recalls the most famous SBC (single board computer) ever, the RaspberryPi, and this is not a coincidence, as the OrangePi is a chinese SBC, clearly inspired by the Raspberry.

As of now, there are 7 different Orange Pi models (ranging from "Mini" to "Plus 2"). The most interesting in my opinion is the "OrangePi PC". Why? For its aggressive price of only $15 plus shipping!

The hardware of this board is interesting:

CPU:
H3 Quad-core Cortex-A7 H.265/HEVC 4K

GPU:
·Mali400MP2 GPU @600MHz
·Supports OpenGL ES 2.0

Memory (SDRAM): 1GB DDR3 (shared with GPU)

Onboard Storage: TF card (Max. 64GB) / MMC card slot

Onboard Network: 10/100M Ethernet RJ45

Video Input:
A CSI input connector Camera:
·Supports 8-bit YUV422 CMOS sensor interface
·Supports CCIR656 protocol for NTSC and PAL
·Supports SM pixel camera sensor
·Supports video capture solution up to 1080p@30fps

Audio Input: MIC

Video Outputs:
·Supports HDMI output with HDCP
·Supports HDMI CEC
·Supports HDMI 30 function
·Integrated CVBS
Supports simultaneous output of HDMI and CVBS

Audio Output: 3.5 mm Jack and HDMI

Power Source: DC input

USB 2.0 Ports: Three USB 2.0 HOST, one USB 2.0 OTG

Low-level peripherals:
·40 Pins Header,compatible with Raspberry Pi B+
·GPIO(1x3) pin
·UART, ground.
So, as you can see, we basically have a quad core ARM CPU, with 1GB of RAM, 3 USB ports, and a fair graphics card.
What it lacks (other Orange Pi models have this and/or that) are onboard wifi, a gigabit ethernet port and eMMC, but of course we can't have everything at this price.

I've ordered the Orange Pi PC on Aliexpress, from the official manufacturer, and 3 weeks later I received a neat package containing the board, a usb power cable and a not-too-sturdy transparent plastic case. All this for less than $25 including shipping!

I've been using it for a couple of weeks and... what can I say?
The board could be very interesting if only the community behind it was bigger and more active. It definitely can't compare to the Raspberry Pi community as of yet.
The support from the manufacturer could be better, as the images of operating systems they provide are old and faulty, and the claim that Raspberry Pi images can be used for this board(s) is absolutely misleading since RasPi images are not compatible at all.
Luckily there is a member of the community, called loboris, who is very active and has released many OSes to be used on these boards, among which Debian, Fedora, Slackware, Arch Linux and others.

I'm currently running his build of Ubuntu MATE 14.04 and I have to say he has done a great work: it's easy to install, and apart from a few glitches here and there, it works very well.

My original intention was to use this board as a very low cost syncthing server/node, and that's exactly what I did.
After installing the aforementioned Ubuntu MATE, I've downloaded the latest ARM version of syncthing and installed it on the OrangePi PC.
(For those who don't know what it is, syncthing is an open source alternative to BTSync or -basically- a completely self-hosted Dropbox alternative).
It works great, it's very fast, and for the money I've spent I'm very satisfied, considering that I was also able to "redirect" the Raspberry Pi 1 model B I was using for this task to something more useful (a squeezebox player, actually).

Unfortunately, Linux does not have the proper drivers to take advantage of the GPU hardware acceleration, therefore using this board as an XBMC/Kodi mini HTPC is not a good idea (yet). Some people are working on it, and I really hope they succeed, because a $15 Kodi machine with the ability to render HD video would be HUGE!

At the moment, the only way to take advantage of the GPU is by installing Android, although the image provided is buggy and not very reliable.
Still, if you like to fiddle with new hardware and explore new possibilities, you might want to give it a chance.

In my opinion the OrangePi PC is a nice product, which lacks the necessary support from the manufacturer, who looks too busy releasing new boards instead of developing a good OS for the boards they have already sold.

The community is growing, but the official forum must be hosted on a very old server, since it's so sloooooow. I hope they will at least upgrade this.

Still, for $15 this board is a steal. I would definitely buy it again, although I would still limit its use to simple tasks. If you have complex projects in mind, you can't beat the Raspberry Pi world and community, and the price difference is not that big.



Tuesday, November 24, 2015

Slow shutdown/reboot when mounting CIFS/SMB shares on Ubuntu and derivatives

My laptop with Linux Mint 17.2 suddenly started taking full minutes for every reboot/shutdown. What might have caused it?

I then remembered I had previously placed some new entries in the fstab, since I needed to mount some remote CIFS shares. Could this be the culprit?

Well, it seems it was exactly that: there is a bug in Network Manager which shuts down before unmounting the network shares. This will cause CIFS to hang and wait for 60 seconds or so for every share.

Even though the Ubuntu Wiki says that this bug has been solved since version 12.04, I have applied the suggested solution and it worked.
Now the shutdowns/reboots happen in an instant!

So, is the bug back? I don't know, but what I know is that this is how to fix this problem:
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K14umountnfs.sh
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K14umountnfs.sh

Tuesday, March 10, 2015

How to install Huion graphic tablets on Linux


The graphic tablet market is basically dominated by Wacom, which makes very good tablets, but at a high price.

Enter Huion, a chinese company that manufactures cheap graphic tablets that are a good alternative to Wacom, especially for people who never used a graphic tablet before, or for those on a tight budget.

These graphic tablets all work on Windows and Mac OSX with the provided drivers (or -better- by downloading the latest version from Huion's website).

Linux users have to work a little in order to see their Huion tablet work under their beloved operating system. So here is a little how-to to solve this issue.

First of all, most Huion tablets are natively supported via kernel, starting from kernel version 3.17, therefore if you are using a kernel >=3.17, you shouldn't have any problem.

If you are using a kernel <3.17 you are going to need to follow these simple steps (instructions are valid for debian-based distros, like Ubuntu and its derivates):

1. Go to project DIGImend on GitHub;
2. Download the latest release of digimend-kernel-drivers
3. unzip/untar the downloaded package in a new directory (for example: ~/digimend )
4. open a terminal
5. make sure you have the appropriate linux-headers installed
sudo apt-get install linux-headers-`uname -r`
6. move to the directory where you have unzipped/untarred the drivers package:
cd ~/digimend
7. in the terminal give the command:
make
8. when it finishes give the command:
sudo make install

Ignore any "Can't read private key" messages that might show up. This won't be a problem unless you set up kernel module signature verification. But most people won't so, don't worry.

Now you can plug your Huion graphic tablet and enjoy using it under Linux.


Don't have a graphic tablet yet? Buy one now! 


Thursday, February 26, 2015

How to install Syncthing on your Raspberry Pi

First of all, what is Syncthing? As the official website says:

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

In just a few words: it's an open source alternative to BTSync (formerly known as BittorrentSync)!
Since we like open source solutions, why don't we install it?

HOW TO INSTALL:

1) Let's check the latest release of syncthing on the official website:

https://github.com/syncthing/syncthing/releases


2) Now, connect via ssh to your Rapsberry Pi and download the latest armv5 version of syncthing:

For example:

wget https://github.com/syncthing/syncthing/releases/download/vx.yy.zz/syncthing-linux-armv5-vx.yy.zz.tar.gz

(IMPORTANT NOTE: x.yy.zz stands for the latest version number that you want to download, therefore if the latest version is, say, 0.10.23, the command will be:

wget https://github.com/syncthing/syncthing/releases/download/v0.10.23/syncthing-linux-armv5-v0.10.23.tar.gz


3) Untar it:

tar xvzf syncthing-linux-armv5-vx.yy.zz.tar.gz 

and rename the untarred folder:

mv syncthing-linux-armv5-vx.yy.zz syncthing


4) Now move to the syncthing directory:

cd syncthing

and start syncthing:

./syncthing

We are going to need to wait for the RSA key to be generated (have patience, it needs time!!):

pi@raspi ~/syncthing $ ./syncthing
13:07:22 INFO: Generating RSA certificate and key...
13:11:32 OK: Created RSA certificate file
13:11:32 OK: Created RSA key file
[FVCFD] 13:11:34 INFO: syncthing v0.10.22 (go1.2.2 linux-arm) jb@jborg-mbp 2015-02-26 15:48:25 UTC
[FVCFD] 13:11:34 INFO: My ID: HDUR8EHCIL3SJCHPA8UGMXIWKH8FHRTNCX6HBCOLOQ8FHSET7BV
[FVCFD] 13:11:34 INFO: No config file; starting with empty defaults
[FVCFD] 13:11:34 INFO: Edit /home/pi/.config/syncthing/config.xml to taste or use the GUI
[FVCFD] 13:11:34 INFO: Starting web GUI on http://127.0.0.1:8080/


5) Take note of the ID of your machine (in the example above it's the line that says: "[FVCFD] 13:11:34 INFO: My ID: HDUR8EHCIL3SJCHPA8UGMXIWKH8FHRTNCX6HBCOLOQ8FHSET7BV")


6) Since we are running a headless Raspberry Pi, we now need to enable the web GUI to be accessable from other machines:

nano /home/<user>/.config/syncthing/config.xml

To do this, just edit the line that says: <address>127.0.0.1:8080</address>
to: <address>0.0.0.0:8080</address>


7) Now we can connect to the Syncthing GUI from any computer in the network, just inserting the ip:port of the RasPi in any browser:

http://IP-of-RasPi:8080


8) Here we will be able to add other machines and the folders that need to be synced.

That's it!

Well, not entirely. If you want to make syncthing start at boot, just do as follows:

9) Let's create an init.d script for syncthing:

sudo nano /etc/init.d/syncthing

10) Copy the following lines and paste them inside it. Please don't forget to edit the two highlighted lines as per inline instructions)

===== BEGIN /etc/init.d/syncthing (do not copy this line) =====

#!/bin/sh
### BEGIN INIT INFO
# Provides: syncthing
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Multi-user daemonized version of syncthing.
# Description: Starts the syncthing daemon for all registered users.
### END INIT INFO

# Replace with users you want to run syncthing clients for
# syncthing_USERS="<your name here>"
syncthing_USERS="pi"  #Replace with your user
DAEMON=/home/user/syncthing/syncthing   #Replace with the path to syncthing

startd() {
  for stuser in $syncthing_USERS; do
    HOMEDIR=$(getent passwd $stuser | awk -F: '{print $6}')
    if [ -f $config ]; then
      echo "Starting syncthing for $stuser"
      start-stop-daemon -b -o -c $stuser -S -u $stuser -x $DAEMON
    else
      echo "Couldn't start syncthing for $stuser (no $config found)"
    fi
  done
}

stopd() {
  for stuser in $syncthing_USERS; do
    dbpid=$(pgrep -fu $stuser $DAEMON)
    if [ ! -z "$dbpid" ]; then
      echo "Stopping syncthing for $stuser"
      start-stop-daemon -o -c $stuser -K -u $stuser -x $DAEMON
    fi
  done
}

status() {
  for stuser in $syncthing_USERS; do
    dbpid=$(pgrep -fu $stuser $DAEMON)
    if [ -z "$dbpid" ]; then
      echo "syncthing for USER $stuser: not running."
    else
      echo "syncthing for USER $stuser: running (pid $dbpid)"
    fi
  done
}

case "$1" in
  start) startd
    ;;
  stop) stopd
    ;;
  restart|reload|force-reload) stopd && startd
    ;;
  status) status
    ;;
  *) echo "Usage: /etc/init.d/syncthing {start|stop|reload|force-reload|restart|status}"
     exit 1
   ;;
esac

exit 0

===== END /etc/init.d/syncthing (do not copy this line) =====

11) save and exit nano ('Ctrl-X' and then 'Y' to save)


12) Let's make the script executable:

sudo chmod +x /etc/init.d/syncthing


13) Let's update the init.d sequence:

sudo update-rc.d syncthing defaults


14) Let's start the daemon (just the first time, it will autostart from now on):

/etc/init.d/syncthing start

Now it's really done! :)



Credits:

Tuesday, February 18, 2014

How to mount a Windows/NAS share on your Raspberry Pi

If you have a Raspberry Pi and a Windows machine (or maybe a NAS), you might want to share folders from the Windows machine/NAS to the RasPi.
One reason to do this (apart from sharing content between the two machines) would be to use the NAS as Mass Storage for the Pi.

This tutorial presumes you have already set up a shared folder on your NAS/Windows machine (we will call this \\Machine\SharedFolder), and that you have Raspbian installed on your RasPi's SD card.

These are the steps:

1. Create a mount point on the Raspberry Pi:

sudo mkdir /mnt/folder 

(obviously you can give it the name you prefer)

2. Open /etc/fstab to edit it:

sudo nano /etc/fstab

3. Add the following line at the end of the file:

//Machine/SharedFolder /mnt/folder cifs defaults,rw,credentials=/home/username/.cifscredentials 0 0 

where:
//Machine/SharedFolder stands for your Windows/NAS share
/mnt/folder stands for the folder you created in step 1
/home/username stands for your pi's username (default is "pi")

4. Now we have to create a file for storing Windows credentials:

nano /home/username/.cifscredentials

and insert your Windows credentials in it:

username=winuser
password=winpassword
domain=WORKGROUP 

5. Change the permissions to this file, in order to avoid undesired access to your credentials:

sudo chmod 600 /home/username/.cifscredentials

6. Let's see if it works:

sudo mount -a

If it worked, the following command will list the contents of the shared folder:

ls /mnt/folder

Is it all ok? Good!

7. Now reboot your Raspberry Pi (command is: sudo reboot) and when it comes back on, try again with:

ls /mnt/folder

The shared folder should have been mounted automatically.
Enjoy!