Most likely, you,too, have experienced homicidal urges when confronted with a problem you have spent five hours trying to solve on your computer, only to call tech support and have them report,

Well, it works fine on my computer.

You’d think if that solved the problem that they would offer to box up their computer and send it over to your house but, alas, they never do.

This is the reason that any software I use for class I test on several computers under different conditions. After having initially failed to get SAS On-Demand for Enterprise Miner to work with boot camp on the Mac, I tried it on a Lenovo machine running Windows 8. I had to install the JRE and ignore a few security warnings, but after that it worked.

[For how I did eventually get it working with boot camp, click here, and thank Jason Kellogg from SAS. ]

Next, I needed to upload some data. The SAS instructions say to use your favorite FTP client and coincidentally, I do have a favorite FTP client (Filezilla), so I downloaded it to the testing machine.

Only the professor can upload data to the class directory, and most professors probably have an FTP program on their personal computer (or maybe not, do you?) Even if you normally do, you may, like me, have borrowed a machine to use for testing or have a new computer. Whatever, this just reinforces my argument that you should never, never plan to use any kind of software in a class unless you have ample time to prepare.

I know that there are schools that ask adjuncts to teach on a week or two notice. That seems to me a recipe for disaster for both the professor and students, unless maybe you are doing something that hasn’t changed in 50 years and requires no technology,  like reading Chaucer, I recommend you follow the advice of Nancy Reagan and “Just say no.”

Here are my first few hints:

  1. Test the software on multiple machines and multiple operating systems.
  2. Make sure one of those machines is on the older, under-powered end of the spectrum, as students often don’t have a lot of extra cash and may not have the shiniest, newest machine like you have on your desk.
  3. Test it on the latest operating system. It may turn out that the version your school has does not work with Windows 11. (I did not have that problem with the Enterprise Miner this time, but I’ve had it with other software in the past so it is a good idea.)
  4. Find out what other software you might need, for example, some kind of FTP program in this case, and install it on your computer, if necessary.
  5. Give yourself plenty of time to do all of the above.

You might think these types of things would be handled by the information technology department at your university, and you may be really lucky and that will be so. In many schools, the IT department basically helps re-set passwords, assigns school email addresses, helps to get discounts on software and upload files to Blackboard and not much else.

For years, I have been trying to figure out where the $50,000 a year or so tuition goes. It isn’t to adjunct professors and it isn’t to the IT staff. It also isn’t  to buying the latest technology because, more and more often, students are expected to bring their own device.

You may think that none of the above should be your job and you may be right, but I am just saying if you want to anticipate the frustrations your students will experience and be able to solve their problems during the lecture by directing them to a link on your class website/ blog your life and theirs will both be a lot easier.

 

A while ago,  I posted about Women in Tech, the double standard where women have to be twice as outstanding to be a keynote speaker, for example. The past year, I’ve been really cutting down on travel, for example, I didn’t go to either SAS Global Forum or the Joint Statistical Meetings, because I’m focusing on 7 Generation Games, which is growing fast.

Then, Frank and Ethan contacted me and said,

Hey, we need a keynote speaker for the Western Users of SAS Software conference. Are you busy?

Some discussion ensued during which they elicited a binding oath not to swear, threaten or otherwise defame any individual or company during the presentation and they promised me travel expenses, an unreasonable quantity of the adult beverage of my choice and a box of cookies.

chocolate chip cookie

 

This was definitely an offer I could refuse. I do have an MBA, after all, and the compensation does not exactly rival my normal hourly rate,  in fact, it doesn’t beat the hourly rate of the young person who made this coffee I’m drinking.

Coffee

Still, after ranting (more than once) about how women are not visible in Silicon Valley, I felt too much of a hypocrite to turn down the opportunity to be the keynote speaker at a software conference in Silicon Valley -adjacent San Jose (cue all my friends who graduated from  San Jose State insisting it is indeed Silicon Valley, to which I reply, “Ha!”)

The presentation is

“LEAN IN” WITH SAS

A major reason for learning SAS (and why I teach it to students) is that it can prepare one to do something else.  SAS can be a great gateway drug for other programming languages and a career as a developer. Too many people are hesitant to take that next step. Why?

See, you always thought I just made stuff up as I went along, but no I have actually an entire title and four sentences six months in advance. (Why? is a complete sentence as decided by me, the grammar supreme court of this blog).

Now, I have to go read that book, Lean In, for two reasons:

  1. If I’m going  to reference it in the title, I probably should have read it.
  2. My initial reaction to having to read it was, “Oh great, another book on success by some privileged idiot who was born on third-base, thinks she hit a triple and now is lecturing the rest of us on how to get home runs. ” It occurred to me that my reaction was solely based on what I knew about the author. However, I was raised with the belief that all prejudice is wrong and that includes bias against rich, white people as well as against poor, black people. As penance, I am now going to go read the book. If it truly does suck, I will let you know. I hope you all appreciate this.

 

Frank and Ethan, I also want you to note that I did not swear in this post, not even once.

You’re fucking welcome.

Thank you to Jason Kellogg from SAS Technical Support, SAS On-Demand Enterprise Miner is now running on my Mac using Windows 8.1 with boot camp. Here were his instructions.

Note, this is after you have a SAS profile, registered a course, changed the security settings in Java, now you are here

The steps are:
  1. Download and save jre-6u24-windows-i586.exe.
          http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jre-6u24-oth-JPR
  2. Open the Windows Run window and run
"C:\users\[userid]\Downloads\jre-6u24-windows-i586.exe" STATIC=1
          where [userid] is your user account name
  3. Click OK to start the installation
  4. After finishing the installation, on the desktop, 
right click empty area and select “Create Shortcut”
(NOTE: on Windows 8.1 this was NEW and then SHORTCUT)
  5. In the location, Browse to Desktop and click Next
  6. In the next screen provide name of shortcut, 
for example “Enterprise MinerJWS”
  7. Once the shortcut is created, Right Click and select Properties.
 In the Target enter the following:
"C:\Program Files (x86)\Java\jre1.6.0_24\bin\javaws.exe"

 https://academic93.oda.sas.com/SASEnterpriseMinerJWS/main.jnlp
  8. Click Apply

You now have a clickable shortcut to Enterprise Miner. Please use it when starting Enterprise Miner.

This worked and I now have SAS Enterprise Miner working on my laptop, which is going to be extremely convenient.

PLEASE NOTE THAT ALL OF THE QUOTATION MARKS NEED TO BE THERE OR IT WILL GIVE YOU AN ERROR.

ALSO,  under #7 that is all one command.  I had to break into two lines on this blog to be legible.

 

Although it was still a huge pain in the ass to get started, it is leaps and bounds ahead of the first time I tried Enterprise Miner years ago.

 

chicken

Back then, it required back flips and sacrificing a chicken (okay, finding a machine running Windows XP, installing a bunch of files – just take my word it was a pain in the ass).  As for the on-demand version, it was so slow as to be useless.

In contrast, once I got up and running, it was not bad at all, and that was running off the wireless in the office. Now, our internet speed is good here, so your mileage may vary, but at least under good conditions it runs fine using a small dataset.

So, I just uploaded a dataset with 10,000 records and 6,000 variables. We’ll see what it does with that.

==== Random shameless plug =====

When I’m not playing around with statistical software, I’m running a company that makes adventure games to teach math. If you want your children to do something educational this summer, you can buy a copy here for $9.99.

 

A few years ago, when I was at USC, I tried to get a desktop version of Enterprise Miner to run on a virtual machine on my Mac and that never happened, although I did get it working on a Windows machine I had at home.

Last week, I wrote about my failed attempt to get SAS Enterprise Miner from SAS On-demand to run on a Mac running Windows under boot camp.

Since then, I have successfully installed Enterprise Miner and started it using a Windows native machine.

Sadly, the same cannot be said for my Macs. Using boot camp on two different Macs, one running Windows 7 and another with Windows 8.1 I have had the same problems.

Be aware that if you are going to run Enterprise Miner on any operating system you are going to need at least some idea of what a C: prompt is and feel comfortable poking around things like .dll files.

You might think that this can be assumed and goes without saying if you are teaching, or even taking, a course in data mining. You would be wrong. Nothing can be assumed or goes without saying. Trust me on this.

I am not going to assume that you checked your configuration and the appropriate Java Runtime Environment is installed. If that is not the case,or you are not sure, go here and take care of that now. (See how this not assuming thing works?)

If that is taken care of, regardless of operating system, you will probably have a problem on Java security blocking the application from starting.  For me, changing Java security setting to medium fixed that on all 3 machines. I tried several other things that did NOT fix it. To find your Java security settings, you can go to the control panel (in Windows 8, search for control panel first) and then search for Java with control panel. Click on Java, then the security tab to find the slider to move to medium.

At this point, the Windows machine worked, even though I had to click on several boxes where Java asked me was I ***SURE*** I wanted to do this.

With the Mac though, after I click on Start SAS On Demand Software, Enterprise Miner – it downloads a main.jnlp file which when I open  it,  I eventually get a message an error exists in the user services configuration. You can see screenshots here The same exact problems occurred with both Mac computers running boot camp.

The ever-helpful Rebecca Ottesen said that two of her students using Macs last semester had the same problem and sent me an email directing me to this site.

So, I did a PROC OPTIONS in SAS, which I had loaded on my desktop and verified that the .dll file was located where expected

— and this led me to thinking, wait a minute, my students aren’t going to have SAS loaded on their computers so what are THEY going to do to troubleshoot.

That was kind of a moot point, though, because …

When I got to step 3 and type in the command as directed in the exact directory directed.

C:\Program Files (x86)\Java\jre1.6.0_24>java -fullversion

I get the error message ‘java’ is not recognized as an internal or external command, operable program or batch file.

Now, there could be any number of other things to try but the fact is, I have other things to do and the course is not for a few months. I will keep plugging away and keep you abreast here. If I do decide to go with Enterprise Miner in the fall, I am sure these posts will be helpful references for students.

I do want to advise anyone who is thinking about using the on-demand version of Enterprise Miner to be aware that you are definitely going to have at least a few problems with getting it installed, for example, the security thing, and if you have any students using boot camp, they are going to most likely hate you.

I picked up Guy Kawasaki’s book, Reality Check and was immediately turned off by his assertion that Silicon Valley is a meritocracy like nowhere else on earth, that it doesn’t matter what school you attended, how much money your parents have, as long as you can code. A few pages later, he quotes approvingly a venture capitalist who “gets it”as funding “Guys under thirty making a product they want to use.” Kawasaki says, “Amen.” So, let me get this straight – Silicon Valley is a meritocracy as long as you are a guy under thirty. As The Invisible Developer commented when I read him this,

“He’s assuming then, that only men under 30 have money?”

Or, alternatively, whatever it is that men under 30 want is going to be a hit with women and older people because … Excuse me while I call bullshit on all of this. Perhaps the problem is that we have too many products made by guys under thirty. Let me tell you a few things that a lot of women (and men) over thirty want. They want their children to do their homework. They want their kids not to fall behind over the summer and have to re-learn a few months of material in the fall. They want to not fight with their kids about doing their schoolwork. That’s why (among other reasons), we decided to do an adventure game that teaches kids math. Last week, we were at a conference for CABE – the California Association for Bilingual Education – giving a presentation on educational games to teach math to students for whom English is a second language. folklorico dancers at CABE With over 500 participants, most of them female, most of them over 30, there was a healthy degree of skepticism about the educational games on the market. As several of the parents (mostly mothers) in attendance commented,

The kids like playing them, but are they really learning anything?

Maybe these games were the ones guys under 30 would like to use, but teachers and mothers were not so enthusiastic. We’ve had venture capitalists tell us that “the education space is so overcrowded” but we don’t see it that way. It is overcrowded with apps you can knock off in a weekend, that are, like James Gee called them, “Shooting and spelling, shooting and multiplication, shooting and — ” It did not seem to be so crowded with software that really educates. Another venture capitalist asked me,

“Education? Hasn’t the Kahn Academy already cornered that market?”

To be fair, this man’s area of investing had nothing to do with education, but he isn’t the only one who has made that comment, a comment that would not be made by most mothers, or teachers, who have actually tried to get a fourth-grader to listen when she was standing over them explaining division. I really like the Kahn Academy but believe me, it has not cornered the market on K-12 education. I have three points:

  1. Silicon Valley is NOT  a meritocracy when you can start out by saying you are only going to fund a very narrow slice of age and only one gender. The lack of ethnic and racial diversity speaks for itself. There are people who hold a world view that says an overwhelming share of the merit is held by white or Asian males under 30, that males receive 98% of all investments because they are just, well, better, and that is why African-Americans, Native Americans and Latinos almost never get funded. I’m not one of those people.
  2. Women and minorities  are not afforded the same luxury of failure that Kawasaki so lauds in his book. Where else could you fail spectacularly and then go on to succeed in your third or fourth try. However, there are a great many articles documenting “constructed criteria”, that is, we’re not prejudiced, it’s just that he/she was not successful at a previous start-up, doesn’t have a degree in computer science, doesn’t have experience in this industry. Those same flaws, though, are not a problem for the “right” demographic.
  3. By focusing on a narrow demographic, products are made that don’t reflect the needs and interests of a large swath of the population, like mothers of school children, and teachers. Educational products made by people who have never been in a classroom often begin with the assumption that teachers are the problem and technology is the solution. Funding people over 30, and women, to make products THEY would want to use is a missed opportunity.

This conservatism in funding in Silicon Valley is especially amusing since so many people want to be “disruptive” , “innovative” or “revolutionary” but they want to do it by funding the same type of people to do the same type of things. I remember, advice from my MBA program.

“Always remember, ladies and gentlemen, while Burroughs had all of its engineers hard at work making a better adding machine, Steve Wozniak was in his garage inventing the Apple computer.”

Twenty-five years later, it looks like even more brilliant advice. Maybe investing in the people who you think are going to make the next Facebook or the next Google is a lot like Burroughs trying to make a better adding machine.

Grandmother This is what we do every day – buy our games and see what people over 30 want to make.

 

P.S. The book isn’t completely worthless. There are some good parts, and the chapter The Inside Story of Entrepreneurship by Glenn Kelman, CEO of redfin, is the most accurate thing I’ve ever read about running a start-up. You should read it.

A couple of days ago, I ended my post with

 If you have a 25% probability of a job developing into something better, and you consistently have a job for years because you have no choice, then the odds are in your favor that you will eventually improve your situation unless … but that’s my next post …

I lied. My next post was on trying to get SAS Enterprise Miner to work, but that is actually related to my point. Alice in Wonderland is one of my absolute favorite books, and not just because it was written by a mathematician.From the Red Queen’s Race:s

“Well, in our country,” said Alice, still panting a little, “you’d generally get to somewhere else—if you run very fast for a long time, as we’ve been doing.”

“A slow sort of country!” said the Queen. “Now, here, you see, it takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!”

How does this have to do with your career? If you aren’t constantly learning new information, you’ll fall behind. That’s why my last post was on SAS Enterprise Miner. I haven’t tried the SAS On-Demand version in well over a year and now I am trying to install a newer version. Mostly, the past few months, I’ve been working with javascript with a bit of PHP, CSS, HTML and SQL thrown in, working on our latest games. The Invisible Developer does the 3-D part and I do almost everything else.

The main reason I teach (it sure as hell isn’t the money!) is that it forces me to stay up to date on the latest software and statistical methods.

Some people do teach from the same yellowed notes every year – I knew a professor that joked he wrote his notes on yellow legal pads so that students couldn’t tell when he’d been using them for years. However, it’s a big mistake, for you and your students. I am shocked by the number of schools using Windows XP – they’re educating (and I use the word loosely) their students to use an operating system that doesn’t even resemble what they’ll be expected to use on the job.

Here is the unless … unless you fail to ACTIVELY seek out opportunities to learn and increase your skills and knowledge. It is so, so easy to fall into the “I’m so busy” trap. I have been really busy. A few months ago, I bought a new laptop and installed Windows 8, because even if you could buy an older operating system (and people do), that’s a mistake. You might as well announce, “I’m too lazy to learn.”

When I went to the schools that had just gotten Windows 8, I at least knew enough to install and test our games on their computers. Because I had tested on my new laptop, I could state positively that the games were compatible with Windows 8.

Realizing I hadn’t updated my Mac desktop operating system in a long time (remember, I’m so busy), I finally bit the bullet and did it and then some of my other software – garageband, iMovie, office – was out of date. So, I updated that, too. Realizing I was using Graphic Converter 6 – and version 9 is available, I updated that also. Much swearing ensued as options I was used to using were no longer there, menus were different. I can’t even say that I found any of the changes to be improvements for my uses. That’s not the point. The world isn’t changing for me and three years from now, if I am working with a school, student or client, whether  they have Windows 8, iMovie 11, SAS 9.3 or Office 2008 I will have enough familiarity to work with them.

I made my first website with Netscape Composer (anyone remember that?). Then it was Adobe GoLive, later replaced with Dreamweaver. Now, I switch between Dreamweaver, Webstorms and Textwrangler.  At one point, frames were the thing, then templates, now CSS  - and that’s just websites.

I tried using Ruby for some programming tasks, but I really needed to do more text mining, I thought, so I tried out a couple of data mining packages – Enterprise Miner is the latest, and I’m looping back to that after having looked at it and decided it didn’t fit what I needed a couple of years ago.

After a problem with dropbox, I signed our company up for Google Apps for Business and we have been using Google hangout for meetings, Google drive for document sharing and backup, etc. We just signed up for a trial of base camp for a couple of projects to decide if that would be a good addition for project management.

I’m testing out both Fargo.io and evrybit (as an alpha tester) .

Here’s the take away message – no one told me to do any of this. No contract required it. I actually agreed to teach the data mining course because I knew it would force me to evaluate different tools on different operating systems. I keep a stack of technical books under my bed and try to read every morning as I have my first cup of coffee.

It’s not enough just to do whatever your job is – you need to know how to do what your job is becoming.

New semester coming up when I will be teaching data mining.  Because I never do anything at the last minute, I’m registering my course and testing the SAS on-demand for Enterprise Miner now.

I have learned from experience not to ignore it when the instructions say to check your configuration. You should find how to do that here.

http://support.sas.com/ondemand/emconfig.html

The first step is to open a command window and see if you have the appropriate Java Runtime Environment installed (JRE). Haven’t had to do anything from a C prompt in a while. On Windows 7, go to the start window at the bottom left of the screen and type in Command in the search box. Command prompt should pop right up.

I followed the instructions and it seemed my JRE was hunky-dory but the first time I started SAS On-Demand with Enterprise Miner it told me my Java was out of date. I went ahead and downloaded the latest version and installed it.

Your mileage may vary but total time getting up and running was about 2 minutes – but don’t get excited yet.

I clicked on start SAS Enterprise Miner and I got this message

Security warning from Java

I clicked RUN anyway but it was blocked from running.

So … I went into the control panel, typed in Java to search the control panel and in the Java security settings added the SAS on-demand login site as an exception. Still no luck.

Next, I went and changed the Java security settings from high to medium. A lot of people would not feel comfortable doing this, but I at least wanted to get Enterprise Miner to work. I could always set it back later.

At this point, I actually got Enterprise Miner to sort of start. That is, there were a couple of screens of security warnings I had to accept and then I got this error message.

error1

After this message, I got another saying the components failed to load.

failed to load

Perhaps, I thought, I should not have updated Java. So, I went back to the configuration instructions, checked to make sure I had a 32-bit JRE even though I have a 64-bit computer (check).

I went and downloaded the recommended version of the JRE from the Oracle site which required me to create an Oracle ID.

After that was downloaded and installed, I went to the Java control panel and disabled the later version so only one version of Java was installed …

and I got the same error!

 

I checked the SAS documentation and it recommended clearing the Java cache. I did that. I got further that time with lots of messages about downloading the application and verifying the application, but just when I was getting excited, it came up and asked me if I wanted to run with an older version of Java. I picked to continue with the older version. After some more security warnings, I got the same error messages as before.

So … I went through the whole circle again, cleared the cache, started again, selected the newer version of Java – and still the same messages.

It’s past midnight on Memorial Day weekend, so I’m not going to bother calling SAS technical support. I have a laptop running Windows 8, so I’m going to try installing it on that tomorrow and see if I have any better luck.

One thing is pretty clear – my students in the fall better have a lot more familiarity with computers than just pointing and clicking or they are going to have a really hard time – and I still haven’t gotten Enterprise Miner to run!

P.S. At one time, years ago, I had gotten SAS Enterprise Miner to run with version 1.6.0_18    so I tried that and it also failed to start with the same error messages.

I’m running on boot camp on a Mac.  I have a Windows laptop, so I’ll try it on that tomorrow also and see what happens.

I am suspecting this is going to be a disaster, but I’m hoping to be mistaken.

A friend of mine commented on one of his young employees as,

“The worst combination you can get – someone who isn’t interested in the work and doesn’t need the money.”

There are lots of advantages of being born into a well-off family. Your family can provide you introductions to get your first job.  You can take low-paid or under-paid internships or research assistant jobs to gain valuable experience. Your parents can pay your rent so that you can afford to live and work in Manhattan or Santa Monica or Menlo Park while you are getting a foothold in the industry.

There is one advantage young people raised in poverty may have, though, and that is that they really need the money.  Those tales of working your way up from the mail room have an element of truth in them.

Recently, I was interviewed about my first job. I was a dishwasher and the manager actually  told me that they hired me because I was willing to wash dishes and didn’t seem to be obviously crazy, unlike some others they had interviewed. I was in high school, broke and had no experience doing anything.  I showed up every day and worked because I needed the money. Before too long, I got a job as a waitress. When I left there, it wasn’t too hard to find another waitress job, because I had experience.

In college, still broke, I had a series of temp jobs. First,  I worked for a law firm and part of my job was to replace pages in binders with the correct pages for laws that had been changed. This was before the Internet and word processors. The filing was boring as hell. I showed up every day and worked because I needed the money. After a while, I got bookkeeping jobs which were less boring and paid much better.

I could go on, but you get the point – most places I worked, I started out what people who had the luxury of thinking such things would have thought beneath them. I was a student at a top university tearing pages out of books for minimum wage. I didn’t have that luxury, though, and what I thought was that this would pay for groceries so I could eat this week.

Often, I have seen people who could have had promising careers start in the mail room (literally or figuratively) and do a half-ass job because who cares how I sort the stupid mail. Their attitude is that once they get a job that matches their ability and interest, they will put in the effort. Unfortunately for them, not many bosses are going to make someone an accountant or branch manager if they screw up sorting the mail. Most bosses are more likely to hire someone they know than a random person off the street – and by being in the company in that job that was beneath those people who had a choice, I was someone the boss knew.

Even as a teenager, I found it a bit annoying when my friends scoffed that they were not going to wash dishes/ work in fast food/ be an office drone, even though I agreed with them that those jobs were menial and didn’t require any of the education we had gotten. Now that I have to deal with The Spoiled One, I realize how annoyingly immature it is to have someone tell me what they are NOT going to do, especially when that someone wants me to give them money.

Want a better job? Work hard at the crummy job you’ve got.

This isn’t to say that I never had a rotten job with a rotten boss that didn’t get any better. I did. In those cases, I quit as soon as I got another job.  I had to get another job because of the whole having no money thing. Here’s something I’ve learned as a statistician – probability. If you have a 25% probability of a job developing into something better, and you consistently have a job for years because you have no choice, then the odds are in your favor that you will eventually improve your situation unless … but that’s my next post …

I was asked to comment on how my use of social media contributed to my career as a statistician and since, either

a. It was too good to not post

b. I was too tired from the four presentations I had to do this week plus taking my grandchildren to Disneyland to come up with an actual blog post …

… I decided to post the answer here —————————————

In short, it sounds like the time invested in my blog is a bad idea – but wait for the punchline at the end …

 

My website gets about 1.3 million visits a year, and over a million of those are to my blog. As a consultant, I have received a few contracts from people who knew me from my blog. However, I have been in business nearly 30 years, so far more are from personal referrals.

I get far more requests to speak at conferences as a result of my blog than actual offers of work. Because I often work on grant projects that have dissemination as a requirement, those invitations are helpful and they usually pay my expenses (or I don’t accept).

Occasionally, someone who reads my blog will ask if I’m interested in teaching a course as an adjunct. I usually decline because those positions pay poorly and I’m booked. I make about $300 – $400 a year for advertising/ sponsored posts on my blog. I could make several times that but I seldom have time to write a sponsored post. The only time I do it is if the offer comes on a topic I was going to write about any way.

Two reasons my blog is useful.

  1. I started it with the original idea of it being a daily personal online log of what I was doing. Often, I will solve a problem in statistics or programming and three years later face the same problem without remembering the details of how I solved it previously. I travel a lot so the original program may not be available on my laptop, or I may no longer be working for that client. So, I started posting those solutions online to be able to access anywhere. I can’t tell you the number of hours that has saved me. The fact that other people benefit, too, is icing on the cake.
  2.  People appreciate when you help them out.Two years ago, I did a Kickstarter campaign to raise $20,000 to support an educational game project I wanted to do. Over half of the backers came from my blog readers. In part because I was able to demonstrate commercial potential, I received a $450,000 USDA Small Business Innovation Research award.

Paying it forward in the community using social media can result in being paid back in unexpected ways. Family in teacup

During the time since I started this series of posts on a little thing I knocked out one evening to illustrate long division, I’ve probably done a dozen other somewhat interesting pieces of code – I am sad that Java has co-opted the use of the word codelet because it is such a nice term for a bit of programming that is more than a function but not a real application. Anybody has a good word, let me know. While we’re on the subject of words, what exactly is the difference in Dreamweaver between an extension and a widget?

Anyway …. our games include hundreds of bits like this, where if a student misses a problem, he or she gets routed to a page to pick an option to study.

So … here is the rest of the story. Yes, it could have been done more beautifully, and when I go back and revise it, I think I will change the answer button instead of having two buttons to have one that is changed after the first onClick.

The DOCTYPE (html5) and title are pretty obvious.

All of our web pages have a container ID that is set in the style sheet. That makes all of the content fall within a defined window size, regardless of the screen size.

The w class is just so the background is white in the spot where the problem is. The Invisible Developer wanted some type of background and he liked the specky one.

You might wonder why something like w is a class instead of an ID if it is only used once. In fact, I simplified this example for the blog. Actually the w class is in an external style sheet so their could be pages with more than one element using this same style.

As a commenter on an earlier post pointed out (thank you!) it would really be better practice to give these more descriptive names like white_back because in the future I’ll probably be looking at this page and wondering what the hell ‘w’ was supposed to do. Of course, I can look in the style sheet, but it still is better to name things something descriptive.

You can see that the input field for the second digit of the answer is hidden, as is the button for getting another problem.

The forms have an ANSWER button because we found that students in this age group (9- 12 years) often type something by accident or as their first impulse. This forces them to think, at least for a second, whether or not they really meant that and gives them a chance to change  their mind. We added this at the request of several teachers after our first year of beta testing.

The table width is set at 40% and since the container width is defined, the table will always be the same size.
The q class (again, should be renamed and shame on me), has a border at the bottom of the cell. That is used to give the top part of the division problem and used again when each digit of the quotient is found and multiplied by the divisor. The product is then put in a cell with a line underneath.

The first input field is where the first digit of the quotient will be entered. Onclick this will be hidden and the correct answer shown in the element yans1. If the student had entered an incorrect answer, they’ll also get a message telling him or her it is an incorrect answer. All of this is handled by the javascript.

For the remaining rows of the table – the left cell is underneath the divisor, so it will remain empty. The right cell will have each step in the division problem entered, as the student enters the first digit and then the second.  Again, this is handled by the javascript, all I need to do is make sure the id values for each cell match what is in the script.

Once the problem is finished, the div with the id fin will be shown, as will the button for trying another problem. The student now can select one of three choices:

Get another problem (button3), go back and select another option for studying division, or take a quiz to go back to the game. Five correct answers and he or she can go back to playing Spirit Lake.

<!DOCTYPE html>

<html>
<head>
<title>Practice division</title>

</head>

<body >
<div id=”container”>
<div class=”w”>

<h3>PRACTICE LONG DIVISION</h3>
<p></p>
<h3 id=”hd1″> Enter the FIRST digit in the answer</h3>
<h3 id=”hd2″ class=”hidden”> Enter the SECOND digit in the answer</h3>
<input type=”button” class =”hidden” value=”ANOTHER PROBLEM” size=”5″ name=”button3″ id=”button3″ onclick=”window.location.reload()”>
<p></p>

<p></p>
<form name=”formx” id=”formx” >

<input type=”button” value=”ANSWER” name=”button1″ id=”button1″ size=”5″ onClick=”checkProb(1)”>
<input type=”button” value=”ANSWER” size=”5″ name=”button2″ id=”button2″ class=”hidden” onClick=”checkProb(2)”>
<table width=”40%” border=”0″ cellpadding=”0″ >
<tr>
<td width=”20%” >&nbsp;</td>
<td width=”20%” class=”q” ><input type=”text” name=”ans1″ id=”ans1″ size=”3″><scan id=”yans1″ class=”hidden”></scan>
<input type=”text” name=”ans2″ id=”ans2″ size=”3″ class=”hidden”><scan id=”yans2″ class=”hidden”></scan></td>
</tr>
<tr >
<td ></td>

<td></td>
</tr>
<tr>
<td id=”c” ></td>

<td id= “divide”>&nbsp;</td>
</tr>
<tr>
<td ></td>

<td id= “d”class=”d” >&nbsp;</td>
</tr>
<tr>
<td ></td>

<td id= “e” >&nbsp;</td>
</tr>
<tr>
<td ></td>

<td id= “f” class=”d”>&nbsp;</td>
</tr>
</table>

</form>
<div id=”fin” class=”hidden”>

<p></p>
<a href=”../learndividelong.html”><img src=”../scenephotos/arrowhead_point_left.gif” width=”130″ height=”70″ alt=”back arrow” />
Go back to study more</a>
<img src=”../scenephotos/smalls/handblue.jpg” alt=”blue hand” /> <img src=”../scenephotos/smalls/handyellow.jpg” alt=”yellow hand” />
<a href=”../quizzes/dividelongerquiz.html”>Take a quiz to go back to the game<img src=”../scenephotos/arrowhead_point_right.gif” alt=”next arrow” /></a></div></td>
<p></p>
</div>
</div>
</body>
</html>

 

← Previous PageNext Page →