Log in

Sat, Nov. 26th, 2016, 07:41 pm
Python3 and MySQL on OpenSuSE 42.1

So this might be outdated now that 42.2 came out, but I am not ready to upgrade until they get the kinks out. This version is still heavily dependent on a python2 implementation, so if you want to do db development with python3, it's not going to work (afaik - corrections requested).
Best thing to do is to uninstall (if installed) the python-PyMySQL package.
sudo zypper rm python-PyMySQL
Then just use "pip" to install the Python3 version...
sudo pip search mysql
sudo pip install PyMySQL3

It might ask you to update the version or something of pip. I ended up doing so (outside of the zypper/rpm method - perhaps not wise).
Now when I do
user@host:~> python3
Python 3.4.5 (default, Jul 03 2016, 13:32:18) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql;
>>> conn = pymysql.connect(host='', user='root', passwd=None, db='mysql');
>>> help ("pymysql")

Everything seems to work... well, at least no errors. I would like to have kept it down to packages ONLY for the software, but it was more important to be able to use ALL of my machines for this project instead of relying on Tumbleweed machines.

Fri, Nov. 25th, 2016, 07:19 am
MariaDB/MySQL not starting on OpenSuSE Tumbleweed

So, I ran into an issue where mysql server was not starting at all in Tumbleweed after upgrading from 42.1 to Tumbleweed. Apparently, I just had to chown /var/lib/mysql to mysql.mysql via "chown -R mysql.mysql /var/lib/mysql"

Tue, Nov. 15th, 2016, 05:36 pm
More Eclipse woes, switching to IntelliJ

So I started dabbling in the IntelliJ IDE. I am very impressed so far with their community edition. I would typically use Netbeans whenever possible, and Eclipse when it would run, but Netbeans dropped support for Python, and Eclipse started crapping out at libgtk.so.3 (See bug #1009882) and crashing all over the place on Tumbleweed, so I couldn't use PyDev on Eclipse. After kicking the tires with PyCharm (IntelliJ based IDE) I am very impressed! :) I might actually shell out a few pennies for this. I am going to see if work pays for it first.
They have a community version which is limited, and if you pay you can get "Ultimate" version. Check them out for a bit for Java IDE, Python IDE, and they even support PHP and other languages. It's one of the best IDE's yet.
Note: no, I don't work for them! ;)

Fri, Nov. 4th, 2016, 12:53 pm
Boot problems solved: Tumbleweed with Disk Encryption and Intel video during initrd

So when I installed Tumbleweed on the laptop, everything was working fine with my Skylake mainboard's video card (notably Leap 42.1 did NOT work at all with its Intel Corporation HD Graphics 520 (rev 07)). As soon as I encrypted my home partition, it seems to have stopped being able to boot up completely. It got through the initrd loading, then the screen blanked, and came back, then ... nothing it just sat there. Caps lock didn't work. So I changed the crypto settings to timeout after 15 seconds, and it booted just fine, except that the /home wasn't decrypted or mounted. I had to systemctl to mount the encrypted partition. Every once in a while, however, it would work, and I would get a plain text (in green plain text as a one liner) request on the center of the screen to type in the password.
I figured it was something to do with the initialization of the graphics driver during initrd phase.
So I ended up changing it from "silent=splash" to "silent=no" as a kernel parameter, and that did the trick. It boots every time now, and I can type in the password as normal. BTW, the boot splash screen never worked for me either. I used to get three question marks on the boot screen, with each lighting up (bright green instead of green) from left to right. On my desktop (again Intel) I would get a static image, but at least I knew that when I hit that screen I could type the password in (blind because there was NO password prompt) and it would continue - not on the laptop - not even capslock/numlock on the laptop.

Wed, May. 25th, 2016, 06:24 am
KF5 Steaming Pile that just keeps giving...

So an Evolution alarm went off, which initiated an xembed icon. Guess what? I can't click on it! Nothing happens! Just like the Java xembed. *sigh* KDE5 is still a big pile of poop for very simple stuff that keeps getting in your way to just "get your work done". I regret every day ever upgrading.

Mon, May. 16th, 2016, 08:48 pm
Creating non-journaled HFS+ filesystems

So, I am not quite sure when it happened, but the non-journaled Mac OS Extended (HFS+) is no longer an option in Disk Utility. The only option is Journaled HFS (encrypted and/or case-sensitive), MS-DOS, ExFAT. This is bad for me, because on Linux I can only read/write to non-journaled HFS+ (Journaled HFS+ is read-only) I wanted to use an external 1TB drive on linux and mac. So barring some kext driver that can read ext4/3/2, I had to pick HFS+.

The simple answer is to use the "diskutil" command line tool in Terminal as such:
[foo@bar ~]$ diskutil eraseDisk HFS+ GE128 /dev/disk2
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk2s1 as Mac OS Extended with name GE128
Initialized /dev/rdisk2s1 as a 122 MB case-insensitive HFS Plus volume
Mounting disk
Finished erase on disk2

Where GE128 is an arbitrary label, and /dev/disk2 is the disk in question. You don't have to unmount the drive when you run this command, it'll take care of that bit.

Also note that you can use the command line util to create journaled filesystems too, just change HFS+ with JHFS+ and many more filesystems. Use 'diskutil listFilesystems' to get a listing of those supported on your system, including its shortcut identifier as such:
[foo@bar ~]$ diskutil listFilesystems
Formattable file systems

These file system personalities can be used for erasing and partitioning.
When specifying a personality as a parameter to a verb, case is not considered.
Certain common aliases (also case-insensitive) are listed below as well.

PERSONALITY                     USER VISIBLE NAME                               
ExFAT                           ExFAT                                           
Free Space                      Free Space                                      
  (or) free
MS-DOS                          MS-DOS (FAT)                                    
MS-DOS FAT12                    MS-DOS (FAT12)                                  
MS-DOS FAT16                    MS-DOS (FAT16)                                  
MS-DOS FAT32                    MS-DOS (FAT32)                                  
  (or) fat32
HFS+                            Mac OS Extended                                 
Case-sensitive HFS+             Mac OS Extended (Case-sensitive)                
  (or) hfsx
Case-sensitive Journaled HFS+   Mac OS Extended (Case-sensitive, Journaled)     
  (or) jhfsx
Journaled HFS+                  Mac OS Extended (Journaled)                     
  (or) jhfs+

Tue, Apr. 12th, 2016, 08:58 am
Reclaiming your syslog from systemd!

So I figured this out a while ago, but as life is, been quite busy.

Rather simple with OpenSUSE. I just installed rsyslogd via zypper, and it asked me what to do. Should I uninstall systemd's console logging package and install rsyslogd or not install rsyslogd. I uninstalled systemd's console logging package.

Notably, it does not /stop/ logging certain console/dmesg items in the systemd journal. However, now you have var-log-messages etc back in plain text format, which is easier to deal with rather than trying to type with mittens!

Sat, Mar. 12th, 2016, 01:39 pm
KDESu / Sudo and Polkit Woes

So upon installing OpenSUSE (for KDE4!), I noticed that everything it wanted privileges to do (add/remove network connections, install apps, etc.) required "root" password even though I redirected kdesu to use sudo instead with "kwriteconfig --file kdesurc --group super-user-command --key super-user-command sudo". I also already tried to comment out the following:

#Defaults targetpw   # ask for the password of the target user i.e. root
#ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

in my sudoers file. I wanted all KDE/gui password prompts to behave as it does on command line with "sudo".

I tested by opening a command-line and typing:

  • "sudo ls /root": worked! asked me for my password

  • "kdesu ls /root": worked! put up a different type of GUI pw prompt that came up when I tried to delete a network connection.

  • tried to delete a network connection: failed! It asked for root's password.

So then I noticed that on this particular dialog (the one that failed), there was something about polkit. Specifically "polkit-kde-authentication-agent-1". So that gave me another breadcrumb to search for on the net.

Long story short, after two days, delving into PolicyKit, what it does, and how it does it and the API... and it uses JavaScript(?!) in its configuration files... and there's no GUI to manage it, or even configure it... I found the answer.

Make a copy of 50-default.rules to 49-default.rules. Nullify 50-default.rules (not necessary, but I do this thanks to the other bastardized component - systemd). Edit the "[unix-user:root]" to "[unix-group:wheel]" (or whatever your /etc/sudoers has set as a group for elevated privileges). Please note you still have to set your user to be in that group (and logout/login).

Small rant: Next up - WHERE IS MY VAR LOG MESSAGES systemd? It works as plain text, now we need special tools to view the binary files. Next thing you know, they'll be using a binary registry like Windows... oh wait, yeah, Gnome's already doing that.

Sat, Jan. 30th, 2016, 11:37 am
DBD::Oracle timeout w/ Remote Database Link Query

So I had a problem with a particular database query. I would use a remote link as a join for selecting a popluation. I would then cycle through the single column that would return in a loop. I would then take that single column as an argument to a simple sql query over a database link that would return another single column. It would reach a point and hang there until a timeout getting the following error: DBD::Oracle::db prepare failed: ORA-01013: user requested cancel of current operation (DBD ERROR: OCIStmtExecute/Describe). Running the same exact query over SQLDeveloper worked just fine returning the NULL so I was perplexed.

TL;DR: in the secondary query, a null was being returned for that one column I was selecting, and it didn't know what to do with it. I changed my secondary query to "select *" instead of "select my_col from remote_db_table".

So first query was (in pseudo perl):

  select main.id
    from main
   where main.id in 
           (select remote.id 
              from remote 
            select other.id 
              from other)
my @ids = execute ...<above_query>...;
foreach $id (@ids) {
  "select remote.detail_col from remote where remote.id = '".$id."'"

It would hang at that second query when detail_col returned was NULL over a database link. I changed the second query to "select * from remote where remote.id = '".$id."'" and everything worked OK. I know it may run slower returning more rows, but at least it runs.

Wed, Sep. 23rd, 2015, 10:00 pm
KDE4 (F21) users DONT upgrade to KDE5!

So KDE5 is based on KDE Frameworks 5 and QT5. It has been an unusable disaster (esp. Plasma 5). KDE3 to KDE4 upgrade had issues, but they were basic UI issues, not UNUSABLE (crash/freeze) issues.

1) Plasma freezes upon login. I found a workaround several weeks ago, and that worked OK until I just did an update yesterday. I am using LxQT now because otherwise my work machine would be useless.
2) They took away the system tray! Normally apps use the XEmbed protocol, and KDE 5 completely stopped support for this. This means that Audacious, Java Apps, Pidgin etc. don't show up in the system tray.
3) You can't set custom time/date formats; only set country. So, for example, in KDE4 I was able to set the default date format as YYYY-MM-DD. I was able to set 24hr time, even though I live in the USA. If I change the date format to another country, it changes the first day of week?! Further, the date would be DD-MM-YYYY instead.
4) Klipper is broken. They builtin an inferior clipboard app that conflicts with klipper. The builtin app (see below #5) grabs the clipboard before klipper can get to it. Klipper sees the data and adds it to its history, but the app takes priority. Between the two conflicting, it means that when you copy something to the clipboard, you can't even paste!!
5) SECURITY issue with the built in clipboard app: you cannot turn it off!! You can disable the icon from showing up on the so-called "system tray" but it just makes the icon disappear. It doesn't disable the history/snooping. There's no way of turning it off.

I can deal with a new UI... I cannot deal with usability issues. I am using LxQT for now. It's is very sad, because I've been using KDE since 1998 and found it ground breaking.

One positive thing is that the upgrade to KDE5 (KF5 on F22) looks nice, and is smooth. If it would *only* work and not crash or freeze.

10 most recent