Monday, March 14, 2011

iPad + instapaper + reeder = ARE YOU KIDDING ME THIS IS SO AWESOME?!

I originally intended to have this post cover the apps I consider most useful and the most value adding for the iPad, but in the end, I've decided to focus on two apps that I just bought over the weekend and how they have changed my life.

I'll repeat. I bought two apps for the iPad and they have already changed my life. In my opinion, these two apps used together create a "killer app" combo that fundamentally alters how I use, and how much I use, my iPad. These two apps are Instapaper and Reeder, each priced at $4.99.

Instapaper is a service that copies webpages to a central, cloud-based service. The idea is that a person might find an article they find interesting, but do not have time to read. They bookmark it with a special code from the Instapaper service (visually a "read it later" button) and they can come back to it when time and interest permit. I never thought that Instapaper seemed all that compelling on the desktop, nor on the iPhone. Sure, it was cool that you could save all the stuff you were reading to one place, but it just didn't seem worth the privacy loss.

Reeder is an iPad app that accesses your Google Reader account for RSS feeds (if you are not sure what an RSS feed is, you can read Wikipedia's article about it here). Truthfully, I tried to use Google Reader and I never got into it. I liked browsing to my favorite websites each day over using the Google Reader interface that seemed clunky.

These two apps together, however, have fundamentally altered how I read, save, and share the information I collect on a daily basis. The two, together in an iPad format, create a synthesis that I find convenient, compelling, and natural to use. I don't usually buy $5 apps that I'm not sure I'm going to like, but I did buy these based on some recommendations and decided to give them a try.

I began by collecting the RSS feeds of all my various information sources. The list includes the web versions of Fox News, CNN, slashdot, BYU News, Mac Rumors, and others. Again, I had tried this before with Google Reader and had not enjoyed the experience. But, I gave it another go and updated Google Reader with all my current news and information sources.

After updating Google Reader, I launched the iPad Reeder app and was instantly impressed by the interface. It organized the sources in a way that was easy to understand, and it had easy to use controls including "mark all as read". It also had settings to allow one to save a link or page directly to Instapaper.

Consequently, I purchased the Instapaper app and set up a free account. I updated my iPad's Safari browser to have a "Read it Later" bookmark and gave it a quick test. After saving a page, I switched back to my Instapaper app to read it. It downloaded it quickly and found that it generally did a good job of getting rid of all the cruft on a page (e.g., the ads and so forth). The interface was easy to use and the information was easy to read. More importantly, the information was available offline. In other words, I would not need an Internet connection to read the content.

My daily information consumption used to look like this:
  1. Browse to 10 or so different information sources
  2. Look for something new
  3. Skim the article if time was limited
  4. Try to remember to come back to it later to read more thoroughly or share with others
But now, my daily information flow works like this:
  1. In the morning: Open "Reeder" for the iPad
  2. Browse all the new news
  3. Send interesting stories to Instapaper
  4. WALK AWAY (go to work, etc)
  5. In the evening: Open "Instapaper" for the iPad
  6. Read the marked articles and file under different Instapaper folders
  7. Send articles I want to share to "Buzz"
There are a few problems with this system, of course. While articles are downloaded to the iPad and available for offline reading, it only keeps the 250 most recent articles. There are a few methods for getting permanent copies onto the iPad, but that aspect is still a little clunky. Also, there is a crash when moving items to folders (but it is acknowledged and should be corrected in the next version).

Despite these problems, however, I have never felt so organized in handling all of my daily news. These two apps together only cost $10 but have greatly increased my perceived value of the iPad.

Update on eSafeKids

Today I received this email that I reproduce without modification or edits of any kind:

Seth,

This is Todd with eSafekids.

I stumped upon your blog when searching esafekids online, and it was good to know that we share the same faith in Christ, and in addition, you've found a good Internet Safety solution.

I am writing to you in hope that you will update your post about eSafekids that we have solved the problem by using SSL to protect all user data, and in addition, all user data on the server are automatically deleted after 7 days. Further more, user can choose to delete their data at any time.

I started eSafekids to help families. I think we share the same concern for Internet Safety for kids. eSafekids may not be perfect, but we are trying to make it better everyday for parents who are concerned with Internet Safety. Recently we just added safe-search enforcement on major search engines such as google images, youtube, yahoo images, and bing images to make eSafekids even more family-friendly. I hope you will consider trying it again.

If there is anything I can be of help, please let me know.

Sincerely,

Todd
I've already made my sentiments known elsewhere and have nothing further to add, so my only comment on this email is, "no comment".

Monday, January 31, 2011

My Internet Safety Project

As I described in my previous post, I had a very, very bad run-in with an Internet Safety product. But, I was so frustrated with the experience, that I went back to searching online for a solution for our family needs. Our needs look something like this:

  1. Primarily Network-based Solution: Why? Because we have dozens of Internet accessible devices, many of which do not accept general software installation. You can't get "Net Nanny" for an iPhone or an iPad. I don't even think you can get it for a Wii. Now, we don't let our kids use the iPhones or iPads, nor do we let them browse on the Wii, but it seemed like the wisest course to plan Internet Safety for everyone in the house.
  2. Filtration of Pornographic Sites: Why? Because accidents do happen. I was once searching for something BYU and the link I clicked from Google was a porn site. Sites can engineer their webpages to include search terms that have nothing to do with them. This porn site had all kinds of search terms so that almost any search could find it. Normally search results like these go to the bottom of a Google search, but in this case, there was no legitimate match so all the "fake" matches were showing up. Filtration is a good way to eliminate most of these accidents.
  3. Logging: Why? Because there are websites that slip through the filtration cracks and family members could have a weak moment. It would be good to get a "daily record" by email of all the websites visited. Ideally, this would be per-person and would also include logging of the search terms entered into Google, YouTube, and so forth.
Well, I finally found a hybrid solution that gives me almost everything I want. It is a network based solution, filters pornographic sites, and does some general logging. What I don't get is logs of search terms entered, or logs per-person. Still, it works pretty great, and it was free.

The one downside for the general public: it required significant technical know-how.

Part I: OpenDNS for Filtration

When you enter "www.google.com" into your web-browser, a bazillion things have to happen to get the page to show up. It's truly a miracle that it happens almost instantaneously. One of the first things that the browser has to do is find out where "www.google.com" is. Your computer is configured to know about special servers called "DNS", or Domain Name Severs. Usually provided by your ISP, these servers tell your computer where "www.google.com" is and it converts it to a number that looks something like this: "72.14.204.103".

You can actually type the numeric address into your browser, by the way.

Anyway, OpenDNS is a service that provides DNS with some extra options. One of the extra options is Internet Filtration. They keep long lists of known porn sites, and also allow you to enter sites into your own personal list of sites you want blocked. This basic service is free. For an inexpensive upgrade, you get additional options including the ability to have your entire Internet access be whitelist only.

By way of explanation, a black list is sites you do not want available, and a white list is the opposite. When you set up whitelist only Internet access, your computers can ONLY go to the sites you specify.

Well, I signed up for the free service of OpenDNS and started experimenting with it. I have Verizon FiOS and the local router is web-managed. Here's where its starts getting technical. I had to browse to the location of the router using my browser, log-in, then change the DNS servers from the ones provided by Verizon, to the ones provided by OpenDNS. Not too challenging for someone who works with computers for their job (like me), but not point-and-click for less technical people.

Still, it worked great. I didn't want to test it by typing in a pornographic site, so, instead I added a perfectly safe site to my personal OpenDNS blacklist. It took about three minutes for everything to update, and I had to flush my computer's DNS cache. This is also not point-and-click, but the average user could just wait for a few hours for the cache to clear, so it isn't that big of a deal. But the point is, in just a couple of minutes, trying to go to this test page would bring up a different webpage that said "Site Blocked". Excellent!

Unfortunately, that is where the easy part ends. If you are the least bit interested in this kind of safety solution, my suggestion would be to buy a NetGear router with OpenDNS support. This company is building support right into some of their products. From what I've read, it's pretty straight forward, and pretty darn effective.

But having just been burned by an Internet Safety product, I decided I wasn't in the market to buy another one. I decided to make due with what I had. My biggest concern was a computer accidentally or purposefully configured with a different DNS. These servers are publicly accessible from all over the place, so a computer could be set up to ignore the OpenDNS servers, and talk to a different DNS server instead.

To fix this, I modified my router to block any DNS access to anything except OpenDNS. This step was a bit complicated, and the Verizon FiOS router isn't the most fantastic piece of equipment I've ever used. I had to create a firewall rule that said allow access to OpenDNS servers on port 53 (the port reserved for DNS), and reject any other requests for port 53. Definitely not point-and-click.

But it works, and it works great. So, the filtration part was done. Now, for the logging.

Part II: A Custom Python Script to Report Daily Web Usage

It turns out that the default Verizon router can send messages to another computer about what it is doing and seeing. With a little bit of non-obvious configuration, it can be set up to send messages about what websites are being requested. I finally figured out this setup and got the router to send these messages to the main desktop computer we use.

On this desktop, I have a python installation, and I wrote a quick script to test that it could listen on the appropriate port (UDP 514) and receive the messages. Once I saw that I was getting data, I had to write a program to break these messages into pieces, figure out if it was an outgoing request, figure out where it was going, and record the time. It turns out that the outgoing requests are the internet addresses only, and I wanted host names. So, I also had to do a reverse DNS lookup on the address.

I record all of this information for one calendar day, and then at midnight, I draft an email to myself and my wife with the names of the websites visited, and how many times visited during the past day. I can access gmail from Python with very little effort, so I basically send a message from myself to myself (and Amy) with the information. We're still working out a few bugs, but the first couple of tests have been pretty successful. Here is an example report:

To: seth, amy
From: seth
Subject: Nielson Family Internet Access Report

Internet Access Report

UNIQUE DOMAIN ACCESSES
---------------------
1e100.net: 25
2o7.net: 6
441gift.com: 1
ac.kr: 1
adbrite.com: 1
akamaitechnologies.com: 23
amazonaws.com: 3
apple.com: 1
...

It's cluttered, of course, because most of the websites encountered will be ad servers (most of those are ad servers). Still, the list is short enough that it takes about 20 seconds to look through it. Amy and I figure we'll review web accesses every morning when we first wake up for just a couple of minutes. I think most adult sites will have stand out names because those sites tend to use stand out names (the clients don't want to "bookmark" the sites, so they have to make the names memorable).

Obviously this part of the project requires a significant amount of technical knowledge, but if you are interested in this type of Internet Safety stuff, there are some off-the-shelf programs like "Wall Watcher" that can do much of this. Interested parties can always ask me for advice or help with setup.

Despite the complexity of the setup, I am very happy with the result. I hope that my experience is helpful to anyone looking to solve similar problems

Sunday, January 30, 2011

"ESafeKids" Freaks Me Out!

Alright, I'll admit, my family isn't "normal" when it comes to technology. I have a Ph.D. in Computer Science (emphasis: Security), my wife has a B.S. in Electrical Engineering, and my 9 year old picked up Powerpoint in about 2 seconds. We hardly have "stock" equipment too. We have 2 Windows machines, 2 Mac's, 2 iPhones, 1 iPad, 1 wii, and an assortment of other internet capable devices. Finally, our software is also eclectic with Firefox and Chrome in use as browsers, VPN's, secure tunnels, and (worst of all) virtual machines increasing the complexity.

If one or more of those terms don't mean anything to you, don't worry about it. Take "virtual machines" for example. The average American doesn't use (and doesn't need to use) them. I'm simply pointing out that we don't fit the average American technology profile in training, equipment, or software.

And to get to the point, our lack of "normality" means that many Internet Safety devices and software just do not fit our needs.

I worry a lot about Internet safety for our kids. I'm primarily worried about pornography. So far, we just don't let the kids use I/M or Facebook, and I feel like those issues can be largely concerned with appropriate training. But pornography, like a drug, can be life altering after just one accidental exposure.

Our solution has been to limit the kids use of the Internet to very limited, targeted sites when monitored directly by a parent. All portable Internet devices are reserved to parents, and non-portable devices are in wide-open, public spaces.

But the fact of the matter is, Alex is reaching an age where the Internet would be useful for research and academics, and it will be unrealistic for us to monitor him every minute. I've known for the last year, or so, that we needed Internet protections in one form or another, and I was frustrated by how our technology situation did not seem to be addressed.

Finally, the other day, I found something that looked really promising. I heard about "http://esafekids.com" from the "http://www.internetsafetyproject.org/" (run by my old advisor Dr. Charles Knutson). It looked like exactly what I needed. I thought that the device they were selling would sit between my home network and the outside world, filtering sites and monitoring traffic. I assumed that, like many home network devices, it would have a web interface.

So, I ordered it to the tune of $120. It arrived a few days later and I opened it up to plug it in.

Well, I was shocked to find out that the device has no local web interface. Curious, I looked into it further and was even more shocked to find out that you were supposed to control it from the esafekids website! That seemed really strange to me and I called their tech support.

Not only did their rep confirm that you control the device from their servers, but he also told me that all your information is sent over the Internet to their servers WITHOUT ENCRYPTION. That is a privacy risk that blows my mind! I couldn't imagine such an insane, dangerous device and I told the rep that they were risking a lawsuit.

The device is boxed up, and I'm sending it back for a refund tomorrow.

The take away message is, be extra careful with people who are going to monitor your network. Malice should not be your biggest worry because Incompetence will almost always do the lion's share of the damage. But your private information is very valuable and you should always look twice (or more!) at people offering to handle your valuables.

Monday, December 6, 2010

Children give the best gifts!

Tonight while the wife and kids were putting up the christmas tree, I noticed the sink in the half bath on the main floor was not draining. "How exciting!" I thought. "The kids use this bathroom a lot," my inner self went on to point out, "they probably hid an early Christmas present in there for you! How festive!"

Of course, my children being the good sports that they are pretended that they had no idea what the surprise was. But I knew it had to be a big present! The water wasn't draining at all!

By now, I was truly in the spirit of the adventure and just dying to know the surprise. I thought it might be some of the kids favorite leaves, or maybe all the toothpaste from a tube dried and hardened in the drain! I'm so glad they gave me this gift early! If I had to wait until Christmas, I don't think I could sleep at night!

Well, I tried some drano gel to get the Yuletide party started. It came in a wonderful deep red container, a perfect color for Christmas!

At first, I thought I had uncovered my surprise, because the drano gel slowly settled to the bottom of the non-draining sink of water, and then beautiful tentacles of brown mist began to emerge! My children are so artistic.

But after two shows using the gel, the sink was still very slow to drain, and I realized that my loving children had more in store for me! "Can it get any better," I thought?

Now I just couldn't stand the anticipation. Pulling out my toolbox, I started disassembling my sink. I eagerly removed the u-joint under the sink and started sifting through a lot of stuff I couldn't identify, but I was sure wasn't the gift. I was disappointed! Where could it be?!

Then suddenly, I found it! Finally, I saw my gift stuck in the drain itself!





You know, they say it isn't the gifts at Christmas that matter, but I disagree. I think this gift is something the kids have been working on for months! I'm sure I'll never forget it!

- Posted using BlogPress from my iPhone

Thursday, October 28, 2010

We built a destroyer last night! How was you're evening?

Last night, the kids and I built a destroyer out of legos! Let me add, we designed this ourselves and did not work from any external instructions.





Notice the turrets on the front and the radar on the tower.




This view from the back shows the helicopter landing pad





This view shows the hull better.





This birds eye view is pretty cool too!

- Posted using BlogPress from my iPhone

Tuesday, October 19, 2010

Family Home Evening Lesson Idea

Last night for our family home evening lesson, I wanted to teach a lesson about scripture study to children ages 4, 7, and 8. I was trying to think hard about what kind of object lesson might grab their attention. After some pondering, I had an inspiration.

I asked the children to write instructions for something they knew how to do that they thought was kind of complicated. The instructions had to have at least ten steps. The 4-year-old doesn't write yet, so I had him draw pictures (he drew a person putting up a force-field to deflect grenades and bombs... that's certainly a complicated thing to do!).

When everyone was done, I had them read their instructions out loud. Then, I started to ask the following questions:
  1. Are there steps in your list that if someone doesn't know how to do, they would have to learn first?
  2. If the person your teaching won't learn those prerequisite steps, will you still give them these instructions? Why not?
  3. Once someone is ready for these instructions, can they learn them just by reading them? Will they be able to really understand without actually trying them out?
  4. How will you feel if the learner asks for help if they obviously haven't even read these instructions?
  5. How will you feel if the learner asks for help if they aren't making any effort to understand and try out the instructions?
  6. How will the learner's questions be different once they've really learned the instructions and tried to do them? On a related note, how will their ability to understand your answers be improved?
Both of the older children were able to think about these questions and understand the ideas. We had a good discussion (and we let the 4-year-old continue to draw his grenades). Then, it became fairly easy to apply these things to the scriptures.
  1. Before God can teach us certain principles, we have to learn more basic ones.
  2. If we can't learn the basic ones first, He cannot give us more light and knowledge
  3. We won't learn principles by just reading, or even studying; we must apply
  4. God is hesitant to answer our prayers before we've exercised faith through studying the answers he's already given us
  5. He would really like us to have given the existing Word some real thought and attempts to obey it
  6. Once we've worked hard to know the existing Word and apply it, our prayers will be more meaningful because the questions we ask will be more appropriate, and our minds will be more prepared for His answers.
It was a really nice Family Home Evening and the children enjoyed both the activity and the subsequent discussion. As a side note, it fits well with the "Preach my Gospel" chapter on effective scripture study.

And we topped it all off with Daddy's homemade pumpkin pie (from scratch!). Can't get much better than that!