Hundred Hours: Why an MBA Thesis is a Bad Idea

June 21, 2013

At my business school, students end their MBA curriculum with a Capstone class. This class is intended to “bring it all together” and hence its moniker. It is a special pedagogical experience for student and teacher and one that should not be bypassed. It’s always good to consolidate one’s knowledge and have the pieces fall in place.

Every now and then a student prefers to opt out of this end game experience, preferring the Thesis option that may be taken in lieu of their Capstone class. This is a mistake. Unless a student is highly motivated, knows exactly what he wants to do for a thesis, and has already undertaken at least a hundred hours of exploration of the subject matter of the thesis, it is a plain waste of time. And the opportunity cost is high, because the learning from the Capstone class is priceless. Yes, Capstone is a lot of work, and it is tempting at the end of the long haul towards a graduate degree to want to give oneself a break. But especially in this case, it’s a mistake. The trade-off is not even close, unless some really special conditions are pre-existent for the Thesis. Such as

  • The student knows exactly the question to ask in the thesis. The Question is the Thesis. When a student comes to me and requests I offer up suggestions for a topic, I let him/her know that I do not want ownership of the project, which is what happens if it’s my question. It has to be the student’s. Else it’s a no go. Much the learning comes from finding the question to ask in the thesis. Without that it’s literally half-baked. And a half-baked anything is not palatable.
  • A good question is simple, yet rigorously derived, unique, and poignant. As Helen Hunt noted – “The best movies have one sentence that they are exploring, a thesis, something people can argue about over dinner afterward.”
  • As noted above, at least a hundred hours of thinking and exploring should have gone into the Thesis idea already, some of it in formulating the question of course. Without that no one (student or professor) can be confident that the question is a good one. And a good answer to a bad question is even worse than no answer at all (or a bad answer to a good question). As a senior colleague once said to me – “if something is not worth doing, it’s not worth doing well.”
  • The student should be prepared to work on the Thesis over two quarters. Rushing it through in one quarter just leads to nonsense. If a student asks me to supervise a thesis I would like to see a two-quarter plan, else I decline.
  • The student should be prepared to sell the Thesis idea to the professor. For this you need passion, which comes from a hundred hours of immersion. Thesis supervision for a professor entails quite a few hours, with no additional compensation. It’s almost like keeping office hours for an extra course when not actually going to class to teach it. So the student needs to ask – “What’s in my idea for the Professor?” – there should be a possible follow-on research paper, or something new that the professor will learn from it. A good thesis will hit a symbiotic sweet spot.

Sounds harsh? Not really. And I’ve learnt this the hard way. Without these conditions, it’s a chore for both sides of the Thesis, student and professor. At the end of it one wishes to have taken the Capstone twice over! As Manfred Eigen said – “Sometimes a scream is better than a thesis.”


Wither MOOCs? Different Degrees of Education

June 19, 2013

In April this year, the philosophy department at San Jose State
University sent a well-reasoned letter to law professor Michael Sandel
at Harvard, explaining to him why they did not need his online justice
course imposed on their students by the management of the California
State System. Being ordered to feed your children someone else’s
cooking is an affront, to put it mildly.

The debate about traditional pedagogical delivery and the new kid on
the block — online education — is alive, and the SJSU faculty went
to battle, against the online upstart, and their administrative
overlords. Universities are run by academics (or we professors like to
think so), but state systems are run by bureaucrats. Conflict in our
education system has been engineered in, sadly. Academics are never
paid enough to often realize costs are an issue, and bureaucrats only
care about costs. The truth is, the fight over online education is
being fought on a battleground of costs. It would be sad if this were
the only thing that mattered.

Like two cars driving in their lanes and obeying the rules of the
road, massively open online courses (MOOCs) and bricks and mortar
(BAM) education have been motoring down the education highway,
glancing nervously at each other but not meeting in open conflict. The
presence of a cost speedbump has eventually resulted in fenders
touching and sparked a conflagration. Road rage is immminent, and the
SJSU folks were extremely calm. So far so good.

But MOOCs do bring several benefits to the table, the first and most
compelling being the democratization of education, cost-driven or
not. For the millions of folks with no access to good education (and I
emphasize good, there is plenty of poor quality education out there)
MOOCs offer a way to learn from great teachers when students have no
access to even poor ones. Admission to today’s U.S. college system is
tilted in favor of families with resources to groom their kids for the
application process, let alone the ability to pay for college
eventually. Second, MOOCs globalize education by making it possible
for anyone in the world to sign up and excel. And if they do well,
they are offered jobs in markets they would never have access to.
Employers are more concerned that people with degrees actually have
the skills their colleges certify, and the openness of the MOOC system
ensures skills. In some ways MOOC testing has become a quasi entrance
exam to the job market. It betrays the lie in academia of real
education, where it should be harder to graduate than to get in to
play the game.

Third, MOOCs offer the much-touted “flipping the classroom and home”
phenomenon, where lecturing occurs offline and exercises (homework)
and discussion can take place in class. This is a model that has a
positive feel to it, but research and evidence of advantageous
learning outcomes remains to be provided. Fourth, MOOCs will enable
good professors to reach thousands of students, and put pressure on
faculty who teach poorly and do no research to shape up or ship
out. And that would be great. This would alleviate one of the biggest
costs of the tenure system, i.e., checked-out, expensive
professors. Fifth, almost every university is facing a classroom
shortage, i.e., insufficient plant and equipment. A hybrid MOOC-BAM
approach will relieve this capacity constraint. If half the curriculum
is pushed online, say, we could enroll up to twice the number of
students, while reducing fees. That’s a win-win.

What’s not to like? If education were a production process, isn’t
increasing output and cutting costs exactly what MOOCs do? But do they
deliver a better learning approach, and are the students that come out
of this channel better educated? In other words, should we also strive
to deliver higher quality graduates, while working on the costs? My
personal preference is that these criteria be lexicographically
ordered: quality first, cost second. If we don’t worry about quality
we’ll end up with too many people with degrees, but no education. And
quality education is not only about quality teachers, but also about
quality environments (and I don’t mean manicured lawns, stone
buildings, and expensive football stadiums). The Culture of The
University is a huge part of it all. We want not only a trained
population, but also a learned one.

BAM education has its advantages too. First, and very important,
students are directly connected to faculty doing research. I counsel
parents who ask me to help their children choose between teaching and
research schools, and I always say that if your kid is going to learn
how to really think at college, the best way is to do research, and
that is much easier to do if you are at a research university. It’s
also the reason why I think the production of knowledge (research) and
the communication of knowledge (teaching) should co-exist in
educational institutions. It’s why we don’t see a collection of
community colleges and Bell Labs like outfits rather than research
universities.

Second, quality education does not have to cost as much as it does,
the community college system and colleges in other countries manage to
deliver an effective and good product at low cost to the student, and
the subsidies are well worth it. I just finished a semester-long
motorcycle mechanics class at the CC in San Francisco, and I learned a
huge lot, in a very hands-on, refreshing, and confidence building
manner. Separating education from unrelated university overheads will
cure the system. We pay way too much for the “country club” feel of
colleges and for expensive sports teams. It’s a chicken and egg issue,
the sports teams bring in alumni donations, which then go to support
these teams to bring in more revenue. Somewhere along the way, the
point of education is lost, and money does not go towards teaching and
research. To it’s credit the MOOC model is a wake up call to these
paradoxes of our system.

Third, the BAM model is one of the last bastions against
commoditization of our entire lives. When everything is becoming “one
size fits all”, we cannot afford to let education go in that
direction. As all of us with children know, no two siblings are alike,
and they need different handling. And our kids do prosper in a system
where they choose (voluntarily or otherwise) what sort of place of
learning system they fit in to. No doubt some may fit the MOOC model
better and that’s what they should adopt.

What will we end up with? Will MOOCs kill off all the universities?
Will the MOOCs of brand name universities (such as Harvard and MIT’s
edX) decimate smaller, less branded schools? Will we end up with some
hybrid system? Will we get fully online degrees and will they be
valued differently from BAM ones? How will we measure the quality of
education in this new world?

I worry whether I will have a job in ten years. Will my profession go
the way of airline travel agents and physical book stores? It’s hard
to say, but I suppose I’ve had a good education, and it’s trained me
to learn, so I’ll go off and do something else with my skills. What
will decide how this plays out? Quality (I would like to see the
system with the higher quality product win) or cost? For the economics of MOOCs, see this interesting graphic.

But I think there is another important determinant than quality and
cost. It is the human factor, and it will save the BAM model from
extinction. The primary reason why brick and mortar universities will
survive is that most people are unable to muster up the discipline to
work through a sufficient number of meaningful online courses, without
structure, discourse, and no transmission of perspective. Those who
can are disciplined and talented human beings for whom going to
college does not really matter. Those who cannot really do need to go
to college, but they seem to get degrees but often no
education. Herein lies the wasteful and expensive paradox of modern
day undergraduate education. If modern day college education
eventually flounders it will be because it collapses under the weight
of its own costs, not because of a technology driven paradigm
shift. But if it survives, it will be because of a deep human need for
a learned society engendered in a place of deep and higher learning -
The University. Hope springs eternal.


So you want to do a PhD?

December 26, 2012

Here is a brief extract of comments I made in an interview in Singapore this year. 

The first piece of advice I give to PhD students is to not be in a big rush to get the data and do something with it. You have to have a really good question first. Otherwise, no matter how good your data is, your work is not going to be interesting and you will not publish a good paper. 

The second thing is, you should always theoretically analyse the question completely first because that exercise will take you to the right empirical specification for the data work that you want to do. There should be a good theory because once you have a theory, then you can derive a setup that tells you that if this assumption holds, then you should see this in the data, etc. “No theory, no paper.” 

Another piece of advice is not to be in a big rush to find a topic because you are going to be stuck with it for the duration of the PhD and possibly a few more years. You do not want sub-optimally close on something that you will not enjoy. 

Additional advice is to start writing right away, do not wait; the process of writing helps you structure your thoughts better, structure your theory better, structure the empirical work better. Of course you should always be ready to throw things away. 

You should write early rather than late and keep writing. That is part of the life of a researcher; writing a lot is a good thing and throwing away a lot is also a good thing. And you know, you keep learning through that process, and that is important.

You should not expect to learn everything you need to know in a PhD programme; that is never going to happen. There were countless things I learnt after my PhD because I needed to solve a problem, I needed a technique that I did not know and I had to learn it for myself; you should be learning how to learn instead of thinking that everything is going to happen in the PhD programme. That is the purpose of the programme.


Research Environments

December 12, 2011

What makes a research environment in a business school thrive? Not the same stuff that makes firms profitable or breeds winning sports teams. It would be too easy.

The good and the bad: Consider the following scenarios I see played out at campuses across the country: Just recently someone asked me – “Why do you come in to work when you are tenured?” He looked at me as if I was irrational and that I should be away somewhere lying on a beach or making heaps of money by starting a company. And again, another junior professor inquires of a tenured one – “Why are you in today, when you are not teaching?” I have noticed at many universities that junior faculty do not go to seminars as much as senior ones. Is this a permanent cultural shift in academia? How come junior faculty are not being shepherded by seniors as they used to be in the old days? Why are there so many empty offices, and so little discussion in the hallways? Is this a reflection of the new generation of young faculty, or is it a reflection of norms gleaned from the senior ones?

There are warning signs, but also signs of encouragement and hope. There is more collaborative work than before, a greater number of seminars, and higher promotion standards, as the old excuses for the inability to publish are being shelved, as a few brave young faculty show us all how it can be done, even as journal space becomes scarcer and aggressively fought over.

A Categorization of Faculty: We may think of research faculty along two dimensions: (a) Activity: producing high quality knowledge, and (b) Presence: engaged with research activities. Just being research active is not enough, being present to facilitate the research environment is important. Viewed along these two dimensions gives us four types of faculty: {Active, Not Active} x {Present, Not Present}. I suppose it is easy to categorize any faculty into these four buckets. What type are you? Which bucket do you fall in?

The {Not Active, Present} category is more common than we might imagine. This is part of a natural cycle where Active faculty burn out and yet stay in the game by being Present. Indeed their experience is still valuable as they maintain standards, carry valuable institutional memory and perspectives, mentor junior faculty, and can judge work to ensure that promotion standards are not lowered. This is also often a temporary phase where folks take a pause to recharge batteries and then embark anew, often on something fresh.

The {Active, Not Present} group presents an interesting challenge. How does the organization engage them so that they are more than the sum of their own activity? Being present means fostering spillover benefits. But make no mistake, being Present is a double-edged sword, it is costly to Active faculty but also comes with benefits. Too much of it can be counterproductive. But, none of it is more surely a dead loss to the research organization and the researcher as well.

Outcomes: There are several benefits/costs of tenured faculty being Present, depending on which way you look at it. Here are some:

  1. Mentoring junior faculty.
  2. Working with junior faculty and enhancing tenured faculty Activity.
  3. Sharing the burden of ad-hoc demands on the faculty that otherwise have to be borne by the Present set.
  4. Quicker and higher quality group decisions in a face-to-face manner.
  5. Keeping tenured faculty expertise “on-line” for access by others.
  6. Better utilization of office space, a scarce resource in academia today.
  7. Demonstration effect/Building culture: setting a good example and high expectations for the next generation.
  8. More attendance at seminars to improve quality of discussion, and show a strong presence to outsiders so as to leave a good impression of the school’s scholarship quality and environment.

There are several flavors of Present. Some faculty are introverted but work intensely with a few junior faculty. Others help a broad swath of faculty or resolutely maintain standards. Some don’t come to work a lot, but come to all seminars and engage with juniors. And so on. We academics are all unique and we must each choose our own brand of Present.

Assume a highly Active and Present senior faculty. What features of the junior faculty would be evidence of the benefits of such a research environment?

  1. Higher quality and quantity of scholarship.
  2. Junior faculty who actively talk about their research with other faculty. This enhances the general awareness of what everyone is working on, and brings benefits of several faculty offering suggestions and pointing out related research. A self-exciting and perpetuating research atmosphere.
  3. Junior faculty who give their papers to others to read, actively asking for comments.
  4. Junior faculty that actively seek out engagement with practitioners, and continually ask themselves how they might influence practice.
  5. Junior faculty that actively take steps to enhance the research environment by organizing seminars, inviting special speakers, setting up labs, engaging in popularizing scholarly work that transcends mere publishing.
  6. Confident junior faculty who actively demand more resources for their research, and also generate their own means and funding.
  7. Junior faculty who work with faculty in other departments and disciplines.
  8. A greater number of submissions to top journals.

Making progress: How does a school take steps towards this idealized environment? First, measurement. Take stock by classifying existing faculty into the four bucket model. This is easy for department chairs to do. Place each faculty person on the 2×2 {Active, Not Active} x {Present, Not Present} grid. What is a reasonable number in each bucket?

Second, self-realization. Discuss the grid with the faculty and ask them to think about where they are and where they might want to be.

Third, incentivize movements into the {Active, Present} bucket. Use a coarse system of raises. Faculty in the {Not Active, Not Present} bucket get no raise, and in fact should be moved into shared offices. Faculty in the {Active, Present} bucket should get three times the raise of those on the {Active, Not Present} and {Not Active, Present} buckets, recognizing that being Active and Present is worth more than just the sum of the two dimensions.

Fourth, raise salaries to market so that departments can compete in the marketplace, and raise funding to support research so that junior faculty are able to compete with others from other schools.

Lesson: There is a tide in the affairs of research schools, when taken at the flood, leads on to fortune.


The Less You Know

December 5, 2011

The more you learn, the less you know.

What? How can this be? Some sort of weird paradox? No — the more you learn, the vastness of what you do not know becomes more apparent, and hence, you become increasingly aware of how little you know. The ignorant are unusually blessed for they know not what they do not know.

I think it is true to say that knowing what you don’t know is even more important than what you know. So many mishaps have occurred because we assumed we knew, when we deep down we knew we didn’t. You should not make a virtue of trusting in your ignorance. Instead, admit that you don’t know, because it is the first step in knowing deeply.

Half-knowing is just as bad. But not knowing and assuming that it’s okay is worse. I’d feel much safer with a doctor who would tell me he did not know what was wrong with me than with one who said he did when he didn’t. Or a lawyer for that matter who gave me false hope or advice. Because in the end, the truth is most important, and someone who leads you on as if he/she knows pushes the truth further away, and in some cases, such as medicine, it can be quite dangerous.

Admitting one’s ignorance to one’s self is very hard, and often our egos won’t allow it. But letting in the admission is winning the battle. It marks the beginning of the learning process. Sometimes you have to learn it the hard way. I remember the first few months of my graduate education at Berkeley when I was studying computer science. I was the only one in class with no background in engineering or computers, so was pretty lost in those early weeks. I was floundering and not sure what to do as jargon and terminology, as well as math, kept whizzing by. Having had plenty of experience with continuous math, I found discrete math hard, but failed to admit it, so I just assumed I should know, and that I did know. Yet, I didn’t and nothing would change the facts. I was stuck and not learning.

In the end my frustration got me to admit to myself that I did not know a lot. I began to carry a little notebook around to jot down every word and concept that I had no clue about and that I needed to know. I would return to my cubicle after class and then bug whoever was around to tell me about the new unknowns in my notebook. This little book was my confession of how little I knew. It was also my salvation. I went home every day enlightened by answers to the ever-growing list in the little notebook. It became the symbol of my salvation, my new found knowledge. I began to feel good about how little I knew, because it was gratification wrapped up in humility. The less I realized I knew, the happier I became.

Make a list of stuff you don’t know (see http://swanson.github.com/blog/2011/12/04/whats-on-your-learning-list.html )– it is your gateway to knowledge. Of course, it is impossible to make an exhaustive list, it would take forever. So make a list of things you do not know, and are interested in. Keep it short. Even if there is just one thing on that list but you spend time to get to know it well, it will be exhilarating.


Framing

August 7, 2011

I love spending time looking at art in museums or galleries. It’s like a big buffet and you can consume more of what you like, and sample some of the other offerings. And just like a good meal, I am satiated, tired, and happy at the end of the indulgence. Mentally and emotionally, that is.

I was with a friend recently at the DeYoung museum who commented on the excessive ornateness of the frames on the art, which distracted and detracted from the beauty of the painting itself. And it struck me, literally and figuratively, how much framing matters.

We exhort ourselves to never judge people by their looks, or a book by it’s cover, but at the end of the day, we succumb to framing. Advertisers have been exploiting our shallow judgment heuristics for years.

So, when given a choice to frame something like a great work of art in good light, why do we choose bad framing? One can understand the opposite, where framing can be used to improve a poor impression, but adverse framing is harder to reconcile.

Really good art should have no frame, just like a truly beautiful woman needs no make up. And closer to my own field, a truly original idea does not need to be dressed up in an excessive number of mathematical equations. And yet, so many beautiful women overdo their face packs, and research papers are written in trappings that obfuscate and confuse, rather than make us more knowledgeable. Why?

At some level we are all insecure, because we do not really know that we are already worth a lot just as we are. So we err by overdoing our framing. We end up not enhancing but cluttering. Like a house with too much furniture or art on the walls that feels less like home and hard to live in, we become uncomfortable in our trappings, and deny the pureness of our own skin and being. This only makes us more insecure and perpetuates the excess framing cycle.

Or, we play the frame game. Signaling becomes the goal of framing. Form over substance. It is why we need to wear an expensive business suit to meet a client, to show we are serious and the client is important. That in itself is not a bad thing, but the client really begins to believe we are more qualified than someone who could not afford the same expensive suit. The converse is worse. When we do not wear the expensive suit even when we are better qualified, that we are downgraded, to everyone’s detriment. Framing to signal is deep-rooted in nature. Birds with better plumes attract better mates. It’s a time-tested outcome of Darwinian evolution. It’s when we try to do more than nature prescribes that we make a mess of things. And when we do it collectively, kowtowing to the exaggerated norms of society, we make things even worse!

We are a strange collection of paradoxes. When we are supposed to be more creative, as in the art realm, we end up conforming more. Art is heavily framed because that’s the way it’s done. No ifs or buts. Casual Fridays exist, but not casual Wednesdays, which I think would be much nicer! But the former has a frame of precursing the weekend.
So it’s acceptable.

Yes, I know I am exaggerating a bit. Frames can be utilitarian. They protect art. Our clothes are frames, to protect our sensibilities. This is what nature intended. But we are cursed to be fooled by frames, and also to indulge in bad framing. Maybe that’s also what nature intended?!


Web-enabling R functions with CGI on a Mac OS X desktop

November 7, 2010

I write many R functions for my own use and for use in class. I have been making these functions available from a web page for some time, and finally decided to just post a simple example to make it easy for others to do the same. This is just an example based on the “Rcgi” package from David Firth, and for full details of using R with CGI, see http://www.omegahat.org/CGIwithR/. Download the document on using R with CGI. It’s titled “CGIwithR: Facilities for Processing Web Forms with R”.

Of course, if you don’t have R at all, then download R and install it from http://www.r-project.org/. Then use the R package manager to install the Rcgi package.

You need two program files to get everything working.
(a) The html file that is the web form for input data.
(b) The R file, with special tags for use with the CGIwithR package.

Our example will be simple, i.e., a calculator to work out the monthly payment on a standard fixed rate mortgage. The three inputs are the loan principal, annual loan rate, and the number of remaining months to maturity.

But first, let’s create the html file for the web page that will take these three input values. We call it “mortgage_calc.html”. The code is all standard, for those familiar with html, and even if you are not used to html, the code is self-explanatory.


<html>
<head>
<title>Monthly Mortgage Payment Calculator</title>
</head>

<FORM action="/cgi-bin/R.cgi/mortgage_calc.R" method="POST">
<body>
Loan Principal: <INPUT name="L" value="" size=5><p>
Annual Loan Rate: <INPUT name="rL" value="" size=5><p>
Remaining months: <INPUT name="N" value="" size=5><p>

<P><INPUT type="submit" size=3>

</body>
</html>

Notice that line 06 will be the one referencing the R program that does the calculation. The three inputs are accepted in lines 08–10. Line 12 sends the inputs to the R program.

Next, we look at the R program, suitably modified to include html tags. We name it “mortgage_calc.R”.

#! /usr/bin/R

tag(HTML)
	tag(HEAD)
		tag(TITLE)
			cat("Mortgage Monthly Payment Calculator")
		untag(TITLE)
	untag(HEAD)

tag(h3)
	cat("Mortgage Monthly Payment Calculator")
untag(h3)

lf(2)
tag(BODY)

tag(p)
	tag(b)
		cat("Inputs:")
	untag(b)
	
	tag(p)
	L = as.numeric(scanText(formData$L))
	cat("Loan Principal: ")
	cat(L)
	
	tag(p)
	rL = as.numeric(scanText(formData$rL))
	cat("Annual Loan Rate: ")
	cat(rL)
	
	tag(p)
	N = as.numeric(scanText(formData$N))
	cat("Remaining months: ")
	cat(N)
untag(p)

lf(2)
tag(p)
	cat("Monthly Loan Payment: ")
untag(p)

r = rL/12
mp = r*L/(1-(1+r)^(-N))
cat(mp)

untag(BODY)
untag(HTML)

We can see that all html calls in the R program are made using the “tag()” construct. Lines 22–35 take in the three inputs from the html form. Lines 43–44 do the calculations and line 45 prints the result. The “cat()” function prints its arguments to the web browser page.

Okay, we have seen how the two programs (html, R) are written and these templates may be used with changes as needed. We also need to pay attention to setting up the R environment to make sure that the function is served up by the system. The following steps are needed:

  1. Make sure that your Mac is allowing connections to its web server. Go to System Preferences and choose Sharing. In this window enable Web Sharing by ticking the box next to it.
  2. Place the html file “mortgage_calc.html” in the directory that serves up web pages. On a Mac, there is already a web directory for this called “Sites”. It’s a good idea to open a separate subdirectory called (say) “Rcgi” below this one for the R related programs and put the html file there.
  3. The R program “mortgage_calc.R” must go in the directory that has been assigned for CGI executables. On a Mac, the default for this directory is “/Library/WebServer/CGI-Executables” and is usually referenced by the alias “cgi-bin” (stands for cgi binaries). Drop the R program into this directory.
  4. Two more important files are created when you install the “Rcgi” package. The CGIwithR installation creates two files:
    (a) A hidden file called “.Rprofile”
    (b) A file called R.cgi

    Place both these files in the directory: /Library/WebServer/CGI-Executables

    If you cannot find the .Rprofile file then create it directly by opening a text editor and adding two lines to the file:

    #! /usr/bin/R
    library(CGIwithR,warn.conflicts=FALSE)

    Now, open the R.cgi file and make sure that the line pointing to the R executable in the file is showing

    R_DEFAULT=/usr/bin/R

    The file may actually have it as “#! /usr/local/bin/R” which is for Linux platforms, but the usual Mac install has the executable in “#! /usr/bin/R” so make sure this is done.

    Make both files executable as follows:

    chmod a+rx .Rprofile
    chmod a+rx R.cgi

  5. Finally, make the ~/Sites/Rcgi/ directory write accessible:

    chmod a+wx ~/Sites/Rcgi

Just being patient and following all the steps makes sure it all works well. Having done it once, it’s easy to repeat and create several functions. You can try this example out on my web server at the following link.

The inputs are as follows:

  • Loan principal (enter a dollar amount)
  • Annual loan rate (enter it in decimals, e.g., six percent is entered as 0.06)
  • Remaining maturity in months (enter 300 if the remaining maturity is 25 years)

Follow

Get every new post delivered to your Inbox.