Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Launch of the new crowbyte.org websites

I am proud to announce the launch of the new crowbyte.org websites.

Over half a year passed by since my last post on the crowbyte.org blog and I am happy to give some sign of life of crowbyte.org and myself alike.

A lot has happened in such a long period of time.

So lets sum up the most important cornerstones since the last activities here:

  • I moved from Berlin to Schleswig Holstein due to a new job in Hamburg
  • crowbyte.org is now reached over a secured https connection with certificate...
a silhouette of a person's head and shoulders, used as a default avatar

Die neue crowbyte.org Webseite ist online

Ich bin stolz hiermit die neue Webseite von crowbyte.org anzukündigen.

Über ein halbes Jahr ist seit meinem letzten Post im Blog von crowbyte.org vergangen und ich bin glücklich ein Lebenszeichen von crowbyte.org und mir gleichermaßen zu geben.

Eine Menge ist passiert in eine solch langen Zeit.

Also lasst mich die wichtigsten Eckpunkte seit meiner letzten Aktivität kurz zusammenfassen:

  • aufgrund einer neuen Anstellung in Hamburg bin ich von Berlin nach Schleswig-Holstein gezogen
  • crowby...
a silhouette of a person's head and shoulders, used as a default avatar

the avatar of Alberto Garcia

Digikam para identificar ginetas

Llevo ya bastantes años usando Digikam como gestor de álbumes de fotos. Hace ya muchas versión implantaron un módulo llamado “mesa de luz“, que recordando las mesas de luz de las diapositivas permite comparar cómodamente dos imágenes al mismo tiemnpo de forma sincronizada. Es muy útil para comparar dos imágenes casi idénticas y seleccionar la que tenga mejor nitidez, foco, exposición, etc…
La verdad, no lo he usado casi nunca, no le encontré mucha utilidad, hasta ayer, cuando descubrí que es una herramienta fabulosa para comparar dos fotogramas de las cámaras de trampeo y averiguar si por su patrón de manchas la gineta es la misma o no. A la izquierda el macho de gineta que ya viejo conocido (ver post anterior), a la derecha un “desconocida” fotografiada (por los pelos, solo los cuartos traseros) en una ubicación nueva (y bastante remota con respecto a las originales).

Conclusión, la gineta es la misma, y cada día me alucina más las caminatas que estos animales (paticortos) se pegan cruzándose La Muela de una punta a la otra con una regularidad y facilidad que me tiene asombrado.

a silhouette of a person's head and shoulders, used as a default avatar

Sepatu Keren dari openSUSE Asia Summit 2016

Sebelumnya saya sudah pernah cerita tentang pengalaman saya menjadi relawan pada openSUSE Asia summit 2016, kalau mau baca bisa ke sini : https://dhenandi.com/opensuse-asia-summit-2016-a-little-stories-from-volunteer/

Dengan perasaan hati senang saya menulis tulisan ini, karena kemarin saya mendapatkan sepatu Fans keren buatan pak Iwan Tahari dari Pak Estu Fardani.

Ketika openSUSE Asia Summit hari kedua, tiba-tiba sepatu saya jebol, alas kakinya mangap haha,. gara-gara saya lari-larian atau mondar-mandir mungkin di hari pertama. Jadi di hari kedua saya stay di Convention Hall sebagai operator karena emang leptop saya ada disana.

Sebelumnya Pak Estu pernah tanya ukuran sepatu saya, dengan harepan Pak Estu nyamperin saya nanyain sepatunya kenapa terus dikasih sepatu baru. Ternyataaaaa… kagak ???

Malem hari kedua waktu saya mah balik ke home stay, pak estu telegram saya, katanya ada sepatu lebih. Nah ini yang ditunggu haha. Alhamdulillah ternyata saya kebagian. Katanya nanti dikirimi ke bekasi.

Di Bekasi saya nunggu sepatu, pas sepatunya sampe, ternyata ukurannya besar sekali. Ukuran saya 39 dapetnya 42 ?.

Sepatu kudu saya terima dengan harepan kaki saya tiba-tiba besar sesuai dengan ukuran sepatu. Kemudian saya kontak Pak Estu buat bilang makasih. Ternyata alhamdulillah emang rezeki saya. Masih ada sisa ukuran 39 nya. Jadi sepatu yang ini saya kasih ke Pak Boss Vavai.

Sekitar seminggu nunggu, alhamdulillah Hari Jum’at sore kemarin sampai bekasi dengan selamat. Tapi sialnya saya udah pulang kantor. Jadi saya titipin ke Fajar, temen kantor yang rumahnya deket sama saya.

Sepatu ini bagus banget dari desainnya. Dapet F-Lock juga yang bisa memudahkan saya buat mengencangkan dan mengendorkan tali sepatu.

Sepatu ini juga sudah saya pakai buat kerja. So far, sepatu ini nyaman digunakan, sumpeh. Saya bukan salesnya sepatu Fans tapi ini beneran sepatunya nyaman. Senyaman perasaanku ke kamu…

Makanya bisa nyesel kalian yang gak ikut acara openSUSE Asia Summit kemarin. Banyak hadiah men!

Sepatu ini diberikan tandanya saya harus lebih banyak memberikan kontribusi ke komunitas dan saya harus banyak belajar dan mempersiapkan diri buat openSUSE Asia Summit 2017 di Jepang (Aaaaaminnnn) :-D.

Okay, sedikit cerita dari saya, thanks. Kalau mau lihat review lengkap sepatu ini bisa kunjungi blognya mas Ary dan kalau anda tertarik dan mau pesen bisa ke Blog nya Pak Estu.

The post Sepatu Keren dari openSUSE Asia Summit 2016 appeared first on dhenandi.com.

the avatar of Bruno Friedmann

Proprietary AMD/ATI Catalyst fglrx 15.12 rpms released for LEAP 42.2

Warnings

There’s no warranties the drivers will work, for you!

If you are satisfied with the open-source radeon drivers, don’t risk to break your computer !

Still there will NEVER be a fglrx driver for recent kernel and xorg. So if one of those component change in Leap fglrx will be broken.

Actual situation

Since last december, AMD doesn’t published any update about fglrx so the version is still the 15.12.302 published. A few days ago our beloved Leap release manager Ludwig ask me by email, if there will be an available drivers for Leap 42.2.

Today, after hacking a bit the last Sebastian Siebert’s script I’ve been able to build the drivers for Leap 42.2 RC1, and the driver install fine, and xorg start on my HD5750 (but that’s all what I can tell).

I will rebuild the driver once Leap 42.2 will hit its final stage.

Repository

zypper ar -cfg -n FGLRX http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_Leap_42.2/ FLGRX

zypper -v refresh -f FGLRX

zypper -v install fglrx64_amdcccle_SUSE422 fglrx64_core_SUSE422 fglrx64_graphics_SUSE422  fglrx64_opencl_SUSE422 fglrx64_xpic_SUSE422

Future

AMD has stopped any development for FGLRX, so it is already considered obsolete. But on the other side they make a lot of effort to bring radeon and amdgpu (the free and open source driver) to a decent performance level.

I don’t have that much usage anymore of my AMD gpu powered computer, and my HD5750 is now 8 years old already, so I can’t promise to be able to follow up with changes.

Cleanup

I removed all the obsoletes packages letting only the last one for each openSUSE version still available. Also the server has no more copy of openSUSE github artwork. If this missing to someone, don’t hesitate to ask.

Have fun

a silhouette of a person's head and shoulders, used as a default avatar

Twenty Years of KDE

One afternoon twenty years ago Matthias Ettrich and Martin Konold sat at a stone table in the cafeteria of the university Tübingen and talked computers. They talked Linux and they talked desktop. They talked about making Linux accessible to everyone. This was the moment where KDE was born. This afternoon they walked away with a mission. Matthias went on to write the call to action to found the KDE project, and Martin to create the very first KDE mailing list kde@fiwi02.wiwi.uni-tuebingen.de.


On October 14th 1996 the famous announcement arrived on the newsgroups comp.os.linux.development.apps, comp.os.linux.misc, and de.comp.os.linux.misc:

    New Project: Kool Desktop Environment. Programmers wanted!

The new project quickly attracted a group of enthusiastic developers and they pushed out code with a frentic pace. kdelibs-0.0.1 was released in November, containing the first classes KConfig and KApplication. In May 1997 the young project presented at the Linux-Kongress in Würzburg. In August Kalle Dalheimer published the famous article about KDE in the German computer magazine c't which attracted a whole generation of KDE developers to the project. On Jul 12th 1998 KDE 1.0 was done and released. The community had not only implemented a friendly face for Linux but also a bunch of applications while going, including a full web browser.


KDE did hundreds more releases over the years, continuously improving and maintaining the growing number of applications and amount of code. The community grew. It started to do annual conferences such as Akademy or the Desktop Summits and focused developer sprints such as the Osnabrück or the Randa meetings. KDE e.V., the organization behind KDE, which was founded as partner for the KDE Free Qt Foundation, grew with the community to be the corner stone of the organizational structure of KDE, using German association law as its secret superpower (read more about this in the book "20 Years of KDE: Past, Present and Future").

Millions and millions of people used KDE software over the years. Thousands of people contributed. KDE made appearances in Hollywood movies, it was subject of theses and scientific studies, and it won many awards. KDE's founder, Matthias Ettrich even received the German Federal Cross of Merit. The timeline of twenty years of KDE is an impressive demonstration of what Free Software is able to achieve.


Akademy 2014 group photo by Martin Holec (CC-BY)


KDE also was a breeding ground. Many people started their careers there. Hundreds of students went through mentoring programs such as the Summer of Code or the Season of KDE. Whole projects emerged from KDE, such as ownCloud and its sibling NextCloud, Kolab, or KHTML, which turned into WebKit and then Blink, powering most of web browsers on this planet today.

Today Linux has reached world domination in various, sometimes surprising, ways. KDE has contributed its share to that. With Plasma it provides a slick and powerful desktop which does make Linux accessible to everyone. This mission has been accomplished. But there is more. Following KDE's vision of bringing freedom to people's digital life there are amazing projects exploring new areas through Free Software, be it an application such as Krita to bring freedom to digital painters, or a project such as WikiToLearn to create collaborative text books for education. When KDE people meet you can feel the enthusiasm, the openness, and the commitment to change the world to the better just as in the days of the beginning.




I joined KDE in 1999 with my first patch to KOrganizer. I wrote a lot of code, maintained and founded applications, served on the board of KDE e.V. for nine years. Most importantly I found a lot of friends. Neither my personal nor my professional life would be what it is today without KDE. I owe a lot to this community. Thank you for the last twenty years.

the avatar of Chun-Hung sakana Huang

openSUSE.Asia Summit 2016

openSUSE.Asia Summit 2016


“Smiles - The reason we get together”




“All the honor belong to our strong local committee and staff”


This year, openSUSE.Asia summit host in Yogyakarta, Indonesia.


Let’s see some videos first :)


Pre-event Workshop





DAY 1






Day 2






It’s great and mad to have almost 500 geeko in openSUSE.Asia Summit.


Pre-event workshop group photo


Day 1 Group photo


Day 2 Group photo


You could find more photos in flick group photo here. ( https://www.flickr.com/groups/opensuse-asia-summit-2016/pool  )


It’s my pleasure to co-work with Indonesia team, all I have to do is…..
See the PASSION and MAGIC - they make”  :)




Also my pleasure to give openSUSE.Asia Book to Estu.
( From Taiwan team to Indonesia team )
( The best way is AL give to Estu, but AL is not here this year )  QQ





All team( Beijing / Taiwan / Japan / Germany ) got medal this year :) Thanks local team.



I have one workshop this year.


Ansible and openSUSE workshop





I want to thank all our sponsors
Without our sponsors, we can't have such lovely summit.


Thanks everyone come to openSUSE.Asia Summit.
Thanks all friends come to together, smiles - make us get together.


I wish I could keep contribute to openSUSE.
-Fun and share-


the avatar of Vojtěch Zeisek

Kurz práce v příkazové řádce Linuxu nejen pro MetaCentrum 2017

Course of work in Linux command line not only for MetaCentrum 2017

Don’t be afraid of command line! It is friendly and powerful tool. Practically identical is command line also in Mac OS X, BSD and another UNIX-based systems, not only in Linux. Basic knowledge of Linux is not conditional. Course will be taught in Linux, but most of the point are applicable also for another UNIX systems like Mac OS X. Knowledge of Linux/UNIX is useful e.g. for working with molecular and another data. MetaCentrum is service provided by CESNET allowing access to huge computational capacity.

vojta

a silhouette of a person's head and shoulders, used as a default avatar

Deploy your Flask Web Application on Ubuntu 16.04 with Apache, Gunicorn and systemd

I still get questions from time to time about how to deploy a python web application using Apache and not NGINX. Here is a quick tutorial to deploy your Flask application on Ubuntu 16.04 or any linux distribution (considering relevant changes) using Apache, Gunicorn and systemd. Until some weeks ago I used supervisord instead of systemd but nowadays I prefer to use systemd because is already there, installed, part of system. And also the reason to look into systemd and to switch was that I had to deploy an application on SLES (SUSE Linux Enterprise Server) and there is no supervisord package available in repos.

Note: This is a very basic configuration to get everything running. It is just for learning and to get the idea how everything is connected.

So, let's start:

  • we create a user which will run our Flask application
# adduser flaskappuser
  • install and configure apache:
# apt-get install apache2

As result we should get the default apache webpage in browser (http://your-ip-here)

  • we have to enable proxy modules for apache:
# a2enmod

and give this list of modules to enable:

proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html
  • Add our application to apache web server config file. Add the following lines (inside VirtualHost block) to /etc/apache2/sites-available/000-default.conf. Make a backup of this file before you modify it
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPreserveHost On
    <Location "/flaskapp">
          ProxyPass "http://127.0.0.1:5000/"
          ProxyPassReverse "http://127.0.0.1:5000/"
    </Location>

so, the final file should look like this:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
    <Proxy *>
        Order deny,allow
          Allow from all
    </Proxy>
    ProxyPreserveHost On
    <Location "/flaskapp">
          ProxyPass "http://127.0.0.1:5000/"
          ProxyPassReverse "http://127.0.0.1:5000/"
    </Location>
</VirtualHost>
  • restart apache to see if is working:
# service apache2 restart

http://your-ip-here —> should give you the same standard html page for apache, as before

http://your-ip-here/flaskapp —> should give you:

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

that’s because we still don’t have our Flask app running, but it seems that apache is trying to send the request to it, good.

  • let’s take care of our Flask app:

we will run it in a virtual environment, so let’s install virtualenv:

# apt-get install python3-venv

create and activate our new venv:

# cd /home/flaskappuser
# mkdir flaskapp
# cd flaskapp
# python3.5 -m venv flaskvenv
# source flaskvenv/bin/activate

install flask and gunicorn in our venv:

# pip install flask gunicorn

create out simple flask app (/home/flaskappuser/flaskapp/app.py)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/usr/bin/env python

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello from FLASK"

if __name__ == "__main__":
    app.run(host='127.0.0.1')

let’s run our app to see if is working:

(flaskvenv) root@apache-flask:~/flaskapp/# python app.py
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [10/Oct/2016 13:58:56] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [10/Oct/2016 13:58:59] "GET / HTTP/1.1" 200 -

in your web browser you should see: Hello from FLASK if you try: http://your-ip-here/flaskapp

  • everything is ok right now, but we want to use Gunicorn as our application server, so let’s configure it

in the same place where your Flask application is (/home/flaskappuser/flaskapp/ in my case) create a gunicorn.conf file with the following content:

accesslog = "/home/flaskappuser/flaskapp/logs/gunicorn_access.log"
errorlog = "/home/flaskappuser/flaskapp/logs/gunicorn_error.log"

we have to create our directory where to store the logs files:

# mkdir logs

now we can try to test our app again by running it using gunicorn:

# gunicorn -c gunicorn.conf -b 0.0.0.0:5000 app:app

check the browser and see if you app is working. Should work 😃

make sure that everything in flaskappuser home directory belongs to this user

# chown -R flaskappuser:flaskappuser /home/flaskappuser/

Now we have one more step. We want to monitor our Flask app and to restart it on crashing or to have nice start/stop commands for it. Or to have it started automatically on reboot. In order to do that we can use systemd which is available already in Ubuntu 16.04.

For that we have to create a .service file for our app. Here is my file: (/etc/systemd/system/flaskapp.service):

[Unit]
Description=flaskapp
After=network.target

[Service]
User=flaskappuser
Restart=on-failure
WorkingDirectory=/home/flaskappuser/flaskapp/
ExecStart=/home/flaskappuser/flaskapp/flaskvenv/bin/gunicorn -c /home/flaskappuser/flaskapp/gunicorn.conf -b 0.0.0.0:5000 app:app

[Install]
WantedBy=multi-user.target

activate our .service file

# systemctl daemon-reload

enable it at boot/restart

# systemctl enable flaskapp

start our app

# systemctl start flaskapp

Check if our app is running:

(flaskvenv) root@apache-flask:~/flaskapp# tail -f /var/log/syslog
Oct 10 14:25:59 guest systemd[1]: Started ACPI event daemon.
Oct 10 14:26:03 guest systemd[1]: Started flaskapp.
(flaskvenv) root@apache-flask:~/flaskapp# ps aux | grep gunicorn
flaskappuser      7263  0.2  2.9  64904 22492 ?        Ss   14:26   0:00 /home/flaskappuser/flaskapp/flaskvenv/bin/python3.5 /home/flaskappuser/flaskapp/flaskvenv/bin/gunicorn -c /home/flaskappuser/flaskapp/gunicorn.conf -b 0.0.0.0:5000 app:app

check the app in your browser:

http://your-ip-here/flaskapp

you can stop your app with:

# systemctl stop flaskapp

Done!

Note: Here is my repository with the files: GitHub