Why should I worry about my WiFi?!

It is not very clear if someone providing free WiFi (private or public – like a business) will be legally liable for WiFi users’ actions on the WiFi. For example, if a customer of a Coffee House uses the WiFi to download pirated or illegal content, perpetrate cyber crime, or some other illegal use. The owner of the WiFi will have a huge legal headache on their hands, even if it’s ultimately determined in court that they aren’t liable. A little preparation will go a long way in avoiding the hassle and expense. Even if not legally responsible for the actions of your WiFi users, your legitimate users will suffer by having to deal with slow WiFi because someone is hogging all of the bandwidth!

So, what can you do? Well, I’m glad you asked because it’s not all that complicated!

  • The first thing you should do is to set a password on the WiFi. Requiring your guests to enter a WiFi password is you exercising some control over who can use your WiFi. If you have the password posted somewhere that can’t be seen from outside of your business or home, then there’s a greater chance that whoever is on your WiFi is someone that you’re OK with being on your WiFi.
  • Second, set a time of use limit. Pretty much all modern Wireless Access Points have some mechanism to limit access to a set time frame. Such as from 9 am to 5 pm, or whatever your hours of operations are usually.
  • Third, make sure you have enabled “Isolation Mode” on your guest WiFi network. Different Wireless Access Point manufacturers call it different things, but usually the word “isolation” is in the feature name. What this does it make it so that anyone connected to your “Guest” WiFi cannot access or interfere with the access or activities of others on the “Guest” WiFi, basically keeping the digital pickpockets in check.
  • Finally, make sure that your WiFi doesn’t go where you don’t want it. If you can keep the usable WiFi signal to areas that you can control, then you don’t have to worry about some shady figure sitting in a van across the street in the middle of the night doing something bad with your WiFi and internet. This is probably the easiest to check, but can be a bit challenging to change for the better. To check your WiFi coverage, just take a phone or tablet and walk around where you have WiFi (this is a simple, but far from complete way to check the area of your WiFi coverage) while connected to the WiFi. While you’re walking around pay attention to the WiFi signal strength on your device. Easy peasy! If you find that your WiFi signal is running out into the street or somewhere else you don’t want it, then the challenge may start. You can try and moving your WiFi Access Point farther in the opposite direction, moving the access point so that a wall is between the access point and the area you don’t want covered, or reduce the output signal in the access point’s control software (if your access point has the option).
  • Bonus: Some manufacturers have the option to limit the bandwidth available to the Guest Network. You can set a limit so that your main network, along with your Guest Network is not clogged by someone streaming all of the “Friends” episodes they can!

It isn’t too difficult, as long as you have some information on your side! Not sure about what you need to do in your situation? Just comment below or reach out to us and we’ll be happy to help anyway we can.

Ref: https://www.mbm-law.net/insights/wi-fi-hotspots-and-liability-concerns/

Board level repair?

Board level repair is simply repairing an electronics board by fixing broken traces and/or bad components. In years past this was done by simply unsoldering the bad parts and replacing them with new parts. But they were bigger and easier to see.

Nowadays, with the advancement of technology, the components are much smaller. Most can’t be seen clearly without a microscope!


So, when a part goes bad on a board like this most people have to just replace the whole board. This is not good for a few reasons:

  1. It creates more waste in our landfills. These boards not only contain precious metals, but also harmful materials, like lead, mercury, arsenic, cadmium, beryllium, and other harmful products that can contaminate our groundwater.
  2. It’s expensive. A whole circuit board may cost ten times more than a simple little component.
  3. It makes owning electronics more expensive in the long run. If you buy a phone, tablet, computer, or other electronic devices you’ll have to pay more to have it fixed when it breaks. Or throw it out and buy a new one!

Fixing your electronic devices make more sense, not only for the environment but also your bank account. If you’ve got a phone or tablet that doesn’t work anymore because it has a broken screen or something spilled on it, then let us fix it for you.

We’re a small family business that wants to help you save money and the environment. You get more life out of a large investment and the world is a better place for our kids! We make having your phone or tablet better, by getting more life out of it, and by using it better!

Contact us through our Facebook page, email us, or call Monday through Friday 9:00 am – 5:00 pm, if nothing more than to say hi and ask us questions. We love to help!

Our take on an affordable 3D Printer

TI’ve wanted a 3D printer since forever! Well, at least since the turn of the century. But, as we all know, they are not cheap! So I haven’t gotten one. However, recently the availability of open source hardware and software for 3D printing and CNC machines, along with the decreasing cost of components, has spurred me into wanting to build one myself – from design to final product!

So, what goes into designing and building a 3D printer – or anything for that matter? There’s a lot that goes into designing and building a 3D printer – let’s take a look:

  1. You have to decide that you want to and can build it!
  2. Have the means to purchase/build the components needed to build the printer.
  3. You need the mechanical, electrical, and design chops to put it all together!
  4. Have the time! – Depending on how fast you want to get to the actual printing, you can choose from several different paths.

That’s a short, but heavy list. Let’s get into it all a bit deeper.

You have to decide that you want to and can build it!

If you don’t really want it, you won’t do it – plain and simple! The world is riddled with half-finished ideas and projects – you need to commit to finishing it. This is my declaration to all of you that I am doing this!

Why am I doing this?

Why? Because it’s a cool project! Because it’s not easy, there aren’t really any detailed sources for this type of project, and because I like to teach and share! So, as part of this project, I am going to be building a lesson plan for teachers to use in a primary school setting – targeting the 3-6 grade level.

How do I know that I can do this? (And why anyone should listen to me)

I’ve worked in the aerospace maintenance field for over 20 years, been a professional software engineer for 10 years, and have been an electronics enthusiast for over 30 years. Combined, I feel that all of this background gives me a good solid foundation to take on this project – or at least learn what I need to!

You have to have the means to purchase/build the components needed to build the printer

You need certain tools and knowledge to accomplish a task such as this – all of which can be acquired. The tools you need for such a project are mostly basic tools, such as what can be found in the standard cheapy tool sets from the lower end retail stores. These sets can range from $100 – $200 and can be used for many other things – like basic automotive repair, home repair, and DIY, and so much more. But, if you’re reading this then you likely already have what you need in this area.

Other tools you’ll need are a soldering iron, solder, multimeter, wire strippers, and some wire of various gauges. The wire and other miscellaneous components can most likely be salvaged from old used appliances and such.

You have to have the mechanical, electrical, and design chops to put it all together!

Let’s face it, not everyone is cut out to build things. It’s a sad fact, but a reality! Don’t despair, if you’ve made it this far you’re likely to already know what you need to pull off a project such as this. Mainly the ability to learn and the wisdom to know when you need to learn.

You need the time!

Depending on how fast you want to get to the actual printing, you can choose from several different paths. If you don’t have the time to put into this kind of project (or need it completed in less than a month), you’d probably be better off just buying an assembled printer. If you can dedicate a few hours a week to this project, then you have all the time you need! Just make sure you have some space to have your project while you’re building it that won’t be in the way!


What we’re working from:

Every project needs to start somewhere, from a fixed point of requirements, to be successful. For most DIY projects this is just a pretty clear but rough idea in your head. That works for most things, but for something more complicated – like designing and building a 3D printer – you need to have something more concrete to work from. So I’ve put together my desired specifications that detail what I want to end up with. These project specifications need to describe what the finished product will be able to do, how it will do it, and any high-level constraints the project will operate under.

Let’s see, there are a few major points that this printer will need to hit. While we’re at it, let’s cover some of the details of the finished product’s capabilities.

  • Have a working area of at least 508 mm³ (20 in³)
  • Be able to switch between 1.75 mm and 3 mm filaments
  • Capable of switching between additive manufacturing and CNC operation relatively easily
  • Be extensible for:
    • Using different print media
    • Having a larger print/work area
    • Using Spray media, such as applying:
      • Lettering/images (like on a PCB)
      • Conformant coatings
      • Removal of conformant coatings
    • Composite/integrated assemblies – such as:
      • Conductive media
      • Be able to pause printing to add components to the print
  • Be as open source as possible
    • Apply and supply open source hardware
    • Apply and supply open source software
  • Have a total cost of less than $200
  • Allow construction without 3D printed parts

Next steps

So there we have it, the basis and background of this project. The next step is to source the parts and materials that we needed. That’s something I’ll save for the next post.


Until then…

New Developer’s Journey

At the starting line of the race ...
On your marks, get set …

So, I have been thinking that it is time to start sharing what I have learned, and I feel that I have some valuable experience for those that are starting their journey in independently developing software – being a new developer. I want to share what I learned over the years of my own travels down this path, but be clear that I consider myself still learning about this!


There is always something new to learn, and after years at this thing called project management and “freelancing”, I am constantly finding new ways to manage my independent work, and my life for that matter!


I will be sharing more about what I’ve learned, a little on how and where I’ve learned it, and what I might have done differently if I was to start over. Since I started out broke (as in rolling pennies for gas money broke), I learned really quickly how to find the free or no cost options for the services out there; I’m still kind of broke, but now it’s only “rolling quarters” broke ;-). So, I will be promoting the services that I have used and that I think will help you. Keep in mind that where possible I will be sharing the free option details or free alternatives for the services I use or find value in, but there are a few cases where you can’t get around having to pay (like an Apple or Google developer account) so I will be sharing the why in those cases. If I do share a link to a paid service, it will most likely be an affiliate link so if you do sign-up for the service, please use my link because I’m still broke! ;-P


I hope you join me in a cathartic examination of my journey, what I’ve learned, and what I might have done differently. I want you to be an active participant in this journey, share with me what your thoughts are along the way and I will give feedback on what you share!


Let’s get started, shall we?

How to Fix Bluetooth Network Unavailable on OS X 10.10.4


In the comments a new workaround has been identified since my solutions don’t seem to be working anymore. Try making sure the hotspot is turned on on your phone! It’s a weird one, but it works!

The best way explanation I can come up with is because of the way hand off works in the Apple world, turning on the hotspot on an iPhone (Bluetooth being key for handoff to work properly) it triggers an update call to the Bluetooth stack. If anyone has any insight on my theory I’d welcome it in the comments!

Thanks for all who’ve commented with more info!
I love MacID, before I started using it I didn’t have a lock screen enabled nor a password. Bad, bad, bad; I know. Especially since this machine is my dev machine, and I obviously have the source code and design documents on it for all my projects. After a change in my circumstances that left my MBP in a situation that someone else could have accessed the computer (fortunately that didn’t happen) I enabled the lock-screen and started using a strong password; a bit of a pain in the ass. That’s when I found MacID, and soon forgot I had the lock screen enabled because I didn’t really even notice it.

After updating my MacBook Pro to the latest and greatest OS X 10.10.4, I had lost the ability to pair my iPhone 6+ using bluetooth. This, unfortunately, disabled MacID and left back at having to enter my password each and e-v-e-r-y time I opened my MBP!


Well, after a lot of digging and trying different solutions, I finally fixed the issue!


The Problem:


When attempting to reconnect by bluetooth from MBP to iPhone 6+ (both updated OS) I was greeted by the notification above. Poopie.

Handoff still worked, along with Airdrop. No MacID though.

The Solution:

Following several suggestions from around the web, even asking the MacID developer for help, yielded no success.

Now, I want to take a moment and point out that even though the gentleman behind MacID had no obligation to help me out, he still tried! And, he was speedy about the offered help as well!

So along I went, without the use of my MacID, depressed and forlorn. Until today!

This is what worked for me and my setup, this may not work for anyone else but is here for reference and a hope that someone else will be helped by this info. If it helped you out, then leave a comment/let me know here.

  1. Turn off bluetooth on the Mac
  2. Delete the iPhone pairing (I’m not sure if any other pairings will need deleting as the iPhone is the only pairing I have on my MBP)
  3. Delete the bluetooth plist file:
    1. Open the Finder app
    2. Navigate to the preferences directory by pressing CMD + SHIFT + G and typing /Library/Preferences/
    3. Trash the file com.apple.Bluetooth.plist
  4. Shutdown your Mac
  5. Power on your Mac and immediately hold down CMD + OPTION + P + R until you hear the startup sound three (3) times
  6. Open the bluetooth preferences and repair the iPhone

All is fine now, I had to set up MacID again as I had removed my iPhone there as part of a failed troubleshooting attempt.


Now all is right in the world!


If this worked for you, or lead you in the right direction, I would like to hear about it! If you find an error or missing step, do let me know and I will update this post.

Getting Android Studio Working On Mac OS X Yosemite

So, changing from a Windows development platform to a Mac OS X platform has been surprisingly smooth. While it has only been a few days, the only glitch I have encountered is when I started up Android Studio 1.0.1 for the first time.

Java Not Found Error from Android Studio
The “Java not found” error from Android Studio



Go and install this to fix it. Read on to find out why it happened.


Fixing Android Studio

Unfortunately, I got the dreaded “Java not found” error, which puzzled me because, of course I had already downloaded and installed JDKs 7 & 8, and verified that when I run the command “java -version” I saw the report that Java 7 was in use. A real head scratcher. So a few minutes of digging around brought me to this question on StackOverflow. Following the first link (the “Update”) brought me to the Android Tools Project site, which has a nice discussion about the BETA and Canary releases and issues with those versions along with the JDKs. The key areas I found to be the silver bullet for my issue was the commands:

The key command needed to temp fix the issue
A code snippet from the Android Tools Project Site


Once this command completed, I was in business and on my way! Unfortunately, this method only works when opening AS from a terminal window. I like things to work the way they are designed to work, so further research found more entries on StackOverflow and elsewhere about this issue but none really seemed to solve the real issue. After reading through a few more SO questions, articles, and support documents (along the way uninstalling Java and then reinstalling Java) I ended up back on the Android Tools Project site. Specifically the section titled “IDE JDK”, in this section is the fact that Android Studio defaults to running the IDE with JRE 6 because of font rendering. This page says that Android Studio will prompt you to install Java if it doesn’t find it, obviously not! A little trip over to the Apple support site to install Java 6 will fix things right up!

I hope this helps others the way it helped me, but is found faster than I found it!

What I did with Twilio

A few months back, a client asked me to look at and improve the SMS messaging ability of their Java program. After seeing that they were using an email to SMS gateway (and associated throttling requirements) I researched the options, and came to the inevitable conclusion that the answer to making the SMS messaging capabilities better and more robust in my client’s application was by adding Twilio.

After a very short “introduction” period, I had a prototype up and running, my client was so impressed that the original specification was expanded (I didn’t mind because the Twilio APIs are really easy to work with). A short time later, the final draft moved to production and there have been no regrets; in fact I look for ways that I can use the Twilio offerings in other projects because it was so easy.

Now mind you, the application using the Twilio service is used to run a form of silent auction, requiring as close to real time notifications to end users as possible. The application sends an SMS notification to a registered bidder (after an opt-in of course) when they have been outbid; then if the bidder wishes, they can respond to the outbid message indicating that they want to raise their bid. That simple! All thanks to the power of Twilio. Future planned improvements include the ability of the application to automatically call winning bidders after the auction is over to let them know what they have won! Of course, Twilio offers voice functionality as well, and it’s just as easy to implement!

I am very happy that I had the opportunity to use the Twilio service, and it seems that my client is happy with them as well! In case you are wondering, my client is Crowning Touch Senior Moving Services, and they are really great people. If you are in the Roanoke, Va area stop by and say hi to Dan and Linda; they are great people, and tell them I said hi.

Fixing a power problem

After being uber excited to get a brand new Nexus 7 for Christmas, I quickly realized that there was a problem with my new gadget! I found that no matter what I did the battery showed 0%, even after spending several hours on the factory charger. After a couple hours on el Goog finding some similar issues it was starting to look like my new friend was doomed to experience the exchange Charlie Fox of a process.

Finally I found the iFixIt writeup for replacing the battery and I decided I would try re-plugging the battery. Once I opened the back cover I found the problem right away, the battery plug was not inserted into the socket all the way! A quick and gentle push on the plug, then snapped the back cover on and upon a restart the issue was gone!

So, if your N7 is telling you that the battery is dead no matter how much you charge or clear the battery ini, try (at your own risk) checking the battery plug.

Let it be said that I am in no way a tech repair guy or an electronics guru, just a few years of experience working with my hands.

Included Bugs

I spent the better part of a day and a half beating the keyboard with my head over a very frustrating problem: “WTF! Where’s that cookie I set?!” in a PHP project that I was working on.

See, the problem came from abstracting all the cookie related functions to a separate PHP file. Easier to maintain, right? Only if one remembers to place a “require_once” call before making the function call! Together with disabling error out put on the server, and not setting up proper debugging, lead to a lot of wasted time.

Once I realized what happened, I had to physically smack myself on the forehead!

The lesson here is make sure you double check all you includes and requires, that and don’t code sleepy!

Having an “wow” moment

I was watching “Gremlins 2: The New Batch” with my kids today, and it is really neat to see my kids enjoy a movie that I enjoyed years ago. Without the CGI and special effects that we have come to enjoy and are accustomed to in modern movies, its refreshing to see some creativity of old find a new home in the imagination of today’s youth.

Another thing I realized is that there are things that we miss when watching movies, tomorrow stars in their beginnings. Maybe I am dense or have been under a rock, but I didn’t know that Howe Mandel was the voice of Gizmo!