Skip to content

HTML 5 Canvas Fingerprinting

About two years ago, companies began using the the HTML5 element Canvas to draw unique graphic fingerprints of browser users. The fingerprint can include the web browser used as well as specific operating system specific settings and all header information that are transferred during connection..

for more information:

  1. Canvas Fingerprinting Sites – Lists sites sorted by Alexa rank that use fingerprinting scripts.
  2. Cross-browser fingerprinting test 2.0 – Another fingerprinting test.
  3. Fingerprinting Guidance – Document that defines different types of fingerprinting.
  4. Mozilla Wiki entry on Fingerprinting
  5. Pixel Perfect: Fingerprinting Canvas in HTML – The research paper from 2012 which mentioned the method first.
  6. The Web never forgets: Persistent tracking mechanisms in the wild – Research paper from Princeton and KU Leuven, Belgium that analyzes several fingerprinting methods including canvas, evercookies and cookie syncing.

reblogged from http://www.ghacks.net/2014/07/21/companies-use-canvas-fingerprinting-track-online/

mastering python

“Side Project Rules To Live By

Remember these rules when you’re working on your projects.

1) Learn From Mistakes
2) Kill The Boring Bits
3) Go Big Or Not
4) Have Fun!

Because why would you waste your extremely limited and valuable time on anything else?

Here are good side project ideas: Python Practice Projects for Python specific projects or Karan’s Side Project Ideas for language agnostic ones.”

reblogged from http://pythonpracticeprojects.com/

tricky user interfaces

and here’s a “journey map” of how it’s done:

more at http://darkpatterns.org

 

onward to 8192

4096Second

two of several 4096s done on an “extended” version (one of three versions i’ve tried) of Gabriele Cirulli’s tile game. the algorithms used do influence the ease and fun of play.

 

updated: make your own 2048?

udacity now has a 2048 mini course where you’ll learn:

  • How a computer program works (specifically small web applications like the 2048 game).
  • What HTML, CSS, and Javascript are and how they interact to make a functioning web application.
  • How to make small changes to HTML and CSS files that have very large changes in a program (large enough to turn the original 2048 game into a drastically different Udacity version).
  • How to use Github to make a copy of an open-source program, make changes to that copy, create your own version, and then host that version so you can share it with your friends.
  • Why open-source is such an amazing idea 🙂

“To participate in Udacity courses, please make sure your computer meets the following minimum requirements.

Browser

  • An up-to-date version of Chrome or Firefox is strongly recommended.
  • We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions).
  • At this time, mobile browsers are not supported.

Internet Connectivity

  • Download: 2+ Mbps recommended; minimum 1 Mbps.
  • Upload (for full courses & proctoring): 0.5 Mbps upload speed.

Operating System

  • PC: Windows XP or higher with latest updates installed (note: Internet Explorer 8 is not supported).
  • Mac: OS X 10.6 or higher with latest updates installed.
  • Linux: Any recent distribution that has the supported browsers installed.

YouTube

  • Ability to watch YouTube videos is required. If YouTube is blocked on your network, please contact your IT support or internet provider.
  • If you do not use the html5 player, or are using Internet Explorer, you will need Adobe Flash Player v11 or above.

Plugins

Adobe Flash Player v11 or above.

  • Recommended for watching YouTube videos, especially on Internet Explorer.
  • Required for online proctoring with ProctorU (some Georgia Tech courses only).

Webcam & Microphone

Required for course graduation exit interviews (Full Course) and online proctoring (Georgia Tech).

  • Webcam: 640×480 or higher resolution.
  • Microphone: built in to most webcams and laptops, or freestanding. Not a headset for proctored exams.
  • Proctored exams only: You can check your system satisfies requirements at http://www.ProctorU.com/testitout. You will connect to a live person who will test your equipment for you for free!

Google Hangouts

Required for onboarding sessions and exit interviews with Coaches in the Full Course Experience.

check out the course overview here.

 UPDATE!!!!

this course is, unfortunately, in its present form, a facade. after going through Lesson 1, there was no Lesson 2 to take on. there are also no course materials, scanty instructor comments (it took a student to explain that a “div” means a division), and a zipped package of video downloads that does not unzip. overall, it feels more like a hackers’ invite than an MOOC.

what’s the best thing about it? the hosts — or rather, the instructors as UD248 designates them. they’re wholesome, friendly, and much like your neighbor’s kids. they’re so unlike your idea of coders. they call a block of HTML/CSS code “these guys.”

on toilet paper

toilet paper algorithms

After some self-observation and discussion, we discovered that three different algorithms were in use: large, small, and random.

  • Algorithm Large: Always take paper from the largest roll.
  • Algorithm Small: Always take paper from the smallest roll.
  • Algorithm Random: Don’t think — select the roll randomly

We had assumed that Algorithm Random was most natural. After all, we had bought the dual-roll holder specifically so that we wouldn’t have to think. But were our selections truly random, we would chose each roll roughly equally, so they would both empty at the same time — or close. Algorithm random is not the one to use. To use toilet paper requires thought.

Our self-observations revealed that we really didn’t use the random algorithm — people are seldom random. The most natural: that is, we soon discovered, was to reach for the larger roll. Alas, consider the impact. Suppose we start with two rolls, A and B, where A is larger than B. With algorithm large, paper is taken from A, the larger of the two rolls until its size becomes noticeably smaller than the other roll, B. Then, paper is taken from B until it gets smaller than A, at which point A is preferred. In other words, the two rolls diminish at roughly the same rate, which means that when A runs out of paper, B will follow soon thereafter, stranding the user with two empty rolls.

Algorithm small turns out to be the proper choice. With algorithm small, paper is always taken from A, so it gets smaller and smaller until it runs out. Then paper is taken from roll B, which is full size at the time of the switch.

Yikes. We never realized that you had to be a computer scientist to use toilet paper. Worse, we didn’t realize that thinking was required to select the roll.

from http://www.jnd.org/dn.mss/toilet_paper_algorit.html

 

 more? here’s a preview of The American Mathematical Monthly’s paper on the problem

father of the information age

beware: email phishing

Here is a handy phishing flow chart that can help inexperienced computer users in analyzing potentially dangerous emails. Check out our how to identify phishing attacks guide for additional information and tips on phishing attacks.

The flow chart basically walks a user through the analysis of an email. It begins by identifying the sender and then checking consecutively if the email contains links or attachments and if it requests personal information.

The red end points define potentially dangerous emails while the blue end point an email that is likely safe.

reblogged from loginhelper.com

What things do you do to become the best programmer?

project = findNewProject();
hasProject = true;

while (!dead && hasProject) {
code();
isDone = try(code);
if (isDone) {
project = findNewProject();
} else {
learn(code);
}

reblogged from Quora

graph theory and algorithms

nearing the end of lesson 3 — basic graph algorithms of udacity’s algorithms course and was still fuzzy about how to code the concepts and procedures so went hunting for relevant resources on the web and found Problem Solving with Algorithms and Data Structures by Runestone Interactive.

this online course starts with an intro containing a python review, then goes through chapters on analysis, basic data structures, recursion, sorting and searching, and trees and tree algorithms before ending with the chapter on graphs and graph algorithms. features WebM vids for the self check solutions as well as coding exercises.

another good resource is the youtube graph theory playlist of Mathispower4u:

the playlist covers the brute force algorithm, euler paths and circuits, hamilton circuits and lowest cost path, djikstra’s as well as fleury and kruskal’s algorithms, the complete graph, spanning trees, and the nearest neighbor algorithm.

most Matispower4u vids are based on the Math in Society: A survey of mathematics for the liberal arts major book at the Open Course Library.

the book is downloadable in doc and pdf formats in its entirety or by chapter.  the doc graph theory chapter is here, the pdf version here. each chapter also has its own video playlist. the graph theory video playlist is here.

hope these help you as much as they did me! cheers!

Hackaday

Fresh hacks every day

Don Charisma

because anything is possible with Charisma

The Grand Narrative

Sex, Sass, and Sensibility in South Korea

busankevin

This WordPress.com site is the bee's knees

Piggydb

helps you have more fun with knowledge creation

Ask a Korean!

rebooting a coding journey

Gusts Of Popular Feeling

rebooting a coding journey

I'm no Picasso

rebooting a coding journey

The Daily Post

The Art and Craft of Blogging

WordPress.com News

The latest news on WordPress.com and the WordPress community.