Nashville Web Design | Programming | IT | Atiba.com

Atiba Kids: Learning to Troubleshoot

Atiba Kids is our blog series written by the kids of Atiba techies about their techno-geek adventures.

Troubleshooting and Video Games By Max Rosen (Kid of Atibian JJ Rosen)

We all know that one kid who is really into video games, but also into the tech behind it. For a lot of people, that is me.

I love getting into the sort of complicated tech behind video games. When people don’t know how to fix something wrong with their game, I’m always ready to help.

For instance, a good friend of mine was having some trouble with getting a laggy (adults just say “slow”) game. He was running at around 15 FPS (Frames Per Second) and had been doing so for a good while. I had done my research beforehand, and found out it was because he was dedicating only 2GB of RAM to the game, where he should’ve been using 4-15GB. I helped him reconfigure the memory done and boom, his game runs far smoother.

However, we all have our limits of computer knowledge.

Last summer, I had acquired a Virtual Reality (VR) headset. VR is still kind of new to the gaming industry, so naturally, there are bugs. I plugged everything into my desktop, got the VR sensors running, and installed all of the software.. It ran for about 20 minutes. I got to play the game Beat Saber, a sort of guitar-hero but with swords and VR, for around 15 minutes; and Rec Room, a multi-player minigame hub, for about five.

And then suddently…my VR headset just crashed. It stopped working. My techie cousin and I were perplexed! We spent two hours troubleshooting.

First, we restarted the computer. Like any person who has watched any comedy involving computers we were saying, “Of course this will work, it always does”. It didn’t. Next step, we re-ran the installer. Didn’t work. We restarted again after running the installer just to be safe. Still nothing.

We had tried so many things, from unplugging things and plugging them back in, and timing it, to switching the video ports around, to even busting open the headset and unplugging and plugging cords. We tried everything… or so we thought.

Just like in any hobby, there are always people better than you in tech support. I got frustrated so I ate dinner and went to bed.

Next day I woke up and got on the support site for my particular VR headset. I reluctantly started a chat with a superior techie. We talked about all of the troubleshooting I had already done, then she started giving me new ideas. A few of them I face-palmed on, saying in my head “Oh I’m so dumb,” and “Why didn’t I think of that?”.

Being with other techies is like being in a music store, you pick up a guitar to try it out, and you play your best, then as soon as you are done someone picks up another guitar and starts shredding the heck out of that thing. In other words, you don’t want to look stupid.

Eventually, after spending about an hour chatting with the support agent, she said, “You could have one of two different problems, but they both lead to a common answer: your VR headset is faulty”. In a sense I was relieved. I was glad that the product was just broken instead of my computer being the problem. A day later I sent the headset back, and in a week, we got a new one.

A lesson was learned:

Never be afraid to call a support agent even if it makes you feel inferior. Just admit it, there is someone better than you and it’s okay to call them for help.

Overwhelmed by Software Development

Software Development – Where to Start?

One would not generally associate custom software development and healthcare but stay with me here …

Having previously spent 15 years in healthcare it’s been my observation that many people don’t know what to expect before (or after) they, or a loved one, experience a health event.  They may become overwhelmed, frustrated, and even apathetic when a health professional talks to them regarding a change.  Apprehension and/or decision paralysis seems to set in and they put off taking that next step even though it might really improve their quality of life.

It is easy to be in that same boat when it comes to understanding technology and moving forward with a custom software or website that could significantly improve your business.

It is a goal of the fantastic Half Geek Half Human folks at Atiba to help demystify technology and be customer-centric.  If you are thinking about custom software development or design, but are inundated by the information out there … hopefully this article can offer a new perspective.

An Illustration

Using a general healthcare example, let’s say a person is thinking about getting a knee replacement.  This process is not as simple as walking into the hospital and requesting the surgery, is it?  <Insert Laugh Here>

There is the progression of doctor visits beforehand – likely the general practitioner examines and recommends some exercises and maybe an anti-inflammatory medication.  Then, typically, comes a prescription for physical therapy or a stronger pain medication.  Eventually there is a referral for surgical intervention.  A couple orthopedist visits are likely next to determine candidacy for a knee replacement and what type of procedure needs to be performed, etc.  Consulting with insurance to see what will be covered and which providers are in network is also part of the process.

As the journey continues, the surgery is scheduled (hopefully there has been a case manager involved by this point).  A list of best practice recommendations is often provided for maximum results.  Some of these directions may include a list of exercises, medication instructions, pre-registration information, pre-op bathing instructions, etc.  Decisions such as transportation to and from the surgery, time off work, and aftercare plans for therapy must also be made.  The surgery hasn’t even happened yet and there has been so much “front-end” preparation already.

It’s the day of surgery and the “back-end” work begins…no one can really see what’s going on inside the knee except the surgeon & the team doing the operation.  The possible risks were explained and signed off on beforehand; such as the risk of undergoing anesthesia, risk of infection, risk of defective replacement appliances, etc.  Then the procedure begins and there may or may not be complications along the way.  For example, what may have been planned to take 2 hours, maybe takes 5 hours because of an unforeseen complication.

After the operation, the incision is inspected, ice packs applied, and precautions are put in place to minimize risk of infection.  Immediate and continuous physical therapy must ensue to get adequate range of motion back in the knee.  Perpetual monitoring and modifications to treatment are essential, including: adequate nutrition, constant quality assurance, medication adjustments, reapplying bandages, etc.  All these little tweaks can be time consuming and seem exhausting, yet, are vital to the overall success of the operation.

How again does this tie into software development?

Most custom software development requires a lot of planning and follow-up that many people may not incorporate into the initial cost or time expectations.  As with medical procedures, it’s easy to get overwhelmed with the process and frustrated with unexpected complications.  Good communication, like in healthcare, is essential on both sides of the equation.  Expectations need to be made clear, however, maintaining flexibility is also important.

Like a Case Manager in healthcare, a Project Manager can be helpful in navigating the unknown territory.  Project managers can aid in establishing the timeline, being a single point of contact, and keeping the project on target.  However, just like with the above-mentioned surgery, unforeseen complications or “bugs” can surface and delay even the best planned project.

The Process

Think back to the knee replacement example given above…custom software development/web design can loosely be broken down into two parts … front-end and back-end development.

Front-end work usually includes design content and coding skills that affect what the user sees and interacts with on a web application, it also includes developing what is known as UX/UI experience.  It is the work done that makes the interactable part of software development user friendly & efficient.  User interface know how is combined with languages like CSS, HTML, JavaScript, XML based languages, Java, Objective C and iQuery to name a few. Deciding a CMS (Content Management System) platform (examples: WordPress, Drupal, Joomla, Squarespace, or Magento to note a few) can be important if the data entered on the website needs to be pulled to a database.  Other programs like Photoshop and Adobe can also be utilized as well for front end work and design.

Back-end development involves making sure the web application can communicate with the server so that changes can be made in the desired database.  This involves making sure the code on the front end is supported and using additional programming languages (like PHP, Ruby, Python, ASP.net, C#, ColdFusion, Haskell, etc) on the back-end so information can be relayed to the servers and Database Management Systems.  Then when someone clicks on the website or is using the custom software program the information can be generated immediately when summoned for the user.

This construction takes time.

Continuous quality assurance and testing must be performed, either by the customer or the provider, but it must happen.  And just as the incision needs constant monitoring & cleaning so no infection sets in… the code will need frequent testing as “bugs” pop up and patching needs to occur for the program to be continually functional.  It will be an ongoing process that needs to occur over the lifespan of the code… (Which is why apps, programs and operating systems need ongoing updates).

Software Development … The Take Away

Yes, there are a lot of moving parts to technology, just as in healthcare.  As patients must trust doctors, hospitals, and healthcare teams, be assured that a project manager/software development team use the best tools to create websites and custom software based on individual situations.

It can seem overwhelming, but just remember how to eat an elephant – one bite at a time.

Fortunately, the great folks here at Atiba can help get you started on the journey and walk you through every step of the way when it comes to custom software development and web applications!

Don’t put off improving and growing your business any longer!  Give us a call (615) 353-1921 or send an email to info@atiba.com

 

 

 

What is technical debt?

“Rather go to bed without dinner than to rise in debt.” — Benjamin Franklin 

The thought of debt can be a scary one that conjures up images of credit cards, mortgages, car payments, and sleepless nights.  To most of us, it’s simple to define:  an amount of money you owe someone else. 

But, the concept of debt is not always related to dollars and cents.   

This was weighing heavily on my mind last week as I was looking at my end-of-year-calendar. 

In the IT field, the term “technical debt” is often used to describe the habit of taking technical shortcuts that, over time, accumulate and cause more work down the road.  Because it’s hard to quantify and often hidden from management until it’s out of control, the buildup of technical debt on a project is sometimes even more dangerous to a company than money owed on a balance sheet. 

Delaying IT infrastructure upgrades to save money, not testing software thoroughly because of a tight deadline, blowing off doing a disaster recovery plan—these are common examples of shortcuts that build up technical debts that will always come back to bite you if not paid off at some point. 

There are other types of debt as well.    

Some of us (me) eat too much and build up an “exercise debt” that we must pay off at some point if we want to maintain a healthy weight.   Some work too much, building up a “sleep debt.” Others play too much and amass a “work debt.”    

These non-financial “soft” debts are more difficult to measure than what we traditionally think of as debt, but they have real costs nonetheless.  And just like money debt, if you’re not careful, you can spend all your time and resources paying the interest instead of paying down the principal. 

Proactively managing different types of debt is an often overlooked but critical skill that determines the long-term viability of every business.  Soft debts should be tracked and managed in much the same way that financial debts are. 

In tech, we call it a “backlog.”  It’s simply a list of any tech-related shortcuts, band-aids or items we skimp on because of deadline or budget constraints, along with estimates of how much work (debt) it will take us to fix them down the road.  Some technical debts are intentional – a conscious choice to save time or money. Others are accidental, discovered in the form of bugs.   

As the backlog list grows, the key is to treat each item as a debt owed, the same way you would as if you were making payments on a bank loan.   This involves planning your “savings” (in the form of time) so that you can eventually make your “payments” (in the form of future work).    We basically mark off time on our calendars for every project to pay off our backlog debts. 

Earlier this year we began to explore this simple backlog approach to managing other areas of debt in our company.   As expected, just like tech, the constraints of time and budget created a backlog in everything from HR to marketing.  Things like updating our employee handbook and standardizing our email signatures made it to our backlog.  And just like tech debt, we have marked our calendars for our end of year payments to clear out the backlogs. 

Thinking of debt as something that is beyond a purely a financial metric has changed the way we operate.  It’s forced us to justify any shortcuts we take company-wide, because we are now tracking them as real costs rather than forgotten to-do lists that will inevitably come back to haunt us. Sleep well. 

JJ Rosen is the founder of Atiba.  A Nashville IT consulting and custom software development firm.  Visit www.atiba.com or www.atibanetworkservices.com for more info. 

 

 

Shadowing Day

Sometimes the best thing about loving your job is being able to share it with other people. Atiba believes in investing in the future, and a few weeks ago, Atiba employees hosted a group of young software developers in our Nashville office for “Shadow Day.”

Here’s the feedback we got…

My Shadow Day at Atiba:

I came to Nashville last Tuesday to do a shadow day  at Atiba. I am a recent graduate from the school Bowling Green State University in Ohio and am looking to become a full time web developer. On Wednesday I got to see what the Tech scene in Nashville is like in person and it is very cool.

The office at Atiba has a very unique aesthetic as it is located in an old car factory that now is host to many different businesses. At the top of the office is were all of the coders at Atiba work and it reminded me of a scene from AMC’s show Halt and Catch Fire. For the majority of the day I got to talk to and learn from lots of different coders while they worked on their projects. One big thing that helped me is seeing what languages and programs are used in the industry so I could see what I still need to learn. Later on I got to go out to lunch with all of the programmers at Osake for some of the best sushi I have had. After we got back I got a chance to watch some C programming and understand the workflow of the programmers at Atiba

After having the chance to see a real tech company in action, it has made me want to dive into the programming world even more than before. I am very excited to see what things will come next in the tech world and for myself.


Shadowing is one of the most valuable job experiences someone new on the job market can have.  Interested in shadowing at Atiba?   Email us at jobs@atiba.com !

A Day in the Life of a Nashville Angular Developer

A Day in the Life of an Atiba Nashville Angular Developer

Sharing what we do Atiba so both clients and potential employees can see the behind the scenes of what’s it like being a coder in Nashville is part of our culture.  AngularJS / Angular coding along with ReactJS has been some of the main coding we have been working on for our clients the past few years.

Here’s a peak at a day the life of an Atiba Nashville Angular developer:

  • We did our stand-up meetings with clients and/or internal development teams first thing every morning at 8 am each day.
  • From there, I usually connect into Jira to look at the user stories I will be working on for the day
  • I started in Angular but now I have been focusing in Angular 2.x development.   I have 2 main projects I am working on.  One is working on the front-end of an intranet site and the other is for a large public website we developed and support called Guitars.com.
  • Lunch! We usually pickup lunch (we have a Microsoft Teams Channel we use to coordinate lunch plans.  Sometimes we all go out / depends on the day.
  • After lunch I either keep the Angular coding going — or depending on deadlines I will use some of my learning time that Atiba builds into the week to study new tech (currently working on learning PHP Laravel)
  • Wind down ~5 pm or so, some days stay later others done a bit sooner.

I have been working at Atiba for 7 years.  I started as a C# coder and still work on some .Net but have enjoyed mixing it up a bit!

Atiba has some of Nashville’s best front-end developers with a crew of JavaScript gurus doing Angular, React, JQuery and more.   Let us know if we can can ever help you with you project!

 

 

Kids and Technology – It’s not all bad…

The combination of tech and kid gets a bad rap.  Is tech bad for kids?  Not always…

JJ Rosen from Atiba — our bi-weekly Tennessean.com column on biz-tech topics for Nashville and beyond.

https://www.tennessean.com/story/money/tech/2018/09/28/technology-and-kids-really-such-bad-thing/1447161002/

 

Drupal Basics from Nashville’s Drupal Developers

A quick Drupal overview from Nashville’s Drupal Developers…

Drupal is free software, written in PHP, which has a wide and active community of users and developers who collaborate together in its improvement and expansion. Drupal is designed to be the perfect content management solution for non-technical users who need both simplicity and flexibility. This is achieved with a modular approach to site construction.  Unlike other CMSs, Drupal is not a prefabricated toy truck, but rather a collection of wheels, windshields, axles, frames, etc., that a toy manufacturer can easily assemble.

Drupal can be described both as a content management system and as a content management environment: a unified system that strives to have the advantages of both, without its shortcomings. In this way, if someone is looking to create a news site, an online store, social networks, blog, wiki, or something totally different, it is all about finding the right combination of modules.

This extension is possible because it is a modular system with a very consistent architecture, which allows modules created by any developer to interact with the core of the system and modules created by other members of the community. With Drupal, it is possible to implement a wide variety of websites: a personal or professional blog, a corporate portal, a virtual store, a social network or virtual community, etc … Directed to those people, with technical training or not, who want to start in the creation of Web Portals with Drupal. It is also very useful for companies or professionals who want to create their professional or personal web portal without external dependencies.

Drupal is an open source program, with GNU / GPL license, written in PHP, developed and maintained by an active community of users. It stands out for the quality of its code and the pages generated the respect of web standards, and a special emphasis on the usability and consistency of the entire system. Online help: A robust online help system and help pages for the ‘core’ modules, both for users and administrators.

Open source: The Drupal source code is freely available under the terms of the GNU / GPL license. Unlike other systems of ‘blogs’ or proprietary content management, it is possible to extend or adapt Drupal according to the needs.

Modules: The Drupal community has contributed many modules that provide features such as ‘category page’, private messages, bookmarks, etc.

Personalization: A robust personalization environment is implemented in the core of Drupal. Both the content and the presentation can be individualized according to the preferences defined by the user.

Friendly URLs: Drupal uses the mod_rewrite of Apache to create URLs that are manageable by users and search engines

GDPR: What Your Organization Needs to Know

man with computer

The European Union Parliament is set to enforce the most significant piece of European data protection legislation in 20 years. The General Data Protection Act (GDPR) goes into effect on May 25 of this year and could impact any organization that has or plans to have website/app visitors from the EU.

The GDPR replaces the Data Protective Directive of 1995 with the intention to harmonize data privacy laws across Europe. It is a comprehensive data law written to protect all EU citizens data privacy, and it applies to any organization that processes personal data of those residing in the EU, such as tracking their online activities. It does not matter if an entity does not have a physical location in the EU or is not based in the EU, if that entity is currently servicing people in the EU, or plans to, it must comply with GDPR.

Personal data applies to any information that can be used to directly or indirectly identify the person or subject.

Key Changes

The biggest changes that the GDPR incites are an increase in territorial scope and a change in consent laws

  • Territorial Scope: The GDPR encompasses a large amount of people as it does not matter where the company is located that is processing information as long as users reside in the EU.
  • Consent: The GDPR will strengthen the conditions for consent. Under the GDPR, conditions for consent must for given in an intelligible and easily accessible form. People need to know what they are giving consent for without having to decipher legalese. Explicit consent will be required for processing sensitive personal data, but for non-sensitive data unambiguous consent is permissible.
  • Data Protection Officer: A DPO is only required for public authorities, organizations that engage in large scale systematic monitoring, or organizations that engage in large scale processing of sensitive personal data.

Additional Rights

The GDPR also grants additional rights to data subjects, which includes:

  • The right to be informed. Data collectors must be transparent about how they are using personal data and must inform subjects of their data usage.
  • The right of access. This right improves data transparency and empowers the data subject to be informed whether a company is using their personal data, and how and why it is being processed.
  • The right of rectification. When possible and reasonable, data subjects will be allowed to have their personal data edited if they believe it to be incomplete or inaccurate.
  • The right to erasure. Data subjects have the right to have their personal data permanently deleted upon request. Reasons for deleting data include, but are not limited to, a withdrawal of consent or a lack of relevance of the data to the original request.
  • The right to data portability. Data subjects have the right to the data they have previously submitted concerning themselves, and the ability to resubmit that data to another controller.
  • The right to object. Data subjects are allowed to object to their personal data being used.

Steps to Prepare

To prepare for the implementation of GDPR come May 25, 2018, organizations should take the following steps:

  1. Determine where data currently comes from and resides. Figure out what is done with that data.
  2. Determine what data the organization needs to keep and what data no longer suits its needs.
  3. Put security measures in place to guard against data breaches.
  4. Review all privacy statements and disclosures to ensure they are in compliance with GDPR.
  5. Establish procedures for handling the new rights available to data subjects under GDPR.

Not complying with the GDPR will result in fines of up to 4 percent annual global turnover or $25 million, depending on which is higher.

Matter Center: The Productivity Tool Your Legal Team Needs

legislative building

Microsoft partnered with CELA (Microsoft Corporate, External, & Legal Affairs) back in 2015 to bring productivity tools to law firms and departments with security and seamless integration being some of its goals.

Dedicated to helping consumers work smarter and not harder, Microsoft Matter Center combines the best offerings from Office 365 and Microsoft Azure (a secure cloud network) for a legal department’s needs.

Matter Center integrates directly with Outlook meaning that users can get the same functionality of shared calendars and email communication with additional security encryption for the most sensitive of cases.

Matter Center also incorporates key functionality specific to law firms/departments. For instance, Creation of Matters lets users create cases in Office 365 and add notes such as the case description and case conflict verification. These notes can be uploaded and managed from Office 365 through Matter Center. Matter Center also streamlines the process of tracking information for cases. It provides a centralized information tracking mechanism for people to work on cases individually or as a group. Users can share notes and discuss the case at length over the document.

Matter Center is the easiest tool to incorporate into daily practice. It serves as a central location to upload documents and allows employees to work remotely with ease by providing access to all the case information online.

Atiba is a leading Microsoft Partner able to provide expert level consulting services on many Microsoft products, including Matter Center. Reach us at 615.353.1921 or info@atiba.com for assistance in switching your legal department to Matter Center today.

 

 

 

Atiba Is A Google Fiber Tech Partner

Google Fiber Tech Partner logo

There has been a lot of buzz around Nashville over the last few years about the arrival of Google Fiber. There are T-Shirts, Twitter posts about fiber being installed in neighborhoods, and a general excitement about the potential what this high-speed network option has to offer.

Some small businesses can get overwhelmed at the thought of setting up a new network for the office, especially if they have been using the same provider for years or decades. Questions about data security and cloud computing hang in the air, and many businesses don’t know where to look for help.

That’s where the Google Fiber Tech Partner program comes in. Google has authorized small to medium sized businesses with IT capabilities to officially help businesses to make the most of their new Google Fiber connection. Google Fiber Tech Partners can help with:

  • VoIP
  • Virtualization
  • Email hosting and spam protection
  • Cloud computing
  • Enterprise IT architecture
  • Virtual data centers
  • Disaster recovery
  • Help desk services
  • General hardware consulting

Atiba is a proud Google Fiber Tech Partner. In fact, we were the first company in the greater Nashville area to be named to the program. If you need help or guidance setting up your Google Fiber network, call us at 615.353.1921, drop us a line at info@atiba.com, or fill out the Nashville Google Fiber Partner form online and we’ll let you know how we can help.