Sunday, January 25, 2009

some things someones father taught them...

Things my father taught me


Date: 2008-04-13, 9:33AM PDT


The measurement of my finger from the tip to the first joint is 1 inch...depth for planting peas.
The measurement to the second joint is 2 inches...depth for corn.
Return borrowed things in better shape than when you borrowed them.
There are two types of trouble...one is the trouble you knowingly walk into, the other is trouble that just happens...it's important to know the difference.
Walk softly but carry a big stick.
if you have to use said stick, make sure who you use it on, doesn't get up.
Grits is good.
Foul language is a sign of a limited vocabulary
Orion, the Big and Little Dippers.
Everyone is a friend until proven otherwise.
Licorice ferns, huckleberries, nettles, sword ferns.
Tabasco won't kill you even if you eat it by the spoonfull.
Don't watch the clock when you're at work.
Fish can see you if you look over the side of the boat.
Fish can hear you if you talk to loud.
Respect the elders.
Never go to bed angry.
That which does not kill you will hurt like the dickens, but it will make you stronger.
Family is the most important thing on earth.
How to play the guitar, spoons, mouth harp, and water filled bottles.
The true meaning of "Self Made Man"
If you don't know something, go to the library and learn it.
The phrases "I don't know", "I forgot", or "I tried (and failed)" are excuses.
There is a difference between an excuse and a reason, know the difference.
Take care of your apperance...even if it is just a t-shirt and jeans.
The world can change everything about you, except your point of view...unless you allow it to.

David L. McDonald
born 1936-passed 2008
precious father
beloved husband
A right good fellow.

Tuesday, November 11, 2008

neopi, oracle on linux...10gr2..and my birthday.

oh, and today is my birthday. yay.

so, i finally got around to writing about this. I succesfully got ora 10gr2 installed on RHEL5. thanks to the help of gathering dependencies by this free product called NEOPI. Its pretty nice...just a kind of automatic dependency generator, and it runs some other checks too, but it helped solve the issues I was running into with the misplaced/mislinked libraries. hopefully that puts the RHEL5 Oracle10gr2 fears to rest...and I can move on.

Thursday, November 6, 2008

Oracle 10gR2 on RHEL5

Preamble

This manual is directed show how to install Oracle database 10g on RedHat Enterprise Linux 5. The article show the process from system administrator point of view ad try to simplicity most of the tasks not related to system administration will in deep explanation of tasks and impacts of them. Be aware RHEL 5 x86 is not supported platform (in this moment) for Oracle 10g so when you ask questions in metalink don't be surprised get no answer. According to the product documentation supported platforms for x96 are RHEL AS/ES 3.4 or later, RHEL 4, SUSE Linux Enterprise Server 9.0SP2 or later and Asianux 1.0 and 2.0. Additionally you can't expect reliability from this system for production environment.

Hardware requirements

From documentation you read Oracle 10g need at least 1 gigabyte of memory, but the absolute minimum is 512 MB. OK, with so little memory you are on the bottom line for required shared memory, but database can start. for testing 768 MB sound's much better. Similar is the situation with swap. Everything will work fine with only 1024 MB of swap.

Software requirements

List of packages you will need for install Oracle 10g on RHEL include

binutils
compat-db
compat-libstdc++
control-center
gcc
gcc-c++
glibc
glibc-common
gnome-libs
libstdc++
libstdc++-devel
make
pdksh (RHEL 5 ships with ksh instead)
sysstat
xscreensaver
setarch
libXp (to start runInstaller)

Preinstalation tasks

Let's create users and groups for installation

# groupadd dba
# groupadd oinstall
# useradd -G dba -d /home/oracle -g oinstall oracle
# passwd oracle

Next create filesystem for oracle files and database. Do not forget to create appropriate changes in /etc/fstab to mount this filesystem on startup. In documentation of product is mentioned to use only RAID10 array(s) and for production is wise to use hardware based arrays, but here we just play and any filesystem and volume will be OK. Transfer files to the machine and extract zip's somewhere. I write files, because i recommend for installation not only Oracle database server, but 10g Release 2 (10.2.0.3) Patch Set 2 ever only for testing and playing. For more info about the the patch set read document 316900.1 and download file p5337014_10203_LINUX.zip from metalink. Now is time to login on the machine as root to set some parameters in linux kernel and operating system

- check if FQHN exist in /etc/hosts
- check the id of oracle user to ensure oinstall is primary group of user and user is member of group dba
- check for existence of user nobody
- check and set if need the parameters for semaphors:
semmsl - 250
semmns - 32000
semopm - 100
semmni – 128

Semaphores explanation

semmsl – maximum number of semaphores per semaphore identifier. Should be increased carefully because very big number will eat memory not used later
semmns - maximum number of semaphores in the system. Size it carefully because of above reason
semopm - Define maximum number of semaphore operations per system call
semmni – maximum number of semaphores per semaphore identifier. Do not increase it over needed limit, because of waste of memory
if you have attached to the server additional hardware read carefully documentation of drivers for this hardware, because for example some drivers for FC controllers need additional semaphors to be set per controller


- check and set if need the parameters for shared memory
shmall 2097152
shmmax Half the size of physical memory (in bytes) or current value if bigger
shmmni 4096

Shared memory explanation

shmall - maximum number of shared memory pages. If you set it to too low value can slowdown any program usng shared memory
shmmax – maximum size of shared memory segment that can be allocated in the memory. For servers with lots of memory can be increased to 80% of memory to avoid shared memory fragmentation
shmmni – maximum number of segments. It's good idea to change it only by vendor recommendation


- check and set if need the parameters for maximum number of file handlers, supported by system
file-max 65536

- check and set if need the parameters for network
ip_local_port_range Minimum:1024 Maximum:65000
rmem_default 1048576
rmem_max 1048576
wmem_default 262144
wmem_max 262144

Network setting explanation

ip_local_port_range – define full range of local ports in Linux, normally upper limit is 32000
rmem_default Default Receive Window
rmem_max Maximum Receive Window
wmem_default Default Send Window
wmem_max Maximum Send Window



So you can add you /etc/sysctl.conf file something like

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

and execute

# sysctl -p

Next is time to set some environment variables for oracle user. Do not forget to put the in shell profile for oracle user. They should look's like

ORACLE_BASE=/home/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0
ORACLE_SID=test01

On this point it is very good idea to check the available diskspace in directory where will be installed oracle – you will need 4 GB average for software and database. To start successfully installer it's need to edit /etc/redhat-release and to change release from 5 to 4. Do not forget to return the value back later, otherwise you will be no able to update your server. Next is time to run runInstall. You will need running X server, because interactive installation need graphic display

Actual installation

On the first step we choose advanced installation to have better control over the packages and options to be installed on the server. Later if it's need we can install additional packages almost seamless. Our target is Enterprise Server as more powerful and complex. on the next step Oracle Installer check for prerequisites for installation as physical memory, swap, networking, environment variables, etc. If you get warning about the amount of memory you can skip it without any problem. Next we will install only software without create new database. There is program, named dbca – database configuration assistant which one can help to create new database. Then read the summary screen and go back to change some packages you do not need or other parameter. It's out of scope of this document to discuss the idea and purpose of packages you can find in oracle database. Next we press install and wait a lot, because of very long process of installation. On the bottom part of the screen you can see the path to log file for current installation and you can inspect it if you get some errors or just from curiosity. In on of the stages of installation (almost on the end) you should execute 2 scripts as root user. And at the end we have installed Oracle database 10g. If you have patch mentioned above installation process for patch is similar: runInstaller....

Et voila, we are ready to play and test oracle on our RHEL 5 server :-)

Tuesday, November 4, 2008

tar over ssh to pipe files..

I didn't have enough space on a vm i just built to copy all the data over as a tar and then untar it, so I went on a search...I found this and it worked VERY well:

From: http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

Q. How do I use tar command over secure ssh session?

A. The GNU version of the tar archiving utility (and other old version of tar) can be use through network over ssh session. Do not use telnet command, it is insecure. You can use Unix/Linux pipes to create actives. Following command backups /wwwdata directory to dumpserver.nixcraft.in (IP 192.168.1.201) host over ssh session.

The default first SCSI tape drive under Linux is /dev/st0. You can read more about tape drives naming convention used under Linux here.

# tar zcvf - /wwwdata | ssh root@dumpserver.nixcraft.in "cat > /backup/wwwdata.tar.gz"OR# tar zcvf - /wwwdata | ssh root@192.168.1.201 "cat > /backup/wwwdata.tar.gz"

Output:

tar: Removing leading `/' from member names
/wwwdata/
/wwwdata/n/nixcraft.in/
/wwwdata/c/cyberciti.biz/
....
..
...
Password:

You can also use dd command for clarity purpose:# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 "dd of=/backup/wwwdata.tar.gz"It is also possible to dump backup to remote tape device:# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 "cat > /dev/nst0"OR you can use mt to rewind tape and then dump it using cat command:# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 $(mt -f /dev/nst0 rewind; cat > /dev/nst0)$You can restore tar backup over ssh session: # cd /
# ssh root@192.168.1.201 "cat /backup/wwwdata.tar.gz" | tar zxvf -
If you wish to use above command in cron job or scripts then consider SSH keys to get rid of the passwords.

Friday, October 17, 2008

ubuntu intrepid ibex java needs icedtea

in order to get mozilla working with java, you need to install the icedtea plugin after installing the open java stuff.

Thursday, October 16, 2008

unix and windows: carriage returns with tr/sed/awk

cat -v myfile.csv

...and then you will see them at the end of the line as ^M (Ctrl-M)

delete them using tr like this, but this will only work in the following form if "\r" is recognised as a carriage return character. Some versions of tr and sed do not. So before you try this out you should set up a test file with a few "r"s in it in obvious places to make sure the following command is not just deleting "r"s.

tr -d '\r' <> outfile.csv

If the above command deleted "r"s instead of carriage returns then instead of using '\r' use 'Cntl-v-m'. The Cntl-v works on a few shells to let it know that you are going to enter a special character and the "m" you follow it with indicates a carriage return. "m" as in the "^M" you see at the end of the lines when you use cat -v.

There are other ways of removing these carriage returns. You can use sed to do it but again you have to check is it accepts "\r" as a carriage return by experimenting on a very small test file with a few obvious "r"s in it.

sed 's/\r$//' infile.csv > outfile.csv

On a final note, you might have to convert a Unix file to a DOS/Windows file sometimes. You can do it like this:

awk '{ print $0 "\r"}' unix.txt > dos.txt

---

simple:
tr -d '\015' <> new.file

more simple:
perl -pi -e 's/\015//g' file

Tuesday, October 14, 2008

freebsd jails from sysinstall

sysinstall nonInteractive=yes _ftpPath=ftp://ftp2.ch.freebsd.org/pub/FreeBSD mediaSetFTP distSetMinimum installRoot=/var/jails/192.168.0.1 releaseName=6.1-RELEASE installCommit

Friday, October 10, 2008

freebsd native firefox, linux-firefox, and linux-opera with flash and java.

ok, i like firefox. dont really like opera. but...i had to succumb.

running freebsd 7 with native firefox for java v6 (diablo-latte) works great, and adds appropriate java entries to the pluginreg.dat which is actually shared with linux-firefox (for proper flash support...nspluginwrapper was causing flash to be out of synch (youtube) for me, but linux-firefox with linux-flashplugin7 worked fine.

linux-opera to the rescue ; everytime i started linux-firefox it would overwrite my pluginreg.dat (which i had some specific java variables in there) - it pissed me off that i couldn't use both firefoxes... i thought about maybe using a diff profile but it pulls pluginreg.dat before the profiles...so i just decided to use linux-opera and be done w/it. thats what i decided on.

btw, i hate flash and java. but both are necessary for my line of work...bullshit.

i need flash to watch videos and listen to music on youtube.
i need java to work with some screwed up oracle applications we use at work.

at least i get to use unix.

Saturday, September 27, 2008

Renting or Owning a House...Hmm.

Found this really good article... on yahoo. via digg i believe.

Taken from : http://realestate.yahoo.com/promo/renting-makes-more-financial-sense-than-homeownership.html;_ylc=X3oDMTFta3Jqcjk3BF9TAzI3MTYxNDkEX3MDOTc2MjA0NjUEc2VjA2ZwLXRvZGF5BHNsawNyZW50aW5nLWJldHRlcg--

Renting Makes More Financial Sense Than Homeownership

By Jack Hough

Sep 26th, 2008

ARTICLE TOOLS:

I have something un-American to confess: I rent an apartment, despite having enough money to buy a house. I plan to keep renting for as long as I can. I'm not just holding out for better prices. Renting will make me richer.

I normally write about stocks for SmartMoney.com, but the boss asked me to explain to readers my reason for renting. Here goes: Businesses are great investments while houses are poor ones, so I'd rather rent the latter and own the former.

Stocks vs. Houses: Returns

Shares of businesses return 7% a year over long time periods. I'm subtracting for inflation, gradual price increases for everything from a can of beer to an ear exam. (After-inflation or "real" returns are the only ones that matter. The point of increasing wealth is to increase buying power, not numbers on an account statement.) Shares have been remarkably consistent over the past two centuries in their 7% real returns. In Jeremy Siegel's book, "Stocks for the Long Term," he finds that real returns averaged 7.0% over nearly seven decades ending 1870, then 6.6% through 1925 and then 6.9% through 2004.

The average real return for houses over long time periods might surprise you. It's zero.

Shares return 7% a year after inflation because that's how fast companies tend to increase their profits. Houses have their own version of profits: rents. Tenant-occupied houses generate actual rents while owner-occupied houses generate ones that are implied but no less real: the rents their owners don't have to pay each year. House prices and rents have been closely linked throughout history, with both increasing at the rate of inflation, or about 3% a year since 1900. A house, after all, is an ordinary good. It can't think up ways to drive profits like a company's managers can. Absent artificial boosts to demand, house prices will increase at the rate of inflation over long time periods for a real return of zero.

Robert Shiller, a Yale economist and author of "Irrational Exuberance," which predicted the stock price collapse in 2000, has recently turned his eye to house prices. Between 1890 and 2004 he finds that real house returns would've been zero if not for two brief periods: one immediately following World War II and another since about 2000. (More on them in a moment.) Even if we include these periods houses returned just 0.4% a year, he says.

The average pundit, planner, lender or broker making the case for ownership doesn't look at returns since 1890. Sometimes they reduce the matter to maxims about "building equity" and "paying yourself" instead of "throwing money down the drain." If they do look at returns they focus on recent ones. Those tell a different story.

Between World War II and 2000 house prices beat inflation by about two percentage points a year. (Stocks during that time beat inflation by their usual seven percentage points a year.) Since 2000 houses have outpaced inflation by six percentage points a year. (Stocks have merely matched inflation.)

Stocks vs. Houses: Valuations

But while stock returns have come from increased earnings, house returns have come from ballooning valuations, not increased rents. The ratio of share prices to company earnings (the price/earnings ratio) has remained relatively steady. It's about 16 today, close to both its 1940 value of 17 and to its 130-year average of about 15. Not so, the ratio of house prices to rents. In 1940 the median single-family house price was $2,938, according to the U.S. Census, while the median rent was $27 a month, including utilities. That means the ratio of prices to annual rents was 9. By 2000 the ratio had swelled to 17. In 2005 it hit 20. We can adjust for the size of dwellings, but it doesn't make much difference. The ratio of single-family house prices to three-bedroom apartments is 19. In SmartMoney.com's home town of Manhattan, where more detailed data is available, the ratio of condo prices per square foot to apartment rents per square foot is 22.

Two main events have caused house valuations to inflate since World War II. First, the government subsidized housing by relaxing borrowing standards. Prior to the creation of the Federal Housing Authority in 1934 house buyers who borrowed typically put up 40% of the purchase price in cash for a five- to 15-year loan. By insuring mortgages, the FHA permitted terms of up to 20 years and down payments of just 20%. It later expanded the repayment periods to 30 years and reduced down payments to 5%. Today down payments for FHA loans are as low as 3%. Aggressive lenders offer loans with no down payments or even negative ones so that house buyers can borrow the full purchase price plus closing costs. Some require little documentation of income, assets or ability to pay.

That means more Americans can win loans for homes, and they can win them for far more expensive (larger) homes than their incomes previously allowed. Two-thirds of American households own homes today, up from 44% in 1940, even though the percentage of Americans living alone has tripled during that time. The ratio of house values to incomes has risen 260% in just under four decades.

A second event helped boost house demand in recent years. Share prices plunged in 2000. The Federal Reserve, fearing that the decline in stock wealth would cause consumers to stop spending, reduced the federal-funds rate, the core interest rate that determines the cost of everything from credit cards to mortgages, to 1% by the summer of 2003 from 6.5% at the start of 2001. Since most of the cost of financing a house over 30 years is interest, monthly house payments shrank and demand for houses soared. In some markets a string of big yearly increases in house prices led to panic buying.

Stocks vs. Houses: Conclusion

For house returns over the next 20 years to match those over the past 20, the government and private lenders would have to "up the ante" by relaxing borrowing standards further. Given the recent attention paid to swelling foreclosures, that seems unlikely. I suspect real returns will turn negative over most of the next two decades, but that house prices won't necessarily dip. Since 1963 they've done so in only two years, vs. 18 for stocks. That's because homeowners mostly just stick it out rather than sell during soft markets. But if house prices remain flat, they produce negative real returns due to the creep of inflation. According to calculations made by The Economist in the summer of 2005, house prices would have to stay flat for 12 years with annual inflation at 2.5% for the ratio of prices to rents to fall from its 2005 perch to merely its 1975 to 2000 average.

So to sum up why I rent: Shares right now cost 16 times earnings and over long time periods return 7% a year after inflation. Houses right now cost 19 times their "earnings" and over long time periods return zero after inflation. And they look likely to return less than that for a while.

On the following page I've tried to anticipate and address questions and objections.


Questions/Objections

"You can't live in your stocks" or "Renters throw money down the drain."

Rent is the cost of owning shares with money you would otherwise spend on a house. Houses have ownership costs, too: taxes, insurance and maintenance. Rent costs about 5% of house prices each year if we apply the price/rent ratio of 19. House incidentals often cost around 2%. If you have $300,000 and a choice between spending it on a house or shares, you'll pay $6,000 a year in incidentals if you buy the house or about $15,000 a year ($1,250 a month) in rent if you buy the shares. But the shares will return $21,000 a year after inflation while the house will return zero. (My numbers work out even better than these. I pay a smidgen less than $1,250 a month for rent, while house prices in my neighborhood are far higher than $300,000.)

Note that houses and shares have transaction costs, too. Home buyers pay around 1% in closing costs when they buy and 6% in broker commissions when they sell. Share buyers pay $10 trading commissions, which are negligible for buy-and-hold investors.

"House buyers get tax breaks."

So do share buyers, but both are a bad deal. The interest on loans for houses (mortgages) and shares (margin balances) is tax-deductible. But the rates are almost always too high. A big house loan presently costs 6.1% interest while a big stock loan costs about 9%. For the returns, we can forget about inflation because it helps debtors while hurting investors, making it a wash for those who borrow to invest. Still, nominal returns of 3% for houses and 10% for stocks aren't high enough to justify those rates. The tax breaks aren't really breaks at all. Moreover, a majority of homeowners don't claim them. Their incomes are low enough to make the standard deduction a better deal.

"What about the pride of home ownership?"

It's not for me. I define ownership as no longer having to pay for something and being able to do as I please with it. I own my coffee maker. House owners must pay taxes each year even when their mortgage payments are done. In certain markets they can't even make changes to the houses they've paid for without seeking the approval of others. Personally, I feel the pride of ownership for shares of businesses, and I'm proud to occupy a nice place while leaving the burden of poor returns and maintenance to someone else.

"You seem to knock government housing subsidies, but they've helped many Americans afford homes."

My inner socialist agrees. My other inner socialist worries that the government has effectively raised prices to the point where the middle class can't afford houses, or buries itself in debt to own them. My inner capitalist is too busy watching shares to care about house prices. My inner conspiracy theorist notes that while politicians tout the social benefits of homeownership none mentions its tax benefits to the government. I pay no taxes on the overall value of my stock portfolio, just on my cashed-in gains and collected dividends. But Americans pay taxes on the full $11 trillion worth of housing they own plus the $10 trillion worth of it they're still paying off.

"Houses are bigger than apartments."

True, and both can be rented. A third of renters live in single-family houses. I prefer an apartment for now. I like not having to fill it with stuff. I like using a fifth of the energy of the average American. I like being 20 minutes from work and (this is unique to New Yorkers) not having owned a car in 10 years. I like not stressing over whether to get the marble countertops or the imported tiles or the 52-inch flat screen. I'm not especially frugal; I spend a teacher's salary each year on restaurants and travel. But I guess I'm too busy or lazy right now to bother with a big house and its innards.

"Are you saying I should sell my big house and rent an apartment instead?"

No, unless you have more space than you need and moving wouldn't be disruptive to your family, and you want to cash in on recent housing gains, make more money over the next couple of decades, use less energy while simplifying your life, and you don't mind seeming odd to friends. In which case, yes. But really, I'm not trying to win anyone over. Strong demand for houses keeps my rent cheap.

"Renting is for poor people."

True. But it's for rich people, too. The average renter makes about $34,000 a year, but while the percentage of renters declines after incomes exceed $20,000 and rents exceed $600 a month, it jumps again once incomes top $150,000 and rents top $1,200 a month. In other words, poor people rent modest apartments for lack of choice. Middle-income people buy houses. High-income people, presumably with a dose of financial savvy, often rent nice apartments instead of buying.

"You say houses return zero. But I've made a fortune on my house in recent years."

I'm referring to inflation-adjusted returns over long time periods, absent external boosts to demand. You're referring to gross returns over a short time period that combined lax borrowing standards and ultra-low interest rates. Over the next 20 years I believe houses will return zero or slightly less after inflation and that stocks will return 7%.

"So you're never going to buy a house? What about raising a family?"

I might buy one eventually, but the longer I can put it off the more I'll get out of the shares I'll have to sell to afford it. I'm 34 now with a fiancée and a fish. I'm going to try to rent for at least 10 more years. If I have kids I'll probably move into a big apartment or a house once they reach running-around age. I'll rent, most likely.


Friday, September 26, 2008

10 Books that will Substitute A Computer Science Degree

Found this list of books online, copied it down because I thought it was interesting. Now I'll share it with you. I do not have a CS Degree...and I do not want one - My degree is in History. However, this might be of interest to those who don't have one and DO want one...Or those who have one they're not happy with. (Hence, why I don't have one.)


1. Godel Escher and Bach by Douglas Hofstadter
Godel, Escher and Bach, written by Douglas Hofstadter, while the title would suggest it is discussion of a mathematician, an artist, and a composer, is a complex examination of how human beings develop perception and meaning. More specifically, the book explores, through a series of dialogues and narrations, how symbols, thought and language are all intertwined and how reality is essentially a composition of overlapping meanings and perceptions. The book challenges the reader to observe the system of symbolic meanings around him or her objectively.
2. The Art of Programming by Donald Knuth
The Art of Programming, by Donald Knuth, is a comprehensive, multi-volume work discussing various programming algorithms and their analysis. The work was voted by American Scientist as one of the twelve best scientific monographs of the twentieth century. The author famously offered a reward of two dollars and fifty cents for anyone who found and reported an error in the text. The work features exercises of multiple difficulty levels, from basic warm up exercises to ongoing research problems, allowing the reader to work up his skill and familiarity with the material.
3. The Elements of Programming Style by Brian W. Kernighan and P. J. Plauger
The Elements of Programming Style, by Brian W. Kernighan and P. J. Plauger, is an influential book on the study of computer programming styles and languages. It endorses the strategy that computer programs should be written not only to satisfy the compiler, but also keep the human readers in mind. The book utilizes examples taken from actual, published programs. The book’s recommendations are made in the context of the examples which are realistic rather than an academic vacuum.
4. Theory of Parsing, Translation and Compiling, by Alfred V. Aho, and Jeffrey D. Ullman
The book, Theory of Parsing, Translation and Compiling, by Alfred V. Aho, and Jeffrey D. Ullman, is intended for a senior or graduate course in compiling theory. It is a theoretical treatment of a practical computer science subject. Since computer science is an ever changing area of study, this book emphasizes ideas, rather than specific application details. The algorithms and concepts presented in the book should survive to new generations of computer technology, programs and systems. Numerous examples are given, with specific context, rather than on the large complicated contexts normally found in implementations, even in cases where the theoretical ideas are difficult to understand in isolation.
5. The Computer and the Brain, by John von Neumann
The Computer and the Brain, by John von Neumann, is theoretical work which examines mathematics, logic’s, and statistics as the basic tools of information. The book explores how these subjects make up the entirety of the planning, usage and coding of computers. The author explores how mathematics and logic are related to the functions of the organic human brain in the same way they are applied to the artificial automated computer processor.
6. A Programming Language, by Kenneth E. Iverson
A Programming Language, by Kenneth E. Iverson, explores how programming language is a signifier for a whole host of mathematical algorithms and procedures. The book focuses on specific areas of application which serve as universal examples and are chosen to illustrate particular facets of the effort to design explicit and concise programming languages.
7. Writing Efficient Programs, by Jon Louis Bentley
Writing Efficient Programs, by Jon Louis Bentley, illustrates to the reader how the
primary task of a software designer is the development of programs that are not only useful, but easy and inexpensive to maintain. Moreover, the book explores how software must have specific application as well as versatility to me modified for unforeseen uses. Lastly, efficient programs must be efficient to write as the cost of writing will determine their competitiveness in the software market.
8. Computation: Finite and Infinite Machines, by Marvin L. Minsky
Computation: Finite and Infinite Machines, by Marvin L. Minsky, explores how the
introduction of the computer in the last half century has affected the fabric of human society. The book essays to describe the application and limitation of computer technology as it relates to human progress and potential.
9. Operating System Principles, by Per Brinch Hansen
Operating System Principles, by Per Brinch Hansen, gives computer science and professional programmers a general explanation and analysis of operating systems. The book explains how an OS works to allow sharing of information easy and efficient.
10. Artificial Intelligence, by Elaine Rich
Artificial Intelligence, by Elaine Rich, gives programmers an introduction to the techniques and problems associated with A.I. The book features references throughout that allow the reader to pursue the topics deeper than would be possible within the defined scope and space limitations of the book.
If You Like What You Read Please Take The Time To Share It!