WordCamp European Union (WCEU) Support Contributor Day Descends upon the Slack Chat Channel

The morning of Sunday 2015-06-28 I was unsuspectingly reading the forums and was signed into the

Then support contributor day started for WCEU. And they signed into slack chat as well. Even though it was an in-person meetup.

It was really great and neat to be a part of this software support team in live-time even though they were a continent apart from me.

Transcript in the Slack archives from during the WCEU forums support contributor day. (A Slack account is required – see: )


It is Important for a Software Support Engineer to Respond to Software User Concerns

The point of this article is that the most important metric or goal is to reply software user concerns.

Previously I had considered that it’s important for a Software Support Engineer to focus on two important metrics/goals: 1. replying to software user concerns 2. resolving software user concerns.

The remix is that the most important metric for a Software Support Engineer is to focus on replying (responding) to software user concerns.

The reason is that as a Software Support Engineer I have control of whether I reply or not, how quickly I reply, the method of replying(for example Phone vs. email), and the contents of my reply. Thus this is what I should focus on, measure, and set as my goal.

The reason to not focus on resolving cases is that the case becomes resolved on its own or by the customer. So since as a Software Support Engineer I’m not the one who controls marking the case as resolved, I shouldn’t base measurements of my perfomance on this metric.

To summarize, instead of measuring my performance as a Software Support Engineer both on responding to software user concerns and on resolving software user concerns, instead I’ll try my idea that the most important metric or goal is to respond to software user concerns.


A Support Engineer Following Procedure Every time is not Productive so to Add Value I Will Pursue the Realistic Custom Solution to Each Individual Case

I’ve always followed procedure. I’d say that I’ve been the type who follows procedure %85-95% of the time. I’ve not been “disrupting” the market. I haven’t been the type who follows procedure half of the time and then who the other half of the time directs their energy to work towards my software support group’s (or company’s) departmental (or company-wide) goals in “new and creative ways”.

Here’s the point- it’s not gotten me far. What I need is to add a huge dose of realism. Software Customer Support Engineer is an operational role like a police officer or a hospital nurse or a firefighter. I need to balance reality with procedure. In other words, in order to add value in a Software Customer Support Agent role, I need to do what is the real obvious solution for the current individual unique case.

In software customer support, the neat, amazing thing is that most of the cases *are* unique. Just as for a hospital nurse or police officer, while there are similarities across cases, in the end every single case is a bit different.

A support case is an instance of a mathematical equation with a numerical answer. Not only does each equation have different values, but furthermore each equation is slightly different. Therefore the operations and calculation used won’t be the same for each support case, and the answer won’t be the same for each case either.

(Gee now I suddenly want to study a mathematics textbook)

I got off topic. My main point is that I need to do the obvious solution quickly first. Then follow up and iterate as necessary, adjusting the proposed solution as the equation changes.

If software customer support is a mathematical equation, then it’s the Software Technician’s job not only to solve the equation, but to define the equation. In other words a user comes with an initial symptom saying that something’s broken, and the Software Support Engineer joins in and proceeds to define the problem and then solve the problem.

In conclusion, as a Software Support Engineer (Software Technician), rather than drawing on procedures and processes as one or more static mathematical equations where only the number values are different each time, I’m going to instead treat each case as the unique equation that it is, and pursue the realistic solution to each case, while drawing on procedures and processes as guidelines or rules.


Once Again to Start Counting Hits to my WordPress Powered Website I have Installed CrazyStat Along with the Mzz Include CrazyStat WordPress Plugin

Since I moved my WordPress site some months back, I haven’t had any hit counter or stats counter on my WordPress-powered website.

Now that the site’s been up and running and I’ve continued blogging, I’m once again curious to know about traffic to my site.

Like last year, I want a seamless way to include the CrazyStat script into my WordPress website, sOooo…. …I used the mzz-include-crazystat plugin which is a small plugin that I wrote that does one thing– includes the CrazyStat include code dynamically onto every page of a WordPress site. ( )

So like I had last year, I once again installed the CrazyStat script on my site. I downloaded it from:

I did find that I had to do a quick re-read of the CrazyStat’s readme file:

(root of the downloaded CrazyStat script folder)/CrazyStat_1-71_RC1/stat/doc/README_en.html

Screenshot upon having instlled the CrazyStat script but not yet linked it to the WordPress install:

Screenshot after having linked it to the WordPress install with the mzz-include-crazystat plugin and having visited a couple of pages:

That’s how I once again started counting traffic to my WordPress-powered blog.


For a Software Support and Development Engineer it is Good to Work Together with Other Team Members and it is Good to Work on an Important Task

It’s desirable for a Software Support and Development Engineer to attain the social, economic (business) pattern of being part of a core group of colleagues working together on what’s important to the business. This is as opposed to being an individual apart from colleagues, working independently on a less important task (or tasks).

The former should be the way a business operates. The latter is sad and isn’t the way a business should operate. Colleagues working together will produce better results than an individual colleague working alone.

Therefore the result will tend to be, on average in such situations, that the group of colleagues will produce a good result on the important task, and the individual colleague will produce a poor result on the unimportant task.

I think it would be good like this: everyone works together on the important tasks, and no one works on the unimportant task.

But another lesson in this situation is that each individual should strive to work not alone but should work together with colleagues, and furthermore each individual should strive to work not on an unimportant task but on an important task.

In conclusion; working alone, and working on an unimportant task, are sad and should be avoided by everyone in a business. Working together, and working on an important task, is better for everyone in a business.

Excuse me, now I will go call a colleague to work together with them on my software project.


As a Software Support and Development Engineer What I Do and What I Produce

As a Software Support and Development Engineer, the service that I perform is transmitting messages/instructions, and the goods that I produce are messages/instructions.

As a Software Support and Development Engineer, what service do I perform, and/or what goods do I produce? Is my current job Service-performing or is it Goods-producing?

What I do:
I transmit a message to another person. (for example I transmit a message from my computer screen to the other person’s computer screen)

What I produce:
I create a message. (For example I write a message consisting of step-by-step written instructions)

Therefore the answer is that as a Software Support and Development Engineer I do both service-performing and the Goods-producing.

To recap:
My primary service:
– Transport messages across distance with another person.

My primary goods-production:
– Produce messages, instructions and documents.

As a Software Support and Development Engineer, the service that I perform is transmitting messages/instructions, and the goods that I produce are messages/instructions.


Description of A Personal File Backup Strategy that Mitigates Risk and Comforts Me

My personal file backup strategy has matured to where it’s relatively quick and I’m comfortable with it.

It involves a local disk, a backup disk and weekly or monthly calendar reminders.

I keep most of my daily, weekly and monthly needed files on a disk “Disk A” that’s accessible throughout the day each day.

Once a week I back this disk up to another disk “Disk B” that’s in a separate location (not always accessible throughout the day)

I have a calendar reminder, that I follow strictly on the same day each week, to help me remember to do this weekly backup.

That’s it really. That’s my backup strategy that it’s taken me years to perfect. It’s simple but effective. It mitigates/reduces the risk of me losing all my files.

In addition, I have some files in other locations “Disks C and D”, that I access and use on a daily, weekly or monthly basis, that are important to me. The way I handle this is that for each of these important files, I set either a weekly or monthly calendar reminder to back them up *onto “Disk A”*. Since Disk A is accessible to me thoughout the day, It’s easy to back up these important files from “Disks C and D” onto “Disk A”. And of course the weekly backup onto “Disk B” ensures that files from all locations (A, C, and D) ultimately, weekly, end up on “Disk B”.

Over the years I’ve matured my personal file backup strategy to where it’s relatively quick, I’m comfortable with it, and it mitigates the risk of me losing files.


Do not Say No To a Web Development or Software Support Client – Instead Refer them to a Capable Party

On WP watercooler, EP134 – WordPress freelancer pricing with legacy clients

, at 05min.:32sec., Chris Lema talks about “Let me introduce you to someone…” (who can do a given WordPress job at a lower pay rate than he can).

Chris Lema’s point is if a Web Developer is asked by a client to do something at a lower rate than the Web Developer generally charges, then rather than to just say sorry I can’t do it at that rate, it’s better for everyone involved for the Web Developer to at least refer the client to another person who can do the job at that rate.

A second example supporting this idea is this tweet from @christinainge ( ) I think this tweet embodies a a similar idea, this time with referring the potential client to a training workshop: “…if you need affordable WordPress…”

How about for Software Support Engineer? In Software Support, perhaps the way to do this is to, instead of saying no to a feature request, or saying no to a professional services request, instead refer them to someone inside (or outside) of my company, who is better equipped to do what they want. For example refer them to a sales person in my company, or if its a question of customizing an extensible part of the software then refer them to an approved contractor to scope the work!

Anyways, the idea is to don’t *only* say no to a Web Development client’s request (or to a Software Support client’s request) and try to end the conversation there, instead, while saying no to the client’s request, at the same time refer the client to someone who can better help them. This is better for everyone involved.


How to solve phpLiteAdmin – ERROR: unable to open database file…

Applies to:
Ubuntu 12.04
Apache 2.2.22
phpLiteAdmin v.1.9.5

With phpLiteAdmin. I had just “installed” the .php script (put it in its own empty directory on my web server.)

I got a message I can’t create a new database. So I put a preexisting one there.
Then I tried to drop a view in that database.

I got:
ERROR: unable to open database file…


I logged into my Linux server’s gui and I tried modifying the permissions on the database to allow setting “others” to Read and write. But still couldn’t drop the view.
Then I tried modding permissions on the directory containing the database.

What worked for me finally:

On the directory containing the sqlite database, I right-clicked on the directory and chose Properties. Clicked on the Permissions tab. Set “Others > Folder access:” to “Create and delete files” and its File access: to “Read and write”, and clicked the “Apply Permissions to Enclosed Files” button.


I’m not sure whether this is the best nor most secure way of solving this. But it fixed it for me- now I can log in to phpLiteAdmin and delete the view without seeing the “ERROR: unable to open database file…” message.


Samsung Galaxy Where is the Search Bar?

I wanted to know on Samsung Galaxy where is search bar. I wanted to know on galaxy tablet how to open search dialog. For a Galaxy Tab S.(SAMSUNG-SM-T807A)

Finally I discovered that if one swipes one’s finger from the top of the tablet’s screen downward, in the Notification Panel that appears there is “S Finder”. I touch S Finder and it brings up a search dialog.

In my case I want to find the device’s screen brightness settings utility. I type in brightness and it does lead me to the brightness utility.

Afterwards I also found another way to bring up a search bar, is to tap the gear button (the Settings button) which brings me to settings. In the Settings panel, in the upper-right there is a Search button (Magnifying glass icon) that when touched brings up the search dialog.

On the Samsung Galaxy Tab S that’s how to bring up the search bar.


Beast Mode Responding to Emails for an Hour Straight has Really been Working for me

As a Software Support Engineer, “Beast Mode” responding for emails for an hour straight) has really been working for me. I am getting things done and also can feel that I’m getting things done– while in Beast mode, I’m producing a high volume of replies, and am at a high frequency sending replies to clients.

I learned of this technique, and learned to call it “Beast Mode”, from podcast – an episode where Carolyn says that Carolyn and Carolyn’s associate do this.

The technique is to turn off distractions and reply to written emails for an hour straight without doing anything else, and then stop at the 1 hour mark and go take a break or something.

Update: Actually, three months after my original writing of this blog post draft, I find that I ran into trouble with beast mode. I find that sometimes another calendar event pushes beast mode off of its spot on my calendar and I don’t make it into beast mode for that day! Now having re-read my own blog post and after retrospection, I’m going to renew my strategy, and watch out for this caveat to beast mode! If it’s going to work, I’ll have to turn off all distractions and never move the beast-mode-calendar-reminder from its spot on my calendar!

For a Software Support Engineer their role is to *produce* messages (produce a high quantity of written messages) and send messages with high frequency. Thus beast mode if executed strictly, boosts the Software Support Engineer’s performance immensely.

I believe It was this Support Ops podcast episode that I learned about Beast Mode: Episode #12 – Beastmode with Carolyn Kopprasch ( )


In IT to Solve an Issue I Need Time Motivation Knowledge Access and Tools

Posted on August 29, 2015

In IT to Solve an Issue I Need Time, Motivation, Knowledge, Access and Tools. I find that if I have these five (5) things (resources), or if I can get them, then I can solve an IT software issue.

If I had all five of these immediately or on-demand, then it would be only a matter of clicking through the mouse, keyboard or touchpad to configure the solution.

If I don’t have all of these five, or if I can’t get them immediately or on-demand, then I might never solve the issue.

– time

– motivation

– knowledge/information

– access/permission

– tools

So in my IT software job I spend much effort to get these five resources.

a food image:


iPad not Recognizing the Fact that Reflector is Running on MacBook – How to Fix

Applies to:
Squirrels Reflector v. for Mac (either on or before this version)
iPad Model #A1459

It’s happened a few times that my iPad hasn’t registered the fact that Reflector is running on my MacBook. In other words I swiped up from the bottom of the iPad screen to reveal Control Center, but there was no “AirPlay” option there as usual. See below for the fix.

I searched for:
ipad no option for reflector

And found this article:
airplay stopped connecting to Reflector program on my PC ( )

One of the suggestions there fixed this for me. But the original poster didn’t say that was what fixed it for them. But it fixed it for me.

The fix/workaround:
In the iPad Control Center I disabled then enabled the wireless. (tapped the WiFi icon to turn WiFi off/on again) This immediately fixed (worked-around) the issue– upon tapping the wireless icon off/on, the AirPlay option appeared.


A Description of How a Feature of the Software Works is itself a Feature of the Software

Any time I need to know how a feature of the software works, and it isn’t described in the software’s documentation, it can be seen as a feature request to the software – a feature request to add a section to the software’s documentation describing how that feature works.


I want to enable SSH into my Server – How? And how about enabling FTP access?

Applies to:
– Ubuntu Linux server

I want to enable SSH into my server – how can I, and, how about enabling FTP access? My motivation is that as a Software Support and Development Engineer, I need to be able to better go troubleshoot a WordPress plugin symptom that I’m seeing for a WordPress plugin only on my live server but not on my test/localhost site.

I got on Bing and Google, and found some guides to help me. And here’s how I did it.

Part I.

First, I followed this guide to enable SSH server:
Ubuntu SSH: How To Enable Secure Shell in Ubuntu ( )

That seemed to go well, but then when I tried to connect using:
$ ssh

, I got an error, including the messages:
“Permission denied, please try again.”, and “Permission denied (publickey,password).”

So I got on Bing and Google again, and used this guide:
ssh — Permission denied (publickey,password,keyboard-interactive). ( )

Then I did port forwarding in my router, so that I could reach my SSH server from the outside.

Finally, I used this to connect:
$ ssh joe@

I was done installing SSH server! I was glad that in this case, the above took no more than an hour’s time to enable SSH.

Then I took a break. A software Support and Development Engineer needs time to regroup and attack the problem fresh.

Part II.

Second, I then proceed to enable FTP access. I got on Bing and Google and found guides how to install/enable FTP server.

Guides to install ftp server:

Since I was now able to SSH into my server, now I decided to try to configure the FTP server all using terminal. But I needed to brush up on my vi commands. I found these guides on vi commands:

That FTP server install seemed to go well.

Then I did port forwarding in my router, so that I could reach my FTP server from the outside.

Although the FTP server install had seemed to go well, now when trying to connect I got an error.

This time I could actually draw on my past experience installing FTP server a few years back, and I felt that it was probably the same problem as that last time — I probably had to enable pasv mode. I got on Bing and Google again, and found these guides:

I followed the guides and then could connect! I was done installing FTP server!

In conclusion, it was the second server on which I’ve configured FTP server access, and the first on which I can remember that I’ve configured SSH access. I’d say it took about two hours total. I’m glad I’m getting more familiar with linux and the linux command line. Now I’ll be a better Software Support and Development Engineer. As a result of this specific job, I’ll also now better able to go troubleshoot a WordPress plugin symptom on my live server.


This is an Amazing Complete Software Support Conversation

This is an amazing complete software support conversation. There is vibrant back-and-forth dialogue, the forum members are polite, I feel the learning happening, and a solution was reached.

The thread ending in this post:
[resolved] You do not have sufficient permissions to access this page (12 posts) ( )


To-Do List for Mzzstat WordPress Plugin

As written in Mzzstat Site Stats Plugin for a WordPress Site ( http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/2015.php?2015-08-10#2015-08-10 http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/?p=1143 ), I put the initial code of the Mzzstat WordPress plugin on github, and not only that, but put it there early. Now I’ve got to try to release updates often to make sure the plugin is the best it can be, to fix bugs, make code optimizations, and make feature improvements.

In other words, by releasing early with a minimally-functioning version, I know that due to the early and quick release of code, unbeknownst to me there could be bugs in there and there might be a lot of room for improvement. However, I believe that in order to get better and improve myself, I need to publish something– I needed to have published the best, most complete code that I have at the time (along the lines of It’s Okay To Write Bad Code ( )), and then quickly iterate to improve it, so that overall, my project quickly comes to represent the corollary of the previous idea, in other words it manifests the idea of Don’t Publish Bad Code ( ).

Here’s the link to the current revision at the time of this blog post writing:

It’s been some days since the current revision was released. I’ve had time to think of a concrete list of improvements. Here’s an early list of most important to-dos at this time:

1. Add a changelog file and start writing the changes there as I do them.
2. Remove hard-coded PHP MySQL database calls, replacing them instead with native WordPress MySQL database calls.
3. Add proper plugin install logic and proper plugin removal login, including code to install and remove the database table and data.
4. i18n — Internationalize by adding code to reference .po file(s), and add English language translation .po file and Traditional Chinese language translation .po file.
5. WPMU support — add logic to allow this plugin to run and support a network install of WordPress.
6. Remove front-end shortcode feature; instead move it to a dashboard area where an admin can view the stat(s). The reason is that the user of this plugin is envisioned to be the WordPress site admin and not a site visitor.
7. In addition to the total site visitors that now can be displayed, while it’s moved to the admin area, let’s also display a per-month and per-day visit count breakdown.
8. In the proposed admin stats area, let’s display a list of which URIs the visitor visited. (this is already captured, now let’s display it to the admin)

These are the most pressing improvements and fixes. I’ll aim to improve these areas.


Mzzstat Site Stats Plugin for a WordPress Site

Introducing the Mzzstat plugin that records statistics for a WordPress site.

Link to project home:

Link to current revision as of this blog post:

1. install, activate, and configure the plugin (in this very early version that means hardcoding the database and table names…)(TO-DO: remove db hard-coding. “release early and often”, right?)
2. browse to some pages on the wordpress site to log some hits.
3. put the [mzz-stat] shortcode in a page

That’s it! Now the page hits are being recorded and the page with the shortcode will output an incrementing number of total site vists like:

> Total page hits: 34


Adding Tracking to Links back to WordPress-powered Website and Reporting on them with CrazyStat

I realized with my current setup, a WordPress-powered website with CrazyStat installed, ( see Description of how I installed CrazyStat on WordPress 3.9 ( http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/?p=52 )) I could with one more action (one more action each time I share a link) implement some tracking of whether-or-not the link was clicked by the person I shared it with.

I keep the setup the same as it is, but now each time I share a link that I want to track, I put some arbitrary tracking code added onto the end of the link that I share. For example, I want to share the link

and afterwards I want to know whether or not the person clicked the link. I add

onto the end of the link, making it

Assuming the person clicks on the link, then I can see that fact afterwards in the CrazyStat report under the “Visits/File (a month’s time)” section in the upper right– if the unedited link was clicked then the “&track=hello” shows up there.



HTML Form With JavaScript – How to Make the First Text Field Autofocus

I’m happy that I was able to make my html form autofocus the first field by default. with JavaScript.

In my case, for my mzz-cases-notes.php form, what this meant is three changes:
( Note: my mzz-cases-notes.php form is hosted at )

I added this between the head tags, just before the closing head tag:
<script type="text/javascript">
function FocusOnInput()

I added to the opening body tag, to make this:
<body onload="FocusOnInput()">

I added this in the HTML/PHP code for the form’s text field:
echo "<input type=’text’ name=’".$result[$i][1]."’
id=’".$result[$i][1]."’ style=’width:250px;’/> ";

The Link to the commit with the change:

That’s how I I was able to make my html form autofocus the first field by default.

References: I used this stackoverflow example to help me along the way:


Low-Cost from Existing Home Internet Service and Server and Domain Name – How to Serve a Website

My domain name service provider allows me to forward my domain name to any ip address.

This allows me to forward it to the ip address representing my own web server service.

This effectively allows me to make publicly-accessible (with an easily-remembered url) my existing service-connected web server, for the cost of only the domain name. Cost of this method: ~$10-$20 /yr. (per domain name.)

What are the comparable alternatives?

Well if I didn’t want to spend the cost of the domain name , then I could just set up my server on my own server, and tell my visitors to type in its ip address. The benefit is it costs nothing. The drawback is its not easy for a person to remember an ip address like its easy to remember a domain name. And If my ip address changes then I’d have to re-tell everyone what’s the new address. Cost of this method: ~$0 /yr. (No domain name)

Well if I can afford an additional $30-40 /yr., then I could buy dynamic dns service. The benefit is that when someone then browses to my domain name, the browser address bar shows the domain name the whole time as opposed to the ip address. This is friendly and builds trust. The drawback is it would cost that extra cost on top of the domain name. Cost of this method: ~$40-$60 /yr. (assuming one domain name.)

In summary, the above-mentioned method allows me to server a website from my home server for low cost.

a food image:


Blog Script that Acts as a Home Index Page to a Blog

2014 blog script. This script acts as an index page to the html file blog post pages. In an extremely simple sense I built it to replace my self-hosted WordPress installation.

In other words, it’s a Php Script to Show HTML Files for a Directory, and I can use this to be as the index (home page) for my blog of single-page blog posts.

– Write blog posts as .html files
– This .php file scans the directory for .html files and prints out on the page an alphabetized list with hyperlink to each.

I’ve put 2014 Blog Script on Github:


My Dream Job in Software Support and Development

Here are some characteristics about my dream job:

– Constantly be in a role where my performance directly impacts the company
– Work at a company where the value the company provides to clients is measurable and substantial
– Constantly have opportunity to work and talk with, passionate colleagues who keep high standards
– Work in a software support and development -related role

More about me: About w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶ author Morgan Jassen ( http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/?page_id=1001 )


Follow-up Notes on Reading 30 Support Forum Posts Per Day for 30 Days (or “A Month Without Pants?”)

(This is a follow up to: Reading on the Support Forums ( w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/?p=1036 )

Today I looked on my calendar and see my reading period is coming to an end. Here are some reflections:


I read slow. 573 topics. That’s an average of 19 topics per day instead of my planned 30 topics per day. I had tried to read 1 hr per day, and largely hit that goal. This makes me sad. I think its because I read slow in the first place, and I get distracted too much by email, twitter, etc. Furthermore, I’m realizing that if I want to read 30 posts per day, then it *really does matter the speed at which I can read* (a) post(s). I need to read fast.or else reading 30 posts could take me 3 hours. Therefore my conscious take-away from this is that I’m going to work to be a faster reader from now on and I think this will help me in Life and in Career.


At times I lost focus of my overall goal, why I’m joining the forums each day and why striving to read 30 a day for 30 days. This makes me sad too. Then I remember its because it is school: Learn to be a better Software Support Engineer, meet peers, professional networking, meet friends, increase my public status as a Software Support Engineer and get noticed as a Software Support Engineer, become exposed to other opportunities, meet people online who I can later meet at in-person, etc, etc.


Points of low confidence. For example I sign on the #forums slack chat channel, and I sometimes lack confidence to write “Hi!” or “_reads a_ _forum topic_”. Specifically, sometimes I feel like since I haven’t replied to any topics in the past week, therefore I’m an impostor and If I chat with the people in the room they will look down on me. Or, I feel like if every day I write the same “_reads a_ _forum…” message, then people in the room will look down on me and disapprove because I write the same thing each day and don’t add constructive remarks.


I’ve had a some thrilling fun moments. I saw the thread about “Hi Writer, Hi Hero”. ( ) I was in the chatroom and unsuspecting when WCEU 2015 Support Contributor Day descended upon the chatroom. ( ) I saw a new person join the room and become a fast friend of everyone and be made a moderator literally overnight.


A thing I’ve learned by reading for 30 days without replying is… …how to *not* reply to a thread! In other words, it’s helping me train myself that I don’t *need* to respond to every thread. In fact I don’t need to respond to any threads on a given day. And while the overall goal is to participate and respond and help, well, sometimes it’s better not to. And sometimes it’s hard not to. And this reading period helped train me in that.


Some of the other support contributor regulars are quick and fast- I really idolize this about some of them. It’s really inspiring how prolific some of the other members, moderators and volunteers are at replying. I feel that some of these people read, write, and hit the send button without having to proofread. And that’s fast- in a good way.


I saw someone who I know used to be a regular in the Support forums/chat, not show up as often as before in the support chat, and then appear in force in the Dev chat. And this is a good thing! I’m glad that someone who is a support champion can move into other areas of expertise- can move more from software support and more towards software development. Good for them! And good for WordPress .org for having infrastructure to allow one to do this!


At about mid-point of the 30-days, prompted by something, I started reading some on forum. On some days I just swapped it right out instead of reading on the forum. Thereupon I discovered the not-advertised fact that some people are active on both *and* on I also found some passionate members on the dot com forums. Members- not Happiness Engineers. Members or bloggers who are actively replying to forum posts on a regular basis. It’s got a strong sense of community just as the dot org forums do. I’m glad to see this and I immediately have more respect for the dot com community than I had before. Before reading a few dozen posts on dot com, I had mistakenly thought that the dot com forums were missing a community spirit and mistakenly thought that they were wholly supported by paid staff members. What I instead found to be true was that a large part of the dot com forums is bloggers helping other bloggers.


30 days of reading topics is going to teach me how to be good at reading topics. Thats good, but I have to realize its not making me good at replying to topics, nor at having back-and-forth-with-others-on-topics. Which is my end goal. So in other words, after the 30 days is up, in order to get good at what I want to be good at, I’m going to have to change my habit and change my main task and going to have to start replying to posts, and-or having-back-and-forth-with-others-on-topics.


I’ve seen a member respond with a style that I really admired- the style of one sentence suggesting one thing that could have gone wrong, then one sentence suggesting a next-step. On the other hand, I’ve seen a member that more than once used dismissive/bullying/attacking words.


I’ve learned that a blind person joined the slack chat channel using a screen reader, and read one of the same person’s replies to a post on the forums.


Cameraderie. I’ve seen cameraderie both on the forums and on the slack chat. On the forums a second member added their response to confirm the reply of the first member. On the slack chat support people consult each other for advice and discuss how to best reply. Also how to moderate.

Furthermore, these thoughts and realizations tell me not only about my habits on the forums but also about my day-job work habits. Because there are many similarites in my day-job role as a Software Support Engineer. So I’ll keep in mind what I’ve learned and apply it in life and in career going forward.

Service Desk Case Tracker Setting up Email Notifications for all Significant Case Activity in

As a Software Customer Support Engineer I was finding it a challenge to monitor two incoming queues- the Service Desk Case Tracker queue and my email inbox. I wanted to make it easier. So I created Admin > Cases > Rules that trigger when my cases are updated in significant ways. The Rules trigger a Notification email.

So far this is much easier. Reactively, I now only have to monitor one incoming queue– my email inbox. There I immediately see an email Notification whenever a significant change happens in the Case queue.

That frees me up to be able to work proactively towards my goals, including via the case tracker replying/resolving cases.

A food image:

Skype Brilliantly Asks if I Want to Update the Next Time I Start Skype

Skype this time did something different and brilliant. When I started skype it prompted me whether I want to install the new update the next time I quit skype. I like it! Because when I’m opening Skype chances are I want to use it right away. In any case if I can I’ll still most likely do the install the update and restart Skype immediately. But updating upon the next application-quit it just seems more friendly and smarter. As a user, I like to know that the update is available and be able to choose the option to do it either now or later. This new different behavior of the Skype updater is in that same spirit- I like the new behavior!



How to Reset a Linux Server’s MySQL Server Root Password

1. login as linux root user.
2. run command:
service mysql stop
3. run command:
/etc/init.d/mysqld –user=mysql –skip-grant-tables &
4. hit ctrl+c to get back to command prompt
5. login to mysql server with this command:
6. (now in the mysql monitor) run these commands:
mysql> UPDATE mysql.user SET Password=PASSWORD(‘MyNewPass’)
->                   WHERE User=’root’;
7. exit the mysql monitor to get back to the linux command line.
8. restart the linux server so that the MySQL server becomes restarted as usual


a food image:

In phpLiteAdmin for CURRENT_TIMESTAMP Function How do I Force the Timestamp to Non-UTC?

I haven’t solved this one yet.

The column of a table that has default value of the CURRENT_TIMESTAMP function, always ends up in UTC.

What I’ve done:

Put this one-line date_default_timezone_set function setting at the top of the script. Like had worked for my ‘log’ script line 36 on github:
( )
This didn’t work.

Search the source code for:
, to figure out how to override it. I found little reference to this string, which tells me it may actually be sent to, and ‘timestamped’ by, sqlite, not phpLiteAdmin.

Searched bing for:
sqlite CURRENT_TIMESTAMP timezone
Which came up with a link to:
“Sqlite: CURRENT_TIMESTAMP is in GMT, not the timezone of the machine”
I haven’t yet been able to use this to solve my issue…

Possible next step– I think it’s time to get help on this– reach out to a colleague or to someone on a public forum to ask for help with this question.

A food image:

Mac Mail Mark as Read Keyboard Shortcut

In Mac Mail I get automated email messages from an integration service throughout the day. I don’t want to delete these messages, or read them right now, but I want to quickly mark them as read and leave them in my inbox in case I later want to refer to them. Until now I’ve been clicking on them so it opens it up in the reading pane and marks it as read.

But the problem is that sometimes I get multiple messages comprising a conversation– and opening the latest message doesn’t mark all the messages in that thread as read. So I’d either scroll down as if reading them, or I’d right-click (control + click) on them and choose mark as read.

Well, no more! Now I searched bing for:
mac mail mark as read keyboard shortcut

Which came up with the first hit as:

“Lion Mail: Keyboard shortcuts” ( )

On that page it tells me the keyboard shortcut for how to in Mac Mail mark (a) message(s) “mark as read”:
Command + Shift + U

I tried it and indeed it marks them as read– even messages in a highlighted conversation– just as if i had highlighted the conversation and done the (control + click)-on-them-and-choose-mark-as-read.

A food image:

2015-06-13 a Food Image


a food image:


On Reading on the Support Forums

For 30 days, I’ll read 30 posts per day on the Support Forums. ( ) The goal is to learn about Software Support. Afterwards I’ll post which posts I read and write a follow-up blog post of what I learned.

Mac Safari how to Deny Push Notifications from a Website

I got a push notification from a website. I didn’t want that again.
I bing -ed
mac manage push notifications

Which came up with a link to this article which told me how to deny push notifications from the site in question:

“Mac 101: How to manage website Push Notifications in OS X Mavericks”
( )

In short the way to do this is go into Safari > Preferences > Notifications tab and for any site Allowed there, instead set the radio button to “Deny”.

A Simple Measurable Way to Contribute to an Open Source Software Project

I realized a very simple way that I can contribute to an open source Open Source Software project. I can seed a torrent. (a Peer-to-Peer file-sharing torrent) For example I could seed the torrent for a Ubuntu 14 Desktop ISO:

I could seed the torrent for the LibreOffice v4.3.4 for Mac dmg (installer) file:

If my torrent client supports it I can even record/track how many MB I served/uploaded.

Seeding a peer-to-peer file share is a small but very real, very measurable way to contribute to an open source software project!

a food image:


Using Apple Calendar as a Task Manager

Now I use Apple Calendar as a task manager.

I wrote about “Using phpLiteAdmin as a Daily Task Tracker and a Work Activity Log” ( )

However it was a separate system and I’m already using Apple Calendar for my work calendar. Tasks are similar to, yet different from, calendar events. They should go in different parts of the same screen. It works better for me to use one software for both the Task Tracker and calendar.

I tried using phpLiteAdmin as both my calendar and task tracker, but it was too cumbersome.

So now I use Apple Calendar as my calendar and task tracker, and it works. I have multiple “calendars” displaying in one window. For example my google “calendar” and my “on my mac” “calendar” both show up on the screen side-by-side (intermixed with each other, each using a different color to distinguish)

My work flow is like this:
– From colleagues I get google calendar invites which show up on my calendar as an event at the given date and time.
– I can create events on the calendar at a given date and time.
– I can create tasks which show up in a separate section of the calendar.

a food image:


MySQL Instead of a Spreadsheet for Viewing a Large CSV File

note: originally published 2012-10-11 at a different domain name and url.

recently i had to view a csv file with 150,890 lines in it.  But my spreadsheet app is only able to view 65,000 rows max.  so how?  i loaded the csv file into mysql!

create database logdb;
use logdb;
Create table logtable(
`Id` varchar(250),
`TimeStamp` varchar(250),
`ErrorText` text

INTO TABLE logtable

Query OK, 150890 rows affected (13.05 sec)
Records: 150890  Deleted: 0  Skipped: 0  Warnings: 0


For Blog Posts Moving Away From WordPress To LibreOffice

For blog posts I’m moving away from WordPress and moving to LibreOffice. This is in contrast my old way, which was to write a blog post in plain text editor and then paste it into WordPress WYSIWYG editor and then create the images and upload the images into WordPress and then link the images to the blog post.

Here’s my new process for writing a blog post. Open LibreOffice and choose: “File > New > HTML Document”. Type my blog post there. Create the images and use the “Insert > From File…” to insert the image. Save by choosing “File > Save” (saves as .html file, and the image(s), if any, are base64-encoded into the single .html file – meaning no links to external image files)

My dream is to instead of having my plog posts all in WordPress in the form of one-database-plus-many-image-files, I instead will have many html files, each representing one complete-with-images blog post.

I like this because I’ll write the blog posts in the same format they’re posted in. Publishing the post is a matter of copying+pasting the HTML file into the web server directory.

What would the alternative have been to keep all my files neat in one place?… Perhaps staying in WordPress and pasting each blog post (including base64-encoded images) into the text editor.

What I like about this is, say I later want to move back to WordPress, or another publishing system such as bigtincan hub — All I have to do is copy+paste the html of each of the html files into the text editor of the publishing system. (tested and both aforementioned publishing systems currently have some support for pasting html including base64-encoded images.)

a food image:


Gigaom Podcast Describes on Ubuntu on Chrome Browser Making Netflix Work

Gigaom podcast describes on Ubuntu on Chrome browser making Netflix work.

Previously on w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶ I wrote on about “On Ubuntu OS on Firefox browser installng flash to make Pandora work” ( )

I listened to part of an episode of Gigaom Chrome podcast. They talked about now one can watch Netflix on Linux. One way is to get Ubuntu with Chrome browser and some DMG plugins/libraries, a stack which they say will give one the ability to watch Netflix.

At ~ 13min. 06sec. in.
“Chrome Show: New Chrome apps for Windows, OS X show Google’s strategy” ( )

Additional info:
I ran also into these references about Netflix on Ubuntu:

googleing the term:
netflix on ubuntu liberiangeek

Came up with these results:

“Watch Netflix Movies in Ubuntu”

“Make Ubuntu 13.04 Netflix Ready Using These PPA Packages”


One mysqldump per DB vs One mysqldump for All DBs

note: originally published 2012-10-08 at a different domain name and url.

the question is, is it better to have one mysqldump for all databases for your nightly and/or weekly backup? or better to have multiple mysqldumps nightly, one for each database? I think the answer lies in whether you want to spend more time setting up the backup scripts, or whether you want to spend more time separating out the one database’s data at the time when a restoration is needed.


HTML Base-64 Encode an Image to Make a Single HTML File which Contains the Text and Image

I’m really instantly amazed at, and loving, this ability to base-64 encode an image into an html file!

I first discovered this by desiring to find a file format that could save an entire blog post (text and photos) as a single file that is viewable by a web browser.

Using LibreOffice Writer I saved a text+image document in its “HTML Document (.html)” format, and lo and behold it saved it as a single .html file, which contained the text and image and is openable by three major web browsers (chrome, firefox and IE)

Then I googled and found this with some more extreme examples:
(not only images embedded but audio or video)
[ ]

The real application that I will immediately use this for is the one for which I searched when I found this. I will re-make all my wordpress blog posts from w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶ as single .html files and post them as static files from apache. Thus circumvent WordPress entirely. Which is what I should have done in the first place for my blog!

Finally, pasted here is the entire html source of an html file with an embedded image:

START OF source of entire html file with an embedded image
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> </head> <body> <p>Hello, World! Image here:</p> <p><img src="data:image/png;base64,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"/></p> <p>That was the image above. The end.</p> </body> </html>
END OF source of entire html file with an embedded image

And *finally* finally, here’s a screenshot of what the web page looks like. (The web page created when the above html source is copied+pasted and saved in a file and then viewed in a web browser)


Notes on Whom A Software Support Engineer is Serving

As a Software Support Engineer I’m making a push to always keep in focus *who I’m serving*.

I had previously put the first field of every item on my to-do list as the tag of what type of issue this item is. Now I’ve switched to put the first field of every item on my to-do list as the *name of the person for whom I’m performing* this task.

After previously having gotten caught up in *what support ticket I’m working on*, it’s a big improvement to switch to keep in focus who I’m serving.

a food image:


Strategy for Supporting a Software Customer

Think of software customer support issues in terms of a user leveraging the product’s functionality.

possible questions:
Can one do “__” with the software?
A: Either Yes or No, preceded by a sentence of additional explanation– that is to say, in either case(whether Yes or No), include the answer to the following (question #2.) “What does one… mean?” question! To clarify and be more helpful, or to explain why I can’t be more helpful.

What does one doing “__” with the software mean?
A: point to definition/description of that feature.

How does one do “__” with the software?
A: This only needs to be answered if the answer to (question #1.) “Can one do…” was “Yes”.

Flow: For a question that will be of either form 1. or form 2. or form 3. But the *answer* should take one of two forms: Either the form of the answers to ((2.)+(1))., or the form of the answers to ((2.)+(1.)+(3.))
In other words:
– No matter what people ask, I need to respond to tell them: (2.) my understanding/recapitulation of their meaning, and then (1.) confirmation yes/no that this can be done.
– If the answer is yes-this-can-be-done, then on top of those two points I also need to to respond to tell them (3.) how this can be done.

A. Define what one’s attempting to do with the software. Determine “__”.
B. Determine whether “__” can be done with the software. (YES/NO)
C. If YES, then determine how to do “__” with the software.

I’ll look to apply this to software support inquiries, and see how this process/strategy fares.

a food image:


not all databases need to be backed up nightly

note: originally published 2012-10-08 at a different domain name and url.

i had  a backup script to run mysqldump nightly to backup 7 databases.  then i added a database over a couple weeks time.  i wanted to back it up so i added it to the cron script list of databases.  but then i finished adding the database and , i realized it really was going to be a read-only database after it was done being built.  So then, the point of the story, i made a final backup of it.  the lesson here is that not all databases need to be backed up nightly — only databases that change on a daily basis need to be backed up nightly!  this seems obvious in hindsight, but, had not been to me until i finally realized it.


MacBook Pro has Keyboard Keys to Dim and Brighten the Monitor Screen

MacBook Pro laptop notebook computer has screen brightness keys on the keyboard to dim and brighten the screen brightness.

The F1 key dims the MacBook Pro laptop screen. The F2 key brightens the laptop screen.

Descriptive screenshot of the F1 and F2 keys:

In PHPLiteAdmin the Arrow Indicates the Sort Direction Ascending Versus Descending

In PHPLiteAdmin the arrow indicates the sort direction ascending versus descending.

Applies to:
phpLiteAdmin v1.9.5

Previously to determine the sort order, I clicked on the column header, looked at the first few entries, sorted them to tell what order it was in, then either left it there or clicked a second time to get the sort direction I desired.

No more of that– today I discovered the little arrow in phpLiteAdmin. If the table’s not being sorted by that column there is no arrow. If the column is being sorted by that column ASC the little arrow is there and points up. If the column is being sorted by that column DESC the little arrow is there and points down.

From now on I’ll click the column header once and see that it points up for ASC. If that’s what I want I’ll stop there– If I want DESC I’ll click it a second time and stop there.

Here, descriptive screenshot:
(In this screenshot, the arrow in the `date` column header is pointing up for ASC)


PhpMyAdmin Complete Inserts Vs. Extended Inserts

note: originally published 2012-10-02 at a different domain name and url.

PhpMyAdmin “complete inserts”:
“complete inserts” means the column names are specifically named in the insert statement(s).

PhpMyAdmin “extended inserts”:
“extended inserts” checkbox ON means that it makes it into one big insert statement whereas if that checkbox is OFF it creates many separate insert statements, one for each data row.

Today is the Day that I Start Saving all my Passwords Into my Web Browser

Today is the day that I start saving all my passwords into my web browser.

This is it. Today is the day that I’m giving up typing my password in to every website every time, and logging out each time I’m done using a website.

It’s the normal thing to do. That’s the best reason I can give.

For years in the name of security and a sense of control or ownership, I’ve done my best to not store my password for my websites into my browser. I’ve made exceptions, for example my webmail which I check daily or multiple times per day. But now its time to always tell the browser to remember my password. It’s convenient. It’s productive, It saves time and it’s just the normal thing to do.

This is a way I’m growing and changing. This follows closely with switching to Chrome Browser (another normal thing to do) and coming back from a week vacation.

Today is the day that I start saving passwords in my web browser. It’s the normal thing to do.


note: originally published 2012-08-22 at a different domain name and url.

I just accidentally dropped one of my production databases because I thought I was logged into my developement database.

I dropped my checkingbalance database, while operating on it to write a blog post about it!

I do have a nightly mysqldump backup in place.  Now I need to physically go to where my backup driver is, get a copy of last night’s backup and restore the checkingbalance database, table and data from the backup,  before the nightly mysqldump overwrites the backup file again tonight.


Review of 2014-Oct-8th Gigaom Chrome Show Podcast on What Chrome and Chromebook Is and Isn’t

Something struck me from the Oct. 8th, 2014 episode of the Gigaom Chrome Show podcast. (podcast On iTunes.) ( 2014-Oct-08 Gigaom >> Chrome Show “Chrome Show: Another Tegra-powered Chromebook arrives; this time from HP” )

One of the hosts during the episode matter-of-factly stated that a chromebook is the web– said so while discussing something else. In other words the point of their speech at that moment was something else, and a supporting argument was the fact that the Chromebook is simply a way to access the web.

Here are some other points one or the other of the hosts made:
– In an obvious manner one of the show hosts implied that a Chromebook is different than Linux and is different than Windows 10.

– One of the hosts said that with a Chromebook one needs maybe 4GB of memory, and not much storage disk space because of the fact that Google provides Chromebook users with 200GB of cloud storage along with the user’s Chromebook.

– One of the hosts made a comment that for some computer hardware or software, when it reaches between 3-5 years old it needs to be updated or replaced.

– The hosts discussed current prices for chromebooks ranging from the two hundred- to- five hundred- dollar range.

This Gigaom Chrome Show podcast episode really taught me that Google has a strong solution to own my entire user experience– all the way from the hardware to the software to the data storage. A picture has now been painted in my mind of me having a Chromebook and nothing else (no Mac no Windows no Phone no Tablet no usb-flash-drive-to-store-files). A picture has been painted of me using a/the Chromebook as a tool to leverage Google Chrome Browser, which I’m in turn using as a tool to leverage Google’s web services. A picture has been painted of me living that way going forward, and every two-or-three years discarding my old Chromebook for a new, more-performant inexpensive Chromebook.

In other words, I really enjoyed in this episode hearing the podcast hosts’ perspective on what Chrome and Chromebook is, and what it isn’t.

References: the podcast. Link to web post here:

a food image:


Quantifying my Software Support Engineer Performance

Adapting to what I read on ( ) and from the page it linked.

I’m having an urgent need to quantify my performance as a Software Support Engineer. Its a service job, so compared to a job producing a product I found its been hard to quantify.

I made these initial goals for myself as a Software Support Engineer:

– Number of replies per case should be between 4 and 6.

– Number of resolved cases per day should be between 3 and 4.

– Number of hours between replies per case should be between 4 and 24. (i.e. between 4 and 5 business-hours)

I’ll start taking measurements- my table will look like this, with a tag at the end of each record saying whether it was a “replied” task progression or a “resolved” task progression:


“2014-09-12 08:31:09″,”Jane Doe ticket#54321″,”replied”

“2014-09-12 10:23:27″,”John Doe ticket#12345″,”replied”

“2014-09-12 15:27:30″,”John Doe ticket#12345″,”replied”

“2014-09-12 16:10:55″,”John Doe ticket#12345″,”resolved”

Number-of-replies-per-case, number-of-resolved-cases-per-day and number-of-hours-between-replies-for-a-case are the “Goals” metrics I want to be able to go back and calculate.

Each time I reply to a case, I’ll record the timestamp and the case-ID.

Each time I resolve a case, I’ll record the flag-that-says-I-resolved-a-case.

From these data points I’ll be able to calculate the three “Goals” metrics above.

In the example above I’d calculate that I replied twice to John Doe’s case and then resolved it, with 5 and then 1 hours in between responses, respectively. At least that’s the idea.

So excited to see how my performance quantifies! Where to go from there? –I’m imagining blogging my performance results and telling my colleagues about these results. Also I can measure my performance for one period and then for another period, and then I’ll have a solid numbers to compare how I performed in the first period compared to the second period.



note: originally published 2012-07-26 at a different domain name and url.

I wanted to merge an old lyrics table with a new lyrics table, to form one new complete lyrics table.  At first I thought the best way was to dump the old lyrics table into a .csv file and then import it into the new table.  But the export options that i specified in phpmyadmin always ended in more rows being imported than i knew were there.
Then, since the old and new lyrics tables are both mysql database tables, i decided to dump the old table in sql format instead.  The lesson i learned is when exporting and importing between mysql tables, use SQL format dump file instead of .csv format dump file.
However I couldn’t find a way to dump the data into a sql file that didn’t use the table name to reference the table during the import.  So after i dumped the .sql file, I did a find and replace command on the text file to replace instances of the old table name with the new table name.

Further Similarities Between Medical Professional and Software Support

I recently saw a medical professional and saw similarities between the process that is (or needs to be) used between medical services and software support services.

The medical person examined me and then started to make recommendations of what I should do to address my problems…
…wait Wha?!?… I had missed something. Somewhat similar to my experience I wrote with this other medical experience: “It’s Important for a Tech Support Person to Write Down the Answer for the Customer” ( )

I didn’t know my problem was confirmed, didn’t know what the problem was, and hadn’t asked how to address the problem. But the medical professional was telling me how to fix it.

I wished it instead had gone like this: After the examination, the professional tell me 1. A problem has been confirmed. 2. what the problem is. 3. What is causing the problem. 4. What They can do to help me address the problem, and what I can do.

And during this dialog of education, leave space for me to ask my own questions for example maybe pause for me to ask the question “what can be done to address this problem?…”

Conclusion: I was frustrated how I wasn’t included in the diagnosis and the diagnosis wasn’t explained to me before starting to explain the prescribed remedy/action.

In the same way, Software Customer Support Professionals also must be able to communicate the above four informations to their users, *and check at each step along the way that the software user understands*.


note: originally published 2012-07-30 at a different domain name and url.

How to make your own copy of a dual language chinese/english dictionary using phpmyadmin

I made my own copy of a dual language, traditional chinse to english dictionary by starting with the pydict dictionary entries from here:  (the dictionary entries are in the “a.lib, b.lib, c.lib…” source files.), and an additional few thousand dictionary entries (translations, really) from the “phpMyAdmin-master-latest.tar.bz2” download here: “” (the translations are in the “\po\zh_TW.po” location, once it is unzipped).

The way I did this was to use ms office excel and scalc to format the .lib files and the export of the .po files into utf-8 .csv files, and then used the import command in phpmyadmin, with the “csv using LOAD DATA” radio button enabled, to import the files into the schema defined below:

USE `EnZhDictUtf8`;

`en_word` text NOT NULL,
`zh_word` text NOT NULL,
`phonetics` text NOT NULL,
`source` text NOT NULL

Now when i want to know the traditional chinsese word equivalent to an english word (or vice versa), i just have to use phpmyadmin’s search function to look it up.  Much faster than using a paper dictionary.  Since I don’t know how to make my new PC hardware run bv1al linux with pydict, this is a great replacement dictionary.  Now you can make one yourself; enjoy.


Chrome Browser New Tab Window Shows my Bookmarks

Chrome browser along the top of the New Tab window shows my bookmarks.

Applies to:
– Chrome browser Version 38.0.2125.104 for Mac

In Chrome browser clicking the New tab button shows the New Tab window with my bookmarks along the top.

I mean in Chrome browser, when I have “Show Bookmarks Bar” disabled then when I click the New Tab button, the New Tab window comes up with my Bookmarks. This is exactly what I want to happen.

I don’t want to have the extra clutter of showing the Bookmarks Bar. But I do want to be able to quickly open a new tab and then open one of my bookmarks.

In comparison, in Firefox, upon initial check in Firefox 33.0 for Mac, Firefox didn’t have this feature. (not by default on my installation, anyway)

Descriptive screenshot here:



In a Spreadsheet How to Merge Cells so Multiple Cells Act Like One Spreadsheet Cell

I’m so excited that I learned how to do this. I learned this by getting a spreadsheet from someone. The spreadsheet had merged cells. I right-clicked in its properties and poked around and saw Merge cells was turned on. I turned it off and saw that the merged cell turned back into individual cells.

MS Excel: select multiple cells -> right-click and choose “format cells” -> alignment tab -> Text control section -> enable “Merge cells” checkbox.

LibreOffice: select multiple cells -> right-click and choose “Merge cells”.

That’s how to, in a spreadsheet, turn multiple spreadsheet cells into one spreadsheet cell.

*2015-03-04 edit: added actual publish date of 2015-01-23 at top
*2015-07-30 edit: fixed whitespace to improve this post’s readability


When a Software Support Engineer Views a Case Records an Audit Log Entry

When a Software Support Engineer views a case, records an audit log entry.

In it’s audited/recorded each time a Software Support Engineer views/opens a case.

For example when I open a case by typing the case number in the search box and hitting enter, opens the case for me to view and on the left-hand-side under the “CASE TIMELINE” section it logs a message like this:

“Morgan Doe pulled case for editing Oct (dd), (YYYY) at 1:17PM (from Case Filter view)”

Attached, descriptive screenshot:

*2015-01-21 edit: previously published at http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/2015-01-16-desk-com-audit-log.html
*2015-07-30 edit: edited whitespace to improve this post’s readability


With LibreOffice I Will Password Encrypt my Secret Text Note

I’ve been struggling to find a simple, secure way to protect a text note containing my Facebook password. (I have a complex Facebook password so need to keep it in a note so I don’t forget it)

Ever since TrueCrypt reached end-of-life support, I’ve been trying to find another solution. I wrote about How to Symmetric Password Encrypt a File on Mac with GPGTools GPGServices and then Decrypt it on Windows with Gpg4win Kleopatra. ( I used that for a while and felt it was secure. But it needed keys in addition to passwords, and it took a lot of mouse clicks and keyboard strokes to encrypt or decrypt the file, and also the user interface that I used on Windows vs. Mac was different, and then one of the client apps broke and I didn’t know how to easily fix it.

Thus I’ve been looking for an alternative file encryption solution that works on Mac and Windows.

Now I’ll use LibreOffice’s (.odt/.ods) "File > Save as… > Save with password" functionality to encrypt my text note. It needs only a password to encrypt or decrypt a file (no keys needed in addition to the password). It takes only a couple of mouse-clicks and keyboard strokes to do. The user interface is nearly the same on Windows/Mac/Linux. So far it hasn’t broken on me.

Descriptive screenshot of encrypting and decrypting an .ods spreadsheet:

This article says that it’s secure and tells how to do it:
Password Protect Your Documents When Using LibreOffice

This article tells more about it and what encryption is used and in what version:
(SHA-256 as of LibreOffice Version 3.5)
[LibreOffice] "Release Notes 3.5" > "Different Encryption Algorithm"

LibreOffice’s “Save with password” functionality is a
simple, secure way to protect my secret text note.

*2015-01-21 edit: previously published at http://w̶i̶e̶l̶d̶l̶i̶n̶u̶x̶.̶c̶o̶m̶/2015-01-01-libreoffice-encrypt-text-note.html
*2015-07-29 edit: White space cleaned up to improve this post’s readability, cosmetic change, and fix broken hyperlink.