JS Ext

Thursday, October 31, 2013

Apple should be spelled with all dollar signs

I use Linux.  I have used Linux for many years.  I have gotten used to being treated like a third class citizen by software companies.  That is why when I write software, I design the software so that it either runs on most platforms or that it can easily be ported to most platforms.  This includes Mac.  To me, Mac people are considered second class citizens.  I empathize.  That is why I am so irritated at Apple's methods to force people to pay money.

First, here is a little background.  Mac has a file with an extension of .app.  This file contains an entire application.  This makes it really easy to install and uninstall applications.  You crop a .app file somewhere to install it.  The problem with that is that method for installing software is REALLY insecure.  Unbelievably insecure.  Mac likes to pride itself at the illusion of security, so it decided to "fix" this problem.

The fix for the problem is actually pretty easy.  The .app file supports a digital signature.  This means not only can you verify who made the .app file, you can verify that Apple "trusts" the person who made the .app file.  This type of thing is fairly standard in the industry.  The problem is who does Apple "trust"?

It turns out Apple only trusts you if you pay them $99/year.  If you are developing an app for their store, then $99 might not be too bad.  My problem is I am writing FREE software that I planned on giving to my aunt and a few friends that run Mac.  For my friends and family to use the software that I wrote, I have to pay Apple $99 a year.

This is just ridiculous.  I'm not going to pay $99 a year to give my family software to run.  Apple's behavior is very anti-open source.  Their goal is to force people to pay Apple in any way possible.  Which brings me to the next pain......being forced to buy their hardware!

Wednesday, October 16, 2013

New Application: TraySync

A few months ago, I set up a shared folder on my Dropbox to share pictures of my son with my family.  Dropbox is well known to the non-techie world and is very easy to install.  The setup has worked phenomenally well for months.  Then we started taking video.  HD Video.  Large HD Video.  I filled up everyone's Dropbox very fast.  For those of you who don't know, files in shared folders on Dropbox count towards everyone's quota.

One of the other goals with Dropbox was to allow family members to upload pictures that they took.  During any family events, everyone brings their own camera.  Everyone wants to take pictures.  I think this is driven by history: when you had to pay to develop film, you wanted to make sure you got your own "copy" of the pictures being taken.  Now, everyone has digital cameras.  By having an easy way for people to share pictures, two things can occur (in theory): 1) people have easier access to everyone else's pictures and 2) less people want to take pictures because of #1.  During the first month, this was true.  People were uploading pictures pretty regularly.  After that, pictures were not uploaded as often.

I have blogged multiple times about Retroshare but it was just not user friendly enough for the grandparents to use.  With Dropbox, pictures and videos just magically showed up in a folder somewhere.  I wanted to replicate that same experience.  Due to the minimal amount of uploads, I decided to drop that requirement.  Besides, the Dropbox folder still exists, so people could still upload there.

I decided to write a program that sits in your system tray, polling for changes on an http server.  It downloads a text file once an hour.  The text file consists of a bunch of http urls, one for each picture or video.  The software then downloads each item in the text file.  If-Modified-Since headers are used to limit the bandwidth that is used.  If the http get for the text file comes back with a 304, then the software doesn't even bother firing off requests for the files in the text file.  All downloads are password protected.

The tray icon changes if it is downloading something.  After a round of files is downloaded, a notification window pops up, telling you how many files were downloaded.  The app has a configuration window that allows you to add multiple "repositories" and displays a table of the most recent downloads.

The software is written in Java 1.6.  For Windows, I used Nullsoft Scriptable Installer to create an install exe file.  The installer adds a shortcut in the "Startup" folder so that the app starts up boot.  I even made an unattended install that sets up the initial repository and starts the app for the grandparents.

I have not decided if I am going to put the software up on Sourceforge or Github, but it will be open source.  As of now, there will not be a Mac release.  I will put a rant about that in another post.

Tuesday, October 15, 2013

Missing In Action

Sorry I have been missing lately.  I have had very little time for tech activities and the blog was temporary lower in priority.  I have been spending my tech time writing some software.  I will be releasing the software soon, and when I do, I will write a post about it.  I will also post a rant about Apple related to this software.  I have some new hardware (Minix Neo X7) that didn't pan out that I will blog about as well.