The Internet & the Illusion of Empowerment

Has this idea (from ~2000) aged well? Some parts yes, some parts no.

(This article is one of about 23 that ran as a weekly full-page “ad” in The New York Times.)

FROM: internet archive of http://www.turnpoint.org/ at http://web.archive.org/web/20040325044110/http://turnpoint.org/

Article archive (Word Doc)
http://web.archive.org/web/20000816225354/http://www.turnpoint.org/internet.doc

=============

Photo of Original NY Times Advertisement

The Internet & the Illusion of Empowerment

The computer revolution has been no boon to democracy. It has threatened personal privacy like nothing before, and it’s a serious toxics hazard, too. As for empowerment, let’s call it “corporate empowerment” because they gain far more than you do.

The communications revolution is an odd revolution since all sides agree about it. The conservatives and the liberals, the George W. Bushes and Al Gores, the engineers and the artists, the corporations and the activists who oppose them, accept computers and the internet as empowering to individuals and democracy. But are they?

Continue reading

Leave a comment

Filed under person: Jerry Mander, technology, technology influences

Using a Verizon MVNO like Red Pocket? A Verizon Prepaid phone will probably not work.

There are many things to not understand about how cell phones/plans work! Including:

1. How does Verizon Prepaid work vs Verizon Postpaid? (They get treated significantly differently by the company, including having different plans, customer support, phone prices, etc)

2. How do MVNOs work and what are the special arrangements they have with the carriers (AT&T, Verizon, T-Mobile, Sprint).

3. Is it significant that MVNO traffic (calls and data) get deprioritized when network traffic is high affect coverage substantially? My guess is YES in crowded/busy areas in cities. 2 others CONs of MVNOs include: 1) might not have international coverage in Mexico and Canada 2) don’t usually allow for roaming on other compatible networks

All I *DO* know is that (despite this not being clearly stated at their website)… Verizon Prepaid phones are NOT eligible to be used on Red Pocket Mobile (at least as of as of today, 4/6/2019).

Even if:

A) …your phone is “carrier unlocked” and this is verified via checking your IMEI at verizon phone support.
B) …your phone is definitely not on a “lost or stolen blacklist” checked at verizon/
C) …your phone is not flagged as “lost or stolen” at apple iphone phone support.
D) …your phone USED to work for a year on red pocket. The point is that they have changed (or started enforcing) this restriction.

I *think* the issue is that (per #2) Verizon has a special arrangement with their MVNOs (at least redpocket) that they do not allow VZ prepaid phones to be used. In other words, Verizon Prepaid phones are only truly “GSM Carrier Unlocked” or more accurately “unlocked to work on any other network except our own when used with an MVNO” (since Sprint is also “CDMA” and really Verizon is retiring their CDMA network at the end of 2019. Everyone is LTE (“4G”) anyway.)

Luckily, I was able to have the very friendly redpocket customer support PORT my phone number from a RP CDMAV (Verizon) SIM to a GSMA (AT&T) SIM.

Next time I will only buy FULLY UNLOCKED/FACTORY UNLOCKED phones because it is not worth the hours of hassle dealing with mysteriously not-quite-working phones (due to network issues) and the back and forth with customer service. My suggestions are:

1. iPhone SE (iOS) — great little phone, look for one that says “CDMA/GSM unlocked”. Still possible to find refurbished ones on Amazon / Gazelle / etc.

2. Moto G (Android) — these typically come fully/factory unlocked and have worked flawlessly for years.
I have a G4 from a few years ago, but they are on G6 or G7 now.

Leave a comment

Filed under erik-reviews, reviews, technology

Location Privacy on cell phones/mobile devices … iOS and Android

There is a NYTimes article and podcast about location data privacy out yesterday.

They also give some advice about how to make sure you are not sharing more than you think you are. With some instructions for iOS and Android. Unfortunately, the Android instructions are really focused on Android 9, which many people will not have.

Android Steps:

0. Consider giving up and buy an iPhone! I personally buy “fully unlocked iphones” that are refurbished — just make sure it notes it is covered by an Amazon warranty. Apple seems to care more about privacy. They are not an advertising company like Facebook and Google.

1. Make sure you have location sharing and location history turned off in your google account. You can do that via your phone “Settings… Location” or via your google account via the website — https://myaccount.google.com look under “Personal info & privacy … Location sharing” and “Activity controls … Location history”

2. Then, since you probably don’t want to turn off “Location” completely, make sure you have gone thru EVERY app and made sure it is not using location in PERMISSIONS. Here is how to do this in multiple versions of Android.

Best guide I’ve seen for Android 6-9 (Marshmallow, Nougat, Oreo, Pie)
https://www.androidpit.com/how-to-stop-android-apps-accessing-your-location#pie-apps

Some specifics:
Android 7 (Nougat) — https://www.tomsguide.com/us/manage-app-permissions-in-android-nougat,review-4116.html
Android 8 (Oreo) — http://www.tomsguide.com/faq/id-2316485/enable-google-location-reporting-android.html

To check which version you are running, go to Settings and go to the last item “About Phone” and it should tell you.

3. If there IS an app you want to share your location with (like Google Maps or Waze) make sure to QUIT the app when you are not using it — (Click the SQUARE and swipe right on the app)

4. To see actual location requests — go to “Settings … Location” and you will see a list of “Location Requests”

5. As reported, Google also collects location data, obviously (in google maps, and maybe can in android generally?) and uses it (I suppose for targeting ads) but supposedly doesn’t sell it.

Leave a comment

Filed under Uncategorized

EVs

Folks, EVs are definitely going to take over. Even without rebates/tax incentives.

1. Such high MPGe. The Prius Prime (for example) is rated 133 MPGe for 25-30 miles before it has to use the gas engine which gets 52 MPG. And I regularly get 168 MPGe. (The car reports 5.1 KWh/mile and using roughly 33 conversion… that’s 168.) I suppose I should adjust downward to take into account that the charger is not 100% efficient… so that’s maybe why something closer to 133 is more accurate? So that’s roughly 2.5 times more efficient with energy than a standard Prius getting 52 MPG.

2. Easy to offset for green energy. MA for instance already has a great program that automatically charges your credit card a little extra to turn you into 100% wind energy. So now your car is wind powered.

3. Other stuff: Quiet. No gas-station visits. Low-end torque/acceleration from 0-30MPH in traffic.

Leave a comment

Filed under car, erik-green, EVs, green

Fun with lambda calculus in Javascript

I would argue that Computer Science introduction courses should be using Javascript, not Java or Scheme, in many of their introductory courses.
1. Runs in a browser! Nothing to install!
2. Lambda calculus in ES6!
3. One could use the classic text and convert examples to javascript — it would be a good proof of understanding of the Scheme/Lisp.

I guess one could argue which has more real-world applicability — Javascript vs Java, but we all know one could learn either in a few weeks on the job.

EXAMPLE IN SCHEME/LISP from the classic:
Structure and Interpretation of Computer Programs, by Abelson, Sussman, and Sussman

ch1-Z-G-27.gif

(define (inc n) (+ n 1))
(define (identity x) x)
(define (sum term a next b)
  (if (> a b)
      0
      (+ (term a)
         (sum term (next a) next b)))) 

(define (sum-integers a b)
  (sum identity a inc b))

Then we can add up the integers from 1 to 10:

(sum-integers 1 10)

55

HTML HERE: LINK

MY EQUIVALENT JAVASCRIPT (utilizing ES6 “arrow functions”) IN THE CHROME/FIREFOX CONSOLE   (run on codepen)

inc = (x) => ++x;
identity = (x) => x; // for simple test with sum_integers below
sum = (term,a,next,b) => {
  if (a > b) 
    return 0; 
  else 
    return term(a) + sum(term,next(a),next,b); 
}
sum_integers = (a,b) => sum(identity,a,inc,b);
sum_integers(1,10);
55

ENGLISH

sum – a function which takes 4 arguments:
1) term – a lambda function describing how to evaluate each item
2) a – start with
3) next – a lambda function describing how to get to the next value between a and b
4) b – end with

To continue with the example from the STRUCTURES book…

SCHEME/LISP:

We can also define pi-sum in the same way:

(define (pi-sum a b)
  (define (pi-term x)
    (/ 1.0 (* x (+ x 2))))
  (define (pi-next x)
    (+ x 4))
  (sum pi-term a pi-next b))

Using these procedures, we can compute an approximation to pi :

(* 8 (pi-sum 1 1000))
3.139592655589783

JAVASCRIPT:   (run on codepen)

pi_sum = (a,b) => { 
    let pi_term = (x) => 1/(x*(x+2));
    let pi_next = (x) => x+4; 
    return sum(pi_term,a,pi_next,b); 
}
8 * pi_sum(1,1000);
3.139592655589783

Cool! Of course to me the original is being a bit more difficult than it needs to in explaining this concept by
1) obfuscating with the naming of arguments
2) one-liner silliness
3) adding recursion into the mix

But OK. We’ll forgive them! Onward with the javascript!


RELATED ELSEWHERE:
TL;DR – Lambda means “function used as data”

Leave a comment

Filed under programming

Social Media and Variable Ratio Reinforcement Schedules

Why social media is addictive:

“Intermittent reinforcement works better. … 9 of out 10 things in my feed are complete garbage—last week’s newspaper lining the birdcage with the droppings already on it—but then once every two weeks I find out my niece is engaged or my best friend got a great new job or my oldest friend is in town and I should make plans to hang out. And now no matter how full the Facebook feed is of bird droppings I still have to keep going back.”
Joel Spolsky

“It’s a social-validation feedback loop … exactly the kind of thing that a hacker like myself would come up with, because you’re exploiting a vulnerability in human psychology.”
Sean Parker, first president of Facebook

“[I]f you are addicted to social media, you are not just weak willed. Console yourself by realising that you are instead a pigeon, in a box, pecking at a lever interminably.”
B.F. Skinner Likes Your F.B. Status

“Variable ratio: rapid, steady rate of responding; most resistant to extinction.”
Operant Conditioning: “Reinforcement”, Wikipedia

Leave a comment

Filed under social media

Erik’s coding/software engineering links for Feb 2018

1. Avoid Else, Return Early
COMPLETELY AGREE! I learned this basic idea from a grad-student teaching Freshman CS201 Pascal in 1988

2. Ranking in SQL using self-joins is a silly solution O(n^2) LINK

3. Cool SQL solutions to “top N per group” issue

4. Organization skills beat algorithmic wizardry

5. You’re scaling your app too early

6. RAM is cheaper than software engineers
“given sufficient RAM that it never has to go to disk. I’m hoping that it will run fast enough that my friend won’t have to pay his contract programmer to improve the performance.”

7. What goes into a good job ladder

8. “Most of the “methodology” issues in today’s software engineering/development industry were solved decades ago by practitioners of systems engineering while building rockets, etc. Good resources: http://www.incose.org‘s Systems Engineering Body of Knowledge, NASA’s Systems Engineering Handbook, MIT’s Systems Engineering Fundamentals.”

Leave a comment

Filed under programming