Atom IDE: “EACCES, permission denied” error message

Atom IDE

EACCES, permission denied

That was the error message that I received when I was trying to update my Atom packages (I think it was linter-php). Basically, the updater was failing because it didn’t have permission to remove an old config file. The fix was simple enough. All I had to do was resign the permissions to my user by running the following command:

sudo chown -R `whoami` ~/.atom

Easy as that the permissions were fixed and the updater could do its thing again.

I used bitcoins to pay a ransom

bitcoin-hackerThis post is going to be vague in some areas to protect the identities of the parties involved.

A person I know contacted me via facebook and asked if I was still involved with bitcoin. And this is where the story begins.

This person’s friend works for a business with sensitive personal data. The businesses computers got “hacked” and  their data was encrypted. The Russian hackers were asking for $500 USD worth of bitcoins to release the data. If the demand was not met in 72 hours, the price would become $1000 USD worth of bitcoin. Finally, if the ransom was not paid within the next 72 hours period, the data on the hard drive would be destroyed.

The business was crippled because their customer data was encrypted and they needed it for their day to day tasks. Of course they didn’t have any backups of this data.

They wanted to pay the money and move on with doing business but had no idea what bitcoins were, how to acquire them or how to use them.

I was asked if I could help out and facilitate the bitcoin payment. I wanted to check off the “paid a ransom” checkbox on my bucket list, and I had never seen ransomware in person, so I agreed to help.

I had the business owner send me the $500 via paypal. Once I received the money I used my coinbase.com account to purchase the 1.43 BTC ($500 USD at the time).

The hackers had a website setup on a tor network (anonymous and private network of computers). The website had detailed instructions and information on how to pay the ransom. They provided a bitcoin wallet address, along with a field for a transaction number.

ransom_btc

I used coinbase to send the bitcoins to the wallet, and entered the transaction number into the website. After a few minutes the transaction was verified and complete.

The website updated with instructions on how to download the decryption software and keys needed to recover the data and remove the ransomware from the computer. I forwarded the information on the the business owner and his staff.

paid_ransom

An hour later I got an email from the business owner telling me that the data was recovered and thanking me for my help. Everything worked out. The business owner got his data, the hackers got their bitcoins, and I get to tell the story of how I paid a ransom to russian hackers with bitcoin.

 

So I’m writing a book

book_writingIn early 2013 I started writing a book.I didn’t get far before starting work on other projects.

Its August of 2014, and I’ve started working on my book again. It’s about SEO and SMO (Search Engine Optimization and Social Media Optimization). Currently it’s about 100 pages completed. I’ve started and stopped this project more that any other project in my life. Today I took some time to reflect on why it’s taking me so long to complete this task.

Through writing this book, I’ve realized that it’s difficult for me to convey my thoughts and ideas on a page. I can make it happen, but I’m very slow at it. Truthfully I am more comfortable writing computer code.

To me, code has a personality and a life of it’s own. I go to war when I code. Code does not want to run, you have to wrestle into submission. You have to understand it, you have to anticipate it. You have to imagine all of the different ways your code is going to try and elude you, and crash. Like all worthy adversaries, you must respect the code to truly understand and master it. For the code to run, you must be successful, you must be correct. The poetic dance that I experience with code, I don’t feel when writing in English. Maybe it’s the linear fashion and format.

I can say however that the research process has been fun, and stretching myself to write this book has been a great experience and a true challenge. I am passionate about seeing this project through. Here’s to the future, and here’s to completing this bad boy!

Prescription Google Glass – Round 2

JoshHighland-Google-Glass-Prescription-Lenses-Round2

Last month I modified my Google Glass to work with my prescription lenses. It was better but there was still room for improvement. Some of the problems I had:

  • The zip tie was tight but, the shortened arm of my eye glasses could slip out. A few times I took my glass out of my bag and it had come undone
  • The zip tie allowed the for glass to pivot up and down. This made it difficult to keep the Glass optic aligned if I was doing anything active.
  • It looked weird – I had a zip tie holding everything together!

I decided that something had to be done. After some thought, I realized that shrink tubing my be the answer.

Positives to shrink tubing:

  • More surface area connecting the Glass to the frames = more stability, less vertical wiggle.
  • Less likely to come apart
  • Still a semi-permanent non-destructive solution – I could always put it back to the default factory configuration.
  • Better looking – no more zip tie, very little bulk

Negatives to shrink tubing:

  • Less room to adjust the alignment of Glass
  • Using a heat gun on the sensitive Glass – could melt / damage them

After weighing out the pros and cons I decided to go for it!

I assembled my tools. Shrink tubing, a heat gun, scissors, an exacto knife, and my Glass / Glasses creation.

 

1-theTools

I started by cutting off the zip tie that has holding it all together.

2-tearDown

Next I cut the shrink tubing to length. I had to be able to reach all the inputs on the Glass – the power button, USB port and camera trigger.

3-cuttingTubing

Next I had to stretch the tubing a bit. Out of the package, it was too small to fit over the optic. I places the tube onto the scissors and opened them, stretching the tube wider.

4-tubeStretching

Once stretched, I slid the tube over the optic and onto the arm of Glass.

5-overTheOptic

Paying close attention, I made sure that the tube was ale to clear the USB port, camera trigger and power button.

6-cameraBotton

7-usbPort

8-powerButton

Once I got everything where I wanted it and aligned, I used a zip tie to hold it in place. I plugged an old USB cable into the port in an attempt to protect it a little bit during the heat shrink process.

9-glassFit

I decided to wrap as much of the Glass as I could into a heavy rag to protect it from some of the heat during the heat shrink process.

10-readyToShrink

It didn’t take long for the heat gun to get hot. I slowly ran the gun over the tube, shrinking it to fit, being careful to not get anything too hot. This was a nerve wracking experience. I needed to shrink the tube, but not damage the Glass. It was a balancing act.

11-shrunk

I let the tubing cool down before I remove the zip tie and unplugging the USB cord. I was very happy with the end results. The tube had shrank down, firmly sandwiching the Glass to the frame of my prescription glasses.

11-shrunkCleanUp

Glass powered up with no problem. I hadn’t killed them! To my surprise, touches worked through the plastic tubing! Bonus win!

12-bootup

I opened up the “MyGlass” app on my Nexus 7 – Bluetooth and Wifi were still working.

13-nexusTest

I also tested the USB port for charging and data transfer. Both tests worked. Next was taking pictures and video. Both of those passed as well. I had done it.

14-done

The end result is a clean and nearly invisible fusion of my Google Glass and my prescription eye glasses.

15-done

16-done

17-done

This is the first time that I truly feel that Glass fits me properly. This is a game changer.

I know that Google is working on prescription Google Glass, and I really hope that I’m part of that pilot program. Until then, I plan on pushing the limits of Glass. I’m a member of the “Google Glass Explorer Program”, explorers take risks and discover new things. That’s what I’m trying to do.

18-BW_trial

19-JoshHighlandGoogleGlasses

I have a feeling that this won’t be my last mod to Glass. I have more ideas but they start getting into the destructive realm and I’m not sure if I’m willing to go down that one way path. Time will tell.