Fun with Microsoft’s Online OneDrive ….

So MSFT…in a last gasp effort to get you to use their software; is offering a newer; slightly more useful version of DropBox. You not only get some free cloud space; but instead of loading you up with a 90-day bloatware trial of Office 365 [as they did last time], they give you trial access to OneDrive.com (sorry no backlink –btw caution; the parody mktg doc im going to try and post HAS active links, one will take right back to the homepage at Tapper7.com; but the rest will take you to #NSFW in any way shape or form sites….just dont click them (crud now I KNOW you will…) anyway lets try n post this….it should be obvious what was weitten by Microsoft Marketing and what was edited by this writer ….Test – see if link to awful parody works ….Getting started with OneDrive parody by Tapper v0
Happy 2017!

Support our sponsor below – help keep The Pick running like a well-oiled ..err… ok I really mailed this one in – better content and a new podcast coming soon – we have new equipment here at SStudios. Woot!


Update – WP doesnt want to post their PDF either – so here is the text in raw cut & paste form – remember I changed the link-rels; (if they work which I doubt…) dont click if at work or want to retain marriage! xD
What is OneDrive?
OneDrive is another shit product from Microsoft. And it’s free[mium] this means it has in-app purchases so we can try to trick you out of your $ or try to convince you to buy crap you don’t need. You get 15 GB of free storage with your Microsoft account, so you can store all types of pr0n in one place and get to them from any Starbucks
Friends & family can easily hack into your OneDrive files, including photos, login credentials, dating Websites and your bank account – even your “secret” pr0n videos, And OneDrive works with Windows and Office (in case you didn’t know that your OS is compatible with our nearly value-less desktop publishing programs such as “Word” “Excel” “Access” and PowerPoint – you may still use these programs if you fell through a wormhole and landed in 1998, so it’s simple to work with OneDrive files on your computer and collaborate with other people on documents. You can do this for free using Google Docs; or if you need to collaborate at the “above two guys running a weed clinic” -level; we have SharePoint; Sun, oops, we mean Oracle also has a far better product for this; but it does MRP/ERP and other useful shit rendering “Office” utterly useless; they call it Salesforce.com. On a budget? Open-source pioneers Apache offer a suite of tools for publishing; drawing; collaboration; dB, spreadsheets and all sorts of other useful functions; it’s called OpenOffice.
The clock is really ticking on our ability to make $ on Office so buy now….please!
Add files from your computer
To add files to OneDrive, just drag them into your computer’s OneDrive folder using File Explorer or Finder. The files will automatically sync across all of your devices that have OneDrive installed (so not your iPhone, your Mac desktop or your Android device (sorry!). So you can drag a photo from your laptop to your
OneDrive—and later open it in OneDrive on your phone. By that we mean the Windows Phone you don’t own.
Add files from your phone or tablet
To add photos and videos on your phone or tablet to OneDrive, use the OneDrive app. Even better—you can also choose to turn on camera backup to automatically save the photos and videos you take to OneDrive. So even if you lose your phone or tablet, you won’t lose your memories!
Add files using the OneDrive website
You can also add files from any computer, tablet, or phone by using the OneDrive website. Just go to OneDrive.com, sign in, and then tap or click Upload.
Share files
You can share individual files and even entire folders without attaching anything. Send an email with a link to what you’d like to share (in case you didn’t know you could already do this using any email client made in the last 25 years)—and rest assured that everything else in your OneDrive will stay private (except for all the people who already fished, socially engineered, brute-forced or simply requested your login credentials). To share items from the OneDrive website, just select the check box in the upper-right corner of the item and choose Share.
See, in software engineering; the requirements were to “add a method to share objects with other users” Sharing takes one step IRL; I hand you my smoke – done. But since this is Microsoft; where we begin sentemnces with words like “but,” “and” ….we build outdated software one wants or needs; our OS will crash if you forget to reboot; perhaps our most famously idiotic OS UI/UX design flaw goes all the way back to our first GUI; Windows 3.0 (which Xerox’s Parc Research Facility allowed us AND a marketing firm called Blueberry [or something] to build a OS’s that would put a PC in every home in America, later the Western World; now nearly the Globe) so it wasn’t us that invented it; but we know when to repurpose software & weasel out of paying! Anyway; as we started to create Windows; the topic of “shutting down” the computer came up….a senior engineer who hated C & C++ (said we should built it in Ada…anyway) he said “we already made “start” button; let’s just put it there.” A pesky C++ programmer piped up and said “…but stop is the opposite of start, therefore one can’t be designed as a subset of the other.” He was promptly fired. We hired another C/C++ guy who nodded and agreed with the sr. Engineer in all the right places; so we released his family from captivity and had the FBI drop the treason charge against him.
Collaborate with Office
OneDrive works with Office, so it’s easy to collaborate [its also easy to repeat yourself 3 times in 2 sentences!). Instead of sending around different copies of documents, you can give other people permission
to edit the document directly (just like any other CMS on the market!). You can even collaborate with people who don’t have Office installed on their computers—they can open and edit documents in OneDrive using Office Online. Of course; we aren’t responsible for other OS’s so the preceding statement is not only untested –if it fails its YOUR FUCKIN PROBLEM JACK!
Get OneDrive on your devices
Use OneDrive on your computer, tablet, and phone to get to your stuff from anywhere. You can download OneDrive apps at OneDrive.com/download.
Where can I learn more? For more info, check out OneDrive.com/about or go to OneDrive.com/support.
Whats the best way to kill myself?
Auto-erotic asphyxiation is in style for winter 2017!

A Die Class that implements Crap…I mean ‘Craps’ in Java ….

I took a step back from cards and decks to see if I could design and build a crap game using some object-oriented design. To play the game, we roll two die. The result is determined by the sum of the two rolls….a number between two and 12. Put simply, seven and 11 means the roller “won,” any other result is some form of push or loss…”snake eyes [2]” and “box cars[12]” usually equate to a bust. We can make up specific rules when we implement the game itself, or change them on the fly. The key concept here the abstract data type I built – Class Die.

Lets think about what a die IS and what it DOES. In computer science terms, we’re going to build a virtual die based on my observation/interpretation of these aspects of this object. For a game of craps, I’m concerned with the die’s current status, that is, what is face up on this hypothetical die right now? What is face up if I create a new one out of thin air? What is face up after I roll it? Compared to a Card, a Die object is relatively simple. While a card has a suit and rank, a die only has a face value. The important thing to consider is that when we roll it, one, two, three, four, five and six should occur with a relatively even distribution – as close to random as we can get. How we determine a random number in this range, how we determine that a computer-generated number is “random” at all is beyond the scope of this discussion; for now …assume that the Java Virtual Machine can in fact do this. We can create another program later to test it, say… a million times and see how evenly the JVM can emulate randomness.

Here are the “body parts” of the Die I created – “face up” I used an integer and called it “state”…to create a new Die I initialized it to have one be face up. Since I need to read the face, I created a “print state” method. Of course, a “roll” method was created — which will change the state (or not! 1/6th of the time….) I also buiis lt a function that will immediately return the current state (to whatever interface needs to use it) as an integer; this is fast and useful once an actual game using dice is built – common coding standards would ask that we call this a “get[State]”
There are probably a few other things a die has and does, in fact, we should have an ability to put the “state” where we want it; a “set” procedure…in terms of the game; this would presumably be some sort of cheating, so we left it out. For now…anyway here is the abstract data type:

package die;
import java.lang.Math;
import java.util.*;
//this is a WIP!!
public class Die{
int state;
public Die(){
state = 1;
}
public void printstate(){
System.out.println(state + " is face up");
}
public int roll(){
int a;
Random roll = new Random();
a = 1+Math.abs(roll.nextInt()%6);
state = a;
return a;
}
public int getstate(){
return state;
}
}//end Die

The way I built this, a main program will have to create two instances of “Die,” roll them, determine a sum and evaluate/output the result. The class above neatly and concisely provides everything we need to play the game. In the code we will create dice using a statement like this- “Die the1st = new Die();” Let’s take a look at what happens when this line is executed.
the = or assignment operator will move from right to left…so the 1st thing that happens is the cpu allocates memory for it (which shouldn’t cost much more than the memory needed to store one integer 16…perhaps 32 bits (???)…the “new” keyword also pulls the constructor method seen above, which will initialize it to have “one” be “face up” …in the class above — Die(){state=1;}

Then we will create a second die, everything I just said will happen again. In the game, we’re gonna roll ’em and figure out what happens. As we build the main class, we will use printState() and getState() frequently to verify that our dice are behaving like we would expect real dice to. Remember, we are creating them in a strictly abstract sense, we can’t hold them, look at them or actually roll them…so we need to poke and prod at these dice as the game goes … debugging the code if anything out-of-the-ordinary happens.

Later we will take a look at the entire source code; for now lets consider some key moments in a single round of craps. The player rolls, he either wins or loses, so we start by calculating the sum.

mydie.roll();
mydie1.roll();
sum = mydie.getstate()+mydie1.getstate();

The above sum tells us what happened. I added a Boolean method to the Die class to determine victory and a branching-if-then-else method to print what happened …

//this is in the main class
currentstack = currentstack - betamt;
if(won(sum)){
System.out.print(" WINNER ");
currentstack*=3;
}
else if(sum==2 || sum == 12){
System.out.print(" OUCH!! ");
currentstack=0;
bust = true;
}
else{System.out.print(" LOSER ");}

Don’t worry too much about the specifics; it should be easy enough to see that, in pseudocode

SUBTRACT the players bank by how much they BET
IF the player WON
MAKE Notification, increase their money
ELSE the player LOST
IF the player rolled SNAKE EYES or BOXCARS
Make Notification, player BUST
IF the player rolled some other value
Make Notification, reduce their money

The rules I used are arbitrary, essentially we want something good to happen if the roll a seven or 11, something bad to happen if not…and something REALLY BAD to happen if they roll a two or 12. As it is set right now, “snake eyes” or “box cars” leads to player bust- in this case they lose everything and the game is over. Winning triples their money, as written and the game continues provided the player has more than $1 to play with. I’ve yet to decide exactly what happens, but really it doesn’t matter. The design allows for any rules regarding what you get if you win, what you don’t get if you lose, how badly you can lose, if/when the player can choose to quit and if/when the cpu will decide to end the game.
the class method “won” is fairly straightforward. TRUE will be sent back if the condition is met.

public static boolean won(int s){
return(s==7||s==11);
}

In the next installment, I will decide on some actual rules, show some sample outputs of the game in progress along with some research to see if the Java Virtual Machine is, in fact, emulating the rolling of two die by writing a special use-case in which we’ll roll each die a million times and see how normalized the randomness really is.

Let’s play…I mean…create a prototype ’13’ deck aka Korean Poker!

If you are like me you played this addictive game at lunch, on the bus, during class…whatever you played it constantly because it’s seriously fun and a great way to pass the time. At Capo Valley, we loved this game because it was winnable even if you were dealt a shitty hand, the game encouraged a great deal of shit-talking and merriment. We’d also enhanced it with “insult rules” such as, while dealing, you throw a few of them face-up, just to piss off whoever you want to piss off. It also lended itself to so much cheating that we overlayed a rule; “If no one saw it, it wasn’t cheating.” Technically that is true in the absolute…the difference is that we encouraged cheating because it added more layers of fun, strategy, dexterity, options to win…the perfect game for college-prep band geeks who think to much and are fiercely competitive.

Common ways to cheat when you re the dealer is place a card you want on the bottom of the deck, dealing, 13 cards to each player beginning with west, you get the final card. Desirable cards include the 3 of clubs (whomever holds this card goes 1st…it is much like other games where whomever runs out 1st wins, going 1st on a good hand could end it). The ace of hearts is valued – any run ending in this card is unbeatable (thus you get to go again). Likewise, the 2 of hearts is valued for being the highest card – it is not unbeatable (a two-killer is a double-run-of-three such as 4,4,5,5,6,6) but it’s always nice to have, especially late in the game when most pairs and runs are likely to be all down. Another great way to cheat it to simply hide a card (or two, or more…) wherever you can hide it. The best place seemed to be under the left thigh or up my right sleeve. Another “layered” rule is that if you are caught cheating you forfeit the game (and winning if gambling is involved) – simply trying to look at other people’s cards is another surprisingly easy way cheat.

I won’t waste time with any more specific rules…most of you have never played it…still, the f-ed up ways to mess with the game applies to all of them (and that only scratches the surface) and you can apply the tenets and ideas in this post to YOUR preferred card game.

On topic – I’ve been brushing up on mu Java programming again so as a thought experiment I began to build a “Card” class (ADT, data-type, etc). Once I got that to work I decided to test it by creating an array (a list) of them and ordering them in the exact order they would go in 13. On higher level of this project are the following:

  1. A Deck Class
  2. A 13 Class
  3. A user-interface for the game itself

For now, I simply used my Card data-type to see if I could use a nested-for loop to populate the deck with cards as they from low to high in the game of 13. Software Engineers know that regardless of language, arrays begin at zero. In an object-oriented mode, I decided that “zero” had so little to do with cards/decks/card-games that I would use a place-holder for it. What else is not used…I mean…in actual card games? For most; the Joker(s), so in the interest of something w/in striking distance of elegant design; (in pseuodocode) 0=(string)”joker”
The following is the output from a Deck prototype, which hints at an actual 13 prototype, which is a thought rxp[eriment for the future…particularly the design of three players who can strategize against me…and..on an absurd level of abstraction…try to cheat me if the opportunity comes up and allow me to cheat the non-player-characters.

Below is the successful output from the v0 prototype of a 13-Deck
run:
whomever gets the 3 of spades goes first.
The following list will create a deck of 52 cards in ’13’ order
1. created the 3 of spades
2. created the 3 of clubs
3. created the 3 of diamonds
4. created the 3 of hearts
5. created the 4 of spades
6. created the 4 of clubs
7. created the 4 of diamonds
8. created the 4 of hearts
9. created the 5 of spades
10. created the 5 of clubs
11. created the 5 of diamonds
12. created the 5 of hearts
13. created the 6 of spades
14. created the 6 of clubs
15. created the 6 of diamonds
16. created the 6 of hearts
17. created the 7 of spades
18. created the 7 of clubs
19. created the 7 of diamonds
20. created the 7 of hearts
21. created the 8 of spades
22. created the 8 of clubs
23. created the 8 of diamonds
24. created the 8 of hearts
25. created the 9 of spades
26. created the 9 of clubs
27. created the 9 of diamonds
28. created the 9 of hearts
29. created the 10 of spades
30. created the 10 of clubs
31. created the 10 of diamonds
32. created the 10 of hearts
33. created the J of spades
34. created the J of clubs
35. created the J of diamonds
36. created the J of hearts
37. created the Q of spades
38. created the Q of clubs
39. created the Q of diamonds
40. created the Q of hearts
41. created the K of spades
42. created the K of clubs
43. created the K of diamonds
44. created the K of hearts
45. created the A of spades
46. created the A of clubs
47. created the A of diamonds
48. created the A of hearts
49. created the 2 of spades
50. created the 2 of clubs
51. created the 2 of diamonds
52. created the 2 of hearts
*QA test* The highest ranking card in 13 is the 2 of hearts
BUILD SUCCESSFUL (total time: 0 seconds)

It works! Created using the Netbeans IDE 8.0.2 on a win8.1 box using the Java SE 8 or Java 1.8 as I call it. SRC follows:

package card;
/** WIP - create a card ADT and enumerate it into a deck
* per "13" rules aka Korean Poker
* @author Tapper7.com last stable build - 12/15 &c ssstudios, los angeles, ca
*/
public class Card{
int suit;
int rank;
Card(){
this.suit = 0;
this.rank = 0;
}//null constr
Card(int suit, int rank){
this.suit = suit;
this.rank = rank;
}//fully-formed constructor to be used when a new card is instantiated
public static void showCard(Card theCard){
//cards are ranked as they are in 13 aka korean poker
//"jokers" hold null memory space so we arent using zeroes
String[] s = {"joker", "spades", "clubs", "diamonds", "hearts"};
String[] r = {"joker", "3", "4", "5", "6", "7", "8",
"9", "10", "J", "Q", "K", "A", "2"};
System.out.println(r[theCard.rank] + " of " + s[theCard.suit]);
}

public static void main(String[] args){
//create an array of cards
Card[] mydeck = new Card[54]; //array is oversized for debug
mydeck[0] = new Card(1,1);       //initialize
//test that the lowest card is created correctly
System.out.print(“whomever gets the “);
Card.showCard(mydeck[0]);
System.out.println(“goes first.”);
//populate the 13 deck in order fro m low to high
int currentCard = 1;
int suits = 1;
int ranks = 1;
System.out.println(“The following list will create a deck of 52 cards in ’13’ order”);
for(ranks = 1; ranks < 14; ranks++){//outerloop the ranks from 3 to 2
for(suits = 1; suits < 5; suits++){
mydeck[currentCard] = new Card(suits, ranks);
System.out.print(currentCard+”. “);
System.out.print(” created the “);
Card.showCard(mydeck[currentCard]);
currentCard++; //increment deck position
}//end inner loop
}//end outer loop
//test that the algorithm put the highest card in the correct index:
System.out.print(“*QA test* The highest ranking card in 13 is the “);
Card.showCard(mydeck[52]);
}//end mn
}//end prototype
thanks for stopping by! and now [below], a word form one of our sponsors

Cal Poly San Luis Obispo News Archive Part 3: Genius Abuse

Let’s take a break from murder and rape for a bit…I want to relate a unique anecdote….this was not a news item but another thing that happened that indicated massive corruption to me early on….

It’s February, a brand new millennium. I have a great professor who had the ability to help me understand object-oriented-design. without his help, I would’ve flunked out of my computer science classes, placed on probation and booted. He’s a good guy, a great teacher. He saved my ass.

He’s also a genius. Unquestionably. with that normally comes w/ quirkiness – strange behavior. This associate professor had worked at IBM, JPL (and subsequently NASA)…most Cal Poly professors have PhD’s…it’s likely required. Let’s call him “Carl” (in honor of Carl Sagan). Carl graduated from CalTech – with the only doctorate they offer: (clinical science and medical science programs are avail, but the MD is granted via UCLA or USC)

From CalTech’s Graduate Program online reference:
   
    Doctor of Philosophy

The degree of Doctor of Philosophy is conferred by the Institute primarily in recognition of breadth of scholarship, depth of research, and the power to investigate       problems independently and efficiently, rather than for the completion of definite courses of study through a stated period of residence. The work for the degree         must consist of research and the preparation of a thesis describing it, and of systematic studies of an advanced character, primarily in science or engineering.

Translation: there is no program….you present a comprehensive study and solution for a real world scientific problem with NO HELP OR ADVICE, all by yourself. Carl never said what it was …considering he worked for JPL it is probably classified.

Carl ended up at IBM because he was head-hunted away from JPL/NASA….they offered him a LOT of money…by the 90s IBM’s market share was being erroded by Compaq, Dell, HP and Gateway. We’ll never know what they paid him but I assure you it was probably triple his salary at JPL.

The problem with IBM is that Carl’s a genius, he doesn’t want to design a better processor to run Windows on….he also doesn’t like the corporate environment-a cubicle? HR seminars? Politics? 25 bosses? deadlines? performance reviews? this doesn’t work for a creative mind that is incomprehensibly intelligent – the right and left brain both firing on all cylinders. Carl was either fired or quit….he didn’t want all that money, but he still needed a job.

So he took one at Cal Poly. Why not? For all the bad things I’ve said about Cal Poly, w/o our Computer Science, Computer Engineering and Electrical Engineering alumni there is no Silicon Valley. No Intel. No Oracle. Graduates can build an operating system; they can create a new programming language AND a compiler for it. For CSC majors, after a brutal 101-103 freshman program, sophomores get the 205-206 brutality slave-labor program (if you don’t LOVE building software, you will quit after 205 or during 206 (Teams of 5 or 6 “get to” build an enterprise system for the university or the city. I had a choice between rebuilding the Cal Poly Computer Science Web Site OR build a card-reader system for the bus-system in SLO (Like a day-pass for OCTA) – YES it has to work and yes it actually gets used.

So the city or the college can farm out every upgrade, problem or project to subsequent students who do it for free! “Learn by Doing” Right?

I’m off-topic, back to Carl.

The two classes Carl taught me were concerned with Object Oriented Design; an abstract way of writing code and structuring it in more of a human way and less of a machine way.* He never demanded outrageous workloads like the other engineering professors, these were lab classes so had to verify our theoretical understanding by assigning real world problems and testing the solutions we designed.  A lab project could take 2 hours, 2 days, 2 weeks, or some (I have one) never get solved.

Carl’s way of teaching (he wasn’t a teacher….as I said) always made it so the complex problems were easy to “divide and conquer” that is, to break a large problem down into x sub-problems, then separate each down into x(squared) easy problems, solve those, which will solve x and assemble the x to solve the original problem. I had to bash my head against the wall for 100 hours a week sometimes just to finish 1 dumb project that someone who “got it” could finish in an afternoon. He gave me confidence, made me feel like “not an idiot” as all the other profs and CSC students had…

I even made a friend in his classes, we had mutual respect for each other cuz we were both getting B’s (that’s a big deal a 2.0 is considered just fine, even though a 1.9 in one 10-week qtr puts you on probation, a 2.0 the next qtr takes you off of it – I graduated with 2.8 – a C+) We also weren’t people who had been programming since they were 5 yrs old. It made me wonder why CP accepted me into the major? I qualified for the Engineering College, but from day 1 it was clear that expertise in math and a love for video games did NOT qualify me to compete with anyone. Had he not taught me QUICK…I’d never made it past sophomore year.

Carl comes in one day. Late for class. He looks REALLY PISSED. This was not uncommon. He was always friendly, but he never seemed happy….he had this blank stare sometimes and I detected something(s) personal or tragic were still bothering him or ongoing. He was red-faced and sweating….he just sort-of paced around the room while we sat there, maybe 5 or 10 minutes.

He was about to say something. He was trying to decide whether or not to say it….most likely HOW to say it

Carl was probably the first to ever come right out and say what I was already feeling at the time about the college: greed, lies, perception – common themes so far.

Finally he relaxed and walked up front.

“How much money do you guys think I make?“——I was stunned. Everyone was. What the FUCK…is he talking anout?

“Seriously…I want you guys to think and as soon as you have a guess call it out.”

Nobody raised their hand or said shit….but I was definitely thinking about it. WE all knew he had a PhD from CalTech, that he’d spent about a decade at JPL/NASA and that he’d come from IBM as a Sr. R&D project manager at IBM….in 1999 his salary at IBM couldn’t have been less that 100k. I knew he’d taken a pay cut….prob a big one to be here…he wasn’t tenured, but this Cal Poly – Engineering – Computer Science. You can’t apply for a job like that. IF they ever need someone….they’ll find an established, possibly world-renowned software theorist. Someone famous among software engineers at minimum.

It was in-between 40k and 60k… it HAD to be. when he started asking us individually, most were guessing between 50k and 80k. That was a bit high, but he was full-time this was his only job.

“Chris – how much?”

“uhhh….you probably get like $50,000 a year?”

Polling the whole class indicated we thought he made about $60,000+. Then he projected the over head on the white-board. It was a copy of his paycheck for the previous month, he’d blacked out his SSN, but everything else was there….more personal info I’d want a classroom full of software engineers to have, that’s for sure. He was payed by the College of Engineering by a payroll clerk, monthly….and it said that he’d been paid $1200 for the previous month.

Ok, wait, what? That’s $300 a week. I knew he was putting in 50 hours easy….that’s SIX DOLLARS an hour. My first real job was at Starbucks…I started in 1997 and entry-level was $6.50 PLUS I got an extra 3-4 bucks per hour in tips. He broke it down that way too.

“I make less than minimum wage….[he went on to explain because he’d been there less than year there was some provision that made him an associate professor but somehow he wasn’t accredited, or some rule change had come through and his monthly check had dropped significantly] …My rent is $1000, this isn’t enough for me to EAT!”

He said he had some money saved up from IBM and that without that and barring a significant change to “What they promised me…” He’d quit. and they he went on at length about how he’d “been cheated,” and “lied to” that “he had offers from other universities when he left IBM but Cal Poly  offered the best incentives to him.”

They said he’d only work about 20-30 hours a week, that most of it would just be office hours, where he could do whatever he wanted plus have access to all the same research tools he’d had at IBM (If anything we probably had better). To become tenured you HAVE to conduct research AND publish…for most it’s commentary in professional or academic journals. If there’s anyone I wish published a book on software design, it’s him. His software runs on the Hubble Space Telescope. He was told he’d make about $45,000 a year with bonuses for student performance, peer-review, admin-review and publishing papers and books. He’d been conducting research and publishing results in professional journals for 20 years, he was still doing so.

Most journals are like online forums, you establish credibility by working and publishing, but the I don’t that JAMA gives any money to doctors for publishing research….it’s just a major honor to have the most respected publication in your profession print YOUR work.

One thing every company or contractor or client I’ve ever worked for either explicitly states- to NOT tell co-workers, supervisors, customers associates what you make. It’s a firable offense at many companies.

This was the first time I’d ever had the inkling that professors were being scammed. Whatever the power structure was…the associate professors are definitely not part of it.

Companies like Sun Microsystems (now Oracle), HP, Intel, Silicon Graphics, Applied Materials, Cisco Systems POURED money into computer science and computer engineering at Poly. Carl left sometime in 2001…the dotcom bubble blew up, but so did the WTC…so whatever $ Cal Poly lost out on from all the big companies that were laying off 1000s of tech workers, most pulled the plug on donations I’m sure, but the DoD, the CIA, DARPA, DIA, FBI and the newly-formed Dept. of Homeland Security MORE than picked up the slack to keep churning out 1st class engineers from 1st class Engineering Colleges….so Cal Poly didn’t lose a cent.

As for Carl…if he had any trouble finding a diff. job when he left…it’s almost guaranteed he was folded back into government software research or a contractor like TRW, KBR or Raytheon.

I’m sure he’s fine. Better off w/o Cal Poly….

*****COMING SOON****** ill mention the professor “acquired” as depy. chairman post 9/11. He worked for AT&T….sort of. During the cold war the DoD got a big security project approved…..In the event of pre-emptive nuclear strike….how would communication lines stay open? The project required that land-lines have multi-tiered failsafes…ever notice that your land-line works when the power goes out? No? cuz of your cell phone…well it does. It was a project that took 20 years. this particular maniac was the project manager. That means reworking the land-line system to withstand hydrogen-bombs landing across the continent would not effect your ability to call Washington from Sunnyvale….that was HIS RESPONSIBILITY. I’ll mention that and a few other changes made post 9/11 coming soon.

*It is still the gold standard for every program used today. Major OOD languages are listed in order:  Smalltalk and LISP, Eiffel, C++, Java, .NET, Python and C#. Java was the the most cutting-edge language, so Carl taught me to write both in C++ and Java. This theory of design is evidenced by the browser you are using to read this, the operating system your iPhone, tablet or console runs on (OS X, ios7, Windows 8, Android KitKat) all of these were designed using objects and implemented using one of these languages or non-object languages that have since been re-designed to BE object-oriented (COBOL, Pascal, VB, Ada and C)