Tips

Trade-offs

As developers we work with non-technical people and we can do a better job connecting with them. Non-technical people don’t care about the technical jargon certainly don’t want to hear about how the repository doesn’t fit into the polymorphic inheritance. What they do want to hear are trade-offs or implications.

For example: If someone non-technical asks “Can x feature be developed and deployed within the next month?” The answer is of course “it depends“. Most likely the person asking if the feature can be developed doesn’t necessarily understand the trade-offs of building the feature within 1 month instead of 6 weeks.

Don’t blindly say yes or no with technical jargon. Find a way to connect that brings value to everyone in the conversation. Adjusting what you say depending on who the receivers are. In our example above we want to explain that we can finish the feature within the month, but recommend not to and explain.

Our answers may be:

Finishing the feature within a month will increase technical debt, make it difficult to implement features in the future, and push the limit on capabilities. If any other requests came through during the month we most likely would not finish the feature in time. 1 month is best case scenario and is risky.

If we take 6 weeks instead of 4 we can test our code maintaining stability, keep our sanity, and maintain application flexibility.

In both answers above we explain the trade-offs in a non-technical manner. Arming the person with information necessary to make a proper decision. The most important part is to actually give the person enough information to make an informed decision instead of making it blind.

* Keep in mind recommendations are not always adopted and certainly don’t take offense if the recommendation isn’t adopted. If you provided them enough information to make an informed decision that’s most likely all that can be done.

Life Pro Tip, Tips

Mental Snapshots

Think back to a time where you accomplished something you had no idea how to do or when you accomplished something and surprised yourself. If this hasn’t happened yet be on the lookout when it does happen and you successfully solve the problem create a deep mental snapshot of the wonderful feeling. Keep this in your head and refer to this when things are tough. It will help remind you that you are capable and to give yourself time.

I use this technique often. My mental snapshot I often dig up is during one of my internships, I was tasked to update a Java app. My Java experience at that time was limited to only the exercises the professors had us write. The Java app was bigger than any other app I had ever worked with. At the start of the summer my reaction was “How will I be able to do all of this?”. As the summer came to a close I ended up completing my work plus some additional items. I now use this experience as one of my mental snapshots. I refer to this when asked to things I have no immediate path or answer to.

This can be a frightening, but it’s important to take a step back and think back to your mental snapshot. This will give you the confidence to keep going and to believe in yourself. If possible break the ask down into smaller more manageable pieces. These smaller pieces will help keep your sanity as you attempt to figure out an approach.

Embrace what you don’t know and view it as an opportunity to learn, not something to be afraid of.

Simple Techniques To Influence Your Future

The future is unpredictable, however many techniques can influence your future to put you where you want to be.

Knowledge Is Power

Educate yourself. Knowledge is power.

Network

Personal and professional networks are invaluable. Put yourself out there, talk with people.

Listen

Become a great listener. Listening well is a difficult skill to learn, but can yield amazing results. Listen a fraction longer than what feels comfortable and you will hear things you normally wouldn’t. People love to be heard.

Read

Read blogs, books or what ever sparks your interest.

Hard Work

Put in the hard work upfront and receive the benefits later.

Positive Attitude

Use a mistake to your advantage. A mistake can be a learning opportunity to better yourself. Check and adjust.

Proactive

Go out there and seize the opportunity. Don’t wait for an opportunity to find you.

 

“You miss 100% of the shots you don’t take” – Wayne Gretzky

Lastly be true to yourself. Live your life with honesty and integrity. People will feel the aura that surrounds you.

Consumer Power On Social Media

Believe it or not you have power in your fingers tips through social media.

If you’re a regular on social media then mentioning your favorite brands can be powerful whether the experience was good or poor. I’ve encountered a few poor experiences and each occasion I reached out via twitter. In most cases I received a response within a few hours and they have offered to resolve any issues.

It is a win-win situation. Any good manager will appreciate the good and bad. If the experience was not up to par hopefully the manager will provide an incentive to comeback.

Ultimately most companies don’t like bad PR. Generally large companies have social media teams that handle responding to customers. Information spreads very rapidly and it is crucial to resolve issues quickly before it escalates. Notably Comcast had disaster to clean up when one man posted his conversation with a customer service rep while trying to cancel his service.

Stop Yourself From Eating Late At Night

Make a point to brush your teeth prior to late night normal eating time.

If the urge to eat occurs train yourself to brush your teeth instead.

The idea is to deter yourself from eating because:

  1. Food will taste disgusting after brushing teeth.
  2. Brushing teeth second time at night requires extra effort.

 

Why You Should Register For Alumni Email After Graduating

Before graduating if your school allows Alum to signup for an email address they can keep do it! There are many valuable reasons to keep a .edu address, discounts and freebies. Most perks are only temporary. Everything from Apple discounts to free web hosting. The idea behind providing perks to students are getting the students acclimated with products. Assuming the products are good this will entice the student to continue using and maybe pay for the product. Generally if discounts are offered online the single requirement is a .edu address.

If discounts and freebies sound good here are a few:

Discounts

Freebies

This is a fraction of what exists for students. If you have your .edu address handy search online for student discounts before buying something. Even if the discount or freebie is small in most cases it is worth it. As mentioned above sometimes simply finding the student site will yield discounts as some places don’t require proof at all.

Note: It may be against the company’s policy if not currently enrolled in school.

Ubuntu apt-get Hangs At 0%

Ubuntu apt-get Hangs At 0%

apt-get-stuck-0-percent

I had an issue where I installed Ubuntu 14.04 in VirtualBox and apt-get kept hanging at 0%.

I noticed it was automatically attempting to use IPv6 because normally apt-get says connecting to us.archive.ubuntu.com the IPv4 address (eg 0% connecting to us.archive.ubuntu.com 111.111.111.111). This time the address looked like version 6.

To force apt-get to use IPv4 exclusively

  1. Create a file in /etc/apt/apt.conf.d/99force-ipv4
  2. Add this line to newly created file Acquire::ForceIPv4 true;
  3. Apt-get will now use IPv4 exclusively

 

This article on StackExchange helped me find the right answer!
Convince apt-get *not* to use IPv6

Ubuntu 14.04 Hangs After Login With Virtualbox VDI

I fell into the trap while installing Ubuntu in virtual box to only give Ubuntu 8gb for the hard drive because it was recommended. I quickly realized that this wasn’t big enough. While searching on the internet I found the commands for virtualbox to increase the VDI size. I ran the command and started Ubuntu. Everything appeared normal until after logging in. Ubuntu just sat and didn’t do anything. After realized that the resize likely caused this issue I searched online and found a great article  Growing a hard drive partition in a VirtualBox ubuntu guest. The article mentions resizing Ubuntu’s partition after resizing the VDI. I resized the partition and everything is working as expected!

Steps to resize VDI

  1. Run VBoxManage modifyhd <absolute path to file> –resize <size in MB>
  2. Boot the VM to either gparted cd or Ubuntu live CD
  3. Resize Ubuntu’s main partition (You might need to delete the swap partition and readd to move main parititon)
  4. Restart
  5. Enjoy 🙂

Laravel 4 Project On Shared Hosting

Laravel 4 is capable of running on a shared hosting environment. It’s a lot easier than you probably think.

  1. Login to your host and go to your home directory. This does not mean your public home directory, they are separate.
  2. Upload all the contents Laravel project EXCEPT the public folder to your home directory.
  3. Upload the contents of your Laravel public directory to your public directory on your host. The public directory is sometimes called public_html.
  4. Edit file paths.php located in the bootstrap folder so the public path matches the path to your public directory on your host.

After completing each of those steps you should now have a working Laravel 4 project on a shared hosting environment. This assumes the shared host has all the PHPmodules required to run Laravel as well. I was able to accomplish this on HostGator.

If you have any questions feel free to ask.

BSOD Windows 8.1 CRITICAL_STRUCTURE_CORRUPTION

Blue Screen Of Death (BSOD) an inevitable part of using a windows machine.

Today I received a BSOD with an error CRITICAL_STRUCTURE_CORRUPTION while working on my Android homework. The error wasn’t very descriptive and I wasn’t hopeful to find a resolution. I thought maybe this was random, but searched and fortunately Google lead me to  StackOverflow.

In the post it outlines the cause is possibly due to Intel Hardware Accelerated Execution Manager  (HAXM) software which is used to speed up Android emulators. The post also mentions to download the new updated Intel HAXM software through Intel and not necessarily Android SDK Manager. I had just updated through the Android SDK Manager prior to the blue screen with version 1.0.6. I thought the most recent version was just installed, but I was wrong. Intel’s site has 1.0.8 which apparently fixes the BSOD issue.

Here’s the link to Intel’s site for the most up to date version.
https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager