Bushed Cast Steel Alloy Pulleys

Note: The following information was retrieved from UtterPower’s archived pages. All information is republished for educational purposes. Any mention of items for sale or prices are outdated and no longer applicable.

Pulleys for the Lister and Big Flywheels

Utterpower PulleyMany DIYers will know that utterpower was the first to offer DIYers the 8.x inch Pulleys specifically designed to drive 4 pole generator heads off Lister and other big flywheels. Many of these have been put into service over the years, and we have noted that others have developed their own versions of these pulleys. Our pulleys are designed for Marine service, no expense has been spared period. When we learn how to make it better, we do it. Oh, you noticed our pulleys use a bushing that covers a wider range of shaft sizes? that comes in handy more often than you’d think.

Belts are typically $28 and up at any automotive store in lots of lengths, belts and pulleys will carry two or three times the load we typically use them for and never slip or chirp properly tensioned. Part of KISS is using simple, proven, readily available and cheap wear components. We have customers who claim 6000 hours plus on the same belt.

This 3rd Generation Utterpower pulley uses CNC and American QC and supervision. We believe that we have made a huge step forward in quality and performance of the pulley. It was important that we address the requirements of those who find themselves in marine and tropical settings, the pulley is plated as a final step. Yes it was a pain to go thru all the steps necessary to apply the plating, and it certainly did add to the expense. This effort incorporates special features, some not so obvious, but you’ll likely appreciate the effort to include them. One thing for certain, it was our goal to build the best pulley possible, and cost was a last consideration. This is not one of those products with a high mark up….it was designed by DIYers for DIYers, and we have used the same philosophy as we use in the direct drive, when it is obvious that we can make it better, we do. We leave behind two earlier versions of pulleys that DIYers here and in the third world can copy and make for themselves if they have the machine tools.

Now that we are confident of the design and new features, we are adding different sizes to the line up to provide certain drive combinations. Drive kits for 6/1_ST5, and even a drive system for the Yanmar 10hp clones and PMGs are in stock. More will be stocked in the near future.

Pulleys are made for both 50HZ and 60HZ, and there are many combinations that one can come up with for various requirements. Our line of pulleys will continue to grow, and we expect to develop drives that will handle considerably more torque and horsepower. some of the features in these pulleys support future offerings, they are fully backwards compatible, but they will also offer some advantages we will not discuss at this time. MORE sizes are in the works.

Some Pulleys that were offered at UtterPower:

  • 11.25 inch 8 groove Cad Plated 40 pounds!  (Sold Out)
  • 10.0 inch 8 groove Cad Plated sized for 50hz machines (Lister 6/1>4 pole heads)
  •  8.4 inch, 8 groove 20 pounds, Cad plated   (Sold Out)
  •  7.0 Inch, 8 groove, Cad Plated
  •  5.0 inch, 8 groove, 5 pounds, Cad plated, sized for SK bushing
  •  4.2 inch, 8 groove, 3 pounds, Cad plated, sized for SK bushing
  •  4.1 inch, 8 groove, 2 pounds 10 oz, Cad plated, sized for SK bushing
  •  8.4 and smaller pulleys, priority shipping and handling with tracking
  •  Good Supply of 38mm and 42mm SK Bushings

I have some inventory left, so feel free to leave me a comment as you never know what I might have in the shop.

Watch a Video of a Modified Pulley

This is a video of a modified 8.4 inch 8 groove serpentine pulley bolted to changfa flywheel.

Bushed Pulleys

Why do I use bushed pulleys, isn’t it just another expense?

Bushed pulleys; as far as I’m concerned, they are an important part of ‘KISS’ engineering. a bushed pulley is something that can be used on a range of shaft sizes. I use the ‘SK’ sized bushing because it covers the range of sizes we DIYers normally find ourselves involved with. There are a few using the 48mm shafts, and the SK bushing covers this rather large size as well. If we step up one size to the SF bushing, we can even cover a 2 inch bore, this is the size of the Lister 6/1 crankshaft!

Bushed pulleys allow us to attach a pulley to a shaft with a VERY positive fit, if you do it near right, it’ll never slip, it’ll never come loose, you won’t mangle a key way, and you can remove the pulley in sub zero weather with gloves on! Standard Bushings have two sets of hole in them, one can be used as ‘pass throughs’ the others are threaded. What you need to know BEFORE you install a bushed pulley is that one set of these holes are used as >JACKS< to ‘JACK’ the bushing back out of the pulley. This is typically done when the pulley is put on the shaft first, widest part of the hole facing the end of the shaft. Then you fit the ‘SPLIT’ tapered bushing on to the shaft small end first.

Some folks new to tapered bushing can’t get the new bushing on, always check the shaft and the bushing and make sure they are the same size. Once you are sure of this, you will note that the bushing often needs to be opened up a little. Simply slip a screw drive in the slot, and gently tap on the butt of the screw drive until the bushing spreads enough to get it on the shaft.

Bushed Pulley

 

Here’s a Metric ‘SK’ sized bushing, if you look close you might see the SK followed by the size. You’ll also note six holes, three are larger and un threaded, three are threaded

 

The archived images from the rest of this post are not retreiveable, but if you need more information on what you need to know before installing one, just send me a comment!

Thanks,
George B

Posted in Bushed Pulleys, Z UtterPower Archives | Tagged , , | 18 Comments

Ford 4WD doesn’t work, an interesting design and food for thought

My wife’s 1991 Ford explorer is approaching  21 years old, and has been a most trouble free car.

A recent conversation about early snow, maybe even down low caused my wife to mention that button on the dash that says 4WD doesn’t work.

It hasn’t worked for a long while, and since the computer manages it, I hesitated to look into it earlier, funner stuff to do in the shop 🙂

One thing you need learn is to spend the majority of your time learning how something  works BEFORE you attempt to fix it.  This vehicle is NEVER in 4WD, so the parts that activate the 4WDH and 4WDL and back to 2H are not likely worn out..

Using google I entered “91 Ford explorer 4WD doesn’t work”.. I followed the links and quickly found a forum discussion and learned that Ford used this same system in light Ford Pickups as well.

I read thru a number of posts and found out the Service Manual was $80. I gleaned what I could from the posts and picked a most probable cause.  What I learned from the posts is this system has what old computer geeks might call a code wheel, others would call it a position sensor, but whatever the case, part of the periphery has to be convinced it knows which of the three positions the transfer case is in.. 2H, 4WH, 4WL. Unless the system has a valid position, it will totally ignore your request. My symptoms, reported fixs all suggest a dirty or broken position sensor, or a bad wire or dirty connector to the sensor.

In a newer system, we could generate an error code, and store it to be read. If we were to look up such an error, it might say.. 4WD requested, current position unknown! but hey, this was the 90s, not so advanced yet 🙂

Motor and Position Sensor

Motor and Position Sensor

 

Here’s a picture of the rear of the transfer case, put a floor jack on the frame rail, driver side, and jack both tires off the ground.. add some jack stands for safety to get under here to look around. There’s a round harmonic balancer mounted back here with four bolts, 1/2 inch, remove same to improve the view.

Red  Arrow on left is the Selector Motor, next arrow is the position sensor. There’s three security screws you need to remove, (harbor freight has the bits cheap if you don’t). make sure you make a mark on case, and case lid before you pull screws and cover so you know where to put it back.

I removed this cover and found wipers, and a wheel and traces. I used 600 grid paper to lightly wiped down the wheel and very lightly over the fingers,and then followed up with a lot of scrubbing down with new paper towel, then blew it down with air to get rid of any lint.

I slapped it all back together, and it works perfect. Why did I post this? Because I same as earned $500 or more this morning, I bet if I had taken it to the Dealer, it would have been more. The forum mentioned the New Ford motor sensor assembly is $525.00, I wouldn’t put it past my local dealer to sell me one. A penny saved, is a penny earned, and Isn’t that why we’re DIYs?

GB

Posted in Vehicle Design | Tagged , | 11 Comments

DIYer’s PV Solar Panel Watch, Buy at cost thanks to your Government!

 

 

This short article is all about a call I got yesterday, and the price I was offered for panels  per Watt! $.78 (78 cents USD) per watt.  Sure, you know the advertisement above is sucker bait, why would you ever attempt to build a panel when they are nearly giving them away right now!

You saw your Government use your money to fund the housing Market to death, now you can take advantage of  their efforts to fund the Solar Energy Market to death, and of course it’s your money they use… again!  Following is how you might take advantage of yet another diaster they created. 

It’s likely prime time to make decision to invest in Solar or not. You could buy at fire sale prices thanks to Politics.  And there’s no paperwork, and no hurdles to jump over.  Yes! You can literally buy at prices below the manufacturer’s cost of production and transport to their warehouse. Should this be any surprise to you? Isn’t it exactly the same as the >People< in Government meddling in the housing market?  didn’t they do it to win the popular vote?

Just yesterday, a house and acerage that was on the Market in Enumclaw Washington for $1.2 million, was sold for $380,000.  Slice it any way you want, the root cause was people in government running a ‘give away’ program, and of course they did it with our money. Freddie and Fanny was totally empowered to help win votes. Even the Indian Immigrant driving a cab bought a home twice as grand as mine! Zero down, no interest, no citizenship, who cared, it was your money they were loaning out.. and now we watch them duplicate the effort in Green Investments.. and get away with it, you know there’s little chance anyone will go to jail.

If you buy the spoils of the real estate collapse, you may find yourself paying high property taxes.. who knows what these people will do to remain in power next? Certainly, they won’t stop telling  young voters who have no clue… that they won’t be passing out free candy this year.. or will they?

There’s several ways to invest in Solar, first, you need to know if you live in a decent area for solar PV, and you need calculate the KWHs you might collect, and know the basis for your investment. It’s one thing to deceive others, as many in Government do, but to deceive yourself? That’s NOT something a DIYer does.. Haven’t we learned you are best off investing the time to understand a mechanical or electrical device BEFORE we attempt to fix it? We need do the same with our personal investments.  Remember that gizmo you took apart where the little spring popped that small part into the deepest recesses of the junk in the corner of your shop! The warning about that spring was in paragraph three of the page up had up on your work station… remember?

Here’s the Solar Play.. and how you might go about it…

If you buy a professionally installed Solar System for the fortune they charge, you might receive a contract to sell back the power produced for what seems like a very favorable price. The DIYer passes up his opportunity to do his own install and to buy equipment at going out of business prices. We are left to wonder about the value of the dollar in 10 years, remember the 70s and what happened to our dollar? If that contract is not tied to the going rate of a KWH, what will your investment be worth?

The DIYer’s best play is to buy components at fire sale prices, and use his skills to add value. That’s where Solar Panels appear to be right now thanks to Government meddling. But, you don’t buy panels at any cost and make a decent return if they are stored inside your barn. You need a plan to put them to work unless you choose to speculate on the panels rising in price, and that’s a gamble.

But what about all the other important pieces you’ll need? An inverter, Batteries, wire,  material to support the panels, a controller?

I’d consider designing a system that expands and evolves as you go.. consider a roof full of panels with proper gauge of wire leading to a panel where you can configure the panels from series or parallel operation as you need in the future.

Let’s say you own an automotive repair shop, with a great southern exposure, the angle of the roof is close to what you need to fix the panels at, so your DIY fabricated racking is minimal. To start out, you could use an inexpensive Modified sign Wave inverter to power your overhead lighting and possibly more, and if you have a lot of hot water usage, you might use an electric element in the lower part of the hot water heater as a ‘dump load’ perhaps even a separate tank ahead of the electric one? If you live in a dry area, solar power might be used effectively to run a swanp cooler and fans.  From here expand your system.

Before you invest, know that one person I know had his homeowner’s policy canceled because he built an ugly wooden structure that looked like scaffolding attached to the house. The Insurance agent knew nothing about solar, but he knew it looked unprofessional and he canceled the policy!

A favorite Alternative Energy Friend ended up in a contest with his local authorites, they were just unfriendly to his idea of experimenting with AE, so he ended up buying an old van and using it to mount the panels to. It sits in the yard looking far more ugly than his origional plan but legal 🙂 The next contest came when he wanted to put up a wind turbine, the authorities objected, so he bought an old truck with a boom and man lift to mount his wind turbine on. I don’t suggest you do this, but I do suggest you fully research before you buy.. and.. take advantage of the fire sales on the way.  I bought some Outback MPPTs for about a third of retail price, I have one in service, and I’m very happy with the performance..

This  is the end of the article, what follows are more musing and rants about A.E. .. book mark this page an return in two years..

Most who frequent here have some years under their belts, we are old enough to know the cycles of the markets, we’ve seen commodities go high in price, and then back down again. But perhaps there is something new in the air?

It wasn’t that long ago that German Politicians were faced with the problem of pacifying a huge voter block demanding a Greener Future. The result was FEAR….. fear of being voted out of office by people who have no clue about energy, how to meet their demands?

German Politicians responded with a Government subsidy that paid nearly 100% of the cost of installing a Solar PV system on a German residence.  When it’s free, who cares how the investment is maintained? who cares if a tree sprouts in front of your panel array and grows to give your patio needed shade in the summer?

Yes, it’s now  history, and we watched the Germans create an incredible demand for solar panels, and we need ask, who doesn’t want to buy when it looks free? The cost of Panels  rose, as it always seems to do when demand goes up. Soon the panels were over $6 a watt, and if you have the business sense God gave a chicken, you might realize the German public is now carrying that debt.. instead of free, they essentially drove up the stock price and bought at the highest price we’ve seen thus far, brilliant! It reminds me of the Tanks Germans built in WWII, some were so heavy, they couldn’t take them across bridges to where they needed them… but now we Americans attempt to copy what they do, the powerhouse within the EU, perhaps the only one?   We are left to ask.. What might have happened if they left German Citizens to make their own Solar Investment decisions?

Today, we can order Solar PV panels for a fraction of the price, can you believe .78 cents USD a watt! and a lot of it has to do with a destroyed industry.  Artificial demand, or even one big order for a product has destroyed a lot of companies in the past, whether it be widgets or tooth picks, and huge spike in demand can wreak havoc on entire industries!  Many of these failures have to do with people in power attempting to remain there by doing the popular thing which is often the opposite of the smart thing.

Imagine yourself as a retailer buying a mountain of PV panels at less than half the street price! $2.99 cents delivered! Wow, how could you lose?

But, let’s look forward a little,  we know the uninformed are unwittingly driving up the price of electricity through their insane votes to place wind farms in already Green Energy Hydro Markets, and effectively taxing themselves into expensive energy. (Example Washington State).  It may be a self full filling prophecy.. that the life blood of our economy becomes expensive…. yes, you were wise in locating in an area blessed with abundant green hydro, but it doesn’t mean your elected officials can’t ‘sell off’ the advantage. Remember Montana Power? the eight percent dividend people earned on their stock every year for how long? Yes, it was the CEO who traded off a large interest in the company for the crap on wall street that had seen a 30% rise in price value in just one year!

People in Washington State, like the present Governor and others in Politics are effectively dong the identical thing Montana Power did..they are selling off the golden goose, and forcing the rate payers to invest in power plants that will never provide a return on >their<   investment! the real winners are the foreign entities that build the equipment, and all the palms that get greased up front. It’s popular with the kiddies that vote, but soon they’ll understand it has become their heavy burden, it will be proven a diaster shortly.. just like the housing market!

Here’s my thought, lead and copper have been high, not all that long ago, I bought >new< surplus deep cycle batteries for less than the current scrap lead price per pound! Copper is still high, but we need ask.. will commodities cycle?

My conclusion…if you ever considered PV, if you are wise enough to look up your area with the ‘on line’ PV tools and know you could effectively make a return on investment on PV…. Now might be a good time to buy. You will effectively be taking advantage of the Government Subsidies in the smart way, you will be buying the spoils created by an insane Government subsidy that created spoils for less than the manufacturer was delivering the panels to the distribution facility for!

Today, I’m sure you can visit websites of Politicians and popular environmental sites, where they praise their own efforts for forcing PV and other green energy investment.  In reality they helped to destroy an industry, and they hope you aren’t smart enough to follow the string.  The reality is.. I know people in the Solar Industry who were doing quite well BEFORE government intervention. At present, the larger jobs are government installs, and of course, we the tax payers are footing the bill, so it really doesn’t matter if the investment is viable does it? Most of the PV solar business has had the life squeezed out of it..

Consider buying your PV panels surplus now, and shop carefully for the other components, There a number of ‘going out of business sales’ and those large lead acid fork lift batteries might be on the action block, calculate the weight of the electrolyte, the steel case, and bid on it according to scrap. Remember, there are several technologies of batteries, you likely want the old designs that have been giving some off gridders more than 25 years of service. You will be taking advantage of the Government’s meddling in the Market, by buying spoils created by their bad decisions driven by their desire to remain in power at any cost to you.

Last night I was talking to a Friend, California came up, one for the larger economies in the world, they are deeper in debt than Greece, worse off than Italy by a large measure and some say they’re too big to fail 🙂 Fact is they have already failed!

It reminds me of a boat being too big and too well-built to sink, we know where the Bismark lays, We know where the Titanic lays… if only we could magically levitate them though the front gate of the local scrap dealer.. think of the value of the copper alone!

In closing, anyone that pays money for the construction plans to build a PV panel deserves to be fleeced, but the real problem is these same uninformed people vote!

And why the mention of DIYer in the title?

I suggest you study the price of PV panels and equipment, look at the subsidies offered, and then consider what it takes to have the panels professionally installed and certified for any kind of rebate, subsidy, or other compensation, it’a a HUGE increase in cost over what a DIYer can install for, and do it in steps where you need not pay any interest.

Perhaps you need look at who is promising the return or subsidy, whether it’s tied to the face value of the dollar, the potential for inflation, and other things that could happen.

I know one guy who bought a rather small PV Array installed for $100,000.00, contract in hand to sell the KWHs back to the power company at a good rate with a cap per month. It would be interesting to pencil out what you could DIY install the same PV plant for today. What happens if inflation duplicates the Jimmy Carter years? What will he buy with those returned dollars in 10 years? The cost of repairs, will his equipment be discontinued, who will service it? How likely is it that the key supplier of the Solar Equipment was driven into Bankruptcy already via Government meddling? Perhaps there’s a promise made by your Government to use your social Security money to rescue his investment if things go sour? ….lucky you!

As we make assessments of Government promises, we need reflect on their past promises, social security put in a lock box? sure thing! They just pulled a half billion out and handed it to Solyndra.. Ohh you say you’re tired of hearing about that? Well, you’ll eventually find out that most of (your forced investments) by the DOE are just like it..you are on the hook, not the person who heads the DOE.  Yes, the same money you paid in via your social security deductions were handed over to companies who were contributors to political campaigns AND who had exceedingly flawed business plans to make a product to be sold at a price the market can not afford to pay..

Investing now under the terms of rebates might be a disastrous decision compared to doing your own project and buying at fire sale prices when the opportunity arises.

We have a Government that has no problem running guns, (of sure.. they’ll do what is necessary to save face on the surface, but the fall guy will likely be well paid for the fall, and you’ll never notice he’s living so well after he takes the fall.  Buying votes, robbing social security, all kinds of grants to supporters, forcing you to pay for it all, and now forcing you to join their healthcare plan, and younger people will line up for it! An Assistant Coach took advantage of kids at Penn State,  some of our politicians do a similiar thing with our kids, they have no idea they’re being screwed.

There’s only one logical play if the voters continue to vote for the impossible dream like California, Greece and Italy. If you are there and can’t move, You must become as independent as possible. A big part of this independence might come through selling off what will be too expensive to own in a few years, that might be a large home in the south, or one in the North that no one can afford to heat in 10 years. Maybe you sell the American dream before politicans sells you? Got a big gas guzzling boat? A house with an energy bill twice as big as the mortgage payment? Maybe it’s time to find a new owner?

A battery idea.. some large  fishing boats have decent size battery banks, these are the same batteries used in off grid locations. Many of these boats change the batteries out after a good fishing season, they can’t risk less than flawless performance, and if the year was good, perhaps the accountant will tell them they need more investment in the boat to keep from paying the FEDs too much? look for oppurtunities to buy good batteries from those entities who purchase fresh battereis at intervals.. you’ll need to offer more than the scrap man.

As I close, I am so happy with my decision to power our place in the central mountains of Washington off solar.  Puget Sound Energy has a transformer at the front of the property, I met with the rep in the area, and he told me how it was going to be.. I could place my house up front and close to that power transformer, and eat the dust off the gravel road, or pay thousands for a transformer, buried wire, and labor to run a distance greater than 200 feet. I thought of all those minimum bills when we weren’t there, over 15 years now.. times 12 months, and the never ending payments for ever…

I used Outback components, I did the install myself, a friend helped me set the solar mounts, the rest was pay as I went. The system has met every demand I’ve placed on it. The outback equipment was designed and sold by people who know Solar Power inside and out.  I bought outback equipment because it works so well for folks in the outback in Oz and Kiwi Land, and here in North America. My investment will prove far wiser than the political victory at the Wild Horse Wind Farm, our children love all those big white monsters that don’t seem to be making power when I drive by.. couldn’t they at least paint them earth colors so they don’t mar the landscape?

comments, scroll down, I’d love to hear it..

have a great day….

George B

Posted in Alternative Energy Sources, DIYer Skills, Insane Grants, Off Grid Power, Projects, Things I like, Your Wasted Tax Dollars | Tagged , , , , , , | 2 Comments

Synchronous Generator Basics, Simple Guide to rewire your HEAD.

Keep it simple

Zach Says.. let’s keep this page simple!

Notice: for legal reasons, all that follows is for discussion sake only, drawings may contain errors,…. mine or someone elses. I am not licensed to instruct you, and only a licensed electrician, PE,  your city, country, state, or federal authorities count for a thing! If you find any of the drawings or comments in this article contain errors, I’ll be grateful if you scroll down and make a comment on what and where, or any other concern you might have. The goal of the article is to help make people more self-sufficient, the cost of taking a generator to a shop to have simple repairs made can be expensive, and if it’s a 200 mile trip to town, it can be expensive just to get it to repair and back.

Attempting to write an article that answers every question for every reader is not something I’d care to take on. I write for the DIYer, and many have basic electrical skills. I think this article is in demand, as there seems to be a lot of confusion about basic generator head wiring.  I haven’t found the topic very well covered elsewhere, and my article on ‘Zach’s Generator and Transfer Switch install has generated questions as to how you wire the generator.  Zach’s house has a lot of natural gas appliances, it allows us to run in 120VAC only mode, and this can have some real advantages. BUT.. If your Generator is 120/240VAC, how do you do that? and why? We’ll cover that here.

Perhaps the place to start is explaining that a lot of generators are very much alike, Synchronous generators make up around 99% of generators ever sold, and so many of the big box store generators are near identical electrically .  I use the example of the Coleman generator for several reasons, one.. I bought one about 20 more years ago, and it still runs well. It’s 1850 watts, green in color, and has been used for small projects, hunting, camping and more. A reader has a larger one and wants to hook it up to a transfer switch, he sent the drawing of the Coleman so we’ll use it!

Why 120VAC only? We’ll get into this more later, but simply stated, a 120/240VAC generator typically can only deliver one half of the generator’s rated capacity into a single load. Let’s say you have a 3000 watt generator, that is capable of supplying 120 and 240 volts. If you set it up in your drive way,  plugged in a heavy extension cord and drug the far end into the living room, you might assume you’re ready to go.. you grab a power strip, and plug it in, and then power up the TV, cable box, maybe even one of those tiny little ceramic heaters because your kids toes are cold. With this small load you may have already overloaded your generator!  If you had a Kill-A-Watt like I suggest people get and use, you might see the voltage is well south of 110 volts already! Why? because your loads could be running on one half of the generator’s stator windings, and already overloaded. Fact is, some generators don’t quite carry their advertised capacity, so you need know what it will carry, and monitoring the voltage is one way we can do that on the cheap.  With the typical hardware store generator,  we expect excessive voltage droop when we overload the generator.  The Kill-A-Watt will also remotely monitor frequency, and if the generator is well loaded, it may fall well below frequency as well, this is all so easy to monitor with the Kill-A-Watt, and they’re cheap as dirt.

So let’s look at a drawing of a Synchronous Generator and look at the typical parts.

Coleman Gen-main-Parts

Coleman Gen-main-Parts

We need focus on these two stator windings circled in Red, these two windings are like independent power sources, they can work together in parallel, work together in series to provide a higher voltage than either can provide by itself, OR they can work autonomously kind of like two flashlight batteries.

Before we discuss the stator further, notice the field winding, in most cases the field is the rotating part in the generator, and it’s attached to the shaft. In this generator, there’s power provided by some exciter winding(s) inside the stator housing, this is a separate winding and you can see that it goes to a box marked BRB here. Normally, this is nothing more than a full wave bridge rectifier. In almost all of these big box store gen sets, the radio shack 30 amp full wave bridge rectifier is more than adequate as a replacement if yours goes bad. The part has an AC input, and plus and minus for DC out to the brushes and onto the field, IF you replace a bad rectifier and accidentally mix up the plus and minus output, the generator will not put out voltage unless you (flash) the field with a battery, so take time to note polarity and match it!

Most problems with big box store generators are found in the brushes, or there’s a bad rectifier, both are easy to check.

Back to our story about 120 VAC only

Flashlight Analogy

Flashlight Analogy

Look at the flashlight batteries, pretend they’re rechargeable NMHs, that means they are 1.25 volts each..    In this case the batteries represent the stator windings, and if we go across the batteries in series we’d measure from terminal (1) to terminal (7). We’d read 2.50 volts. Notice that there is no way of getting both batteries to work together to support a larger single 1.25 volt load, we’d need to rewire to do that, and this is very much like the stock 120/240 VAC generator.

Coleman was nice to bring out both ends of their Stator winding to a terminal block, this means we CAN rewire the generator for 120VAC only, and use the output on a heavy extension cord and power a number of loads AND share the load across both Stator windings. In this configuration, what ever the load is, it will be shared equally by both stator windings. This is normally a more ideal setup if you are going to power a transfer switch and have the luxury of powering 120 volt loads only (no need to power a 240VAC load like a well pump.

But.. with a little effort, we can add a DPDT (double pole, double throw) switch, and set the generator up for 120/240 operation, AND 120 volt only, you will find some generators have this feature, Honda construction generators of 5KW and less have been supplied with this feature (a switch) to mention just one.

Here’s a method to accomplish a switch between 120/240 and 120 only, remember, the switch should only be thrown when the generator is off.

Using a DPDT to selector 120VAC only or 120/240 operation

Looking at the above drawing, you’ll see six switch contacts, using a DPDT switch.

You might understand the drawing better in the following drawing,  when  (|) contacts are closed the (X) is open, and when the switch is thrown to close the (X) contact, the (I) contacts are open.

Selector-SW-drawing

Selector-SW-drawing

 

 

 

 

 

 

 

 

 

 

Added Note: 4/16/12  As a friend tells me, 80% of your work remains AFTER your write an article, you need catch all those mistakes and typos. Read comments, and see if this makes the selector switch modification more clear?

120-240VAC -or- 120VAC only Selector Switch 2

120-240VAC -or- 120VAC only Selector Switch 2

  

 

Now, there’s a bunch of assumptions I make with this example, you’ll know to provide your grounds, you’ll understand that ground and neutral are not the same thing.  You’ll  consult your areas electrical codes as a final step.

If you are checking grounds with a clamp on amp meter, and you find a ground carrying current, you likely have a wiring problem. you want grounds free to carry fault current to ground and hopefully away from you, using a ground as a neutral means it’s working already, and might be too tired or too busy to handle an emergency request. I once saw a rather ingenious fix in a barn, the owner lifted a ground at both ends, and used it as a switched neutral to turn on an off a light, he was pretty pleased with the work around, but likely didn’t fully appreciate that he had violated

One more mention… persons new to AC power often assume that the two 120VAC hots are similar to having two of three phases of three phase power, and sometimes they’ll even (wrongly) call it two phase  power or 240VAC.  Don’t get this bad picture in your head!!! Both 120VAC and 240VAC are single phase power. Here’s an old article I wrote about single phase .

A hint about modifications, many troubles are created when poor connections are made, consumer generators have various connections, some use quality spade connectors,and if you use same, a dab of silicone cement or similar can assure the spade connection doesn’t vibrate off. Any connection that can be soldered is one that won’t cause you trouble later, but you need to know how to make a clean tight mechanical connection at the joint before you solder, and you need to know that rosin core is the right stuff, never use an acid core solder. As for wiring in a DPDT switch as I have shown above, I personally would never use a screw terminal switch, I’d only use a switch with solder connections, and I’d use the proper wattage of soldering iron or gun to make those connections.

Commercial and Military generators often have a ton of screw terminal connections, but the panels where these connections are made are normally we isolated from vibration and they correctly use higher grades of stranded wire (many fine strands) that are far better at holding up against months or years of vibration.

Do not confuse the stranded wire you find the commercial electricians using for buildings with the stuff you need use in a portable generator like those found in a big box store. To get an idea of the difference, look at how fine the wire strands are in an extension cord, then look at the six and eight strand stuff at home depot at 14 and 12 gauge.. big difference!

The wire you use should be rated for temperature, and the insulation should be adequate as well. some times you’ll see added insulation added, like a secondary sheath in an area where vibration could occur, you’ll also see nylon ties used to keep wires clear of rotating parts, or aways from parts that get hot. A lot of this is plain common sense to an older DIYer, but in the new modern world or throw away everything, younger folks have had less opportunity to fix or repair things and gain basic practical experience.

If your read this far, you are likely rare indeed! and for you I have a question:

Q: If you have your two stator generator wired for 120VAC only, and one stator coil opened up, or a connection between one coil and the other opened, what would the symptoms be as you attempted to power loads? Select the best Answer:

A:  The voltage would be off

B:  The frequency would be only 30hz

C:  You’d only see half the sine wave, your loads wouldn’t run.

D:  All would look normal until you exceeded the load a single stator winding can carry.

Answer= D.  When you reach only half the rated capacity (Amps), the voltage will droop rapidally, and you are likely to see less than 100 volts if you keep adding load. this is a bad situation, and it’s a typical failure that shows up right in the middle of an outage! It is why you use the correct wire, and make the best connections possible, it’s why you buy the proper rated quality switch and pass on the cheaperjunk, you want this to work when you need it!

Here’s a picture from Mike on his Coleman, note this plug contains the two stator windings and a ground, it’s always smart to run grounds between your gen head, frame, electrical boxes, all the stuff you might touch.

Coleman plug from generator head

Coleman plug from generator head

 

 

 

 

 

 

There’s information about specific RV wiring here, it was a suprise to me that they have 30 and 50 amp 120 vac only RV hook up services! https://www.utterpower.com/todays-email-how-to-wire-a-generator-head-for-rv-use/

I HOPE THIS GIVES YOU A PLACE TO START…scroll all the way down for comments..

GB

Posted in DIYer Generator, DIYer Skills, Generators, How Tos, Off Grid Power, Projects, Questions & Answers, Things I like, UtterPower Articles | Tagged , , , | 98 Comments

Ballistics, a great place to learn some basics

22-250-Ackely-Improved

22-250-Ackely-Improved

Experimenter P.O. Ackley is a fun read, you will find some of his books are still in print after many years, and they’re well worth your time. 

It was in hunting camp this year I decided to ask a question.. why? I guess I wanted to see what folks knew about gravity.

Here’s the question:

If you adjust the barrel of a rifle dead level, and you fire a bullet from that barrel, what information will you need to calculate the ‘flight time’ of that bullet?

assume the ground is flat… and that gravity here on earth is uniform.

Check all the information you need to calculate flight time.

  • The mass of the bullet.
  • The velocity of the bullet.
  • Air temperature
  • Distance from the barrel to the ground.
  • The ballistic coefficient of the bullet

Scroll down to the bottom to add your comments, there was only one guy in hunting camp who got this right, and as I mention elsewhere, it’s normally the Farm Boys that seem to know this stuff off the cuff. Yes, it was a Green Thumb from Tri Cities who grows tomatoes, peppers, and melons when he’s not trapping and counting bugs for the Agra Business.

Ballistics is a natural curiosity for the DIYer, it’s brain food, and helps you stay focused on reality. Whether it makes you shoot better or not, I don’t pretend to know..

George B.

Posted in DIYer Skills, Gravity | Tagged , , | 10 Comments

Chinese Horizontal Diesels, 195, 1100, 1115, 1125 and others

Note the engine being decrated, see the shipping legs.

Note the engine being decrated, see the shipping legs.

I’ve lost count of the number of reports I’ve received over the years. The Engine completely destroyed itself WHEN the engine ?mounts? failed.  

The value of these old designs has been the topic of other articles, but I’ll mention that good ones are good, and bad ones are indeed bad. We need remember that the Chinese have lived under a top down management style for how many years? Imagine what it’s like to be able to think for yourself and make business decisions for a private business in Mainland China. Some are good decisions, and some are helping to ruin China’s image. they don’t have a lot of rules at present, because no one really had any freedom to make decisions, business ethics? what’s that? It reminds me of the old west, when people shot from the hip 🙂

There are all kinds of opportunities to be screwed with Chinese goods, and some examples might be shortcuts in manufacturing demanded by your supplier in order to improve his profit margin. Perhaps he asks the engine builder to leave out the oil pressure relief, and maybe even use up that pile of castings that didn’t quite meet the standards for #1 parts. Since the engines are going to get re-branded as ‘happy flying Monkey’ why would the builder care?

I know of one engine design that wasn’t selling all that well in China, and the builder had a pile of parts stacked up in an unheated part of the plant. The engine was off the assembly line, (due to poor sales) and when an order finally did come in, the Manager saw a opportunity to clean out that pile of parts and maybe make a few dollars for the company as well. Under the guidance of the plant manager, the engines were assembled after hours away from any assembly line procedure, as this was the best she could do, there was no way it would be profitable to put such a small order onto an assembly line and train the people for every step of QC.  The end result were engines assembled with casting sand left in the engines, clearance problems, bearings fitted not quite right, etc, some caused problems early, others are still running happily, but a 10 or 15 percent failure rate is likely devastating news for the Importer.

But this short article is all about screwing yourself, not being screwed.

When you open a Chinese Crate, you’ll often notice a set of cast iron legs bolted to the engine. Without these legs, the engine would be resting on the oil pan, and if the crate is dropped, (which happens) you’d likely crush the oil pan, and perhaps the oil pickup inside.

The shipping legs are adequate for loads from above, but totally inadequate for any side loading.

A lot of folks think they’ve been given a real gift when they open the crate.. a set of engine mounts as a bonus, easy to work with, just run some lag bolts through the feet into some beams, and go!

They don’t think about those tall legs, and the fact they’re cast, they don’t think about the engine’s movement working on that cast till it cracks one day, and eventually the entire leg breaks off. If you’re really unlucky, maybe the flywheel arrests the engines fall, there’s still plenty of fuel, and the engine is unattended, so the flywheel spins while rubbing on that wooden frame, and poof! you finally got a fire going, there’s some oil on those wooden parts too, and all you need do is add a little more fuel. It’s not too long and Murphy steps in to help with the fueling requirement.  The plastic fuel line melts, and now you add a few gallons of diesel to the fire! Of course you’re glad it wasn’t gasoline, but your barn still burns down 🙁

There are different versions of the story, one being when the leg broke, the external oil line arrested the fall when it landed up against an electrical box mounted on the frame. Things were not so bad untill the oil line ruptured and the oil pump emptied the sump of all lubricating oil. It’s amazing how these engines will run right up until the piston seizes in the liner, and when you take off the back cover and look at the big end of the rod, you’ll see that beautiful deep blue color!

As you review your decision to use these shipping mounts for engine mounts, you might even recall pictures of these legs being used in Asia somewhere?  Now you’re thinking maybe your legs were just not made so well? Nope, there’s people who don’t know better here and in Asia.

In many cases, you might note that a piece of angle iron on the top of your two wooden beams would have allowed you to mount the engine directly to your frame eliminating parts, and now that you study those shipping legs, you note the rather huge loads you put those poor bolts and cast pieces under, especially where the mounts bolted to the engine itself.

Sure, there are other ways to ruin your Chinese Horizontal.

One is to forget to tighten that valve cover bolt! Notice I didn’t say “bolts”, many heads have one only, and if you don’t torque it down good, it can and will (according  to Murphy) come loose. Of course if you didn’t engineer a low oil pressure or low oil level shut down, the engine will run until it destroys itself.

Some of these engines run high oil pressures, and your typical oil pressure switches will leak oil and cause a failure all by themselves. This fact creates another topic… How to install an oil filter and a pressure switch that might be used for an alarm or auto shutdown.

Thanks for the email Matt, you are just one of many who mounted your engine with the shipping mounts, and I figured I’d provide a warning here for others to read  on the blog.

Years back I had a pile of these legs headed for the scrap yard, a guy in Oregon wanted to buy them. I explained they were designed for shipping, and didn’t think too much about it..now I regret transferring them to him. I wonder how many might have failed in service as engine mounts?

Aren’t we all just learning? Seems the minute you think you got it all figured, reality bites in square in the ass.

All the best,

George B.

 

Posted in Building Design, Important Safety Information, Projects, Small Diesels, Things I Hate! | Tagged , , | Leave a comment

Developing a User’s Guide for Zach’s Remote Start Stand-By Urban Generator.

In George’s typical style, first we must ‘set the stage’.

Grandson Zach-and-Cat

Grandson Zach-and-Cat

Reference to previous articles about this Gen Set.

https://www.utterpower.com/zachs-remote-start-generator/

https://www.utterpower.com/installing-a-generator-transfer-switch-at-zachs-house-21211/

Main-Switch

Cool looking old switch I found in the bowels of a Seatle Building.

In Previous posts, I’ve shared that Zach lives in a house with Natural gas, he’s a lucky Boy, as this usually means you can live in far greater comfort during a power outage >IF< you have enough backup generator power to run your natural gas furnace blower motor,  a few lights, the microwave, and of course, keep the entertainment set running in the family room or living room where the family usually gathers.

You don’t need to attempt starting the furnace motor while the microwave is running, and the Kill-A-Watt can be plugged in where you have these larger loads, so you can monitor frequency and voltage to know how the generator is doing >before< you add them to the generator.  As we know, few people do their best thinking during a power outage, especially when you have children under foot. In order to relieve you of the burden of thinking, you need a check list and a flash light. Two copies are a good idea, one nearest the Generator Transfer switch, and one in the Kitchen. One item you need put on your list is to put the Furnace thermostat on the coldest setting, so you are not surprised when it starts when you might have a max load. Load management is fairly easy with a small generator, but it does require a plan.

A generator adequate in size to get you through, VS a large lightly loaded machine means you make less of an investment in the generator, and you make a KWH of electricity for far less fuel. This means you operate longer on the fuel you have, and we never know how long that will be as we are living in less certain times I believe.   Of course we know that diesel has a lot more energy density than gasoline which means you’ll make more power with each gallon you have stored on site.  and it can be stored with far more safety than gasoline.

Zach’s house is 200 feet or less away from two houses that were severely damaged when a gasoline can was ignited next to a cedar fence between two houses. I’m not sure the fire department has ruled on the ‘root cause’, there was one story told that the gas can was next to the garbage cans and there was also some oily rags that may have went up in spontaneous combustion. What ever the situation, when the gasoline went up, the flames were two stories high and the flames and intense heat entered the attic via the bird blocks under the eves into both houses.  It’s noteworthy that the siding was ‘hardy plank’, a product made of concrete and other fire resistant materials, and it’s very popular here in the North West for good reason.  Of course, the cedar fence was dry during the summer when this happened, and added to the heat and intensity of the fire, (cedar for fencing is typical in this region) and I am sure the hardy plank eventually buckled and twisted which allowed the intense heat to ignite the underlayment at some point.  I witnessed that the Fire Department had to string hoses for a long distance, and perhaps that’s why the houses were so severely damaged? Why in a newer neighborhood was there a need to string hoses so far? certainly a topic of another discussion, but more food for thought before you consider storing gasoline on site.

Now on with the story of developing a User’s Guide, and perhaps you’ll help by adding your comments, just keep scrolling to the far bottom of this article.

User’s Guide

The best user guides are developed when things go wrong, and the lessons incorporated into the guide. I just got off the Phone with Dave C., and Engineer in Southern Oregon who runs an off grid power plant 24×7.  He recently had a governor failure, and there was no over-speed shut down. He lost some equipment because of it, and it leaves us to ask.. Just how many things will we monitor, and how sophisticated will our shutdown system be?

I think  he might have caught the problem with a monthly routine.  You start the generator and note that the frequency and voltage are in deed where you expect it to be.  Now you add a test load, the same load you use for a test load each month. Is the voltage and frequency the same as last time?  from no load to near fulll load? Excessive droop is a sign something is different, and may indicate wear or a fault of some kind. KEEP A LOG!     

A lot of problems can be caught early, but you have to be looking for them. Commercial Operators (at least the smart ones) have a lot of routines, and their employees must take readings, record them and initial them. You should consider adopting their procedure. Murphy will assure something really simple fails and make you look like a fool at the worst time ever if you don’t!

Here’s where we start… How to use the simple remote start panel,  and a reminder.. the decompressor takes the strain off the starter and allows you to start the generator with a partially charged battery, that’s why it’s part of the design.

 >>>>>>>beginning of guide>>>>>

 

Remote Start Panel Face

Remote Start Panel Face

 

 

 Starting:

  1. Make sure All switches on the transfer switch panel are down! It is important that no loads are on the generator when you attempt to start it.
  2. Check the Generator for fuel level, there is a fuel gauge built into the tank. Ideally, it should be full, also check that the vent on top of the tank is open.
  3. Note that the Battery Indicator is lighted, this is powered from the Generator’s start battery. The battery powers the relays and other things necessary for remote start.
  4. Move the Fuel Switch up to the ‘ON’ position, the switch handle should glow green.
  5. Hold down the Decompressor Button and hold it down with one finger.
  6. Push the Start Button and release the Decompressor Button in about the same time it takes you to say the word ‘one’. Monitor for the sound of a running engine, also watch the Generator AC output indicator, it should start to glow as the generator picks up speed and should be glowing bright when the generator is up to speed.
  7. The Kill-A-Watt is a good monitor tool, and you should use this in the kitchen or family room to monitor the frequency and voltage. If you see a voltage of less than 110 volts AC, you need to reduce load, and or check the Frequency. Ideally the Frequency should be 60HZ, but 58hz to about 61 Hz is normally acceptable with most home appliances.
  8. Voltages over 130 volts >can< damage appliances, and we need monitor for this possibility.
  9. Move switches on transfer switch to the up position to power tem via the generator.   

Stopping Generator:

  1. It is important to remove all loads from a Generator BEFORE you intentionally stop it.
  2. >Move all of the Transfer switches ‘OFF’ the Generator (to the down position)<.
  3. With all loads removed, move the Fuel Switch to the down position and note that the green light goes out. It a minute or two, the Generator should run out of fuel, and stop.

Precautions and Running Notes:

Your Fuel tank is generous in size, one of your largest loads will be the furnace motor, and it’s likely you might see the lights blink when this motor comes on and off.

If you close the vent on top of the fuel tank for any reason, open it before you run the generator or it will likely run out of fuel in the middle of your outage. when the tank is full, there’s little reason to keep the vent closed. 

The goal is normally to conserve fuel and keep lights and appliances not in use off, as you don’t know how widespread your outage is, and whether you can get more fuel close by.

Diesel Fuel will keep for a LONG time if you keep water out of it, and keeping your fuel tank topped off is key in areas like wet and sometimes humid Western  Washington.

One important strategy is to consider keeping large loads from running at the same time. An example is the furnace and the microwave, it will be prudent to use these one at a time, and if you attempt to run them both, monitor the voltage with the Kill-A-Watt.

Motors draw a lot of current at start, and unless you monitor closely you should not run the garbage disposal, vacuum cleaners, or other loads.

Remember that Frequency and generator RPM are directly related, if you see a lower Frequency, there may be a larger load on the generator. You could adjust the throttle upwards, but you don’t want the voltage to go over 130 volts with no load.  So if you turn the throttle up with a load, you need consider what happens when the load is removed.

Generator Loads A,B,C,D,E,F

Breakers inside the main panel are marked as per their assignment to the Generator transfer switch.

Routine Items:

Monitor the battery condition: This is best done with a volt meter, also verify that the trickle charger that keep the battery charged is working

Generators need a monthly run to keep their parts lubricated and to keep rust from forming. A 20 minute generator run per month will extend the machine’s life, and give you confidence it will work when you need it.

Oil should be changed at 100 hour intervals.

The end for now..  GB

Posted in Generators | Tagged , | 1 Comment

Wall Sreet Protests, behind the scenes! Sunday Morning Musings

Why do we need jobs?

Why do we need jobs?

Maybe it all started in Seattle,  a City who believes in harboring illegals and the homeless, even when their budget is broken. Perhaps it’s all about giving everyone the dignity they deserve, to assure they live in reasonable comfort, perhaps to make them a home no matter how much they want to be homeless?

One thing that’s been happening here for years; Seattle has been reluctant to allow the homeless and jobless to camp in prime downtown locations as it discourages those who would visit business establishments in the area. No business, no money to pay the property taxes, city taxes and more. They (the city council) seem to understand where their paychecks come from, at least at times they do.

But… what if you rallied the homeless to protest? Free Speech right?? They move from some camp the city was able to tolerate to downtown right in the middle of the heart of commerce where they (the homeless) wanted to be in the first place!  All you need do is move the same resources that fed them prior to downtown, and that might happen naturally in a caring and compassionate city like Seattle at no cost to MOVEON.ORG.  Imagine how fast the word spreads in the homeless camps, “go down town, you’ll get fed, it’s one big party down there!” Who doesn’t like a party? Especially if you have absolutely nothing better to do! Soon it attracts those who even bath once in a while, but put a mic under their nose, and it’s all the same “you owe me, and I want it now.” I know a guy who supports this movement, and he told me there was one protester that knew why he was there, and FOX NEWS wouldn’t put him on! It did my heart good to know there was at least one.

But what about the Small Businessman who is barely making the payroll in that small shop downtown? What about all the extra unwashed souls who occupy a City Bus Seat in the free ride zone to warm themselves, and perhaps panhandle some money? Maybe even sleep off that bottle of apple wine? Who might not be able to get to the job because the bus had become a homeless camp? Don’t we know they’ll even use the bus as their toilet.

It’s always been easy to rally useful idiots, but so few agree as to who the useful idiots are.. Some will say it’s the homeless drug dependent alcoholics, others might suggest it’s those who support the Protesters.

Here’s your new workforce America, just try to hire one of them 🙂

For you folks who live in the country, you know what a fresh hog pen looks like, the green grass, the dry straw beds, the loafing shed in perfect repair. Doesn’t take long for the pigs to make a mess out of it. and don’t we know, most people with money to spend WILL avoid the hog pen. It’s all so helpful in our economic recovery isn’t it?

For me, it’s just another warning that you need be handy in the future, as we seem to continue to cripple efforts Small Business makes to survive, and we all know this is the heart of American prosperity.

GB

10/25/2011 AM  Good Story From Oakland California

California has had enough of the occupy wall street crowd, they are busting up their camp and arresting them.. certainly, it’s a large expense of the City, but allowing it to go on will certainly kill some small business who have lost the majority of their customers as people avoid the areas of protest, yes, a day they can weather, but to hold and occupy, well that’s a business killer. On TV this AM is the spokesperson, a naive looking girl who says: “This is an illegal act, we’re not camping here, this is a protest and it’s our right to protest anywhere and at any time.

Meanwhile, the present Administration does all they can to take advantage of these protesters, and attempt to demonize Wall Street as the total propblem.

I had a conversation with one guy I thought had a handle on things, then he said: “It’s Wall Street that’s bribing our Politicians, that’s a problem.” I sat there a little dumb founded,did he think Wall Street is the only one bribing our Politicians? How about the Green Scammers just to mention one.

Meanwhile your totally inept Government gives foreign aid to the same country who loans us Billions in an attempt to keep us afloat. Some day, totally inept voters will understand it’s their money the government is handing out like candy.

But there may be a good side to all this, our Grandchildren might be put to work in small American Foundries soon making manhole covers and other things that demand low cost labor to compete, we might be taking jobs from India and other places soon enough!

It’s all a reminder that your Government is in the process of selling your future, and many voters are too ignorant of where wealth comes from. Voters might believe a printing press and a solar panel will power the nation; and perhaps only a bare cupboard will shine light on reality? Plant your garden just in case…

Posted in Fighting Propaganda | Tagged | Leave a comment

10/13/2011 Dennis Ritchie, (Bell Labs) RIP, C language and Unix

pdp11-70-panel

pdp11-70-panel

 

Above: A Mini Computer that so many of us loved… including Dennis Ritchie at Bell Labs. A tribute to Ritchie

With the most recent passing of Steve Jobs, it was a little bit of a shock to learn that Dennis Ritchie had passed away so soon after Jobs. Here’s a Man any DIYer would salute, as he was all about ‘Building It Yourself’. He may not be as well known as Steve Jobs, but as I see it, he may have done just as much or more to change the world forever.  Jobs knew the Apple Operating System Sucked!  It’s the reason Apple worked so hard and spent the money to create their own version of UNIX. No doubt they did a first class job of it too 🙂

Back in the OLD days, Ritchie was looking for a better and quicker way to build tools for the Lab.. We need remember the time frame,  acoustic coupled modems operating at speeds up to a blazing 300 baud at the time! This was far nearer the beginning of modern computing. I’m not sure the kids now days can even grasp how slow 300 baud is, would they believe that some of us in the mid 1970s  would start loading a simple program off tape before dinner, so we’d have it in core by the time dinner was over.

Some of us will remember the first sort utilities we ever saw, and how close to magic it seemed… to submit a page of ASCII words, and redirect the output to another file with all in alphabetical order.

But back in the days, a lot of Researchers were still operating with fairly primitive tools, and doing such things by hand. There were a number of systems using punch cards for trouble analysis, maybe it was you goal to figure out what parts your company made had the highest failure rates. You might enter the trouble report on a punch card, and put holes in certain places on the card. Some systems even relied on rods to be inserted into the stack of cards and troubles of a certain kind could be pulled (sorted) counted by hand and then further analyzed. A lot of screwing around.

If you were a Bell Head, you may have used some better stuff for your routine work… adding to a program and producing a new copy on paper tape.  Back in these days, we used rubber cement to glue several paper tapes together to order a major pile of relays to execute our test programs (x5xbar) in sequence..  that way you eliminated the labor intensive process of loading them one at a time. Failures even printed out on the ASR33, and you had your list of things to fix! Near magic and no processor involved!

Here’s a paper written by Ritchie, following it is more comment by me..

The Evolution of the Unix Time-sharing System*

Dennis M. Ritchie
Bell Laboratories, Murray Hill, NJ, 07974

ABSTRACT

This paper presents a brief history of the early development of
the Unix operating system. It concentrates on the evolution of the file system,
the process-control mechanism, and the idea of pipelined commands. Some
attention is paid to social conditions during the development of the system.

NOTE: *This paper was first presented at the Language Design and
Programming Methodology conference at Sydney, Australia, September 1979. The
conference proceedings were published as
Lecture Notes in Computer Science
#79:
Language Design and Programming Methodology, Springer-Verlag,
1980. This rendition is based on a reprinted version appearing in AT&T Bell
Laboratories Technical Journal 63 No. 6 Part 2, October 1984, pp.
1577-93.

Introduction

During the past few years, the Unix operating system has come into wide use,
so wide that its very name has become a trademark of Bell Laboratories. Its
important characteristics have become known to many people. It has suffered much
rewriting and tinkering since the first publication describing it in 1974 [1],
but few fundamental changes. However, Unix was born in 1969 not 1974, and the
account of its development makes a little-known and perhaps instructive story.
This paper presents a technical and social history of the evolution of the
system.

Origins

For computer science at Bell Laboratories, the period 1968-1969 was somewhat
unsettled. The main reason for this was the slow, though clearly inevitable,
withdrawal of the Labs from the Multics project. To the Labs computing community
as a whole, the problem was the increasing obviousness of the failure of Multics
to deliver promptly any sort of usable system, let alone the panacea envisioned
earlier. For much of this time, the Murray Hill Computer Center was also running
a costly GE 645 machine that inadequately simulated the GE 635. Another shake-up
that occurred during this period was the organizational separation of computing
services and computing research.

From the point of view of the group that was to be most involved in the
beginnings of Unix (K. Thompson, Ritchie, M. D. McIlroy, J. F. Ossanna), the
decline and fall of Multics had a directly felt effect. We were among the last
Bell Laboratories holdouts actually working on Multics, so we still felt some
sort of stake in its success. More important, the convenient interactive
computing service that Multics had promised to the entire community was in fact
available to our limited group, at first under the CTSS system used to develop
Multics, and later under Multics itself. Even though Multics could not then
support many users, it could support us, albeit at exorbitant cost. We didn’t
want to lose the pleasant niche we occupied, because no similar ones were
available; even the time-sharing service that would later be offered under GE’s
operating system did not exist. What we wanted to preserve was not just a good
environment in which to do programming, but a system around which a fellowship
could form. We knew from experience that the essence of communal computing, as
supplied by remote-access, time-shared machines, is not just to type programs
into a terminal instead of a keypunch, but to encourage close communication.

Thus, during 1969, we began trying to find an alternative to Multics. The
search took several forms. Throughout 1969 we (mainly Ossanna, Thompson,
Ritchie) lobbied intensively for the purchase of a medium-scale machine for
which we promised to write an operating system; the machines we suggested were
the DEC PDP-10 and the SDS (later Xerox) Sigma 7. The effort was frustrating,
because our proposals were never clearly and finally turned down, but yet were
certainly never accepted. Several times it seemed we were very near success. The
final blow to this effort came when we presented an exquisitely complicated
proposal, designed to minimize financial outlay, that involved some outright
purchase, some third-party lease, and a plan to turn in a DEC KA-10 processor on
the soon-to-be-announced and more capable KI-10. The proposal was rejected, and
rumor soon had it that W. O. Baker (then vice-president of Research) had reacted
to it with the comment `Bell Laboratories just doesn’t do business this way!’

Actually, it is perfectly obvious in retrospect (and should have been at the
time) that we were asking the Labs to spend too much money on too few people
with too vague a plan. Moreover, I am quite sure that at that time operating
systems were not, for our management, an attractive area in which to support
work. They were in the process of extricating themselves not only from an
operating system development effort that had failed, but from running the local
Computation Center. Thus it may have seemed that buying a machine such as we
suggested might lead on the one hand to yet another Multics, or on the other, if
we produced something useful, to yet another Comp Center for them to be
responsible for.

Besides the financial agitations that took place in 1969, there was technical
work also. Thompson, R. H. Canaday, and Ritchie developed, on blackboards and
scribbled notes, the basic design of a file system that was later to become the
heart of Unix. Most of the design was Thompson’s, as was the impulse to think
about file systems at all, but I believe I contributed the idea of device files.
Thompson’s itch for creation of an operating system took several forms during
this period; he also wrote (on Multics) a fairly detailed simulation of the
performance of the proposed file system design and of paging behavior of
programs. In addition, he started work on a new operating system for the GE-645,
going as far as writing an assembler for the machine and a rudimentary operating
system kernel whose greatest achievement, so far as I remember, was to type a
greeting message. The complexity of the machine was such that a mere message was
already a fairly notable accomplishment, but when it became clear that the
lifetime of the 645 at the Labs was measured in months, the work was dropped.

Also during 1969, Thompson developed the game of `Space Travel.’ First
written on Multics, then transliterated into Fortran for GECOS (the operating
system for the GE, later Honeywell, 635), it was nothing less than a simulation
of the movement of the major bodies of the Solar System, with the player guiding
a ship here and there, observing the scenery, and attempting to land on the
various planets and moons. The GECOS version was unsatisfactory in two important
respects: first, the display of the state of the game was jerky and hard to
control because one had to type commands at it, and second, a game cost about
$75 for CPU time on the big computer. It did not take long, therefore, for
Thompson to find a little-used PDP-7 computer with an excellent display
processor; the whole system was used as a Graphic-II terminal. He and I rewrote
Space Travel to run on this machine. The undertaking was more ambitious than it
might seem; because we disdained all existing software, we had to write a
floating-point arithmetic package, the pointwise specification of the graphic
characters for the display, and a debugging subsystem that continuously
displayed the contents of typed-in locations in a corner of the screen. All this
was written in assembly language for a cross-assembler that ran under GECOS and
produced paper tapes to be carried to the PDP-7.

Space Travel, though it made a very attractive game, served mainly as an
introduction to the clumsy technology of preparing programs for the PDP-7. Soon
Thompson began implementing the paper file system (perhaps `chalk file system’
would be more accurate) that had been designed earlier. A file system without a
way to exercise it is a sterile proposition, so he proceeded to flesh it out
with the other requirements for a working operating system, in particular the
notion of processes. Then came a small set of user-level utilities: the means to
copy, print, delete, and edit files, and of course a simple command interpreter
(shell). Up to this time all the programs were written using GECOS and files
were transferred to the PDP-7 on paper tape; but once an assembler was completed
the system was able to support itself. Although it was not until well into 1970
that Brian Kernighan suggested the name `Unix,’ in a somewhat treacherous pun on
`Multics,’ the operating system we know today was born.

The PDP-7 Unix file system

Structurally, the file system of PDP-7 Unix was nearly identical to today’s.
It had

1)
An i-list: a linear array of i-nodes each describing a file. An
i-node contained less than it does now, but the essential information was the
same: the protection mode of the file, its type and size, and the list of
physical blocks holding the contents.
2)
Directories: a special kind of file containing a sequence of names and the
associated i-number.
3)
Special files describing devices. The device specification was not contained
explicitly in the i-node, but was instead encoded in the number: specific
i-numbers corresponded to specific files.

The important file system calls were also present from the start. Read,
write, open, creat (sic), close: with one very important exception, discussed
below, they were similar to what one finds now. A minor difference was that the
unit of I/O was the word, not the byte, because the PDP-7 was a word-addressed
machine. In practice this meant merely that all programs dealing with character
streams ignored null characters, because null was used to pad a file to an even
number of characters. Another minor, occasionally annoying difference was the
lack of erase and kill processing for terminals. Terminals, in effect, were
always in raw mode. Only a few programs (notably the shell and the editor)
bothered to implement erase-kill processing.

In spite of its considerable similarity to the current file system, the PDP-7
file system was in one way remarkably different: there were no path names, and
each file-name argument to the system was a simple name (without `/’) taken
relative to the current directory. Links, in the usual Unix sense, did exist.
Together with an elaborate set of conventions, they were the principal means by
which the lack of path names became acceptable.

The linkcall took the form

link(dir, file, newname)

where dir was a directory file in the current
directory, file an existing entry in that directory, and newname
the name of the link, which was added to the current directory. Because
dir needed to be in the current directory, it is evident that today’s
prohibition against links to directories was not enforced; the PDP-7 Unix file
system had the shape of a general directed graph.

 

So that every user did not need to maintain a link to all directories of
interest, there existed a directory called dd that contained entries for
the directory of each user. Thus, to make a link to file x in directory
ken, I might do

ln dd ken ken
ln ken x x
rm ken

This scheme rendered subdirectories sufficiently hard to
use as to make them unused in practice. Another important barrier was that there
was no way to create a directory while the system was running; all were made
during recreation of the file system from paper tape, so that directories were
in effect a nonrenewable resource.

 

The dd convention made the chdir command relatively convenient.
It took multiple arguments, and switched the current directory to each named
directory in turn. Thus

chdir dd ken

would move to directory ken. (Incidentally,
chdir was spelled ch; why this was expanded when we went to the
PDP-11 I don’t remember.)

 

The most serious inconvenience of the implementation of the file system,
aside from the lack of path names, was the difficulty of changing its
configuration; as mentioned, directories and special files were both made only
when the disk was recreated. Installation of a new device was very painful,
because the code for devices was spread widely throughout the system; for
example there were several loops that visited each device in turn. Not
surprisingly, there was no notion of mounting a removable disk pack, because the
machine had only a single fixed-head disk.

The operating system code that implemented this file system was a drastically
simplified version of the present scheme. One important simplification followed
from the fact that the system was not multi-programmed; only one program was in
memory at a time, and control was passed between processes only when an explicit
swap took place. So, for example, there was an iget routine that made a
named i-node available, but it left the i-node in a constant, static location
rather than returning a pointer into a large table of active i-nodes. A
precursor of the current buffering mechanism was present (with about 4 buffers)
but there was essentially no overlap of disk I/O with computation. This was
avoided not merely for simplicity. The disk attached to the PDP-7 was fast for
its time; it transferred one 18-bit word every 2 microseconds. On the other
hand, the PDP-7 itself had a memory cycle time of 1 microsecond, and most
instructions took 2 cycles (one for the instruction itself, one for the
operand). However, indirectly addressed instructions required 3 cycles, and
indirection was quite common, because the machine had no index registers.
Finally, the DMA controller was unable to access memory during an instruction.
The upshot was that the disk would incur overrun errors if any
indirectly-addressed instructions were executed while it was transferring. Thus
control could not be returned to the user, nor in fact could general system code
be executed, with the disk running. The interrupt routines for the clock and
terminals, which needed to be runnable at all times, had to be coded in very
strange fashion to avoid indirection.

Process control

By `process control,’ I mean the mechanisms by which processes are created
and used; today the system calls fork, exec, wait, and
exit implement these mechanisms. Unlike the file system, which existed in
nearly its present form from the earliest days, the process control scheme
underwent considerable mutation after PDP-7 Unix was already in use. (The
introduction of path names in the PDP-11 system was certainly a considerable
notational advance, but not a change in fundamental structure.)

Today, the way in which commands are executed by the shell can be summarized
as follows:

1)
The shell reads a command line from the terminal.
2)
It creates a child process by fork.
3)
The child process uses execto call in the command from a file.
4)
Meanwhile, the parent shell uses wait to wait for the child (command)
process to terminate by calling exit.
5)
The parent shell goes back to step 1).

Processes (independently executing entities) existed very early in PDP-7
Unix. There were in fact precisely two of them, one for each of the two
terminals attached to the machine. There was no fork, wait, or
exec. There was an exit, but its meaning was rather different, as
will be seen. The main loop of the shell went as follows.

1)
The shell closed all its open files, then opened the terminal special file
for standard input and output (file descriptors 0 and 1).
2)
It read a command line from the terminal.
3)
It linked to the file specifying the command, opened the file, and removed
the link. Then it copied a small bootstrap program to the top of memory and
jumped to it; this bootstrap program read in the file over the shell code, then
jumped to the first location of the command (in effect an exec).
4)
The command did its work, then terminated by calling exit. The
exit call caused the system to read in a fresh copy of the shell over the
terminated command, then to jump to its start (and thus in effect to go to step
1).

The most interesting thing about this primitive implementation is the degree
to which it anticipated themes developed more fully later. True, it could
support neither background processes nor shell command files (let alone pipes
and filters); but IO redirection (via `<‘ and `>’) was soon there; it is
discussed below. The implementation of redirection was quite straightforward; in
step 3) above the shell just replaced its standard input or output with the
appropriate file. Crucial to subsequent development was the implementation of
the shell as a user-level program stored in a file, rather than a part of the
operating system.

The structure of this process control scheme, with one process per terminal,
is similar to that of many interactive systems, for example CTSS, Multics,
Honeywell TSS, and IBM TSS and TSO. In general such systems require special
mechanisms to implement useful facilities such as detached computations and
command files; Unix at that stage didn’t bother to supply the special
mechanisms. It also exhibited some irritating, idiosyncratic problems. For
example, a newly recreated shell had to close all its open files both to get rid
of any open files left by the command just executed and to rescind previous IO
redirection. Then it had to reopen the special file corresponding to its
terminal, in order to read a new command line. There was no /dev
directory (because no path names); moreover, the shell could retain no memory
across commands, because it was reexecuted afresh after each command. Thus a
further file system convention was required: each directory had to contain an
entry tty for a special file that referred to the terminal of the process
that opened it. If by accident one changed into some directory that lacked this
entry, the shell would loop hopelessly; about the only remedy was to reboot.
(Sometimes the missing link could be made from the other terminal.)

Process control in its modern form was designed and implemented within a
couple of days. It is astonishing how easily it fitted into the existing system;
at the same time it is easy to see how some of the slightly unusual features of
the design are present precisely because they represented small, easily-coded
changes to what existed. A good example is the separation of the fork and
exec functions. The most common model for the creation of new processes
involves specifying a program for the process to execute; in Unix, a forked
process continues to run the same program as its parent until it performs an
explicit exec. The separation of the functions is certainly not unique to
Unix, and in fact it was present in the Berkeley time-sharing system [2], which
was well-known to Thompson. Still, it seems reasonable to suppose that it exists
in Unix mainly because of the ease with which fork could be implemented
without changing much else. The system already handled multiple (i.e. two)
processes; there was a process table, and the processes were swapped between
main memory and the disk. The initial implementation of fork required
only

1)
Expansion of the process table
2)
Addition of a fork call that copied the current process to the disk swap
area, using the already existing swap IO primitives, and made some adjustments
to the process table.

In fact, the PDP-7’s fork call required precisely 27 lines of assembly
code. Of course, other changes in the operating system and user programs were
required, and some of them were rather interesting and unexpected. But a
combined fork-exec would have been considerably more complicated, if only
because exec as such did not exist; its function was already performed,
using explicit IO, by the shell.

The exit system call, which previously read in a new copy of the shell
(actually a sort of automatic exec but without arguments), simplified
considerably; in the new version a process only had to clean out its process
table entry, and give up control.

Curiously, the primitives that became wait were considerably more
general than the present scheme. A pair of primitives sent one-word messages
between named processes:

smes(pid, message)
(pid, message) = rmes()

The target process of smes did not need to have any
ancestral relationship with the receiver, although the system provided no
explicit mechanism for communicating process IDs except that fork
returned to each of the parent and child the ID of its relative. Messages were
not queued; a sender delayed until the receiver read the message.

 

The message facility was used as follows: the parent shell, after creating a
process to execute a command, sent a message to the new process by smes;
when the command terminated (assuming it did not try to read any messages) the
shell’s blocked smes call returned an error indication that the target
process did not exist. Thus the shell’s smes became, in effect, the
equivalent of wait.

A different protocol, which took advantage of more of the generality offered
by messages, was used between the initialization program and the shells for each
terminal. The initialization process, whose ID was understood to be 1, created a
shell for each of the terminals, and then issued rmes; each shell, when
it read the end of its input file, used smes to send a conventional `I am
terminating’ message to the initialization process, which recreated a new shell
process for that terminal.

I can recall no other use of messages. This explains why the facility was
replaced by the wait call of the present system, which is less general,
but more directly applicable to the desired purpose. Possibly relevant also is
the evident bug in the mechanism: if a command process attempted to use messages
to communicate with other processes, it would disrupt the shell’s
synchronization. The shell depended on sending a message that was never
received; if a command executed rmes, it would receive the shell’s phony
message, and cause the shell to read another input line just as if the command
had terminated. If a need for general messages had manifested itself, the bug
would have been repaired.

At any rate, the new process control scheme instantly rendered some very
valuable features trivial to implement; for example detached processes (with
`&’) and recursive use of the shell as a command. Most systems have to
supply some sort of special `batch job submission’ facility and a special
command interpreter for files distinct from the one used interactively.

Although the multiple-process idea slipped in very easily indeed, there were
some aftereffects that weren’t anticipated. The most memorable of these became
evident soon after the new system came up and apparently worked. In the midst of
our jubilation, it was discovered that the chdir (change current
directory) command had stopped working. There was much reading of code and
anxious introspection about how the addition of fork could have broken
the chdir call. Finally the truth dawned: in the old system chdir
was an ordinary command; it adjusted the current directory of the (unique)
process attached to the terminal. Under the new system, the chdir command
correctly changed the current directory of the process created to execute it,
but this process promptly terminated and had no effect whatsoever on its parent
shell! It was necessary to make chdir a special command, executed
internally within the shell. It turns out that several command-like functions
have the same property, for example login.

Another mismatch between the system as it had been and the new process
control scheme took longer to become evident. Originally, the read/write pointer
associated with each open file was stored within the process that opened the
file. (This pointer indicates where in the file the next read or write will take
place.) The problem with this organization became evident only when we tried to
use command files. Suppose a simple command file contains

ls
who

and it is executed as follows:

sh comfile >output

The sequence of events was

 

1)
The main shell creates a new process, which opens outfile to receive
the standard output and executes the shell recursively.
2)
The new shell creates another process to execute ls, which correctly
writes on file outputand then terminates.
3)
Another process is created to execute the next command. However, the IO
pointer for the output is copied from that of the shell, and it is still 0,
because the shell has never written on its output, and IO pointers are
associated with processes. The effect is that the output of who
overwrites and destroys the output of the preceding ls command.

Solution of this problem required creation of a new system table to contain
the IO pointers of open files independently of the process in which they were
opened.

IO Redirection

The very convenient notation for IO redirection, using the `>’ and `<‘
characters, was not present from the very beginning of the PDP-7 Unix system,
but it did appear quite early. Like much else in Unix, it was inspired by an
idea from Multics. Multics has a rather general IO redirection mechanism [3]
embodying named IO streams that can be dynamically redirected to various
devices, files, and even through special stream-processing modules. Even in the
version of Multics we were familiar with a decade ago, there existed a command
that switched subsequent output normally destined for the terminal to a file,
and another command to reattach output to the terminal. Where under Unix one
might say

ls >xx

to get a listing of the names of one’s files in xx,
on Multics the notation was

iocall attach user_output file xx
list
iocall attach user_output syn user_i/o

Even though this very clumsy sequence was used often during
the Multics days, and would have been utterly straightforward to integrate into
the Multics shell, the idea did not occur to us or anyone else at the time. I
speculate that the reason it did not was the sheer size of the Multics project:
the implementors of the IO system were at Bell Labs in Murray Hill, while the
shell was done at MIT. We didn’t consider making changes to the shell (it was
their program); correspondingly, the keepers of the shell may not even
have known of the usefulness, albeit clumsiness, of iocall. (The 1969
Multics manual [4] lists iocall as an `author-maintained,’ that is
non-standard, command.) Because both the Unix IO system and its shell were under
the exclusive control of Thompson, when the right idea finally surfaced, it was
a matter of an hour or so to implement it.

 

The advent of the PDP-11

By the beginning of 1970, PDP-7 Unix was a going concern. Primitive by
today’s standards, it was still capable of providing a more congenial
programming environment than its alternatives. Nevertheless, it was clear that
the PDP-7, a machine we didn’t even own, was already obsolete, and its
successors in the same line offered little of interest. In early 1970 we
proposed acquisition of a PDP-11, which had just been introduced by Digital. In
some sense, this proposal was merely the latest in the series of attempts that
had been made throughout the preceding year. It differed in two important ways.
First, the amount of money (about $65,000) was an order of magnitude less than
what we had previously asked; second, the charter sought was not merely to write
some (unspecified) operating system, but instead to create a system specifically
designed for editing and formatting text, what might today be called a
`word-processing system.’ The impetus for the proposal came mainly from J. F.
Ossanna, who was then and until the end of his life interested in text
processing. If our early proposals were too vague, this one was perhaps too
specific; at first it too met with disfavor. Before long, however, funds were
obtained through the efforts of L. E. McMahon and an order for a PDP-11 was
placed in May.

The processor arrived at the end of the summer, but the PDP-11 was so new a
product that no disk was available until December. In the meantime, a
rudimentary, core-only version of Unix was written using a cross-assembler on
the PDP-7. Most of the time, the machine sat in a corner, enumerating all the
closed Knight’s tours on a 6×8 chess board—a three-month job.

The first PDP-11 system

Once the disk arrived, the system was quickly completed. In internal
structure, the first version of Unix for the PDP-11 represented a relatively
minor advance over the PDP-7 system; writing it was largely a matter of
transliteration. For example, there was no multi-programming; only one user
program was present in core at any moment. On the other hand, there were
important changes in the interface to the user: the present directory structure,
with full path names, was in place, along with the modern form of exec
and wait, and conveniences like character-erase and line-kill processing
for terminals. Perhaps the most interesting thing about the enterprise was its
small size: there were 24K bytes of core memory (16K for the system, 8K for user
programs), and a disk with 1K blocks (512K bytes). Files were limited to 64K
bytes.

At the time of the placement of the order for the PDP-11, it had seemed
natural, or perhaps expedient, to promise a system dedicated to word processing.
During the protracted arrival of the hardware, the increasing usefulness of
PDP-7 Unix made it appropriate to justify creating PDP-11 Unix as a development
tool, to be used in writing the more special-purpose system. By the spring of
1971, it was generally agreed that no one had the slightest interest in
scrapping Unix. Therefore, we transliterated the roff text formatter into
PDP-11 assembler language, starting from the PDP-7 version that had been
transliterated from McIlroy’s BCPL version on Multics, which had in turn been
inspired by J. Saltzer’s runoff program on CTSS. In early summer, editor
and formatter in hand, we felt prepared to fulfill our charter by offering to
supply a text-processing service to the Patent department for preparing patent
applications. At the time, they were evaluating a commercial system for this
purpose; the main advantages we offered (besides the dubious one of taking part
in an in-house experiment) were two in number: first, we supported Teletype’s
model 37 terminals, which, with an extended type-box, could print most of the
math symbols they required; second, we quickly endowed roff with the
ability to produce line-numbered pages, which the Patent Office required and
which the other system could not handle.

During the last half of 1971, we supported three typists from the Patent
department, who spent the day busily typing, editing, and formatting patent
applications, and meanwhile tried to carry on our own work. Unix has a
reputation for supplying interesting services on modest hardware, and this
period may mark a high point in the benefit/equipment ratio; on a machine with
no memory protection and a single .5 MB disk, every test of a new program
required care and boldness, because it could easily crash the system, and every
few hours’ work by the typists meant pushing out more information onto DECtape,
because of the very small disk.

The experiment was trying but successful. Not only did the Patent department
adopt Unix, and thus become the first of many groups at the Laboratories to
ratify our work, but we achieved sufficient credibility to convince our own
management to acquire one of the first PDP 11/45 systems made. We have
accumulated much hardware since then, and labored continuously on the software,
but because most of the interesting work has already been published, (e.g. on
the system itself [1, 5, 6, 7, 8, 9]) it seems unnecessary to repeat it here.

Pipes

One of the most widely admired contributions of Unix to the culture of
operating systems and command languages is the pipe, as used in a
pipeline of commands. Of course, the fundamental idea was by no means new; the
pipeline is merely a specific form of coroutine. Even the implementation was not
unprecedented, although we didn’t know it at the time; the `communication files’
of the Dartmouth Time-Sharing System [10] did very nearly what Unix pipes do,
though they seem not to have been exploited so fully.

Pipes appeared in Unix in 1972, well after the PDP-11 version of the system
was in operation, at the suggestion (or perhaps insistence) of M. D. McIlroy, a
long-time advocate of the non-hierarchical control flow that characterizes
coroutines. Some years before pipes were implemented, he suggested that commands
should be thought of as binary operators, whose left and right operand specified
the input and output files. Thus a `copy’ utility would be commanded by

inputfile copy outputfile

To make a pipeline, command operators could be stacked up.
Thus, to sort input, paginate it neatly, and print the result off-line,
one would write

input sort paginate offprint

In today’s system, this would correspond to

sort input | pr | opr

The idea, explained one afternoon on a blackboard,
intrigued us but failed to ignite any immediate action. There were several
objections to the idea as put: the infix notation seemed too radical (we were
too accustomed to typing `cp x y’ to copy x to y); and we were
unable to see how to distinguish command parameters from the input or output
files. Also, the one-input one-output model of command execution seemed too
confining. What a failure of imagination!

 

Some time later, thanks to McIlroy’s persistence, pipes were finally
installed in the operating system (a relatively simple job), and a new notation
was introduced. It used the same characters as for I/O redirection. For example,
the pipeline above might have been written

sort input >pr>opr>

The idea is that following a `>’ may be either a file,
to specify redirection of output to that file, or a command into which the
output of the preceding command is directed as input. The trailing `>’ was
needed in the example to specify that the (nonexistent) output of opr
should be directed to the console; otherwise the command opr would not
have been executed at all; instead a file oprwould have been created.

 

The new facility was enthusiastically received, and the term `filter’ was
soon coined. Many commands were changed to make them usable in pipelines. For
example, no one had imagined that anyone would want the sort or pr
utility to sort or print its standard input if given no explicit arguments.

Soon some problems with the notation became evident. Most annoying was a
silly lexical problem: the string after `>’ was delimited by blanks, so, to
give a parameter to prin the example, one had to quote:

sort input >"pr -2">opr>

Second, in attempt to give generality, the pipe notation
accepted `<‘ as an input redirection in a way corresponding to `>’; this
meant that the notation was not unique. One could also write, for example,

opr <pr<"sort input"<

or even

pr <"sort input"< >opr>

The pipe notation using `<‘ and `>’ survived only a
couple of months; it was replaced by the present one that uses a unique operator
to separate components of a pipeline. Although the old notation had a certain
charm and inner consistency, the new one is certainly superior. Of course, it
too has limitations. It is unabashedly linear, though there are situations in
which multiple redirected inputs and outputs are called for. For example, what
is the best way to compare the outputs of two programs? What is the appropriate
notation for invoking a program with two parallel output streams?

 

I mentioned above in the section on IO redirection that Multics provided a
mechanism by which IO streams could be directed through processing modules on
the way to (or from) the device or file serving as source or sink. Thus it might
seem that stream-splicing in Multics was the direct precursor of Unix pipes, as
Multics IO redirection certainly was for its Unix version. In fact I do not
think this is true, or is true only in a weak sense. Not only were coroutines
well-known already, but their embodiment as Multics spliceable IO modules
required that the modules be specially coded in such a way that they could be
used for no other purpose. The genius of the Unix pipeline is precisely that it
is constructed from the very same commands used constantly in simplex fashion.
The mental leap needed to see this possibility and to invent the notation is
large indeed.

High-level languages

Every program for the original PDP-7 Unix system was written in assembly
language, and bare assembly language it was—for example, there were no macros.
Moreover, there was no loader or link-editor, so every program had to be
complete in itself. The first interesting language to appear was a version of
McClure’s TMG [11] that was implemented by McIlroy. Soon after TMG became
available, Thompson decided that we could not pretend to offer a real computing
service without Fortran, so he sat down to write a Fortran in TMG. As I recall,
the intent to handle Fortran lasted about a week. What he produced instead was a
definition of and a compiler for the new language B [12]. B was much influenced
by the BCPL language [13]; other influences were Thompson’s taste for spartan
syntax, and the very small space into which the compiler had to fit. The
compiler produced simple interpretive code; although it and the programs it
produced were rather slow, it made life much more pleasant. Once interfaces to
the regular system calls were made available, we began once again to enjoy the
benefits of using a reasonable language to write what are usually called
`systems programs:’ compilers, assemblers, and the like. (Although some might
consider the PL/I we used under Multics unreasonable, it was much better than
assembly language.) Among other programs, the PDP-7 B cross-compiler for the
PDP-11 was written in B, and in the course of time, the B compiler for the PDP-7
itself was transliterated from TMG into B.

When the PDP-11 arrived, B was moved to it almost immediately. In fact, a
version of the multi-precision `desk calculator’ program dc was one of
the earliest programs to run on the PDP-11, well before the disk arrived.
However, B did not take over instantly. Only passing thought was given to
rewriting the operating system in B rather than assembler, and the same was true
of most of the utilities. Even the assembler was rewritten in assembler. This
approach was taken mainly because of the slowness of the interpretive code. Of
smaller but still real importance was the mismatch of the word-oriented B
language with the byte-addressed PDP-11.

Thus, in 1971, work began on what was to become the C language [14]. The
story of the language developments from BCPL through B to C is told elsewhere
[15], and need not be repeated here. Perhaps the most important watershed
occurred during 1973, when the operating system kernel was rewritten in C. It
was at this point that the system assumed its modern form; the most far-reaching
change was the introduction of multi-programming. There were few
externally-visible changes, but the internal structure of the system became much
more rational and general. The success of this effort convinced us that C was
useful as a nearly universal tool for systems programming, instead of just a toy
for simple applications.

Today, the only important Unix program still written in assembler is the
assembler itself; virtually all the utility programs are in C, and so are most
of the applications programs, although there are sites with many in Fortran,
Pascal, and Algol 68 as well. It seems certain that much of the success of Unix
follows from the readability, modifiability, and portability of its software
that in turn follows from its expression in high-level languages.

Conclusion

One of the comforting things about old memories is their tendency to take on
a rosy glow. The programming environment provided by the early versions of Unix
seems, when described here, to be extremely harsh and primitive. I am sure that
if forced back to the PDP-7 I would find it intolerably limiting and lacking in
conveniences. Nevertheless, it did not seem so at the time; the memory fixes on
what was good and what lasted, and on the joy of helping to create the
improvements that made life better. In ten years, I hope we can look back with
the same mixed impression of progress combined with continuity.

Acknowledgements

I am grateful to S. P. Morgan, K. Thompson, and M. D. McIlroy for providing
early documents and digging up recollections.

Because I am most interested in describing the evolution of ideas, this paper
attributes ideas and work to individuals only where it seems most important. The
reader will not, on the average, go far wrong if he reads each occurrence of
`we’ with unclear antecedent as `Thompson, with some assistance from me.’

References

1.
D. M. Ritchie and K. Thompson, `The Unix Time-sharing System, C. ACM
17No. 7 (July 1974), pp 365-37.
2.
L. P. Deutch and B. W. Lampson, `SDS 930 Time-sharing System Preliminary
Reference Manual,’ Doc. 30.10.10, Project Genie, Univ. Cal. at Berkeley (April
1965).
3.
R. J. Feiertag and E. I. Organick, `The Multics input-output system,’ Proc.
Third Symposium on Operating Systems Principles, October 18-20, 1971, pp. 35-41.
4.
The Multiplexed Information and Computing Service: Programmers’
Manual,
Mass. Inst. of Technology, Project MAC, Cambridge MA, (1969).
5.
K. Thompson, `Unix Implementation,’ Bell System Tech J. 57 No. 6,
(July-August 1978), pp. 1931-46.
6.
S. C. Johnson and D. M. Ritchie, Portability of C Programs and the Unix
System,’ Bell System Tech J. 57No. 6, (July-August 1978), pp. 2021-48.
7.
B. W. Kernighan, M. E. Lesk, and J. F. Ossanna. `Document Preparation,’ Bell
Sys. Tech. J., 57No. 6, pp. 2115-2135.
8.
B. W. Kernighan and L. L. Cherry, `A System for Typesetting Mathematics,’ J.
Comm. Assoc. Comp. Mach. 18,pp. 151-157 (March 1975).
9.
M. E. Lesk and B. W. Kernighan, `Computer Typesetting of Technical Journals
on Unix,’ Proc. AFIPS NCC 46(1977), pp. 879-88.
10.
Systems Programmers Manual for the Dartmouth Time Sharing System for the
GE 635 Computer,
Dartmouth College, Hanover, New Hampshire, 1971.
11.
R. M. McClure, `TMG–A Syntax-Directed Compiler,’ Proc 20th ACM National
Conf. (1968), pp. 262-74.
12.
S. C. Johnson and B. W. Kernighan, `The Programming Language B,’ Comp. Sci.
Tech. Rep. #8, Bell Laboratories, Murray Hill NJ (1973).
13.
M. Richards, `BCPL: A Tool for Compiler Writing and Systems Programming,’
Proc. AFIPS SJCC 34(1969), pp. 557-66.
14.
B. W. Kernighan and D. M. Ritchie, The C Programming Language,
Prentice-Hall, Englewood Cliffs NJ, 1978. Second Edition, 1979.
15.
D. M. Ritchie, S. C. Johnson, and M. E. Lesk, `The C Programming Language,’
Bell Sys. Tech. J. 57 No. 6 (July-August 1978) pp. 1991-2019.

Copyright ©
1996 Lucent Technologies Inc. All rights reserved.

Is Lucent even a company anymore???

If you ever met some of these guys in the labs, you’d suspect Ritchie likely wrote most of his code after hours, a lot of these guys got so involved in their persuit, and didn’t put down their pencils at 1630 hours. And thank God researchers in the Labs weren’t unionized, so they weren’t forced to quit thinking at quitting time.

Dennis Ritchie had a PDP7 and later a PDP11 in the Labs to play with, add to them the C language and Unix, and you might trace all that is popular today back to the folks at the lab who developed them because there wasn’t anything really worth a shit at the time.

Other Bell Telephone History..

We might note that the Bell System had designed their first electronic switching system by 1948! This switch (a large >computer< often the size of a building) were still being installed in the mid 1970s! One of the First ESS offices in the NW went into the city of Bellevue in Washington State, and was known as the Bellevue Glencourt Exchange. It was a show place and during business hours, you could walk into the main entrance and look at what you thought was futuristic, (about 1970) some failed to realize this system was designed well before they were born!

I noted early on, the Master Control Console of the #1ESS machine  and later the 1AESS made the command center on the USS Enterprise look stark in comparison! If you wanted to leave an impression, just show a guy a bunch of lighted buttons, knobs, switches and whirly Jigs!

Master Control 1AESS

In later offices (#1A, above), we see more modern tape drives to the left.

Thanks to Dennis Ritchie and others, we had surveillance Computers by then, (PDP117os running Unix). The way it worked, is the ESS would dump out an error of some kind….. it might have been a call processing error were the computer attempted to access data in a Program Store and saw a parity error, the computer having a high degree of redundancy likely cycled onto a backup program store and completed a call just fine, but now it needed to run a diagnostic, maybe quarantine a bad part of the computer, record the error, and report it to you in a most cryptic way.

With Unix, you could build any kind of tool you needed, it was a tool set that built tools, and unlike other environments, the lowly user had access to these tools. tools to build tools.

That Cryptic message…dumped by switches of the day…a bunch of octal words with an error number header..  you might lay out the data by hand and decipher the bits and their meaning. What a time-consuming pain in the butt.., but some people liked it. I’d bet Ritchie wasn’t one of those people, perhaps busy work is best appreciated by those paid hourly?

At some point in the development of shooting trouble in the “Stored Program Switches” modems became fast enough where one could move all that ascii data the switch was dumping to a minicomputer room and tie it to an I/O port of a PDP11 via a private circuit and modem.  The 1170 would basically string match on the error headers, and break down the data below it, and even bin failures of the same kind and keep track of the number.

We had mini programs that monitored connections between switches and between switches and business. An example of how effective the mini surveillance programs were; might be revealed by sharing a problem I saw between a major switch in downtown seattle and a big PBX (company).

All of a sudden, the switch would roll TN08s!  This message was short hand for transmitter time outs, and looking up the trunk group, it was a large PBX. Back in those days, being part of a monopoly ment you had all kinds of regulators imposing rules and even giving you a grade on your efforts to provide service. I cared about these TNO8s, because we were graded on the amount of these failures each month, and it was part of an ‘index’ or report card. It didn’t matter that the Private Company was causing the problem, our transmitters were timing out because they failed to put a friggen receiver on at the other end… didn’t matter, it lowered our grade.

So just what the heck are these people up to anyway? I think they have more traffic into and out of that place than the city of Seattle has..

So I call and ask for their Telecom guy. ” I dunno, seems the PBX is working just fine by the time I get in there to check it out.

Yelp, sure enough, we’ll either help them fix the problem, or we’ll live with it.. I was convinced of that..

Asking the mini for some help on this problem, he lays the data out and clearly notes that the bulk of the failures (99.9x percent of them) happen on thursdays, not only thursdays but the second thursday of each month. Ohhh… but there’s more.. they start at 1:45PM, and normally stop by 2:05PM..

Assumptions Assumptions, well at least we have a computer to consult for facts, as we’re getting nothing from the other end! In the old days, when you had trouble at the distant end going into another telephone company, and  you didn’t get help clearing it, maybe you broke something important to them and reminded them you needed help at their end when they called 🙂 But you can’t do that to your Customer!

One of the folks analyzed the mini output further and noted their whole trunk group  went stone dead for a period of time on this certain day.. but if that was the case, why weren’t we getting any reports from customers trying to call them, or from them trying to call other people??

We came to learn that they had a fire drill once a month. To make it real as possible someone would pull the Fire Alarm, and make all the noise and racket of the real thing.  As per design of Seattle regulations and the HVAC Engineer, certain air handlers (fans and blowers) were shut off as a result of the fire alarm being pulled.

Here’s where Murphy steps in 🙂 Some of their Telecommunications gear was powered off that panel designed to go dead WHEN the fire alarm was pulled.

All the folks in the building were told there was no excuse not to participate in the fire drill, and perhaps the managers appreciated the fact that the phones went dead, as this assured people would get off the phone and participate.

Their phone system out there might have remained that way for years had it not been for one question we asked them….

If you have a real fire, wouldn’t you want your phone system to work so you could call the fire department?  

That one question prompted them to take the situation serious and actually power the communications gear off a panel that would stay powered up during a fire 🙂 End of problem!

Things like this were a lot harder to pattern prior to the 1170s and tools the boys at the Labs had developed.

Remember Kramer? Thanks to Dennis Ritchie and others, I can find near anything with a unix tool like ‘grep’ or one designed to emulate grep. I can find it on a page, or search the whole internet. It took me 10 seconds to find this reference to a favorite Seinfeld episode, then cut and paste it below.  It reminds me of what Unix and the mini FIRST allowed us to do, and how we added user-friendly features just like Kramer envisioned long ago ‘movie phone’ 🙂

[Rings]

        KRAMER: Hewwo and welcome to Movie phone. If you know the name of the
        movie you’d like to see, press one.

        GEORGE: Come on. Come on.

        KRAMER: Using your touch-tone keypad, please enter the first three
        letters of the movie title, now.

        (George presses 3 keys)

        KRAMER: You’ve selected … Agent Zero? If that’s correct, press one.

        GEORGE: What?

        KRAMER: Ah, you’ve selected … Brown-Eyed Girl? If this is correct,
        press one.

        (George looks baffled)

        KRAMER: Why don’t you just tell me the name of the movie you’ve
        selected.

        GEORGE: Chunnel?

        KRAMER: To find the theater nearest you, please enter your five digit
        zip-code, now.

        (George enters his zip-code)

        KRAMER: Why don’t you just tell me where you want to see the movie?

        GEORGE: Lowes Paragon, 84th and Broadway.

        KRAMER: (picks up paper) Chunnel, is playing at the Paragon 84th         Street
        cinema in the main theater at 9:30 PM.

        GEORGE: Yeah, now I gotcha! (hangs up the phone and rushes out the
        door)

        KRAMER: It’s also playing in theater number two at 9:00.

Some of the most elegant tools I’ve ever seen were found on PDP1170 surveillance Computers, and folks who worked in the switching control centers (SCCs) perfomed surveillance functions for a Metro Area or Several States used them. Many of these folks got really good at using the minis, and wrote programs to do a lot of their work, the mini may have been most valuable in executing a lot of changes that had to be done in a compressed time frame, and it seemed there were new tools created every month.  

As in most environments, the Techs often learn a bunch by pulling pranks on other techs, and the most excitable are often the ones who are targeted for this treatment. One Tech went back through history to find some of the larger and more disturbing switch failures, and strung them all together, he then used some script to simulate real troubles in real offices all displayed across large panels in the SCC.. everybody was warned this was going to happen… except for the victim… of course he went crazy as he watched all the people around him totally ignore what equated to the world coming to an end in down town Seattle, and all these dumb asses around him were ignoring it!!! He was animated to say the least..  

Unix and the Minis made just about anything  you could think of possible thanks to  Dennis R. and other Lab guys.

Ritchie gives us a glimpse of what it was like to submit a proposal for funding inside a private company, and how they failed to get a few necessary toys in the day. Perhaps there’s a number of ways to interpet his account, I’d suggest that none of them had any marketing experience, or knew a thing about grant writing. I’d bet none of the guys that worked in the labs had any appreciation for bull shit, nor did they know that it would eventually be the key to funding beyond their wildest dreams!

Ritchie and Gang were excited when their proposal was accepted and their $65,000 mini arrived! Their proposal was about building a real product with a real purpose, and there were no known physical barriers that stoood between them and their goals. Compare that with today 10/15/11 when we know our Government handed over Millions in grants (our money) to Companies that had business plans that had already failed! 

And… some still don’t understand why we’re broke! Meanwhile, Al Gore enjoys that $500 million in Government grants awarded his Company? No wonder there’s so much Bull Shit all around it works! 

Here’s an example I found the other day at the store:

Tell me, who watches a Free Range Chicken and makes sure he’s eating organic stuff? 

Free-Range-Chicken

Free-Range-Chicken

 

 

          

  

 

 

 

 

 

 

 

 

 

 

 

Bull Shit Rules…or so it seems. 

GB

Posted in In The News, Inspirational People, Things I like | Tagged , , , | Leave a comment

Lessons on Fence Building, and how you avoid building a new one.

Rotting Fence

Rotting Fence

 

You need not be a Fence Builder to invest in learning the basics of Fence Building, and the five minutes you spend reading  this short story may save you a thousand dollars or more.

We are DIYers, and of course we spend time…. a good amount of time looking at other people’s work. You can find yourself in a Relative’s back yard looking at how a fence was put together, or how it’s being maintained, and then you ‘hear a voice’.. Yes! It’s your Wife attempting to pull you back to the present where a conversation is going on, and someone thought you were part of it. You’ve slipped away again as if you were in a dream, no one else thinks that fence should hold your interest longer than a second! And yes.. you do realize you’re rude 🙂

You caught the fact that the idiot who built the fence didn’t understand he needed to turn that two by four ninety degrees to provide the support necessary to keep the center of each span (post to post) from sagging and looking like the back of a 28 year old saddle horse,   but even worse it will live a short life.

Your Brother in law shared the story of how his buddy (a licensed fence builder) gave him a discount, and in exchange, he kept the fencing crew in beer on that hot summer day when the fence went up.

I’m in the process of watching half a dozen fences rot into the ground, what I find amusing is most who live adjacent to these fences think the fence is owned by the neighbor, and most likely the neighbor will be doing the maintenance work.  Perhaps that’s why they thought they could cover the bottom of the fence with dirt, or allow leaves to accumulate and compost up against the fence?

In one back yard I visited, I noted the fence across the back of the property was all rotted off across the bottom.  When the wind blew, the pickets floated as if the fence was waving hello to me. On investigation, I noted the homeowner had indeed used his neighbor’s fence for a berm, and piled up dirt and gravel a foot up the fence to level out his back yard, and the entire horizontal support rotted.

In addition, there was a windstorm that dropped a small fir-tree across the back fence at an angle and knocked down two sections. Yes, it was the neighbor’s fence all right, but a month later, it was still on the ground where the tree left it.  The owner had rented his  house out, and likely just making his payments as so many are. Did he care if the fence was on the ground? Nope.  From where the Wife of the house washed dishes, she could look into the back yard of the rental, watch dogs enter her yard and chase their cats. Her privacy was gone, and at times, she could see the Renter at her Kitchen sink washing dishes same as her.  Perhaps they should wave at each other when their eyes met?

Some folks move into a house and have no clue who put the fence in that borders their property, some are built to give you and the neighbor a ‘good’ side that looks identical. There’s often a trim board held on by two or three small nails that can be quickly removed to reveal which side the boards were put up from. Most people who build fences put the boards on from their property to assure they have access for repair. There’s no certainty that your neighbor will like you.. or even find you neighborly in the future, so don’t even think about building your fence in a way where you need access to his property to maintain it.

Just the other day, I checked on another fence along the side of a house, the owner hauled in Gravel there to park a vehicle or two behind a fence and again he covered the lower horizontal and caused it to rot out, I saw where he had pulled the trim and discovered the boards had been put on from his side, opps! he’s been abusing his own fence!

So where we going with this story? Following are some bullet items to consider IF you have a fence, OR your neighbor has a fence. feel free to add what you learned under comments, and thanks in advance.

  • Fences are expensive to have built, take care of yours, and take care of your neighbor’s fence as well, don’t bury the bottom, don’t allow grass clipping, leaves or dirt to lay up against it!
  • When you build or repair a fence, place the bottom support well above ground level, there’s no good reason to place the horizontal a half inch from the ground, and even treated material can rot out if you bury it in a compost pile.
  • If you move into a place with a fence, make a point to learn whose fence it is, note any potential past abuses, and discuss them with your neighbor, it might be an ice breaker.
  • A common short cut in building fences is shallow post holes, especially where the soil is hard. The effort you put into making the holes deep enough will pay dividends. I like to tamp in my posts with rocks and avoid concrete around the posts alltogether; but it depends on soil conditions as to what is best. If you bring the concrete right up to the top of the ground around the post, freeze and thaw can break up the concrete and leave the post loose in little time, some fence builders assure there’s some loose dirt on the top of the pours to act as insulation from freezing, but when you’re in areas where the frost level is five foot deep, it likely matters less.
  • Use treated wood for posts.

Remember the importance of putting in angle braces in the corners, and learn how to properly support a gate post, you’ll need add some additional support, as gravity works full-time to test your work.

One thing a guy really needs to consider >if< he starts with a clean sheet of paper. If you  have access to a Bull Dozer or hire one, consider locating the fence lines and making them smooth and straight as possible, It’s far more difficult to build a fence on ground that looks choppy as the ocean on a white cap day. It might cut your fence building time in half, and make it look far more attractive. It’ll look like you started with a plan 🙂

GB

 

Posted in DIYer Skills, How Tos | Tagged , | Leave a comment