Improving Code: Designing and Publishing NPM Packages for Better Code Reusability

Have you heard of “clipboard inheritance” driven development? Yup, copy the code from one project, paste it into another. And yup… ouch!

My friend and co-worker Joseph Hart will share with us how to design and publish NPM packages to address this terrible thing! Come join us at the December’s Improving Code meetup, on Dec 4, at 6:30pm!

Designing and Publishing NPM Packages for Better Code Reusability

With over 1 million indexed packages and over 10 billion downloads a week, NPM is the most popular package manager in the world. But how many of our organizations make good use of private packages? In this Improving Code session, we’ll learn how to publish and maintain private NPM packages, look at ways to think more generically and see how we can refactor our JavaScript to extract more reusable modules out of our projects.

Leave a comment

Using Evernote Tabs and Tags

I have posted many times about my extensive usage of Evernote: I’ve just broken the 25k-note mark! I organize my notes by using a good mix of notebooks and tags. But going beyond that, I also organize certain notes based on when I need. For example, there are times when I need notes…

  • Today
  • This Week
  • This Month
  • This Year

When I’m doing my period review (daily, weekly, monthly, yearly), I tag notes as per my temporal needs as listed above (i.e., “today”, “week”, “month”, “year”). I then use Evernote’s feature to have multiple tabs open:

On the Mac version of Evernote, I do the following:

  1. Open a new tab (Command+T)
  2. Filter on the given tag (Command+J to search for the tag)

For example, when I do my weekly review and planning for the upcoming week, I create one note for each meeting I have coming up, and then I tag those notes with “week”. That way, it’s easy for me to find those notes and drop in comments or any other information I’ll be needing in those meetings.

Another tip: depending on how I’m working on my notes at a given point in time, I also leverage the option to open a “new window” in Evernote. That way, I have one window with tabs for the different periods I’m organizing, and another window for anything else (sometimes with tabs for different projects, people, places, etc.).

Leave a comment

Speaking at the Houston Software QA User Group

I’m giving my current favorite talk at the Houston Software QA User Group next Tuesday, Nov 5, at 6pm.

The cool thing about this talk is that it appeals to people in many different roles: developers, QA, business analysts, and product owners. I’ve given this talk at conferences, user groups, and “lunch and learns” at several companies. I’m excited to be delivering it again!

Testing in Agile: from Afterthought to an Integral Part

Testing cannot be an afterthought; it has to be an integral part of software development. Is it something that QA teams do? Or is it part of a developer’s duties? Do business analysts play any role in it? What is test automation? Unit test, Integration test, Test-Driven Development, Behavior-Driven Development… what do those mean?!

This session addresses all of those questions, as we talk through the importance of tests, the collaboration among team members, the techniques, and practices around different kinds of automated testing.

Leave a comment

A New User Group for Those Who Like Improving Code

I’ve realized that, over several years, I’ve developed a passion for changing code until it becomes readable. Yes, I’m a Clean Code addict! 🙂

Whatever the programming language, library, framework, etc, I always look for ways to make the code more readable. It didn’t use to be like that; I used to look for obscure language features I could use in my code. What for? Clever code isn’t that great if most other developers can’t understand it quickly to be confident in changing it when needed.

With those thoughts in mind, I’ve decided to create a new user group for those who, like me, enjoy Improving Code.

I hope to see you at one of our meetings!

2 Comments

Speaking at Houston Tech Fest 2019

I’ll be speaking at Houston Tech Fest 2019 this Saturday, Sep 14. I always have a time giving talks out there, hanging out with folks I’ve known for a long time, and meeting new people.

Here are the two talks I’ll be giving this year…

How to Break into Public Speaking

Do have an opinion? Ever considered public speaking? If that thought spooks you, join me and Daniel Scheufler at this year’s Houston TechFest. We’ll share with you our secret sauce for breaking into public speaking!

Testing in Agile: from Afterthought to an Integral Part

Testing cannot be an afterthought; it has to be an integral part of software development. Is it something that QA teams do? Or is it part of a developer’s duties? Do business analysts play any role in it? What is test automation? Unit test, Integration test, Test-Driven Development, Behavior-Driven Development… what do those mean?! This session addresses all of those questions, as we talk through the importance of tests, the collaboration among team members, the techniques, and practices around different kinds of automated testing.

I hope to see you there!

Leave a comment

One Full Year of Daily Meditation!

I’ve finally done it: a streak of 365 days of meditation!

Let me tell you why this is a big deal to me…

It’s NOT about the achievements!!

Over the last 4 years or so, I’ve blogged about (or mentioned) meditation. I’ve been consistently meditating daily for the last 365 days. However, it wasn’t always like this.

The app I use for guided meditation, Headspace, like many others, award you with badges based on your streak of days meditating: 1 day, 3 days, 10 days, 15 days, 30 days, etc. Getting up to 30 days was relatively easy for me: come on, 10 minutes a day shouldn’t be that hard! However, the next badge after that is for 90 days.

In order to hit that next mark, at some point I started cheating: there were days where I was too busy with everything else, so I’d start the guided meditation on the app, and proceed with doing whatever else I was doing. Yeah, just so I could earn my super badge. Really?!

Fortunately, my blog tagline’s got to me: “Why do we do this again…?”. Oh, the shame.

With that realization, I got back on track, now decided that I’d never cheat like that again; if I had to miss a day because I couldn’t honestly afford 10 minutes to meditate, I’d simply start over from day 1.

Guess what? I did find time to meditate!

I remember reading or hearing somewhere: “If you don’t have time to meditate 10 minutes, you should meditate 20 minutes”. There’s a lot of truth in that. Over time I started meditating 15 minutes, and then got to 20 minutes (I have pulled back to 15 minutes a few months ago after adding a couple minutes to the evening, too, but I’ll likely go up in my morning session again soon).

But the streak was broken again… and again…

I got my for the 90-day streak. And then for 180 days. But then, one weekend in mid 2017, I camped at a racing track and thought: “yikes, how am I going to meditate here?”. And I skipped two days of meditation. I then convinced myself there’s absolutely no reason to meditate wherever I am, and ever since, I have meditated inside of my camping tent, inside of my car, at hotels, at work… I don’t care.

After that, how would I get to the next (and last) badge, for 365 days? Well, that one couldn’t be easy.

At one moment, I passed 200+ days, but then I had one bad day when the sun didn’t want to smile at me and the streak was broken. I started over.

Then, I passed 300+ days. And then again, a mix of a bad day and a timezone change for a trip to Europe have caused that streak to be broken again. Man, so close…

…and finally, 365!!

I’ve really earned this badge:

If there’s a day that’s, let’s say, complicated, I will NOT skip meditation. I may have a short session (the minimum I did was 3 minutes), but I’ll still sit down, put myself together, meditate, and then carry on.

Now I just have to keep doing what I’m doing, collecting the benefits of living a mindful life, and eventually, I’ll get to 2 thousand meditation sessions completed. 🙂

Leave a comment

Inspiring Others

My “Testing in Agile: From an Afterthought to an Integral Part” is becoming a hit: I’ve been receiving great feedback and compliments from attendees and many requests to deliver it as a Lunch and Learn at their companies (drop me a note if you’re in the Houston or surrounding area, and I’ll come to your company, too!). I’m so pleased with the response I’ve been getting that I really feel like working on polishing the presentation further (better title, better description, etc.).

One of the points I bring up on this presentation is my “No GWT, no code!” movement. 🙂
As it turns out, people are responding well to that! At some conferences and user groups, when I mention the movement (which initially just came out as a funny remark), I hear attendees saying out loud “YES!!!”. But now, the coolest thing happened… check this out:

I just got to the Improving Houston office and had an envelope that came in the mail for me. What is it?

Yes, “No GWT, no code.” stickers!!

An attendee to my talk at one of the conferences felt inspired, got these made, and mailed it to me. How awesome is that?!

The realization that you’re inspiring others with your work and attitude brings so much joy, while it also keeps the flame burning, providing energy to keep pushing forward. You should try it, too!

Leave a comment