Email like someone is watching


You can’t help but read this message as a result of the US elections.  “The results were the way that they were because of Wikileaks and exposed email messages.”

How embarrassing, if true.

It brought back memories of at least a couple of other digital embarrassments.

The first one was with an individual who was really “in my face” just before a meeting was about to start.  He was adamant that “there was someone at the board office” who read everyone’s email.

What he didn’t realize at the time was that the email administrator was standing right behind him waiting for a chance to talk to me.

The second memory was of one of our first online meetings with Adobe Connect.  If you’ve ever used the software, you’ll know that there’s a chat window to have conversations while the meeting is ongoing.  The default is that all of the chats are public and I personally prefer that for discussions rather than having people interrupting each other as part of a fight for the microphone and everyone’s attention.  The chat also has a function where you can have a private discussion with another person in the meeting.  In this particular case, one individual was having a private discussion about the leader’s ability to run an effective meeting.  Little did she know that the person who runs the meeting can see all the discussions, even if you think it’s private.

Both were a couple of wake up calls.

How about us now?

First, as a child didn’t your parents tell you to keep your negative thoughts to yourself?  What’s the point of spreading them since there’s always a chance that the message will spread in the wrong direction.  After all, your friend today may not be your friend tomorrow.  Messages are easily forwarded to someone else or maybe you’ll be the victim of a Wikileaks deal.

In the classroom, we talk about digital citizenship.  How many times have we delivered the message “Don’t put anything on the internet that you wouldn’t want your grandmother to see”?  I keep waiting for the response “but my grandmother is cool”.

But, maybe in the bigger scheme of things, we should take these messages personally and reflect on our own use of digital media.  Today it’s email which I think many people will agree is a dying tool.  I know that the bulk of my email is subscriptions to blogs and news services.  Oh, and spam.

What would have happened if the released emails were all about business?  Would it have made a difference?  What would have happened if the email was on an officially serviced server?  I suspect there would have been a bigger outrage against the hackers than the content of the email.

What about your own email and email use?  Does it cut the mustard in the year 2016?

Check out this interesting read “Donald Trump will control the NSA – what this means for your privacy“.  Admittedly, it’s posted to the Protonmail site which provides an encrypted email service in Switzerland.  The description about how the service works is interesting and would make for a great classroom discussion.  What I found most interesting in the article is the growth of new accounts immediately after the election.  It shows me that people are seriously thinking about their email services.  

Are you?

Lest this get too serious, check out this piece of advice from students about how to email your teacher.

The Collatz conjecture


One of the recent reads took me down the mathematics path.  This is always a bit of fun.  The story was:

6 deceptively simple maths problems that no one can solve

I remember the Collatz conjecture from years ago.

Basically, it says to take any number.  If the number is even, divide it by two and continue with the result.  If the number is odd, then triple it, add one, and continue with the result.  The conjecture says that, if you repeat it enough times, you’ll eventually get the number 1.

During dog walks yesterday, I found myself mentally doing the problem.  When I didn’t lose track, the sequence of numbers always did end up at 1.

When I got home, I thought; this is silly to do all this mental math.  I should write a program.

Here it is in Small Basic.  I’ve tried to make it readable and over-commented to explain the steps.  I think it should be readable enough.

program.png

And, of course, I ran it to make sure that it worked.  I played a lot of “kitten on the keyboard” to test it out and sure enough, the answer is always eventually 1.

For simplicity, here are 6 and 7.

six

seven

Another observation include that, in addition to the answer being 1, any number I tried over 6 ended in the sequence 10 5 16 8 4 2 1.  Of course, I didn’t try every number.  However, I did modify the original program to loop the original number tested instead of just working with a single input.

After writing the program, I like the programming concepts that it includes.

  • Asking the user for input
  • Looping until an exit condition is met
  • A little mathematics
  • A little branching
  • Displaying the answer
  • Enhancing the original by providing another form of input
  • A program doesn’t have to be huge and time consuming to have a lot of concepts
  • It’s actually a bit of fun trying to understand the mathematics while doing the coding

There will be a place for something like this in one of your courses or clubs.  The puzzle is intriguing because you can run it on a calculator or do it in your mind, in addition to writing a program.  It’s nothing so obscure that you can’t get your head around it.

A hugely mathematical explanation of the conjecture can be found here.  It doesn’t necessarily make it tougher to understand but it’s a nice confirmation that we don’t have the answers to everything.

An internet simulator


I’ve been working my way through Code.org’s CS Principles widgets and having a terrific time.  There has been some great thought and originality put into the design and implementation of the individual widget. 

I’ve worked my way down to the Internet Simulator.

If you’re interested, you’ll undoubtedly be advised to read the lesson plans first.  These not simple activities without some background and understanding but then the internet isn’t a simple thing to begin with!

This is a great simulator to gets hands on and learn about internet communications.

If you’re teaching the concepts, you’ll definitely want to add this to your toolkit.

A cipher widget


Another widget from code.org takes you on the route to encrypting messages.  If you’re going to send a message, you need to do something a little sophisticated than what we did in elementary school which, if I recall, was as simple as moving each character in the message one ahead.  So, DOUG becomes EPVH.  Then, you’d pass the note along to a friend who would roll the characters back one to get the original message.  And, you’d also have rules like what to do when you use a Z or punctuation mark.

You’d be hard pressed to decrypt my message of the day.  “FBFVXGYXCFWOHAWKCEHINF”, I’ll bet.  But if you use the Vigenere Cipher Widget, it’s a piece of cake.

You need to provide a couple of things.

  • your message
  • your secret key

Then, let the widget do its thing.  

Using your secret key, it will take the original message and code it for you.

When you press the play button to make the magic happen, you can see the widget at work as it determines how to encrypt your message.  

Of course, the process can work in reverse as you take your encrypted message and decrypt it.  

Falling from this could be a great discussion about how you do banking and make online purchases safely.  Or even something as simple as sending an encrypted message to someone that they would later decrypt and read.  Of course, you don’t send the key and the text in the same message.

The best thing to happen?

After poking around for a little while, the inspired Computer Science student will want to write a routine of their own.  That always puts activities like this over the top.

A compression tutorial


Have you ever wondered how big things get sent across the internet so quickly?  I think that we all know that the answer is “compression”.  But, how does this compression work?  Does anyone remember the compression wars between ARC and ZIP?

Learning how is the goal in this tutorial from Code.org.

Make sure that you watch the video first to get the most from the experience.  You’ll see the rationalization for why compression is used along with some real life examples.

The two big terms to learn and understand are “lossy” and “lossless”.  Do you know the difference?

Then, it’s off to the tutorial.  It’s an interesting and interactive concept.  You’re presented with some original text.

Now, the idea is to compress this information, starting at 240 bytes, by looking for patterns that could be repeated.  The patterns are replaced by symbols and you create a dictionary of the symbols.  That’s important because compression without a way to later decompress it is, well, pretty useless.

So, go looking for the patterns and the widget does the character substitution for you.

With these three substitutions, I was able to compress things by 33.75%.  If this text was to be sent, my 240 bytes is now 159.

The more compression, the better the speed.  Even after doing these screen grabs, I can see more ways to compress.

Sounds like a Computer Science classroom competition to me!

It’s a puzzle


Who doesn’t like a good puzzle?

Who hasn’t grown up and solved at least one jigsaw puzzle?  It’s a great rainy day activity.

Who hasn’t started to do a jigsaw puzzle only to find out that a piece or two has gone missing since the last time that you did the puzzle?

Take it all digital and enjoy the best.

Solving puzzles has such great thinking potential.  The puzzle, chosen properly, could reach into the mathematics classroom.  How about a little symmetry? 

Head on over to the Symmetry Puzzle section on the Math Is Fun website and pick one.

With the fall migration in progress, I chose the butterfly.

How many coffee tables does this digitally represent?

Now, to dispel the notion that I don’t actually work through the things that I write about on this blog…

I will admit to an OMG moment when the pieces started to move around after solving it.  I hadn’t had a chance to do a screen capture to prove that I had done it!

Have fun.

And, of course, poke around the rest of the website for many, many more engaging mathematics activities.

Another unique option


The past couple of days has seen me taking a look at a couple of mapping options.  To the list, I’d like to add a third – OpenStreetMap.

It’s considerably different from the other two which are managed by Google and Bing.  OpenStreetMap is created and built by the local community.  

Consequently, the community decides what gets added and, probably is more frequently updated as new locations become available.  Heck, just like Wikipedia, it could be edited by you and/or your students.  Details are available here.

I went back to Lasalle and started poking about.  What I found really intriguing here was the various mapping options available via the overlays.

It was kind of interesting to poke around and look at the cycling trails that have been built into the town’s infrastructure.

As for transportation, you can’t take a look around Essex County without checking out the uniqueness that is the Tunnel Bus from downtown Windsor to downtown Detroit.  It makes for interesting trips to Comerica Park, Ford Field, Cobo Hall, Greektown, and all of the other wonderful things to see in downtown Detroit.

Because the integrity is managed by the community, in theory, a chance in bus routes should be changed almost immediately.

One thing that I really enjoy with all three of the services are how clean the display is.  I think it’s important to recognize that there should be more than one tool in your mapping toolkit.  OpenStreetMap definitely is one to add.