Working from Home 101

by Xavier Comments: 0

Work from Home 101 – Costa Rica Edition
I live in Costa Rica, which may come in handy if you need any travel tips.

However, because of “life”, I’ve spent my entire career working for project in either USA or in the UK, hence I’ve done this remote-thing (or distributed, use your choice of words) for a while.

I began as an employee, but I eventually transitioned into entrepreneurship where I have a few things going on, including my Pluralsight courses, a tech support center, and supporting from time to time Cloudera.

But let’s cut to the chase. I am not going to bother you with details or anecdotes—I’ll do a few posts some other day on those.

Today, I am going to tell you what has worked for me over the years.

Hopefully, this will help you too.

First of all, work from home (WFH) is still work. The fact that you are at home does not mean that it is not serious business.

It is.

How others perceive you is going to be a reflection of your actions, including the quality of your work and how responsive you are.

So, one of the things that I suggest is to set a schedule. In my case, for many years, despite the fact that in many of my projects I did not have to “clock in”, I still had a predictable work schedule.

I also took advantage of starting early, as that allowed me to work for a few hours undisturbed, focused, before you start to get asked to attend meetings or “can you help me for just a sec on this?”.

Something important here is that you need to be flexible too. In this pandemic, with work from home, home schooling, and quarantine in general, I am modifying schedules a bit.

I am still working on a predictable schedule, where people can reach me, but I am also using the late night hours to work as they provide quieter times—invaluable when you are focusing on something hard.

Next tip, create a dedicated work area. I have to admit that even though I work remote/distributed, I’ve done a lot of my work in a really small room where I have all my recording equipment. This includes the dedicated recording machine, Whisperroom, and all kinds of equipment that I cannot fit at home.

Although, at the moment I haven’t been there in more than a month as I am trully-fully working from home now.

This means that I have a very small desk and I am using an iPad as second monitor.

This works quite well. Although if you think about it, working at an office means you are moving all the time too. How many times have you moved to a conference room for a meeting or some focused time?

Same here. The kitchen counter-top is pretty high, so I am using it as a standing desk. It is far from the cooking utensils, so it works quite well.

Talking about moving, here is another tip.

Don’t sit down for hours straight. Try to get up every now and then, move a bit around. Your health comes first, so if possible also throw in some exercise every now and then.

Yes, exercise is important. It helps you think better and I don’t think I need to convince you of this.

Here’s more. Stick to a ritual. Just as I mentioned that having a schedule works well, try to also have a ritual of how you approach your work.

The more that you make your daily work a habit, the more the subconscious will take over and you will move forward faster.

Here, it is important that you block all distractions. It is said that whenever you are working on something and you are deeply focused, if someone interrupts you, then it will take 15 minutes to get back to what you were doing.

What if you get interrupted every 10 minutes? Well, you get my point…

But on the other hand, you still have to be responsive.

If you are part of a team, let them know that you will be focused on your work, and that you will check for messages at a certain interval.

But don’t forget to be responsive and prioritize your work. I had a remote worker once not respond for like half an hour. When she finally showed up, she said “well I was reading a novel and the chapter was pretty interesting”.

For her, being responsive was her top priority as she was in charge of distributing work.

I turn off all Whatsapp, email, Slack, and other notifications. But I check them after I finish a certain amount of work.

Better yet, as we all know, getting those messages releases some endorphines so it makes you addicted to checking “what’s new”.

If you make a habit of completing something and then checking, then this will help you be more productive.

Additionally, on checking what’s new… try to reduce your consumption of those things that do not add value to your life.

Instead of binging on Netflix, get a new skill by binging on Pluralsight.

Did I mentioned they are free during April?
https://www.pluralsight.com/offer/2020/free-april-month

And remember that what you learn is yours for life!

I’ll leave it here today, but tomorrow I will come back with more on what can help you with this new WFH (for many) situation.

Sharing Screen for Remote Work 101 (Mother’s Edition)

by Xavier Comments: 0

Coronavirus explosion is in full force right now.

We are currently going through very tough times, unprecedented times for most of us—perhaps not comparable to a war, however still challenging and full of fear because of economic repercusions.

Quarantine and remote work is new for many. Today, my mother asked me a simple question—for me—yet a hard one for her.

How do I share screen with my workers?

Here is a really simple guide for her (and you) to follow, using Google Meet.

Prerequisite

You need to be logged in with an account that can start meetings. She sent me this. It means that she needs to log in.

Step #1 Open Google Meet

Navigate to https://meet.google.com/ and you will be greeted by a screen like this one:

Step #2 Start the Meeting

Click on Join or start a meeting

Step #3 Name the Meeting

Give the meeting a representative name. If it is an impromptu meeting, then the name is not that important. When you start using Meet often, use representative names so that you and your attendees remember what each meeting is for.
Click on Continue

Step #4 Start the meeting

Congratulations! You have a meeting now. But you need to join your meeting. Click on Join now. to get started.

By default you will join using computer audio. Your camera will most likely be on. Turn it off if you are in “quarantine-not-presentable-mode”.

The meeting information is displayed. You can share it with the other participants, or click on Add people.

You can also copy the link in the address bar and share it

https://meet.google.com/poy-gtra-fqn

Step #5 Sharing the Screen

In the bottom right corner, you can click on Present now to share your screen. Everyone in the meeting can share the screen, not only you.

You need to select which monitor to share. Select it and click Share.

Tips

  • You can mute, leave call (don’t touch the red one, you will leave the call), or turn off the camera.
  • You can use the Chat window, in the top right, to pass URLs back and forth.
  • You can automagically add Meet (Hangouts) when you are creating a meeting invite. Click on the Add conferencing below the Add location.

Step #6 Stop Presenting your Screen

When you are done presenting, click on Stop presenting. This is important as if you leave it open, the other person will keep looking at what you are doing.

Step #7 Leaving the Meeting

Click on the red telephone to leave the meeting

Enjoy!

Autographs – Who to Ask For One?

by Xavier Comments: 0

Many years ago, Pele (Edson Arantes do Nascimento) visited Costa Rica. I was a kid and someone recommended I should get an autograph. And so I did.

To be honest, it is the only autograph I’ve ever asked for. Here is the reason.

He may have been the greatest soccer (or futbol) player on Earth, but hearing about how K. Scott Allen (Ode To Code) passed away today got me thinking that people like Scott are the ones who people should ask for autographs.

Why? Because people like him are the ones uplifting others, helping them, teaching – great deal of it with Pluralsight. Nothing against Pele, he was great but the impact in the world that a teacher like Scott had can change the lives of those who he helped.

Anyway, this may be a not too popular opinion, especially for soccer fans, but I do believe in the power of teaching.

Upgrading a .NET Application with Solr and SolrNet

by Xavier Comments: 2

Today I took the task of updating a .NET application that I’ve had since sometime around 2013.

I created this application with a few people at the time of .NET 4.0 and Solr 4.10, with its corresponding SolrNet.

Today I moved it to Solr 8.4 and with .NET 4.7.

There are a few interesting changes that you need to take into account, which I may expand at some point. But just in case, if you are in the same scenario, here are some upgrade tips for you to consider:

#1 When you move from Solr 4.10 (and older versions) to 8.4, there are some changes to take into account

  • The default field is now _text_ and not text
  • Some types may have changed
  • Default now is managed-schema, not schema.xml
  • Some changes are required in solrconfig.xml

So, what I did is downloaded, installed and started a Solr 8.4.

Then I created a core

bin\solr.cmd create -c <name>

Next, I configured Solr so that I do not use schemaless mode. Use this link for more info: Switching from Managed Schema to Manually Edited schema.xml

Don’t forget that besides changing the ClassicIndexSchemaFactory, you also need to disable schema guessing, which allows unknown fields to be added to the schema during indexing.

Then I indexed some data. This didn’t change much.

Now, a fun one. I have a custom request handler, which wasn’t working. Oh dear, I forgot for a second that the qt parameter no longer works unless you explicitly configure Solr to work.

This is straightforward. Comment out your select request handler, and add the handleSelect attribute to true in the RequestDispatcher node. Like this:

<requestDispatcher handleSelect="false" >

Also, comment out the select requestHandler.

Restart Solr and happy searching!

Welcome to Big Data TV – Or The One That Started It All

by Xavier Comments: 0

Hello and welcome, I am Xavier Morera and I am very passionate about helping developers understand enterprise search and Big Data.

And today, I welcome you to the first post of the Big Data Inc Series (which will soon be joined with Big Data TV).

So, you might be wondering… what is the Big Data Inc Series?  Easy. It is a series of bite size posts that explain enterprise search and Big Data.

What is my objective? At a high level, each post will take between 5 to 7 minutes, and will provide an overview of one particular topic – and only one – to give you enough information to understand what is the purpose of a particular platform, language, project or anything else that touches enterprise search and Big Data

Why am I doing this? First of all, I am really passionate about search and Big Data… like a kid on Christmas day. I do have to agree that I have my preferred platforms, languages, and projects.  However, it does not hurt to have an idea of what each one is about.

Also, why are the posts so short? Well, I could go on and on for hours – believe me, or at least my friends who say that a 45 minute presentation for me is just like warming up – but the point is that I want to be very concise, straight to the point, and give you an overall idea. The Big Data Series is not meant to be tutorials. For trainings I have several courses at Pluralsight which include topics like Spark, Cloudera CDH, Solr, Hue, Hive, JSON, code profiling and more – as well as having done and helped on trainings for Cloudera, Microsoft/HP/Intel.

I will cover a topic, give you a general idea, and let you decide if this is a technology that could be useful in your toolbelt. In many cases, I will point you in the direction of where to go learn more or I will tell you a story or two of how these technologies are used in real life.

So please join me on this journey with the Big Data Series. In our next post, we will talk about how Big Data started, with Hadoop. Also don’t forget to subscribe to be notified of new released posts, videos, like and share. Also, you can follow the links below in the description.

And as we Costa Ricans say, pura vida!

 

Learning Apache Solr – Online Training – Instructor Led Training – Book

by Xavier Comments: 0

Search is one of the most misunderstood functionalities in IT. Everyone takes it for granted unless it is missing or badly implemented.

The other day I was asked how can I learn search, with Solr?

There are manyways, although I’ve done what I can to help others learn enterprise search. Here are three resources:

Pluralsight Online Solr Training

I created two trainings that teach you what you need to know to get started with Solr and create a search API with Solr and SolrNet (oriented towards Microsoft-centric technologies, i.e. C#).

Best part is that it is only $29 a month to get a subscription to Pluralsight and you can learn about many other topics that are relevant for your career.

Getting Started with Enterprise Search Using Apache Solr

Implementing Search in .NET Applications

Cloudera Search Instructor-led Training

If you prefer to take an instructor-led training, Cloudera has a great training, with amazing instructors to teach you Solr. If you were not aware, Cloudera Search is actually Solr but running on top of a Hadoop cluster. So hello Big Data!

Cloudera Search Training

SyncFusion Apache Solr and SolrNet Book

I published a book on Solr for SyncFusion. It is part of the Succinctly Series, so it is a condensed resource that helps you get started. And it is free.

Apache Solr Succinctly

 

Hope they help. Ping me on twitter @xmorera if you have any questions!

Deploying Cloudera on Microsoft Azure

by Xavier Comments: 0

Are you in interested in Deploying Cloudera on Azure? If so, I invite you to watch this course that I created at Cloudera for Microsoft that teaches you how to install and deploy Cloudera on Azure in multiple different ways. Best of all, it is a free course! Please follow this link to watch Deploying and Scaling Cloudera on Microsoft Azure

The modules covered are:

  • The Building Blocks of Microsoft Azure for Deploying Cloudera
  • Cloudera on Azure – Cloud Deployment Best Practices & Patterns
  • Deploying CDH on Microsoft Azure Using Cloudera Manager & Azure Marketplace
  • Automating Deployments in Microsoft Azure Using Cloudera Director
  • Cloudera Altus in Azure Cloud – Machine Learning and Analytics as Platform-as-a-Service
  • Final Words

A Few Resources to Get Started with Search and Big Data

by Xavier Comments: 0

The other day I saw a question on where to start to learn Big Data. Well, it dawned on me that I have created a few resources that might be useful and so I share them here. It feels good to have a few resources that can help people get started.

If you want to set up Hadoop clusters using Cloudera you could watch these online trainings:

Creating Your First Big Data Hadoop Cluster Using Cloudera CDH

Preparing a Production Hadoop Cluster with Cloudera: Databases

Deploying Hadoop with Cloudera CDH to AWS

Deploying and Scaling Cloudera Enterprise on Microsoft Azure (this one is FREE)

They get you started with a development cluster, then a production grade cluster, then a deployment in the AWS cloud and then on Azure, including a module on managed Big Data with Cloudera Altus

Once you have a cluster, you can watch this course to use HUE to work with Hive, Pig, Impala and more.

Take Control of Your Big Data with HUE in Cloudera CDH

If you want to learn about search engines, you can check these on Solr

Getting Started with Enterprise Search Using Apache Solr

Implementing Search in .NET Applications

And regarding Spark, which IMHO is one of the best platforms that you can learn now then you can take either of these courses, which help you get started with either Python or Scala

Developing Spark Applications with Python & Cloudera

Developing Spark Applications Using Scala & Cloudera

I hope this helps. IMHO, learning Big Data is one of the best moves that you can make at the moment.

Next Conference: Pluralsight LIVE 2018

by Xavier Comments: 0

And so it is time to get ready to my next conference, Pluralsight Live which will take place in August 28-30 in Salt Lake City. I will be presenting on how to deploy Cloudera clusters on Microsoft Azure. Hope to see you there!

Use discount code 3061 to register at  https://www.pluralsight.com/event-details/2018/live-2018/registration

 

The Power of Experience and Maturity in Programming (and Life)

by Xavier Comments: 0

It was a Friday night like any other. At least that is what I thought, until a small accident occurred that made me think hard about the power of experience in life and and my career as a computer programmer. So, what happened?

Over the course of the week, I had already clocked somewhere between 60 to 70 hours of work between my day job, keeping the wheels turning in my service application software, over-seeing my small support center, and working on my Pluralsight authoring.

My wife was probably twice as tired as I was, having cared for our two young kids, which is unimaginably more demanding than sitting or standing in front of a keyboard, several monitors, lots of emails, and abundant CPU power.

In any case, I was more than ready to spend some quality time with my wife, talking about the same things as we always do on Fridays. Being an entrepreneur—albeit a small one like me—means working a lot, so we barely see each other during the week.

I usually leave home at 5:40am to my day job, work all day, then do the one hour drive back at 5pm to show up for bedtime, see my family, and go straight back to my personal office located a few miles away, where I stay until some time between 10pm and midnight.

It all depends on when my body reminds me that I am not that young anymore, and that I should get some sleep.

That Friday night we could hear the girls laughing loudly in their room. When kids are two and four, they are beyond adorable and their laughter is what makes you tick and keep working crazy hours towards distant goals in spite of false starts and setbacks.

The Accident

Accident

And then it happened. A loud “crack” followed up by something that I cannot describe as crying. It was screaming, as I’ve never heard it before.

I ran to the room and found the two-year-old face down in her bed. The four-year-old was standing looking down, knowing that something bad had happened, but not really understanding what it could be.

We asked the older one what had happened, and she said that she stood on the two-year-old’s back and “pulled on the sled’s handles.”

The result? A dislocated elbow. And a rush to the hospital.

As you would expect, nothing—especially not my evening work routine—is going to come between seeing that my family has my full attention when they need it most.

The Children’s Hospital of Costa Rica

We arrived at the hospital sometime around 8:30pm with a little girl that couldn’t stop crying. She could not stretch her arm without screaming. We were told it was a “simple fix.” Any doctor could just perform a specific maneuver, and the elbow would be back in its place.

Call me a skeptic, but I believe that the proof is in the pudding.

After a short wait, the doctor greeted us and asked us to come in.

Judging a Book by its Cover

I am not that old and traditionally minded. I am in my mid to late thirties. However, I do think that you need to dress appropriately for the position you hold. I’m not saying you need to be overdressed, but believe you should never be underdressed.

Don’t get me wrong. I am a computer programmer and even though my current assignment requires that I dress business casual, usually I work in jeans and t-shirt or, in some cases, a button-up shirt with Skechers.

But here is a doctor, in his mid thirties, wearing an un-tucked Iron Maiden t-shirt, with something that looks like Air Jordan shoes and wrinkled jeans. I was single at some point in my life between living with my parents and getting married, so I fully understand the wrinkled clothes, but this is not what I was expecting from a professional, let alone one that is going to affect the wellbeing of my child.

On the other hand, he seemed to be extremely confident that he knew what he was doing, which kind of convinced me that we were in good hands.

Expectations

Expectations

And here is the problem. My little girl is in pain. I absolutely want the best doctor that money (or my insurance) can buy. I want my little girl to have zero pain. Nil, null, cero, zero, none— absolutely no pain. I want her laughter back. And I want it now.

I will not take any chances at all.

But I was told it was a “routine fix”. So he performs the maneuver. Pulls her arm, twists it slightly and tells me that I should go outside with her for five minutes and come back to confirm all went well.

And so I did. We came back a few minutes later, but nothing had changed. My girl was still in a lot of pain. So he sent us to X-ray to check for any cracks in her bones.

We took the X-rays and came back to the doctor. He couldn’t find anything, so he tried the maneuver again.

Another five minutes. Nothing improved. There were more X-rays and still nothing changed.

Desperation & Giving Up

At this point my girl was still crying and screaming, holding her little arm. I felt like I wanted to join her.

It is true what they say: you experience your kids’ pain. As nothing had worked, the doctor sent us to get a cast for my little girl.

So we went with the technician who was going to help us by putting a cast on my little girl’s arm. In hindsight, that would’ve been a catastrophic decision as the elbow was still dislocated and putting a cast on it would not have let it heal as it should, but this is not what happened.

The AngelDoctor

We are greeted into the room where everyone walks out with what’s commonly known as a “sign here” trophy—a cast. The person in charge is older. He is the technician in charge. He is not a doctor, but he has probably worked there many years and helped thousands of kids.

I believe he is around 60 years old, has gray hair, and is impeccably dressed. I get a great first impression which is the total opposite of what happened about an hour before with the Iron Maiden t-shirt doctor.

He asks me, “What’s wrong?” and I tell him.

He sighs and mumbles: “Oh, these young doctors.” Then he points to his hair and his next words marked me for life. He says: “Do you see these gray hairs? They are called experience. Your girl does not need a cast. She just needs someone with experience. I am not a doctor, but watch this.”

For a moment I start to feel a slight panic attack. I don’t want anyone hurting my girl, but she is already in quite a bit of pain. He takes my hand and puts my finger on my girl’s forearm. He says: “I will move her arm and you will hear a crack twice, but then five minutes later she will be jumping and laughing.”

Crack, Crack

It all happens exactly as he predicted. He stretches her arm, and folds it back. Two cracks, my girl shivers and then we go and sit outside. Five minutes later, my girl is jumping, laughing and for the first time in several hours, she is back to normal and more.

Had he not intervened, my girl’s elbow would not have healed, and she would’ve been in pain unnecessarily.

Why is This Relevant?

Because I feel that we live in an age where people are starting to forget the value of experience. Everybody wants it all and they want it now.

“Play now and pay later” seems to be the new credo instead of the “Pay now and play later” of my parents’ generation.

We live in an age where media makes many think that they can do things that they really don’t have the necessary experience for.

I am a firm believer that you need to pay your dues first and then reap the rewards. It is a process and it requires patience and hard work.

So let me tell you about several of the key lessons from that day that directly relate to your life as a computer programmer, which I believe are really important.

#1 Dressing Up: First of all, always dress for the occasion. The occasion does not necessarily mean suit and tie, but always dress as expected within your work environment. Overdressing might not be too much of an issue in some cases and might even be desirable if you have a specific agenda, but underdressing most definitively will. An Iron Maiden t-shirt with Air Jordans is not the kind of attire I expect from a person who cares for one of my most precious possessions. Similarly, I might not want to bet my hard earned money on someone who looks more like a person waiting for 420 than like a seasoned consultant who looks like he knows what he is doing.

#2 Rookie Smarts: You may be very confident in what you are doing. But keeping an open mind, being open to another’s opinion, and being ready to doubt yourself can be very powerful—this is what’s called rookie smarts or the wisdom of the eternal learner. You might think you are always right and maybe some people around you even tell you that you are always right, but they’re most likely wrong. We all make mistakes and being ready to accept that you are not always right puts you in a privileged position. One that—when leveraged correctly—can give you an edge over those that put their ego first.

#3 Being Humble: The doctor thought he knew how to “fix” my daughter’s elbow. And he probably did, but this is the human body. It is not like putting together Lego, where things only fit in one way. There are many variables to consider, and he should have stopped, thought twice, and looked for a second opinion. But never for a moment did he doubt himself. And, as we now know, he was wrong.

#4 Experience Matters: The fourth takeaway from this story is that experience matters and it makes a difference. In order to avoid making mistakes you usually need experience, but to get experience you will make many mistakes. By applying what he had learned through the years, my angel used his experience to save my daughter from a lot of pain and maybe even an operation.

The Aftermath

Experience

Looking at the big picture of that Friday night in retrospect, I learned that there are things in life that really matter and make a difference way beyond what I thought they did. I have never been a great dresser, even though I try to fit in as much as possible. I never thought that I would judge someone by how they dress. Yet I did, and my intuition based on that judgement ended up being correct.

Also, I realized that sometimes the person with the most experience is not the one with the biggest title. In theory, a doctor should know more than a technician, but not in this case. This definitely also applies in programming, where sometimes the architect does not really know how things work and where a developer with a smaller title could hold the key to fixing a critical system.

The final gem is the reminder that family should always come first. No professional success is important enough to put your family in second place.

 

Thanks to John Sonmez for the opportunity to write in his blog. If you want to supercharge your carreer, follow him!

This post originally appeared in https://simpleprogrammer.com/power-experience-maturity-programming-life/