Blog

One for the Interns: So you broke your pi…

Liticode provides internships for promising students interested in technology and business. One of the projects we assign involves a Raspberry Pi. Inevitably, things go wrong. Here’s a list of situations and options for the students, for when things go wrong.

You Messed with /etc/fstab

If you’ve recently changed the /etc/fstab file and now you’re getting an error on boot that says “You are in emergency mode.” and it won’t let you log in and just keeps rebooting, you have found a common problem due to your editing /etc/fstab. The pi doesn’t like something you did in the file and we have to undo it to allow it to boot. You’re going to need a computer you can use to edit files on the boot disk of the pi. Follow these instructions and it should be bootable once again:

  1. Power it down and remove the boot disk and connect it into a different computer for editing.
  2. Wherever it mounts the disk on that computer, open the /boot partition and edit the file cmdline.txt using vi or notepad.
  3. At the end of the line (its one line of commands) add a space and then the command: init=/bin/sh
  4. Save the file and exit. Eject the disk and put it back in the pi and power it on.
  5. You should arrive at a command line now, if not, go back over the steps and ensure you didn’t add any odd characters to the cmdline.txt file.
  6. In order to edit fstab, we have to mount the disk. If you are using our standard build, this command should do the trick:
    # mount -o remount,rw /dev/sda1 /
  7. Now that we have the root file system mounted, you need to edit the fstab file:
    # vi /etc/fstab
  8. If you’re not comfortable with vi, this is an excellent opportunity to learn!
  9. Find the line(s) you added to fstab and comment them out with a hash character, just like the other comments in the file. You can fix them now if you know what’s wrong, or for now just comment them out.
  10. Save the file, shut down the pi, pull the disk out, and put it back in your other computer to remove the command from cmdline.txt.
  11. Delete the command we added at the end of the line back in step 3, and nothing more.
  12. Save the file again, eject the disk, put it back in the pi, and it should boot to the gui now.

An excellent capabilities example for your resume would be to create an automatic shellscript process that detects these errors at startup and automatically deals with them.

Competitive Advantage and Organizational Blinders

One of the most common flaws in organizational efficiency failures is the reliance on root cause low level determination to excuse failures. All failures are management failures. No error should propagate beyond the first level of management control, or the management is the problem. All penalties for failures need to be addressed primarily at the management level or failures will accumulate. Line employees and systems are not the root cause of failure, the management thereof is. An organization that permits management to persist through multiple failures is undermining its own potential. Failure to observe this fundamental truth of systems management means the real cause of systems failures persists and the efficiency of the organization suffers. This does not mean terminating the problem level of management, it means rehabilitating them or increasing their capacity. And, importantly, the failure of the level above to perceive the weakness ahead of time is itself and additional level of the failure in management. This responsibility rolls all the way up to the board in some cases. If your organization is blaming line personnel or vendors for failures, you may want to consider some external management consulting to examine the situation in detail using an independent set of eyes. Or the competition will eventually eat your business.

Complacency Has No Place in Business

As Mercedes has so aptly demonstrated of late, complacency has no place in business and as any business major can recite, is anathema to competitive advantage.

Racing competition mirrors business competition in that way, and all competition opportunities, for that matter. If you want to survive long term you have no choice but to compete at some level.

There are, as Agent Smith said in The Matrix, levels of survival many are willing to accept.

But businesses that become complacent quickly stagnate and in an environment with limited competition (typically due to regulation and licensing requirements) fester and rot, slowly turning into dinosaurs that impede progress.

Businesses that become complacent in a normal competitive environment quickly get eaten by better businesses. This is why big, older, established companies like Microsoft buy up small innovative firms in a story as old as acquisitions and mergers. Consuming the threat to gain their power.

We must shun complacency and emphasize competition if we are to advance smartly into the future. The alternative is a slow decay into something that can be consumed by a better predator. A business with no aggressive plan for the future is waving a white flag and an easy target. The only thing that keeps a company like that afloat is the dearth of available business.

Liticode’s analytical abilities in these areas can help your company stay competitive and exceed expectations. Our systems engineers are here to help move your business forward.

Annual Canary Notice

We still have never received any federal notice of any kind regarding disclosing client information or not disclosing client information. Or anything other than normal business and tax documents. We’re kind of boring that way. Which is what makes us such a great company to work with. Boring is good.

Going Green

We are proud to announce a new initiative here at Liticode to help reduce client costs while simultaneously helping to reduce our impact on the environment by drastically reducing travel on engagements.

Engagement travel costs for clients involving flights can be as high as $20,000 just for the travel alone. By deploying technical assets (lightweight computers and storage coupled with cloud resources) we can now be effectively onsite faster, and more reliably, than by putting humans in airplanes.

Furthermore, we will improve response times quality by reducing missed dates. Currently, we miss about 1 engagement annually by as much as 2 days due to travel delays, mainly in winter. Using our new remote capabilities, because of the low costs involved, we can simultaneously ship multiple endpoint units via different carriers and routes, and guarantee onsite presence within any shipping window.

For engagements requiring hands on, in clients where no internal technical resource can be used, we will be engaging with partners in the immediate vicinity to be our hands, and still achieve a 99% reduction in travel costs.

Only in the most severe classified containment matters will we continue to ship personnel to remote sites, but even in those cases, we will be able to ship fewer personnel, and still reduce travel costs.

We are very pleased with the remote operations capabilities we have implemented and hope to use them for all our remote clients moving forward. It also makes our personnel happier, since they get to spend less time on the road, and can perform faster and more efficiently on client engagements. This in turn improves client outcomes and we here at Liticode want the best for our clients.