Stalkware App Can Use Facial Recognition Technology to ID Strangers

Make sure you have your masks and makeup handy if you want to keep your online profile separate from your person.  From CNET:
Soon your face could be your calling card. An upcoming app for Android, iOS, and Google Glass called NameTag will allow you to photograph strangers and find out who they are -- complete with social networking and online dating profiles.
Spot someone out and about that you want to identify, and you can capture their face using your device's camera. The app will send the photo wirelessly to NameTag's server, where it will compare the photo to millions of online records and return with a name, more photos, and social-media profiles, such as Facebook, Twitter, and Instagram, where the person (or their friends) might have publicly posted photos of themselves.
And, if you're interested in that person in a more-than-passing fashion, the app's creator -- FacialNetwork -- is working on technology that will allow scanning of profile pictures on online dating sites, such as Plenty of Fish, OKCupid, and Match.com.

Texas Republican Senate Candidate Accepts Bitcoin Donations

From NPR:
Stockman visits the NYC Bitcoin Center.
When Texas Rep. Steve Stockman announced recently that he'll accept donations in bitcoins, he raised some eyebrows. . . . Stockman appeared in a Dec. 31 expressing support for the virtual currency: "I really think digital money is more about freedom,Business Insider, he said his Senate campaign would show support by accepting Bitcoin donations.
" he said, adding that bitcoin is "a fixed amount of currency at a fixed rate, so very good for the markets." According to

Setting aside the question of Stockman's longshot candidacy, his announcement raised a question that has rarely been asked before: In political campaigns, what are bitcoins worth?

Car Hacking on the Rise

From Auto Express:
An increasing number of cars are at risk from computer hackers because of the advanced Internet enabled systems they offer – and the problem could be potentially life-threatening. That’s the warning from technology firm Harman at the 2014 Consumer Electronics Show (CES).
Modern cars have a number of electronic control units (ECUs), which not only control infotainment services, but also the operation of the engine, transmission and safety features such as stability control and anti-lock brakes.
If someone can hack into the connectivity system, they then have access to all the car’s other ECUs because there is currently no physical or electronic barrier between them.

Lawsuit Alleges Facebook Privacy Violations

From PC World:
Facebook has been accused of intercepting private messages of its users to provide data to marketers, according to a class-action lawsuit filed in a federal court in California.
The social networking company scanned plaintiffs’ private messages containing URLs (uniform resource locators) and searched the website identified in the URL for “purposes including but not limited to data mining and user profiling,” according to the complaint in the U.S. District Court for the Northern District of California.
The company does not engage in the practice to facilitate the transmission of users’ communications via Facebook, but to enable it to mine user data and profit by sharing the data with third parties such as advertisers, marketers, and other data aggregators, the complaint said.
Facebook is said to have violated the Electronic Communications Privacy Act and California privacy laws by its intentional interception of electronic communications.  The complaint cites third-party research to back its claim that Facebook is intercepting and scanning the content of private messages.

Torrent Search to Be Included in Ubuntu by Default

From Torrent Freak:
A new scope set to be included in Ubuntu by default will allow users of The Pirate Bay to conduct BitTorrent searches directly from Unity desktop. The tool’s creator informs TorrentFreak that while there is still work to be done, the aim of the scope – which is endorsed by Canonical founder Mark Shuttleworth – is to embed Free Culture directly into the Ubuntu user experience.
In early December 2013 there was a nice announcement for Ubuntu users. Software developer David Callé revealed that a new torrent scope (search addon) for the Debian-based Linux OS was now available.
In the first instance Callé was skeptical about having the scope included in Ubuntu by default since it would inevitably turn up unlicensed content, something he feared would “generate a lot of FUD for Ubuntu.” However, Callé’s fears were quickly addressed by Ubuntu founder Mark Shuttleworth.

Pirate Bay to Go P2P

From Torrent Freak:
The Pirate Bay’s PirateBrowser just hit 2.5 million downloads but the notorious torrent site has much bigger plans in store for the new year. The team behind the site is developing a new tool that doesn’t rely on domain names or server farms. Instead, users will serve as the P2P hosts of the sites, with the system running its own alternative DNS. Today, the Pirate Bay team shares some more details on the technology.

Benchmarks: Teach Yourself Python in Less than Four Months, Part II

In the first post of this series, I developed a self-study time table for beginner Python programmers, using MIT's free online Introduction to Computer Science course as my general guide.  The present article will look more closely at the MIT course to set up learning benchmarks on the basis of the course's problem sets and quizzes.  The next post in the series will provide links to related but alternative text and video resources available for free on the web.

Before jumping in though, let's take a step back for a moment.  MIT is consistently rated one of the top universities in the world for computer science and information systems.  It's courses are challenging, to say the least. But, more importantly for the current context, we should also keep in mind that its courses are geared toward students who are completing degrees in engineering, physics, biology, chemistry and the like. And this orientation is reflected in its Introduction to Computer Science class in the course's focus on scientific computing, and in the choice of topics emphasized in its problem sets and quizzes.

Working through the course on their own, many people may find this aspect of the course intimidating or uninteresting, or simply irrelevant to their own individual learning goals.  The next post in this series will therefore provide alternative resources to supplement the course materials that may prove of interest to people whose primary focus is not on scientific computing. 

In the previous post, I worked out a time table for completion of the course which began by assuming a person would devote 10 hours of work to this project every week, and  finish the course in 15 weeks.  (You can also consult that post for alternative time lines.)  That ten hour weekly work load was broken down in the following manner:

      • Watch the lectures (2 @ 50 mins): ~2 hours
      • Textbook and background reading: ~2 hours
      • Recitation/discussion video tutorial: ~1 hour
      • Homework problems and exercises: ~2 hours
      • Free study tutorials or reading: 1-2 hours
      • Free study independent projects: 1-2 hours

With that in mind, let's set up some learning benchmarks using the course's 3 quizzes as our primary guide, with the interstitial space filled in by its 12 problem sets.  To begin, let's note when the quizzes are scheduled and what topics they cover.  Then we'll have a general sense of how much work-time is necessary to grasp those topics.

Quizzes

Quiz #1 follows the 9th lecture in the course.  You can find its topic list here.  It covers:
  • • Basic computer science terms and definitions: syntax, semantics, straight line vs. branching vs. looping programs etc.
  • • Basic aspects of Python: values, types, expressions, statements, control-flow, functions, scope.
  • • Basic algorithmic techniques: guess and check, linear, bisection, approximation, Newton's method.
  • • Binary representation of numbers
  • • Debugging protocols
  • • Orders of growth  
Quiz #2 follows the 19th lecture in the course.  You can find its topic list here.  It covers:
  • • Big O notation and orders of growth
  • • Sort and search methods and algorithms
  • • Python: values, types, (im)mutability, control flow, functions/methods, recursion, objects/classes, simulations
  • • Basics of statistics: standard deviation, confidence, linear regression
  • • Data abstraction, debugging
Quiz #3 is the course final, and follows the 26th lecture in the course.  You can find its topic list here.  It covers those topics found in the first and second quizzes, and it adds the following:
  • • Call stacks, exceptions, polymorphism
  • • Algorithms: divide and conquer, basing, orders of growth
  • • Simulations
  • • Basic statistics and computational models
  • • Optimization strategies  

Problem Sets

The course also has 12 problem sets.  Here we'll simply note when each is due, and what it covers:
  • 0) Due lecture 2: install python, set up IDLE, write a basic program to get user info, print out that info
  • 1) Due lecture 4: simple debt calculator, bisection search
  • 2) Due lecture 6: successive approximation and a word game, i.e. Newton's Method and Hangman
  • 3) Due lecture 7: debugging, implementing two versions of game introduced in lecture
  • 4) Due lecture 10: implementing a version of the Caesar Cipher
  • 5) Due lecture 12: implementing an RSS feed filter
  • 6) Due lecture 14: simulating a Roomba, using classes
  • 7) Due lecture 16: simulating spread of disease and virus population
  • 8) Due lecture 18: optimization, topic cont'd from previous assignment
  • 9) Due lecture 20: schedule optimization
  • 10) Due lecture 22: clustering to analyze census data
  • 11) Due lecture 24: optimization, finding most direct route between two points
Note: Detailed information on each of the problem sets can be found on the page for the lecture when that problem set is due.  So, the information for problem set 0, which is assigned in lecture 1, is actually on the page for lecture 2

Benchmark Summary

Let's now cross-reference the quiz schedule with the problem set schedule, and estimate the number of hours necessary to complete those assignments on the basis of our time table above.  We see that:
  • quiz #1 coincides with problem set #4 and lecture 10: ~ 40-50 hours of work
  • quiz #2 coincides with problem set #9 and lecture 20: ~ 90-100 hours of work
  • quiz #3 coincides with problem set #11 and lecture 26: ~ 150 hours of work
In the next post in this series, I will detail alternative text and video resources that can be used to supplement the materials offered in the MIT course.