Speed up an old laptop

I just realized the other day that my laptop was over four years old.  I bought it a few months before our first daughter was born with the hope that it would last for a long time since money would be getting tight.  When I was looking I stuck with a brand and model that I knew could take some spills and getting thrown around, Lenovo Thinkpad. Specifically I picked up the T520 model that came with a decent processor and enough memory to easily handle Windows 7.  Well fast forward four years and the laptop was starting to show some sluggishness when it came to developing apps in Android Studio or running Firefox with a bunch of tabs open.

The easy solution to fixing the problem would be to spend another $1,500 and pickup a new laptop.  But like I said, money can get tight when you have a kid or two running around.  So to hold me over for a few more years I decided to upgrade the hard disk from a traditional spinning drive to a new Solid State Drive (SSD).  I picked up a new Samsung 850 EVO  500GB for $149 which is an amazing price, great specs, and a worthwhile five year warranty.  The drive came with software that transferred everything from the main drive to the new one so that I could easily swap out the old drive and boot the machine right up.  One other item you’ll need is a way to attach the drive to your machine when copying all of the files and operating system over.  I used a drive enclosure similar to this Vantex NexStar.  Once you’ve installed the new SSD you can put your old drive into the enclosure and use it as a backup drive or to transfer files between computers.

After making the drive change the computer is noticeably faster.  Booting up took just a few seconds and starting up applications is quicker than before.  To help out even more I later upraded my machine to Windows 10 by doing a clean install of it from Microsoft which cleared out all of my old applications and basically gave me a new machine.  I’m loving it and hoping I can get another two or three years of development out of the machine.

Picked up a new phone

A few weeks ago I had a post about which phone I was considering given that my BlackBerry Z10 was showing its age after over two years of use.  I thought I’d stick with BlackBerry and pick up the Priv since I had grown accustomed to the virtual keyboard and Hub concept.  After finally getting my hands on one I realized that the phone was bigger than I wanted.  The size was equivalent to the iPhone 6+ which is in no way a one-handed use phone.  Instead the Samsung Galaxy S7 came out and blew me away with its specs.  12MP camera with a sensor capable of f/1.7, expandable storage, great screen, and an impressive battery.  Add to it the ability to get wet and not die and I was sold.

So I went and ordered the device on the 4th and had it in my hands by the 9th.  After just a few days of use I’m pretty happy with the decision.  To replace the Hub feature in BlackBerry I went with Microsoft Outlook and found the app to be a respectable replacement.  With it I can have all of my email accounts in one place with the ability to easily filter and search through emails.  The virtual keyboard on the S7 isn’t bad either.  I’ve grown accustomed to not having the suggested words above the letters.  I’m no where near as fast as before but it still works.  Haven’t had a chance to really use the camera so I can’t say much about it.  The sound quality for phone calls is excellent, and yeah, the phone can send and receive text messages 😉

I’ll try to post some more in a few months to let you know more about how the phone is holding up.  But as it stands now it is a great new phone.

Making phone easier to crack

I was walking around the office the other day thinking about the whole iPhone and FBI fiasco going on and a question crossed my mind.  If a phone is locked by a users fingerprint will there still be the same problem when it comes to unlocking the phone after a user passes away?  Could authorities not use the persons finger to unlock it or if they have a record of their fingerprint use a recreation of it on the sensor?  If this is true then wouldn’t having your phone protected by a pin code be better than the convenience of using the fingerprint sensor?  If anyone knows of any research articles about this let me know.

Starting a company when you have a family, part 2

It might sound strange but I didn’t create my company because I expected to make much money.  To make money you need to be able to dedicate a significant portion of your time to researching a potential product and developing a solution.  In working two jobs and starting a family time isn’t a readily available resource.  Instead I created the company as an organization to launch any home grown products under, use as a learning resource for future endeavors, and general legal protection should anything happen.

One of the hardest realities I’ve found is maintaining focus on a product and technology.  There are constantly ideas popping into my head on a new app or service that I could develop or framework I could use to make development quicker.  If you’ve done anything with JavaScript then you are all to familiar with this problem; a new day brings a new framework that makes all other frameworks inadequate.  Amazingly enough this is where have limitted time has really helped.

Instead of jumping into a new pool of ideas and technologies every month my limited time has forced me to focus on a small subset.  Now when I have an idea I jot it down and let it simmer for a few months or even years.  If the idea has real potential then I’ll revisit the idea and start to research it further.  If it doesn’t then it will eventually go the island of misfit ideas.  Technologies are handled the same way.

Because I started off developing for BlackBerry phones I had only a few options, HTML/JavaScript for BBOS and Playbook devices or Java for BBOS only.  Since I wanted the most visibility in the app store I went with HTML/JavaScript and developed a WebWorks application.  The first run at the app I wrote all of AJAX and DOM manipulation calls by hand in JavaScript, no frameworks were used.  I took this route so that I could get a better idea of how raw JavaScript worked and understand how much a framework really helped simplify coding.  For the next iteration I used the JQuery Framework and was amazed at how much code could get ripped out and replaced with cleaner looking JQuery.

I’m not going to say that I have since dedicated my life to JavaScript and rank myself as an elite JavaScript coder with my own framework on GitHub that is used by the latest startups because quite frankly that isn’t the case.  The biggest lesson I learned from that experience was that JavaScript was an imateur language that had a lot of growing up to do.  I continued to use it for various projects but never dove in head first into it.

Since that foray I’ve focused on C++ development for BlackBerry 10 devices and Java for Android.  Up until the middle of this month I’ve always carried around a BlackBerry Z10 so any development was geared around BlackBerry 10 platform.  But given the demise of their operating system I’ve changed focus and started diving into two pools.  Android Java development and Angular/Ionic cross-platform development.  I’ll go into those in a future post as I’m still working my way through two online courses that will hopefully get me back up to speed.

Starting a company when you have a family

At the end of 2014 I decided to create a company that I could launch any personal projects under commercially.  I’m by far no Silicon Valley hot shot programmer who has companies knocking at their door.  Instead I’m someone who enjoys writing code.  The first application I release commercially was Weather Pilot for BlackBerry and Android.  When I first developed the app I was only married.  Since then we’ve had two kids and my free time has dropped off significantly.  No, it is probably more like an exponential drop that nearly resulted in the disappearance of free time.  Still, as I adjusted to the change I was able to get back to working on my projects.

Over the next few weeks I’m going to write about what it has been like creating a company while having a family and a full-time job.  I’ll go over how I’ve managed my time, family, integrated learning into different aspects of life, and my goals for the next few years.

Why I became a Software Developer

Why I became a Software Developer is something that I get asked often at interviews and persons looking to get into the career field.  Some people started working with computers and coding early in life, others fell into it after their original career path didn’t pan out as expected.  For myself I took more of a middle ground.

Growing up I always wanted to be a weather forecaster.  The power of the atmosphere amazed me and grabbed my attention.  As a kid I was glued to The Weather Channel, this was back when they actually focused on weather, caught the Penn State University Weather World channel whenever I could, and listed to the NWS Weather Radio broadcasts anytime a big storm was forecasted for the area.  I even had my own map of The United States on a chalk board that I would update with the latest front placements.  As you can guess I wasn’t necessarily the most popular kid in school.

Meuse Argonne American cemetary

Army patches on the stained glass window in Meuse Argonne American cemetary

So after high school I joined the Air National Guard as a meteorologist.  I always wanted to be in the military and loved learning about weather so the two seemed like a great fit.  Once boot camp was completed I then proceeded to study forecasting, observing, and briefing weather for nearly a year with the Air Force.  Eight hours a day, five days a week, my job was the learn everything they threw at us.  Once that year was completed I had come to the realization that weather was not a career choice for my civilian life.  College would have to focus on my backup plan.

While I was negating any cool points I had earned studying weather in high school I also started learning how to program.  Coding was amazing, you could take a blank screen, write some lines of code and create whatever you imagined.  You became a god, the Alpha and Omega of your application, your limit was knowledge and imagination.  This feeling grabbed hold of me and stuck around while I was training with the military.  Once my training was done I started college and changed my major over to Computer Science immediately.

From the first class I knew it was the right choice.  The professors and faculty in the department made me feel at home.  It was a small department, about half a dozen professors, but they all genuinely cared about the progress of the students.  The classes they taught kept me hooked with the constant revelations of new concepts and with the burst of interest in Internet technologies going on outside the classroom the future looked bright.

Since graduation I’ve stuck with the career.  I’ve worked in various fields ranging from finance to government research to defense.  The problems being solved have never been the same and the field has changed drastically since I first started my studies.  This career is one where success can only be had if you are willing to continually learn.  You don’t have to pick up every new language or framework that comes out but you do need to atleast dig deeper into the technologies you already know.  For myself I initially tried to learn about all of the latest concepts coming out.  It was great reading about them but at the same time drained my energy as I tried to learn them all.  To combat the potential burnout I’ve changed my tactic and now focus on a few specific technologies.  The change couldn’t have come at a better time and has kept me excited about what the future holds.

From BlackBerry 10 to Android or iOS?

I’ve been a BlackBerry user since 2007…nearly a decade.  Transitioned from the original BlackBerry OS which required reboots weekly to BlackBerry 10 which just worked.  My current phone is a Z10 and I’ve loved it.  Smooth interactions, easy to navigate between applications, has the ability to make great phone calls, has the Hub, and doesn’t sell all of my data to advertisers.  I was hoping to pick up a Passport but apparently AT&T owns the phone and it will never come over Verizon.  So now I’m left with picking up either an iOS or Android device.  I’d consider a Windows phone but Verizon doesn’t have a great selection of those phones and picking one feels like picking another dieing OS.

iPhone has one big advantage, most of my family uses them.  I could do Facetime with the family and have a selection of top quality applications.  The OS hasn’t been seeing the best quality since version 9 came out, ZDNet even wrote about it last year, which is a bit disappointing since they spend so much time make the phone look beautiful.  It honestly seems like the company is pushing their software division to deliver an unfinished product knowing the diehards will deal with the bugs.  They have promised to focus on delivering a better quality OS as was mentioned here on 9TO5Mac, but we’ll have to wait for the release later this year to see if that promise comes true.

And then there is Android.  The OS has been receiving some good updates to improve battery life, security enhancements, and provide developers with a way to make professional looking applications.  Basically, it has been slowly getting up to par with iOS.  There is still a proliferation of low quality/questionable apps on the Play Store but that doesn’t mean they are all bad.  The fact that BlackBerry now makes the PRIV which takes the best of Android and BlackBerry 10 and melds them together is a big plus.  BlackBerry does message handling better than any other device I’ve used and the virtual keyboard with the swipe feature is an efficient beast.

Hmm, unless BlackBerry ports over their Hub app to iOS I think I’ll plan on picking up the PRIV.  Great camera, beautiful screen, BlackBerry Hub and DTEK, should have the latest Android OS by the time Verizon releases it in March, and the fact that it has expandable storage is a huge plus.  Fine, I admit, I’m still a BlackBerry addict.

Compromised accounts

It feels like every few weeks or months I get an email about one of my accounts possibly being compromised by hackers.  Instead of waiting for the company to send out an email about the data breach there is a way to automatically have your account tracked by haveibeenpwned.com.  The website might not sound like the most legitmate place but it is.  Users can search their login names or setup an automatic alert so they can be notified when the account is found in a data breach report.

Adding every account or login might be a bit tedious so focusing on accounts that have personal or financial information would be the best place to start.  If you are a developer there is even an API that can be used to search the database.

Laptop recommendation

I’ve had a number of family members ask about whether I have any recommendations for an everyday laptop that is under $500.  Something that can easily handle the normal rigors of Microsoft Office and the Internet and doesn’t feel cheap.  After getting one for my wife I let them know that the Dell Inspiron 15 i5558-5717SLV is a top choice.  The touch screen is beautiful, has a full numeric pad, has enough weight so it sits nicely on your lap, and is as smooth as butter with 8GB of RAM and a 1 terabyte harddrive.  The current promotion has the laptop listed at $449 instead of the original price of $749.  When I originally purchased the laptop it was at $549 which I thought was a great deal so getting another $100 back later when it dropped in price was a bonus.  As it currently stands my father has also picked one up and my sister-in-law is looking at getting one too.

Privacy?

There has been a lot of talk about adding backdoors to electronics and secured communications lately.  Politicians and intelligence officials say it is the only way to gaurantee we can thwart terrorist attacks.  It has gotten to the point where governments are looking to force companies into designing weaknesses in their products.  The BBC has a couple of nice writeups; Paris attacks:  Silicon Valley in the crosshairs over encryption and Can the government ban encryption.

Now don’t be mistaken, I realize this isn’t an easy issue to deal with.  On one hand you don’t want child pornographers, terrorists, or human traffickers to have the ability to hide their digital tracks.  There should be a way to lawfully get access to the evidence.  If all commercial encryption had backdoors then there wouldn’t be any problems.  Get a warrant, request the data through the backdoor, and voila, all secrets are exposed.  But how do you guarantee privacy online when all secrets can be exposed?

Some people will say this is fine.  They have nothing to hide so they aren’t worried about the police or government having access to their digital life.  But the issue isn’t having nothing to hide, it is having the ability to keep your personal life private.  Moxie Marlinspike has a great article on Wired.com from 2013 that goes over this exact concept.

This route also has another problem.  It assumes that the criminals will knowingly use products that have this insecurity.  Why wouldn’t they just use a known secure security algorithm like public key encryption to keep their information private?  They could easily use standard communication applications like SMS or email and still encrypt the message before it is sent.  The algorithm is simple to implement, anyone with a high school diploma and some basic coding skills can impement it in a matter of a few hours.

So what does this leave us with?  How can we thwart criminal activities?  Human intel still works.  Creating custom malware and viruses to install on their electronics has been a proven method.  Realize, once a freedom is lost it is hard to get back; as each piece of privacy is taken we get closer to 1984.