Chipotle Math

From theย consumerist:

On the first, dated July 13, the nine items added up to $32.93. There was $2.31 in tax. The total should have been $35.24, but next to the “total” line on the receipt, it said $35.25.

The next receipt, with the same sale date, showed a subtotal of $8.64. The tax was $0.60, so the grand total should have been $9.24. But no. With Chipotle-style math, the total was $9.25.

The third receipt, dated July 17, had a subtotal of $17.75 and tax of $1.24. The total? $19.00, but elementary school students would have come up with $18.99.

Posted in interesting stuff | Tagged , | 2 Comments

Intelligently Cracking Passwords

From Ars:

One promising technique is to use programs such as the open-source Passpal to reduce cracking time by identifying patterns exhibited in a statistically significant percentage of intercepted passwords. For example, as noted above, many website users have a propensity to append years to proper names, words, or other strings of text that contain a single capital letter at the beginning. Using brute-force techniques to crack the password Julia1984 would require 6^{29} possible combinations, a “keyspace” that’s calculated by the number of possible letters (52) plus the number of numbers (10) and raising the sum to the power of nine (which in this example is the maximum number of password characters a cracker is targeting). Using an AMD Radeon HD7970, it would still take about 19 days to cycle through all the possibilities.

Using features built into password-cracking apps such as Hashcat and Extreme GPU Bruteforcer, the same password can be recovered in about 90 seconds by performing what’s known as a mask attack. It works by intelligently reducing the keyspace to only those guesses likely to match a given pattern. Rather than trying aaaaa0000, ZZZZZ9999, and every possible combination in between, it tries a lower- or upper-case letter only for the first character, and tries only lower-case characters for the next four characters. It then appends all possible four-digit numbers to the end. The result is a drastically reduced keyspace of about 237.6 billion, or 52 * 26 * 26 * 26 * 26 * 10 * 10 * 10 * 10.

Pretty great counting principle stuff right?

Posted in interesting stuff | Tagged , | Leave a comment

Programming Software Tools

I thought it might be useful to share a list of programming tools that I use in my Intro to Programming class. This is also an update to my earlier programming ideas post from last year.

My general rule for software in this class is that it should be free and multi-platform. If they kids have a computer (or in some cases just a smartphone or tablet), then they should be able to do work at home without licensing issues. Here it goes in some order.

  1. Alice 2.x

    Pretty good intro “language” that uses 3d models to create scenes. Some nice tutorials to get the students started, and it can be a powerful tool for upper level thinking (including recursion). The whole language is drag-and-drop so the common syntax errors are gone. Downsides: the students outgrow the 6+ year old interface quickly, and you can’t create variables/objects on the fly. If you want 100 trees, then you’ll need to create them one by one.
    NOTE: Alice 3.1 has been released (2 days ago) after much delay. I haven’t checked it out yet, but I hope they have fixed some of the shortcomings.

  2. Python

    The students have loved using python to start off on a text-based language. The lack of brackets and semicolons make the syntax easier for them, and the forced structure of tabs makes it easier to teach those skills later in languages that don’t require the code to look pretty.
    Unfortunately the online free books like ;Learn Python the Hard Way, ;and ;Think Python haven’t been as useful as I’d hoped. The students picked up bad habits from LPtHW like typing in code they didn’t understand and getting lost because they didn’t know how to use that code.

  3. Greenfoot and BlueJ

    These related software tools (Greenfoot is built on BlueJ) are fantastic for learning Java. BlueJ is a learning IDE for Java because it doesn’t include a bunch of serious software development tools.
    Greenfoot builds a whole graphics engine onto BlueJ and it makes it easy to make games. Students in the class last year made clones of Doodle Jump, Tower Defense, Zelda, Pong, Frogger, Mario and Portal mix, etc. Many of the students also made games based on their own ideas.
  4. Processing

    Unlike 95% of most computer software, this development makes drawing very easy and fun. Very cool examples. Very fast 2D drawing. Try it out. Structuring code is somewhat lacking in Processing, objects and functions are not in the forefront of the development environment.

  5. Project Euler

    I ;don’t have to tell you about how great this website is, because I already have. The upper level students love working on the problems and the difficulty level scales up nicely.

  6. Khan Academy ?????

    Okay so this surprised me too. Khan Academy just released a fantastic website, tool, curriculum, programming environment, modules, whatever you want to call it. They walk you through basics of programming with Javascript and Processing. A very engaging intern, Jessica Liu, walks you through the examples prednisone purchase Canada and you can pause and mess with her code at any time you’d like. When you restart the audio commentary the code goes back and she continues. The output of the code is realtime. You must see this to really understand what’s going on. Difficult to describe, pretty freaking cool in reality. Not entirely sure where this’ll fit in my class, but it’s too good to pass up.

Am I missing anything?

Update: In the comments Jason reminded me of using Scratch as a drag and drop programming tool as well. I’ll use some version of Scratch that allows you to build your own blocks, like BYOB Scratch or Scratch 2.0.

Update 2: And it looks like I’ve forgotten what I’ve written on my own site. Google Blockly still looks great.

Posted in Full Posts | Tagged | 6 Comments

Message and medium

I really enjoyed Vi Hart’s newest video, but I heard conflicting messages. Vi compliments Sal Khan’s videos because the are done on the fly and you can see his thinking process, but then she scoffs videos that are all about the process of math (memorizing equations and processes).
I would argue that 99% of Khan Academy math videos are focused exactly on the process of math ignoring interest, motivation, and excitement; and hence are as dry and boring as a lecture can be.

Vi is angered by people trying to use her work to promote their pet projects, but isn’t that exactly what Khan Academy is using her for?

I have seen some influence of Vi in Khan’s videos, but only the slightest bit. I’m happy that she is now able to make a living producing such great work, but I hope her reach will extend farther into the KA world. If Khan Academy is really as big as it seems it will be, it needs as much help as Vi and projects like #mtt2k can give it.

Posted in interesting stuff | Tagged , | 1 Comment

Planets – XKCD


Fantastic comic by xkcd, as usual. But the most interesting part is the hovertext:

Planets are turning out to be so common that to show all the planets in our galaxy, this chart would have to be nested in itself–with each planet replaced by a copy of the chart–at least three levels deep.

So, approximately how many planets in our galaxy?

Posted in interesting stuff | Tagged , , | 2 Comments

Skallops and Regular Polygons

So my skallops arrived and I’ve had some time to play with them. Geometry teacher’s dream.

Ok.

Will the following setup make a polygon if I keep the same angle and keep adding on?

What about 30 degrees? 45, 60, 75, 90, 105, 120, 135, 150, 165, or 180 degrees?

Some completed shapes:

Square

Hexagon

Dodecagon

And

Here’s a picture of them all:

Enjoy. 3D stuff to follow sometime this summer.

Posted in Full Posts | Tagged , , | 4 Comments