--- 2014-12-31 Google Chrome Browser How to Pin a Tab to the Tab Bar Today I learned how to in Google Chrome browser pin a tab to the tab bar. Right-click (control+click on Mac) on the browser tab and choose “Pin Tab”. When the tab becomes pinned it becomes small(only the favicon shows, not the text), it zooms (justifies) to the left and the “x” (the close button) disappears (so the tab can’t easily be closed). Pinning a browser tab to the tab bar makes the browser tab take up less space. For me, this feature will compete with bookmarks feature– right now I have my favorite web pages bookmarked on the bookmark toolbar. Thanks to Support Hangout Episode #17 ( http://supportops.co/support-hangout-episode-17/ ) for this tip. On that page this tip is located where it says: “From Carolyn – Chrome’s option to pin a tab.” That in turn links to the google support page that tells how to pin a tab (Chrome > Help > Tabs and windows > Arrange tabs..) ( https://support.google.com/chrome/answer/95622?hl=en ) — Update note : two months after the “today” mentioned above, after having tried browser tabs for a while. I now don’t use the pin-a-tab feature. Daily I do use Chrome and daily I use the bookmark toolbar. *2015-01-21 edit: previously published at http://wieldlinux.com/2014-12-31-chrome-pin-a-tab.html *2015-07-30 edit: edited whitespace to improve this post’s readability --- 2014-12-27 In the Desk.com Case List Teammates’ Cases-being-worked are Highlighted Gray In Desk.com, in the case list when my teammate is working on a case, the case is highlighted in a darker grey than the other cases. I confirmed this by hovering my mouse over any of the dark gray cases in the list and I see the “Morgan Doe is currently working on this case.” message in the popover-details-window. Screenshot: *2015-01-21 edit: previously published at http://wieldlinux.com/2014-12-26-desk-cases-highlighted-gray.html *2015-07-30 edit: edited the whitespace to improve this post’s readability --- 2014-12-17 For an IT professional it’s a Skill to get an Answer Scenario: I ask a person a question– ask them for some information. They don’t answer my question- they don’t give me the information I’m asking for. It’s a skill to 1. realize that someone hasn’t given me the information-comprising-the-answer and 2. get the answer. Moving on in the scenario: Why mightn’t a person answer my question-asking-for-information? 1. It’s secret. The information-comprising-the-answer is secret/confidential. 2. Too much effort. It would take too much effort to give me the information-comprising-the-answer 3. They don’t know. They don’t know the information-comprising-the-answer. At this point I need to know why the person didn’t give me the information-comprising-the-answer, so that I can decide what to do next. If it’s reason 1. (It’s secret), then I know I’m going to have to regroup and find how to gain access to the secret information, and try again. If it’s reason 2. (Too much effort), then I can recalculate how much effort it’s worth and regroup accordingly with whoever’s involved. If it’s reason 3. (They don’t know), then I can either A.ask them to find out, or B.ask them who would know, or c.myself go ask someone else– whichever is appropriate. In conclusion, as an IT Professional it’s important for me to realize whether or not someone has answered my question-asking-for-information. If they haven’t answered it then it’s also important to find out why, because that helps me to regroup and get the original question answered. *2015-01-21 edit: previously published at http://wieldlinux.com/2014-12-17-it-skill-get-answer.html *2015-03-04 edit: corrected date at top from 2015 to become 2014 *2015-07-29 edit: fixed white space to make readable. --- 2014-12-09 Using phpLiteAdmin as a Daily Task Tracker and a Work Activity Log Using phpLiteAdmin as a daily task tracker and a work activity log On my shared web hosting, both
UsingSugarCRM CE as a task trackerand UsingCollabPress as a task trackerwere taking thousands of milliseconds to load the page after each server-refresh-mouse-click. Now I use phpLiteAdmin which is much quicker. The whole solution is comprised of a tasks table and a notes table. Here are the table creation schemas: CREATE TABLE "btc_tasks" (‘date’ DATETIME DEFAULT CURRENT_DATE, ‘task’ TEXT) CREATE TABLE "btc_notes" (‘date_time’ DATETIME DEFAULT CURRENT_TIMESTAMP, ‘note’ TEXT) On both the tasks and notes tables, I set the date (or date+time) field to use phpLiteAdmin’s date stamp or time stamp functionality. Here is my work flow: – Into the tasks table, insert a new task with due date. – I use the due date to order the tasks– if its an important task I put the date today and if its a secondary task I put it tomorrow or later. – Screenshot here of the tasks ordered by date ascending: – From the list of tasks with today’s date I pick the one most important task and work on it. – To break from a task or to punt it to later, I update the date — either individually or with this SQL query: UPDATE â€œtasks” SET “date” = ‘2014-10-26’ WHERE “date” = ‘2014-10-25’ – In the notes table along with date+time I insert a note of a task’s progress. – Screenshot here of the insert note form: – When I complete a task I delete the task. – At the end of the week I look at the list of notes. It’s become a report my week’s accomplishments. – Screenshot here of the notes table ordered by date_time descending: I use phpLiteAdmin as a daily task tracker and a work activity log. On the same shared hosting it is much faster than were either the CollabPress or the SugarCRM CE installations. *2015-01-21 edit: previously published at http://wieldlinux.com/2014-12-09-phpliteadmin-as-task-manager.html *2015-06-04 edit: edited to fix broken links and clean up white space. --- The mzz-pendingcomment helper plugin for CollabPress for WordPress Now posted is the Mzz Pendingcomment helper plugin on GitHub. This WordPress plugin in effect changes the functionality of CollabPress WordPress plugin — as they are made sets CollabPress comments to pending. In other words it overrides the default behavior of CollabPress which is to always set a new comment’s status to “published”. [2017-01-21 edit: Here is a link to the plugin (it's source code) on github: https://github.com/mjassen/mzz-pendingcomment] This plugin adds one specific functionality to the existing CollabPress solution, without hacking the CollabPress core code. This plugin is an open source software script. Making this plugin took some iterations, research and trials. The reward is that it integrates with the existing software to change its functionality. *2015-01-21 edit: previously published at http://wieldlinux.com/2014-12-06-mzz-pendingcomment-helper-plugin.html *2015-07-29 edit: edited whitespace to improve the post’s readability. --- 22:04:09For a Software Support Engineer a Note on the Relevance of Professional References The most important thing in keeping one’s Software Support Engineer job is professional references. A professional reference is one of my colleagues describing my work behavior to another of my colleagues. If my colleagues continually positively refer me to each other (I mean give positive professional references about me to each other) then I will be able to keep my job. For example I’m Maurice and two of my colleagues are talking about me and one of them says to the other: “Maurice really did a great job on last week’s ______ project.” This is even more important than taking school classes, passing tests or showing my colleagues my great written portfolio. Here are some characteristics that I’ve noticed about professional references: – Professional references are out of my control (given totally by the mercy and grace of someone else) – Professional references are Taboo (this may be why I personally have historically had a hard time understanding them — it’s hard to find a recorded reference to them and also hard to find a person who will talk with you about them) (because of this, this may be my first and last post on the importance of professional references to a Software Support Engineer — I want to respect the taboo and not dwell on this subject!) – Professional references are valuable– as valuable as one’s paycheck, but in a different way. (In other words references get a job which comes with paycheck)(maybe this great value is what makes it taboo too…) – Professional references are relevant at all times — connected to one’s ongoing reputation – In addition to being important in keeping one’s Software Support Engineer job, professional references are also important in getting a Software Support Engineer job in the first place. These are the relevance of professional references to a Software Support Engineer. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=893 *2015-07-30 edit: edited whitespace to improve this post’s readability --- 2014-11-13 23:43:40 How Much Does WordPress Cost? I can’t afford WordPress. Wait– I mean that I can’t afford WordCamp not that I can’t afford WordPress. This weekend it would cost $30 plus the cost of parking and gas to attend the nearby WordCamp. But I’m on a budget. A really strict budget and so I can’t afford it. Okay so I was exaggerating about not affording WordPress, I meant WordCamp. How much does WordPress cost? Well for self-hosting the cheapest I could make it was to use my living room server with $30/yr. dns service and a $10/yr. domain name. That amounted to a live internet WordPress site for a total of $40/yr. Another option that I’m now using is shared hosting which costs me $82/yr. (that includes one domain name). How much does WordPress cost? In conclusion, right now, I can’t afford WordCamp– but in a way that’s just a reminder how priceless WordPress is. And in fact I can afford WordPress. Right now for me WordPress costs $82/yr. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=897 *2015-07-30 edit: edited whitespace to improve this post’s readability
Part of the answer is they grow into a COO. Like Chief Operating Officer or another role that reports to the COO. The other part is that a Software Support person touches every part of the organization. Sales, Operations, Engineering. And so it is possible for a support person to grow into any of those fields that they are passionate/inclined/skilled at. So they could end up as a CEO-type, COO-type or CTO-type.
But the reason that the likely role for a Software Support
Engineer is most likely to end up as COO role, is if one sticks to
the core responsibilities of a Software Support Engineer (for example
triaging customer issues, Solving customer issues, using/testing
software, promoting software, and many others), then one will be
doing jobs that are considered operations. I mentioned in a previous
Ramblings on Whether There Will Ever be a Standard Job Title for a Software Support Engineer, that in the Support industry a
Support Person is sometimes viewed as an infantry. Indeed, there are
parallels between Military/Police/Government-Executive-Branch-Type
roles and Software Support. So if a Software Support Engineer excels
at these, then they could naturally move towards a position of an
For example in the Support Driven podcast episode. 04, at 14min.,55sec. someone mentions that the support manager’s boss is the COO.
To conclude, because of the breadth of the software business that they touch, a Software Support Engineer role can grow into many career roles in Sales, Engineering or other, but more specifically, an appropriate role for a Software Support Engineer to grow into is COO or a role that reports to COO.
*2014-12-05 edit: previously published at http://wieldlinux.com/?p=881
*2015-07-30 edit: edited whitespace to improve this post’s readability and also fixed a broken hyperlink
--- 2014-11-04 05:05:14 On a Dual Boot Ubuntu and Windows PC How to Modify Grub Boot Menu Screen Resolution I dual boot Ubuntu 12.04 with Windows 8.1. I found that I can get it to work if I install Windows first, then install Ubuntu second and let ubuntu’s grub boot loader do the work of presenting me on startup with the grub menu of which OS to boot into. But there’s a problem. I Install Windows, then install Ubuntu and everything is OK *except* that on my monitor I see a screen resolution error *during when it should be displaying the grub boot menu*. With my Compaq Presario with nvidia geforce graphics, with an HP W2072a monitor, the message is: “Input Signal Out of Range Change Settings to 1600×900 -60Hz”. So I assume the PC is presenting the boot menu to the graphics card and/or monitor *BUT* I can’t see it. At this point, after about 10 seconds, by default it then proceeds to boot into Ubuntu and once Ubuntu loads, I see everything fine on my monitor. At this point, alternatively (before the 10 seconds elapses) I have learned through experience that when the boot screen is comes up (although my monitor is blank so I can’t see the boot menu choices with my eyes) if I press the down arrow on my keyboard four times and press enter, it boots into Windows fine, at which point windows loads the proper graphics software and I can see everything fine on the screen. In other words its only in the grub boot menu screen that my monitor goes blank. It’s very frustrating to not have the boot screen options show on my monitor! So anyways, the solution I found is here: How do I safely change grub2 screen resolution? In short, in uxterm or any shell, type: sudo nano /etc/default/grub Then uncomment this line: (remove the # ) #GRUB_GFXMODE=640×480 Then click ctrl+o, then enter then ctrl+x to save and to exit nano. Then back in shell type: sudo update-grub And hit enter. Then reboot. Done! With this change in place, now when booting the computer it makes the grub menu options come up visible on the screen! (even though it is stretched wide, at least i can see it .) That is how, on a dual boot Ubuntu and Windows PC, to modify the grub boot menu screen resolution. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=879 *2015-07-31 edit: edited whitespace to improve this post’s readability --- 2014-10-27 11:17:06 Between Sydney and the United States Doing Software Customer Support? It’s discussed in episode 18 of the Support Driven podcast! (link to podcast and website below!) In one part of episode 18 of the Support Driven podcast, it’s discussed that a weekly newsletter is one way to keep the globally-disbursed Software Support Engineers together– a weekly newsletter that includes large and small details about what happened that week in the software support department/group. It’s discussed that this may even make the entire company feel closer. In one part of episode 18 of the Support Driven podcast, it’s mentioned that the time-of-day when the Sydney team meets with the United States team is 5am Sydney time. ( that would be 3pm or 2pm New York time) In one part of episode 18 of the Support Driven podcast, it’s mentioned that with remote worker Software Support Engineers in all timezones, at the end of the shift the Engineer from one timezone writes a report for the person coming onto the next shift– a report including what important things happened during their shift. iTunes link: (Support Driven podcast) Episode 18 – Mat Patterson on Building a Remote Team Corresponding website link: (Support Driven website blog post) Episode 18 – Mat Patterson on Building a Remote Team *2014-12-05 edit: previously published at http://wieldlinux.com/?p=875 *2015-08-03 edit: edited whitespace to improve this post’s readability --- 2014-10-23 05:07:46 Windows and Ubuntu Dual Boot – How to by Default Boot to Windows I want to make Windows the default operating system that my PC boots into. (In other words I want Windows to appear first in the grub menu boot list.) I search/google and find this article: I search/google and find this article: How do I set Windows to boot as the default in the boot loader? In short, what did I find that worked for me? In a terminal type: fgrep menuentry /boot/grub/grub.cfg Then find the entry for windows, for example. “Windows 8 (loader) (on /dev/sda1)”. Then run: gksu gedit /etc/default/grub Then Change the entry “GRUB_DEFAULT=0″ to: GRUB_DEFAULT=”Windows 8 (loader) (on /dev/sda1)” Save, then type: sudo update-grub *2014-12-05 edit: previously published at http://wieldlinux.com/?p=869 *2015-07-29 edit: edited whitespace to improve this article’s readability. --- 2014-10-20 23:00:03 On Ubuntu OS on Firefox Browser Installng Flash to Make Pandora Work Relevant software versions: Ubuntu 12.04 Firefox v30.0 Pandora wouldn’t work for me on Firefox v30.0 on Ubuntu 12.04 install. A message came up on the web page told me to install flash player. Then I googled and found this command recommended: sudo apt-get install flashplugin-installer I ran it from a terminal (command shell)(command prompt) and it ran fine. The result is the next day I tried Pandora.com in Firefox on Ubuntu and Pandora now works fine. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=866 *2015-07-29 edit: edited whitespace to improve this post’s readability. --- 2014-10-17 21:21:18 Switching from Chrome Browser to Chromium Browser I recently wrote about
Switching to Chrome Browser. Now I switched my default browser to Chromium browser. I did so in an attempt to become closer to the Chrome browser software developer community. For example I’d expect that the code discussed committed in today’s #chromium IRC channel will appear in Chromium browser by tomorrow whereas it will be some weeks later before the same code appears in the stable Chrome browser. It was scary and I avoided doing so in the past. It was scary because on the Chromium.org website there are numerous warnings to not use Chromium browser, recommending to instead use Chrome browser or Chrome canary browser. There are warnings that it is unstable and that it doesn’t have auto-updates. After having made the move, I see that Chromium browser acts similarly to Chrome browser. After having made the move, I’m no longer scared. When needed I can still run Chrome browser side-by-side with Chromium browser. In conclusion, I’ve moved to Chromium browser for my default web browser. It was scary at first. Now that I made the move it isn’t scary any more. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=864 *2015-08-05 edit: edited to remove whitespace to improve this post’s readability and to fix a broken hyperlink --- 2014-10-14 22:35:02 Switching to Chrome Browser Today I switched my default browser to Chrome. Why switch to Chrome? Because the app I depend on most works best in Chrome. The app I depend on most is supported first in Chrome. I opened Chrome browser, added all my daily-use bookmarked websites and saved passwords, and moved the Chrome icon to the front on my Mac OS X task bar. In Firefox browser I removed my bookmarks and saved passwords, and moved the Firefox icon to the back of my Mac OS X task bar. The first few times I needed to use a browser, I clicked on Firefox out of habit. When I saw that my bookmarks and saved passwords were gone, I remembered that I had switched to Chrome. After about half-day, I already remembered to use Chrome instead of Firefox. In conclusion, today I switched from Firefox to Chrome. It took some effort but within about half a day I was effectively switched over. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=862 *2015-08-05 edit: edited to remove whitespace to improve this post’s readability --- 2014-10-07 22:21:00 Inspirational Documentary about Women in STEM ( Science- Technology- Engineering- Mathematics ) Upon watching this Women in STEM documentary ( http://vimeo.com/107201940 ), I’m inspired to continue to blog about IT Professional topics. Note: In a scene of the video I’m in the audience– I appear for about 0.5 seconds. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=835 *2015-08-06 edit: edited whitespace to improve this post’s readability --- 10:41:45For a .doc Document in LibreOffice Writer How to Make A Table of Contents For a .doc document in LibreOffice Writer how to make a table of contents. First get the document. For a sample see/download this document: ./uploads/DocumentWithTOC_Original_BeforeTOC.doc In this document there are 3 “Chapters”. I’ll tell Writer that the first line of each Chapter should be in the table of contents, and then I’ll tell Writer to insert the table of contents. 1. Here’s a screenshot of what the doc looks like before making the table of contents: 2. I’ll tell Writer that the first line of the first paragraph should be an index entry. Highlight the first line of the first paragraph, then from Writer’s top menu choose “Insert” > “Indexes and Tables” > “Entry…”. In the “Insert Index Entry” dialog that appears, for the “Index” dropdown choose “Table of Contents” and click the “Insert” button once. Then click X to close the “Insert Index Entry” window. Screenshot here: 3. Repeat this Insert-table-of-contents-index-entry for each chapter. 4. I’ll tell Writer to insert the Table of Contents. I put my cursor on a blank line at the top of the document. Choose “Insert” > “Indexes and Tables” > “Indexes and Tables…” and in the “Insert Index/Table” window that comes up, In the Indexes/Table tab make sure the Type dropdown has highlighted “Table of Contents” and click the OK button. Screenshot here: Here is a screenshot of the result: For a sample of the result, see/download this document: ./uploads/DocumentWithTOC.doc *2014-12-05 edit: previously published at http://wieldlinux.com/?p=798 *2015-08-10 edit: edited to remove broken links, and edited whitespace to improve this post’s readability --- 07:57:22A Helper Plugin that Puts CrazyStat Include Tag in the WordPress Footer I previously wrote a ./2014-05-08-installed-crazystat-wordpress-39.html. This has worked. Now I’ve got some stats on who’s visiting my WordPress-powered website. I realized that soon I might want to change my WordPress theme. My include script for CrazyStat is hard-coded in my site’s child theme. So If I change to a new theme I’ll need to modify the new theme to make a child theme and put the include script in its footer. Thus I devised this mzz-include-crazystat helper plugin that puts the include script in the footer for me. The plugin’s README file has more details. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=779 --- 2014-09-29 07:29:21 Creating a Software Map to Learn Software and to Test Software This morning I progressed the Software Map for a software that I’m learning. I’m refining my Software map process. I use a spreadsheet and indent one cell for each significant screen change. For example the login screen has two text boxes and a button so it has three elements. I describe them. Clicking the login button moves to the Home page so I indent one column in my Software map spreadsheet and on the next row/cell I continue to describe the Home page. In this way I will describe the entire software application. The benefits to me are that I will use the entire software application so I’ll become skilled at using it. In other words, I’ll learn the app. Later, one use of the software map document will be manual software testing. Since I’ll have a written tree map of the software’s interface, any time I need to test the software I can just recurse/step through the map.(throught the spreadsheet) If I need to report my test results then at each step I can take a note and report the notes. I can apply this Software map process to mapping any software. The same benefits will apply in each case– the mapping process and the map will allow me to learn the software and to facilitate testing the software. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=685 --- 07:25:45Using CollabPress as a Daily Task Tracker and a Work Activity Log for Software Customer Support I use CollabPress as a daily task tracker and a work activity log for software customer support. Here’s my workflow. When I take on a new task– for example from a customer or a co-worker, I create a new task by going to the CollabPress "Tasks" page, scrolling to the bottom and clicking on the "+Add new task" link. This brings up the Add Task lightbox where I enter a Description and Due Date and click the Submit button. Depending on the urgency or priority of the issue I can set the Due Date today as opposed to tomorrow or further in the future. When it’s time to triage or work on my tasks, I use CollabPress’ Calendar view. This shows me all my tasks laid out, by Due Date, in a monthly calendar view. So I work on today’s tasks and when they’re finised I work on tomorrow’s tasks. On the calendar view, clicking on a task brings up its details. In this screen I can check the checkbox next to the task’s title which closes the task. I can type a note in the "Leave a comment" box and click Submit, which makes a timestamped note. I do this when I’ve significantly progressed the software customer support case. For reporting, if I want to see for the past week all the notes I made along with their time+date stamps and which task the note applied to, I haven’t figured out how within CollabPress. For now I made a SQL query on the MySQL database that gives me this: SELECT wp_comments.comment_date_gmt, wp_posts.post_title, wp_comments.comment_content FROM wp_comments JOIN wp_posts ON (wp_posts.ID = wp_comments.comment_post_ID) WHERE comment_type = collabpress ORDER BY wp_comments.comment_date_gmt DESC; As a Software Customer Support Engineer That’s how I use CollabPress as a daily task tracker and a work activity log. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=548 --- 2014-09-22 07:05:19 Map of my Track for the 2014 WWWP5K 5K Run on 2014-09-19 Here’s the map of my track for the 2014 WWWP5K. (5K run on 2014-09-19) ./uploads/2014-09-19WWWP5K1.gpx*2014-12-05 edit: previously published at http://wieldlinux.com/?p=544 --- 2014-09-12 06:39:03 Hack core. Just don’t hack core alone. I’ve read so many times to never hack core. Yet is that different from editing a software’s core code? To learn software development I need to edit a software’s core code. I have read other people who write that it’s necessary to hack core to learn. My conclusion is that one should hack core, just don’t hack core alone. How to do this? How about hack core to modify whatever edit is desired to make. Then submit the hack to the core dev. of that software as a software enhancement patch. If the core software developer isn’t reachable, then find another way to publish or share the hack with others. In other words, if one is sharing one’s hacks then its not hacking core, it’s editing software– it’s being a software developer. Hack core. Just don’t hack core alone. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=406 --- 2014-08-14 21:46:25 Using SugarCRM CE as a Daily Task Tracker and a Work Activity Log I’ve been looking for a software to track my daily Software Support Engineer tasks and to log my daily activity related to these tasks. I had been using Trello.com for daily task tracker (to-do list), and gitrdone php script to log my daily activity. I’m now trying SugarCRM CE (community edition) to track tasks and Notes. To hide unused menu items and de-clutter the top menu, I went into "Admin" > "Display Modules and Subpanels" and dragged-and-dropped all but the "Tasks" and "Notes" modules from "Displayed Modules" to "Hidden Modules". For tasks, to streamline the list view that I see when viewing the grid/list of all open tasks, I hid all but the "Close", "Date Created", "Priority" and "Subject" columns by going into "Admin" > "Studio" > "Tasks" > "Layouts" > "ListView" and dragging-and-dropping only these four choices into the "Default" column (leaving in the "Available" or "Hidden" columns the choices corresponding to the other task grid/list columns) Screenshot here of my tasks list interface: For notes, to streamline the list view I did pretty much the same thing and hid all but the "Date Created", "Related To" and "Subject" columns. Screenshot here of my notes list interface: So my work flow on this setup is like this: When I get a new task, such as from a Software Customer Support ticket system, from my software support engineer colleague or from my sales colleague or from somewhere, I enter it as a new task, which shows up in my list of tasks. I can sort my list of tasks by Date Created or by Priority or by Subject. When I solve the task I can mark it as Closed. This constitutes my to-do list, so all my tasks are in one place, and so I don’t forget any of them (even when my brain got full). Throughout the day when I finish a task or even part of a task, under that task I can click the "Create Note or Attachment" button to create a new note related to that task. This creates a log/record of what I’ve done throughout each day. At the end of the week I can report on this– I use this to either make a report of what I’ve done to give to my boss, or to review and re-write into a blog post to share with everybody what I accomplished that week! That’s how I’ve started using SugarCRM as a daily task tracker and a work activity log. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=167 --- 2014-07-01 20:26:30 Where it is Discussed the Difference Between the Role of Software Support Forum Moderator Support Person and Software Troubleshooting Support Person In this #wordpress-sfd IRC meetup, it is discussed the difference between the role of software support forum moderator support person and software troubleshooting support person: http://irclogs.wordpress.org/chanlog.php?channel=wordpress-sfd&day=2014-05-29&sort=asc#m114328 So in other words two distinctly different roles both expected of a software support agent, 1. Define and explain what is supported and what is not supported, and 2. Troubleshoot/support the things that are supported. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=147 --- 2014-06-28 07:09:23 In Trello How to Create Multiple Cards with Copy and Paste I love Trello for to-do lists. Shout out to Trello! https://trello.com Here’s a Trello question I ran into, and the answer. How do I force trello to prompt me every time to choose, so that I will always have the choice to have my list either be made into one card or multiple cards? I mean the prompt: "If you want, we can create a card for every new line. That would be x cards. You can also create one card with a long title." Into a trello card when I copy and paste text containing line breaks (new lines), it seems like it sometimes presents me with a prompt whether I want to create multiple cards vs. one card. Yet it seems like sometimes it doesn’t prompt me with this choice. For example a week or two ago I remember I pasted a text with some line breaks into a card and it prompted me one or multiple cards. That time I just wanted one, so I chose one. But going forward, at least once per day, I am going to need to paste a list of about a dozen items into Trello and need them to become multiple cards. So my question is, how can I force the prompt to come up every time? Googling for "trello how to create multiple cards with copy and paste", comes up with some articles from blog.trello.com and help.trello.com such as: http://blog.trello.com/using-trello-like-a-pro-part-2/ and http://help.trello.com/customer/portal/articles/1376934-importing-data-into-trello These said I could copy and paste lists. So following the advice I tried the following things: -I made a list in Textwrangler for Mac, separated by line breaks, and then copied and pasted it into trello. Without prompting me to choose, it went in as a single card. -In MS Word for Mac, I made my list into a bullet-point list, then copied and pasted the list into trello. Without prompting me to choose, it went in as a single card. -In MS Excel for Mac, I made my list into a column of cells, then ctrl+clicked on the column header and chose "copy", then pasted into trello. Without prompting me to choose, it went in as a single card. So what’s the trick? How do I force trello to prompt me every time to choose, so that I will always have the choice to have my list either be made into one card or multiple cards? The answer: Using it some more, I got it to prompt every time whether I want one or multiple cards. I found that after clicking "Add a card…" and then pasting the multi-line text, if I *then proceed to click the green "Add" button*, it’ll then prompt me whether I want one card or multiple cards. That solves this issue for me. Thanks for reading! *2014-12-05 edit: previously published at http://wieldlinux.com/?p=138 --- 2014-06-27 06:16:34 A Script to Create a Log – a Log that is a Text Field that Stores Notes I created log.php on github — a (LAMP) PHP script to create a log. The log is a text field for notes. The notes could represent things. For example I may use it to hold song lyrics. Or journal entries, or blog posts, or account ledger entries, or calendar entries or notes-of-the-day’s-accomplishments. The script displays an html text field form with one textarea in which by default appears the current date and time down to the current minute. Then below the textarea are printed the previous entries in descending alphabetical order.(and so if the date and time is input each time it will cause the entries to appear with most recent entries at the top.) Link to the log.php script on github: https://github.com/mjassen/log/blob/master/log.php *2014-12-05 edit: previously published at http://wieldlinux.com/?p=136 --- 20:21:29How to Symmetric Password Encrypt a File on Mac with GPGTools GPGServices and then Decrypt it on Windows with Gpg4win Kleopatra Applicable software versions: GPG Keychain Access Version 1.1.3 (601) for Mac Gpg4win Version 2.2.1 for Windows Kleopatra Version 2.2.0 for Windows Mac OSX Version 10.9.3 Windows 8.1 Pro N Prerequisites: – On the Mac, Install GPGTools for mac – On the Windows PC, install Gpg4win Downloads can be found on, or linked to from the GnuPG website: https://www.gnupg.org/ Steps to encrypt the file on Mac: – On the Mac, on the file wished to be encrypted, choose: (control+click) -> Services -> “OpenPGP:Encrypt File” – On the “Choose Recipients…” Window that comes up, enable the “Encrypt with password” checkbox, disable the “Add to recipients” checkbox and click OK. – The “Pinentry Mac” window appears. In the “Passphrase” field, create/enter (and remember or safely note) a passphrase. Re-enter it when prompted again. – This will create an encrypted copy of the file, next to the original. Then Send/transfer the encrypted file however you like to the Windows PC. Steps to decrypt the file on Windows PC: – On the Windows PC, launch Kleopatra and choose “File” -> “Decrypt/Verify Files…” – Browse to the wished-to-be-decrypted file and choose “Open”, and in the “Decrypt/Verify Files” window that appears, choose a destination folder and click the “Decrypt/Verify” button. – A “pinentry” window will come up, prompting to enter the passphrase that was used to encrypt the file. Enter the passphrase . – The contents of the wished-to-be-decrypted file will become decrypted into the destination folder. resources: “How to Decrypt Using GPG”: http://www.ehow.com/how_12086521_decrypt-using-gpg.html“GPG Encryption Guide – Part 4 (Symmetric Encryption)”: http://www.tutonics.com/2012/11/gpg-encryption-guide-part-4-symmetric.html “18 Signing and encrypting files”: http://www.gpg4win.org/doc/en/gpg4win-compendium_24.html Other resources: “How to encrypt and sign text or files with GPGServices?”: http://support.gpgtools.org/kb/faq-gpgservices/how-to-encrypt-and-sign-text-or-files-with-gpgservices “Decrypting a file using GPG4Win (Kleopatra)”: http://www.puryear-it.com/blog/2013/04/24/decrypting-a-file-using-gpg4win-kleopatra/ *2014-12-05 edit: previously published at http://wieldlinux.com/?p=128 --- 2014-06-06 06:41:50 Software Customer Support and a Software Feature Request First I watched this SupportOps.co episode #10, talks about “the customer is always right”: ( "Support Hangout Episode #10 – August 15, 2013 by Chase Clemons" http://supportops.co/support-hangout-episode-10 ) At ~13:00 starts talking about "the customer is always right", then ~15:50 starts talking about customer adamant about a feature request. Then I Bing-ed/searched and found this article where someone states their thoughts on feature requests, and then tens of commenters take over with their views. But there was great discussion of where a "requirements document" comes into play to define a feature request vs. a bug request, and also where cost and who is sponsoring the developers’ time comes into play.: http://www.codinghorror.com/blog/2008/11/thats-not-a-bug-its-a-feature-request.html *2014-12-05 edit: previously published at http://wieldlinux.com/?p=118 --- 2014-05-29 20:17:05 Having a Single Software Customer Support Document that Represents the Software to Everyone I’m trying to think of a way such that Software Customer Support can all be performed via a single, simple tool. My idea is to have a single document that represents the software to everyone. If someone wants to know how to use the software or be an expert on the software, they will be able to learn or become that by using the documentation alongside using the software. This in theory will allow the Software Customer Support Engineer to solve all problems by EITHER: pointing the customer to the proper section of the documentaion OR: writing/updating/editing the documentation to include the answer/solution/clarification and then pointing the customer there. To step back, I might as well say what triggered me to write this in the first place. I had the idea that the Software Documentation for a software should include specific descriptions of *what the software doesn’t do*. Why should the software documentation put into writing what the software *doesn’t* do? So that customers can see that its already been thought through before and actively decided a given feature is *not* a feature of the software. This would allow denials of feature requests to be performed in a totally objective way, with no need for much discussion (other than positive discussion of re-considering/revisition the possibility of enhancing the software in the proposed manner) I think this builds on the idea that in some ways in traditional software support the Support Engineer person is a "living documentation" who is supposed to know all about the software. So by putting all this in writing the software support engineer can be more objective and not emotionally involved, and thus do their job with little stress and with high efficiency. Moving on. What form will the document be? A (big) .pdf file? A website like a wiki or an online manpages? I will start by saying it should be in the form of an online man pages, that can be programmatically viewed either as multiple pages split into sections, or as a single .html page. so it is both a book and a website. it can be split infinitely into sections and subsections such as: 1, 1.1, 1.2, 2, 2.1, 2.2. 2.2.1, 2.2.2, 2.3, 2.4, 2.4.1, 22.214.171.124, 2.5, and so on. I’ll say that I got inspiration for this from the MySQL 5.0 reference. And I’ll stop there. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=114 --- 08:50:34Description of how I installed CrazyStat on WordPress 3.9 I uploaded the CrazyStat ‘stat’ directory into the root of my WordPress directory. (So now in my WordPress website directory I have the ‘stat’ folder alongside of the other folders (alongside ‘wp-admin’ folder, etc.) Now I needed to paste the CrazyStat code in the footer file of my WordPress theme (as per this blog post: http://blog.christosoft.de/2012/04/how-to-include-crazystat-in-wordpress/ ) *but* I don’t want my footer.php file to get overwritten when I update WordPress. So I want to put it in a child theme. So I get the help of this tutorial: http://codex.wordpress.org/Child_Themes So next to my Twenty Fourteen theme ( ‘/wp-content/themes/twentyfourteen’ ), I created a new child theme by making a new folder for the child theme, and I decide to call it twentyfourteenchildtheme. So like this: ‘/wp-content/themes/twentyfourteenchildtheme’. And in the twentyfourteenchildtheme I create only two files: footer.php and style.css. The contents of style.css is this which I got from that codex.wordpress.org link above: /* Theme Name: Twenty Fourteen Child Theme URI: http://example.com/twenty-fourteen-child/ Description: Twenty Fourteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfourteen Version: 1.0.0 Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: twenty-fourteen-child */ @import url("../twentyfourteen/style.css"); /* =Theme customization starts here ————————————————————– */ And the contents of footer.php is the footer.php copied from the twentyfourteen theme, but with the CrazyStat line (two lines actually, although the "<?php @include_once("stat/src/include.php"); ?>" is the only necessary one) added near the bottom: [See: ./uploads/2014-05-08_01.html ] And that’s it. (I didn’t have to change anything in the ‘stat’ directory or its subfolders) I did for security reasons want to change the CrazyStat directory away from the default of ‘stat’, however, I tried and something went wrong, so I ended up just using the default of CrazyStat directory name of ‘stat’. And now I can login to "http://(my web site .com)/stat" and see if, and how many, people are visiting my WordPress website! Finally, Thank you to WordPress and CrazyStat people. *2014-12-05 edit: previously published at http://wieldlinux.com/?p=103 --- 2014-05-06 08:39:39 A LAMP PHP Script that Takes an Email Address and Inputs it Into a MySQL Database This is the email gathering web database script I wrote that consists of a single input textbox on a web page that validates email addresses before proceeding to store them into a MySQL database. Link to script on github: https://github.com/mjassen/EmailGatherer *2014-12-05 edit: previously published at http://wieldlinux.com/?p=99 --- 2014-04-20 09:40:35 A Morning-to-Night Day in the Life of a Software Support Engineer (Night) – Communicating details of Customer Company A troubleshooting case with Colleague A, B for help. – End partner/reseller call With their coordinator and their team. – Worked to arrange Customer Company A case. – Worked on Customer Company B cases, three separate cases/issues. – Worked on Customer Company B, a case. – Working on Customer Company B, a case. – Triaged cases specifically to bring Customer Company B cases to the top. Current List: (14 individual tickets) – Troubleshooted Partner Software Product user issue with colleague B via email – Customer Company B, their coordinator –per colleague C. I responded as top priority – Triaged cases. responed internal email requests. – Internal call with colleague A – Triaged and closed a Colleague D. support request. – Re-assessed my inability to do the Customer Company C administrative task- reached out to team to keep them informed of this. – Closed a few tickets. created a few tickets. responded to Colleague E. – Responded to Customer Company B, one ticket. – Called with Colleague B to recap Company D next-steps (Morning) *2014-12-05 edit: previously published at http://wieldlinux.com/?p=96
Here’s my own experience and my own feeling on a topic that has also been covered on SupportOps.co hangout/podcast. I came to the same conlcusion that they did.
Recently at the top of my help desk’s saas web page appeared a message saying that they were investigating performance problems that are delaying their secondary service.
I noticed right away and felt that: 1. that this is transparent(the fact that i am informed of the problem while the problem is not-yet-resolved), 2. that it benefited me by comforting me that my saas provider was aware-of/working-on the issue, and 3. that the downside was that negative publicity that all of the saas provider’s users now knew there was a problem and it’s not fixed yet.
Then thinking about this again, and thinking in light of the recent SupportOps.co hangout/podcast that I had listened to, I realized there is no downside. Number 3. doesn’t apply. in the above example, I am not a customer of the secondary service, only of the primary service which is running fine. And so the message does not apply to me. So I just ignore it. As long as I’m not constantly flooded with such messages, I don’t care.
And on the other hand, if I were a customer of their secondary service, I’d actually appreciate the fact that the saas provider is keeping me informed. Therefore there isn’t any downside in the above Software Customer Support scenario — it’s excellent that the saas provider transparently provided this performance interruption status message to their customers.
*2014-12-05 edit: previously published at
--- A PHP Script to Output Chinese Characters as Individual .jpg Picture Files 2014-04-04 21:52:06 A PHP Script to Output Chinese Characters as Individual .jpg Picture Files Here’s a php script I hacked for windows sever (WAMP) to output the about 21,032 chinese characters, in black font on white bg, into a directory as 50px x 50px individual .jpg picture files. https://github.com/mjassen/zh2jpeg/blob/master/zh2jpeg.php *2014-12-05 edit: previously published at http://wieldlinux.com/?p=86 --- 2014-03-30 16:02:43 A Software Support Engineer must Mention their Concern Early to their Colleagues Recently I needed a colleague to grant me access to something at work. I was going to formally request permission for the specifics of the request. I’m a knowledge worker and my industry is the Information Technology industry, where we need to know as much information as possible in order to make the best decision. So I researched and thought it over all the details of my request, for about an hour, and wrote up my request and sent it to them. The response came quickly. It was a single sentence asking me to research more, find the best possible solution, and get back to them with a more refined request. Hold it! I already researched this a lot. What did I miss? Why do I have to research more? I would learn this a few days later. Here’s the rest of the story: A few days later, it was my housemate’s turn to take out the trash. I had noticed that yesterday morning the trash was full but hadn’t said anything. This morning I saw it was too full, and told them that it was. The response came immediately. It was a single sentence asking me if I had tried compacting the trash with my hand and then seeing if it was still too full or not. Hold it! I missed something again and it was the same feeling as with my Software Support Engineer colleague. What I had missed twice is that I needed to earlier tell the other person of my concern. In the former case, I should have researched just one bit, found a decent request, written it up and sent it. In the latter case, I should have mentioned the trash was full on the first day, not the second. What I found is that very often, in a Software Support Engineer environment, the other party will respond with questions and suggestions before taking action. And so as to not waste time, its best if I also take this iterative approach and involve the other person early and maximize the value of the other person’s suggestions. And actually, the end of the stories is that in the former case, we found a better solution such that I didn’t need access to the something at work and so I was not granted access. And in the latter case the trash really was full (not over-full — I pushed it down with my hand and it went down to the normal "full" level) and we split the work of tying up the trash bag and taking the trash out. Conclusion: Best results happen when A Software Support Engineer lets the other person know the concern early! *2014-12-05 edit: previously published at http://wieldlinux.com/?p=81 ---