Saturday, September 23, 2017

How to get a year-month value in DB2

I quickly needed to check the monthly progress of a certain variable over time. Problem was that those bookings/incomes are spread over the month, sometimes only one booking line, sometimes two... So I needed a grouping variable, that the "absolute month", i.e. the usual year-month value,that you know from financial system, e.g. 201709 for this current month.

Here's the easy way to put that into a function on DB2:

create function yearmonth(TS date) returns varchar(6) no external action deterministic return rtrim(char(year(TS))) || right(digits(month(TS)),2)

Then you can easily do a group by yearmonth(date).
(Don't omit the "not external action" and "deterministic" parts, because a) they are true and b) they are needed for grouping)

Of course you don't have to create a function for this, but easier then re-typing it, or creating a view.

(You might want to create the same function for timestamp as well... just so happened that I now only needed it with the date signature).

You're welcome :)

Sunday, July 02, 2017

Instagram is weird...

So I posted two (only 2 !!) pictures of a garden on instagram, and all of a sudden I get dozens of followers with garden-related accounts/names. I did not even tag those images as garden-something....


Weird


.

Sunday, April 23, 2017

OnePlus One with Lineage OS

So, haven't posted here in a while... sorry 'bout that... Here's what happened most recently:

My Nexus 5X decided to get stuck in a bootloop (like most others in the world). Started with random reboots a couple of weeks ago, and then, one day after I upgraded to Android 7.1.2, on the way to a friend, it decided to no longer even go into the recovery mode. Totally offline.

Luckily, this very friend of mine, had a spare OnePlus One with CM on it, which I'm now the proud owner of. Since we went for a quick vacation in Lisbon just days after the bootloop incident, I decided just to move the most important data and apps on the OnePlus One (OPO from here-on) and properly set it up after the vacation.

That's what I did yesterday. Flash it with Lineage OS 14.1 and gApps. Right after the reboot it offered to re-installed apps (and quite a lot of settings) from the last backup of the Nexus 5X.
Since I had no recent backup (adb backup) of my Nexus 5X (I should have seen the crash coming, shouldn't I...) and I could not even get into recovery mode (to pull a new adb backup) that was the only thing I could rely on.  LastPass again helped me to sign into those apps really fast, and a couple of hours later I was up and running with OPO+LIN14.1

The two most cumbersome steps on the 2 hop migration (there was the minimum install on CM two weeks ago) was my Banking app, since both times I had to call my bank to reset the default device for the mobile TAN security feature (should have known this yesterday, but then again, just a 2min call to the bank, even off-hours... real good customer service, I have to admit),  and the RSA token app I have to use for authentication for my company (vmware); that needed re-initialisation with the help from the help desk as well.

So frist thing: have a backup of the new device ... CHECK.

And again: Thanks, Max, for the fast help with the OPO...

Friday, April 15, 2016

Even more speed, speed, speed

Just two weeks after I upgraded my DSL line to 100/20 Mbps, my employer was nice enough to move our mobiles to a new contract where we finally have LTE/4G included.

116 M down/ 41 M up

Wow... that was from my Nexus 5 this afternoon in Vienna, i.e. I was not looking for an "empty" cell during off-peak hours... pretty good.

Sunday, April 10, 2016

Speed, speed, speed

After a chat with a friend (and former colleague of mine) I decided to trust my telco (A1 Telekom) to upgrade to a higher speed, though I only got 12 Mpbs down on my 16Mbps ADSL line because of the age-old copper lines.

I called them, they checked the line and told me that they could guarantee 92Mbps if I go for the 100Mbps option (VDSL).

So I did. Got a new modem (TG 588v), plugged it in and interestingly already for 14Mbps though I only had 12 with the old modem (same line, still ADSL). Then a couple of days later (as announced) they changed my line on the switch/exchange and now I'm running almost 100 down (and 20 up).

With two kids in the house, netflix, two tablets and four smart phones... it was overdue to say the least.

So finally I can work while everyone else is watching Netflix (or the other way round).

Sunday, February 21, 2016

MWC 2016 - need to go offline

So, as every year, just after CES the Mobile World Congress in Barcelona is starting right now. Time to go offline for a week... or be bored to death with all the new phone, screen, GHz, multicore and VR announcements.

Saturday, January 30, 2016

Google Play Services networking error > Phishing?

Last week my son approached me, because his Samsung all of a sudden started to show networking errors for YouTube, the PlayStore and G+ app.  Connectivity was fine, we switched from 4G to Wifi and back, with no change (he would not have asked me for a pure/true connectivity issue). The Youtube app itself worked fine and played videos, he just could not log in with his Google account.
So no wonder this problem exists across several google services/apps, but nothing else.

Opening google.com/youtube.com in the browser also showed no problem, so definitely not a networking, dns, routing... problem.

I did some googling and found (apart from nonsense like "turn on wifi"...) some hints about a broken hosts file.  So I adb'd into the device from my computer, pulled the /system/etc/hosts file:
127.0.0.1    localhost
127.127.120.139 android.clients.google.com
With a hint from the ever-helpful stackexchange and the fine coincidence that he (or was it me?) rooted his phone sometime in the past, I was able to shell in, su to root, mount the file system as read-write, comment out that last weird line (for android.clients.google.com) and change the file system back to read only. Check the details on this post on stackexchange.

And then it worked.

This looks suspiciously like a phishing attempt by some malware, that managed to manipulate the hosts file to get the google password. So thirst thing after fixing this, chance the password.
Next thing, find that f*ing app that did this.

That's the downside of having rooted your phone. So finding the phone rooted was not such a coincidence after all.