Archiv

Archiv für die Kategorie ‘Common’

Rotate Images based on EXIF Tags

15. August 2014 1 Kommentar

Back from vacation I am currently in the process to create an image gallery using sigal.

Unfortunately sigal can only copy EXIF tags to the (smaller) images in the gallery or rotate the images correctly.

Since this is needed for some of the pictures, I have done, I use jhead.

The following line is quite helpful to rotate jpgs based on the EXIF tags:

find -name "*.JPG" -exec jhead -autorot {} \;

KategorienCommon Tags:

IntelliJ on ArchLinux

20. Juni 2014 47 Kommentare

After the latest upgrade to OpenJDK (7.u60_2.5.0-2) my IntelliJ version was not working correctly anymore.

After browsing, I found this solution:

StackOverflow

Worked like a charm ;-)

KategorienCommon Tags:

MPD and ALSA settings on cubox-i

31. Mai 2014 2 Kommentare

I have had some trouble with some songs playing on my cubox-i via the SPDIF-Toslink connection. I heard crackling noises on those songs. First I thought, that those were due to some mistake done during ripping those from my CDs. But I tested those songs on some other devices and recognized, that it is most probably due to high frequencies or something similar.

Therefor I digged into the concrete settings of ALSA and MPD to fiddle around with Frequency- and Volume-Settings. In the end it turned out, that the solution is rather easy and I just had to reduce the volume of the cubox-i SPDIF out to 98%. Now all crackling noises are gone and I can enjoy the music via my home stereo system.

Here are the settings of ALSA (/etc/asound.conf):


pcm.imxspdif {
type hw
card imxspdif
}

pcm.imxhdmisoc {
type hw
card imxhdmisoc
}

ctl.imxspdif {
type hw
card imxspdif
}

ctl.imxhdmisoc {
type hw
card imxhdmisoc
}

The above settings are just setting the devices in the Cubox-I to be used by alsa. The “imxspdif” is important, because this one is used by the following MPD-setting:


audio_output {
type "alsa"
name "imxspdif"
mixer_type "software"
}

Unfortunately I could not use “alsactl store” to store my alsamixer settings, therefor I have set the mixer_type of MPD to software, which allows to call the


mpd volume -2

command inside of my mediaplayer-startup script. This command sets the used volume to 98%. Now everything is working fine, on every boot, like wanted ;-)

KategorienCommon Tags:

IPv6 on Netcup using ArchLinux

21. April 2014 Kommentare ausgeschaltet

I just enabled IPv6 on my Netcup Server, this is quite easy. There is one real important point in the documentation (found here): “poweroff” is needed, without this, the Adress will not get assigned to the VServer.

I am using netctl for the configuration, and my config looks like this:


Description='A basic static ethernet connection'
Interface=ens3
Connection=ethernet

IP=dhcp

## For IPv6 autoconfiguration
#IP6=stateless

## For IPv6 static address configuration
IP6=static
Address6=('2a03:4000:5:f1::1/64')
Gateway6='fe80::1'
DNS=('2001:4860:4860::8888' '2001:4860:4860::8844')

Note, that IPv4 is configured via DHCP whereas IPv6 is configured static. Furthermore the gateway for IPv6 is set to the current machine, this is according to the documentation of Netcup (found in some forums). Furthermore I did configure some DNS-Server here. These are the ones of Google.

You can then use ping6 to ping some hosts and test, if the connection is working. The host is reachable from the outside with the given IP.

KategorienCommon Tags:

New DVD Drive

2. März 2014 Kommentare ausgeschaltet

Since I have ripped around 900 CDs with my Laptop, the build-in DVD Rom broke (which is bad, but to be expected on this large amount of CDs). I bought a new external drive (Samsung SE-218CN). This one works now without any problems on my ArchLinux Laptop ;-)

KategorienCommon Tags:

My UPNP Stack

2. März 2014 Kommentare ausgeschaltet

Hello,

i have already witten, that I am ripping my whole CD collection (see discogs for the already ripped collection). I have written a for tagging my collection and this is working great.

To play music on my stereo, I thought, that UPNP is a great protocol for it. The stack I am currently using is involving the following toolset:

Please note, that parts of this stack are replaceable through other components, but this stack is right now the best working (at least for me). All components do use the UPNP enhancements from OpenHome, which is an OpenSource Project of Linn, IIRC.

The MediaRenderer could be replaced by UPMPDCli, a nice UPNP Frontend for MPD (my favourite Music Player. But then you should also use BubbleUPNPServer to enjoy all the benefits of the Openhome extensions.

MediaPlayer is using MPD or MPlayer to be able to play the music. MPD do offer quite some extensions, which still can be used with the above mentioned environment.

One Extension is LCD4Linux, which allows to show some information about the current played song on a small LCD. This is working on my Raspberry, but unfortunately this also seems to have some problems, in that the Display just freezes and the whole Box needs to get restarted. Since the used display is also very small (see Pearl Display) I decided to invest some more time and money into something slightly larger (see TaoTronics Display, Power Supply, HDMI to Component Adapter as well as a couple of additional needed cables (MiniHDMI, Component…)). I do hope that this is going to work out. For this stack, LCD4Linux is not needed anymore, since this is a “normal” Screen. Therefor I plan to integrate a Full-Screen Display component into the MediaPlayer. As soon as this is finished, I will report back, right now I am still waiting, that all the above mentioned components do arrive.

On the beginning of my UPNP discoveries, I stumbled across the X10, which is also a nice toy, but unfortunately does not support gapless UPNP playback (see X10 Forum (German)). Unfortunately I needed to buy this device to discover this one ;-( It is still a nice playing toy, but right now is just used for Internet Radio Streaming, since even the Tagging I did with DiscogsTagger is totatlly screwed on this device and the X10 is showing me the albums in totally different format then shown eg. on minimserver.

So, you could buy yourself some expensive devices from Linn, Naim or …, or you spend you money on some decent Hardware like Raspberry PI (uh, the sound of this device is not realy good, without the addition of a good DAC like HifiBerry) or a Cubox-I and invest some time in installing the above mentioned stack, then all should be fine, without spending too much Money as well as time.

KategorienCommon, Java, Linux, Projects Tags:

Create Postgresql Role

21. Oktober 2013 Kommentare ausgeschaltet

CREATE ROLE username WITH LOGIN PASSWORD ‘password’;
CREATE DATABASE dbname OWNER username;

Edit pga_hba.conf to avoid connections via trust or clear text passwords.

KategorienCommon Tags:

What do I want from my personal NAS

22. Juli 2013 Kommentare ausgeschaltet

In this post I would like to gather some personal requirements for a NAS System I am going to build.

Right now, I am in the process of ripping all my CDs (around 950 unique releases – More than half of it is already finished). The target is to store all these releases on a personal NAS with the ability to stream those to my stereo. For this I have already selected minimserver as the UPNP-Server. This server has the requirement of a JDK to let it run. Therefore the NAS I am going to build must have the ability to run JAVA.

Since I am already using Linux quite heavily I do not like to let FreeNAS or NAS4Free run on this NAS, also I am very interested in the underlying File System (ZFS) and/or FreeBSD.

Since Linux offers a “similar” File System (btrfs) I would like to use this one for the NAS.

The services which I would like to run on the NAS are then the following:

There some other options, which would be nice, but are not as “necessary”. There is e.g. Ajenti, which provides a nice WebGUI for the administration of the NAS, but this does not really correspond to the way Arch Linux works ;-) A possibility would be to use e.g. CentOS or
Ubuntu as a distro, but I am unsure, if this is really going to work out, just for a nice GUI????

The above mentioned requirements are not really tough for todays hardware and therefor I would like to stick to the Stack provided in the nas-portal forum (see here).

Since I am going to use a filesystem, which seems to be picky about power outages, I am in need of a UPS, and I am currently thinking about this one.

So I am going to explain some more interesting stuff about the tagging of my FLACs for the minimserver and about the used tool (discogstagger) in some future posts. Stay seated, so that you can see how an absolute Hardware Noob tries to build his own NAS ;-)

KategorienArch Linux, Common, Java, Linux, Projects, Ubuntu Tags:

Software Development in the 21st century

12. Mai 2013 Kommentare ausgeschaltet

In earlier days sourceforge was THE development plattform for open source project. This has changed nowadays. SF.net has now been overcome by github and additional services. SF.net was still adding services like e.g. git repositories (http://sourceforge.net/apps/trac/sourceforge/wiki/Git) and additional apps like Trac and stuff. Sourceforge is furthermore converting the whole infrastructure to the Apache Foundation under the name Allura. The whole world is going into cloud based services (this is especially true for software development services like e.g. bug tracker and source code management systems) and one of the formerly biggest ones is going to open source their whole stack. Quite interesting, don’t you think?
github.com is still very specialized on git repositories and also some more stuff like issue tracking and a wiki and also some static page stuff (pages.github.com). But the real interesting stuff is the git repository stuff. Even though there are some competitors in this area (think: bitbucket.org from one of the great companies in the software development area (atlassian, which bougth bitbucket quite some time ago and also added git quite quickly), as well as gitorious, github is still the largets in this area. All added values like e.g. Continuous Integration tools (think: travis-ci) are using the interfaces github is offering (called service hooks) to integrate their services. And, I have to admit, these services are doing a great job with this, and even offer so called “badges” to integrate their services even further into the project home page at github. Very smart. The whole business is going into the direction of the old unix philosophy (doing one thing, but doing it very good).
Basically the whole industry is going into the cloud business and github and cohorts are the expression of this. Earlier on one big service like sourceforge offered the whole stuff, nowadays it is several small companies doing the same in different entities. I really do like this. What are the services I do like really and I do use in my latest developments?

There is one more thing about these services, they do not offer these services for one language or environment, but for several languages and environments, like Ruby or javascript/nodejs. This is rather interesting. Even though some (if not most) of these services are written in Ruby, they do offer their services to other languages as well. This means, that the whole community recognizes, that there is more then just one language. While open source communities like e.g. jboss or apache are focused on one/some specific languages (in the beforementioned Projects it is mostly Java) these are staying this way, but are still opening up to the rest of the world (e.g. HornetMQ at github.com.
If you take a look on the nodejs modules, it is clear that smaller modules are more welcome in the community then larger ones (e.g. expressj vs. geddyjs). This is a nice trend going back to the “small but good” design principle, which I definitly acclaim. Basically this is all about “KISS”, and, just to mention it again, my preferred linux distribution is also all about the same principle (ArchLinux).
So having said all this (and I believe this developed into a small rant) I still believe in the KISS principle and I am very glad to develop software in the 21st century ;-) Furthermore I believe that this is also a principle which is represented by Uncle Bob and his Manifesto for Software Craftsmanship.
I hope, that I follow the above mentioned principle in the following new projects, I just published to github and the npmjs.org:

What does this mean for us Developers? Basically I strongly believe, that Software Development in the future is more like building a castle with already existing lego blocks with the design of some Architect and the business logic concepts of some Product Owner. All we have to do is using the right tools for the right job (the selection is up to us fortunately) and implement the business logic with the right algorithms. This sounds like a abasement, but I do strongly believe that we are still Craftsman and can do a fine job on this one. It would be a decision, if we need an Architect, but the business logic should (at least IMHO) be designed by the guys and gals who know this better (Product Owner should know this better).

KategorienCommon, Projects Tags:

nodejs and ports

20. April 2013 Kommentare ausgeschaltet

During my development with nodejs I stumbled over a very annoying problem. The server started, but I was not able to connect to it on the specified port. Furthermore, after a restart of the server, it reported an “EADDRINUSE Address already in use” failure. On further investigations, it looked like that for each time the server started with a port it created a new directory in the application root.

It took me about one hour, to figure out, that changing the port to a value outside the “root range” (up to 1024 on Linux, but it looks like the same is true for e.g. 3000), everything was working normal. Lesson learned ;-)

KategorienCommon Tags: