Forgot your password?

typodupeerror
User Journal

Journal: Little Engine that couldn't

Journal by MickLinux

The little engine that couldn't.

Once upon a time, there was a little engine that couldn't.
Whenever his mommy asked her to make her bed, she'd say "I can't."
And whenever her daddy asked her to clear out the coal bin, she'd say "I can't."

Now, these are things that engines can do, especially engines that talk.
Of course, they don't mean quite the same thing to engines, that they do to you.

For an engine, the bed is the ground under the railroad tracks.
Little by little, the ground wears away, and you have to put down new gravel to
replace the old. It isn't that hard, even for a little engine, even for the little engine.
And if the little engine's mommy asks her to do it, it should be no problem at all.

But for the little engine that couldn't, it was a problem. In fact, for the little engine
that couldn't, it was impossible. She'd just sit there, and puff out blue smoke, and
say "I can't."

Day after day, the same thing happened, until all the engines got together to discuss it.

The rail mistress said, "I've tried to show her how he can do it, but she doesn't try. She
just watches me do it, and then the next time I ask her, she again says "I can't." Well, I can't do
anything with that. I really can't, either."

Old Chuff, who pulled important freight trains, said "You can't help her if she doesn't want
help. And if you ask me, she doesn't want help."

Even Thunderball, the high-speed passenger engine, said "I wish I could help. It looks beyond
anything I can figure, though. Maybe we just have to wait until the little engine that couldn't, is bigger."

But then the Little Engine with Ideas spoke up. "I don't see why you are all complaining that she
says she can't. I've been listening to you all, and I'm hearing nothing but "I can't." I don't see
how you're any better."

Well, there was quite a huff of steam from many a boiler, when the Little Engine with Ideas said that. The
other engines all quite properly told the Little Engine with Ideas that if he had a good idea, he should
share it, or better yet, do it. If not, he should stop criticizing. And they all went off with many a huff.

So the Little Engine with Ideas started a new train of thought. "I think I can... but how?" And suddenly,
he had an idea. "I know, I'll plant a how bug behind his ear."

So the Little Engine with Ideas went searching through meadows, under logs, near railroad ties, and even
in the brook, looking and listening very carefully. And then, under an old rotted leaf, he heard a little voice
say "_HOW_ do you do?" Well, that was exactly what the Little Engine with Ideas was looking for. He picked up
the little bug, tucked it under his whistle, and went steaming off in search of the Little Engine that couldn't.

When he got there, the Little Engine that couldn't had just been asked to make her bed, and had just said for the twentieth
time, "I can't." So the Little Engine that couldn't's mommy started to explain how her little one couldn't play,
and the Little Engine with Ideas quickly slipped the bug behind his friend's ear. Then he said "Well, maybe next time", and
went home. And Mommy engine, who was really very busy, went off to do her shopping.

There was the Little Engine that couldn't, all alone, with an impossibly huge task to do. She huffed a huff of blue smoke,
and said "I can't. I can't make my bed."

All of a sudden, from just behind his ear, she heard a small voice. "How?"

Well, that took the Little Engine that couldn't by surprise. She replied, "To make my bed, I'd have to go and
get gravel, and I can't."

And the how bug said, "How?"

The little engine that couldn't said, "I'd have to go get a coal hopper, and put it under the gravel chute."

And the how bug said, "How?"

The little engine that couldn't said, "I'd have to get the coal hopper from the yard, and then take it to the gravel
chute just up the line."

And the how bug said, "How?"

And the little engine that couldn't couldn't think of an answer. She tried, and tried, and tried, and the only thing
she could think of to answer the how-bug, was "Like this!" And she took off to the trainyard, hooked up the coal hopper,
pulled it to the gravel chute, and filled it with gravel. And whenever the how-bug asked "how", she just said, "Like this",
and continued to show the how-bug how.

Well, she got it full of gravel, and stopped. "I still can't make my bed. It's too much work."

As you might suppose, the how bug said "How?", and the little engine that couldn't kept on answering how, until she had
nothing else to say except, "Like this"; and then she did it.

When her mother came home, and saw her bed all nice and neat, with the corners all square, and all full of gravel,
she was so surprised that she could only say "My! What a good little engine you are!"

And when Daddy Engine came home from work, and asked the Little Engine that Couldn't to clear out the coal bin, the little
engine that couldn't had to keep explaining how it was impossible, until she found that the job was done -- by her, herself.

Now, it is true that the little Engine that couldn't found such questions terribly frustrating. But they were all exactly
the right question -- how? -- for they made the Little Engine that couldn't answer how, and keep on answering until
she knew for sure that she could.

And when the how bug grew up and flew away, well, the little Engine that couldn't still kept on thinking "how?" every time
she wanted to say "I can't." So even when the how bug was gone, the Little Engine that couldn't still found that there
really wasn't very much that she couldn't do.

And because of that, people stopped calling her the little engine that couldn't.

Instead, they started calling her by a new name, one that maybe you have heard before:

"The Little Engine that Could."

User Journal

Journal: Public Domain: new Velo design

Journal by MickLinux

Enclosed tadpole-trike recliner velo, with double 200-W motors, 1 each powering the wheels; relative motor speed controlled according to the angle of turning the back steering wheel. Body composed of aluminum/steel/wood frame, holding coated styrofoam sections (imagine bicycle helmets in different shapes, inserted between structural members to create a continuous smooth surface). Coated styrofoam sections in turn streamline the vehicle, protect against the weather, are easily replaceable in event of accident, protect the rider, and are lightweight.

User Journal

Journal: Parker Sochacki VB Macro for multiply

Journal by MickLinux

Function CSP(TayA1 As Variant, TayA2 As Variant, PC1 As Variant, IncPd As Variant, RowNo As Variant, konst As Double) As Variant

; © Mike Rudmin, released under Creative Commons Share-Alike and Attribute License.
; If this is not good enough, specific permission is given to reverse engineer or read the
; document, and rewrite from scratch.

Rem TayA1 and TayA2 are Example GREEN
Rem PC1 is Example Blue
Rem IncPd is Example Red

      Dim TA1(0 To 5000)
      Dim TA2(0 To 5000)
      Dim i, j, k, lp0, lp1, lp2, lp3, lp4, lp5, off1(0 To 5), off2(0 To 5) As Integer
      Dim Element As Variant
      Dim MaxTerm(0 To 5), RowStuff(0 To 5) As Integer

      ' First we see the cycledat
      j = 0
      For Each Element In TayA1
            TA1(j) = Element
            j = j + 1
      Next Element
      k = 0
      For Each Element In TayA2
            TA2(k) = Element
            k = k + 1
      Next Element
      i = 0
      For i = 0 To 5
            MaxTerm(i) = 0
            RowStuff(i) = 1
      Next i
      i = 0
      For Each Element In IncPd
            RowStuff(i) = Element
            i = i + 1
      Next Element
      totterm = 0
      i = 0
      For Each Element In PC1
            MaxTerm(i) = Element
            totterm = totterm + Element * RowStuff(i)
            i = i + 1
      Next Element
      k = k - 1
      j = j - 1
      If totterm = j And totterm = k And totterm = RowNo Then
            totterm = 0
            For lp0 = 0 To MaxTerm(0)
                  off1(0) = RowStuff(0) * lp0
                  off2(0) = RowStuff(0) * (MaxTerm(0) - lp0)
                  For lp1 = 0 To MaxTerm(1)
                        off1(1) = off1(0) + RowStuff(1) * lp1
                        off2(1) = off2(0) + RowStuff(1) * (MaxTerm(1) - lp1)
                        For lp2 = 0 To MaxTerm(2)
                              off1(2) = off1(1) + RowStuff(2) * lp2
                              off2(2) = off2(1) + RowStuff(2) * (MaxTerm(2) - lp2)
                              For lp3 = 0 To MaxTerm(3)
                                    off1(3) = off1(2) + RowStuff(3) * lp3
                                    off2(3) = off2(2) + RowStuff(3) * (MaxTerm(3) - lp3)
                                    For lp4 = 0 To MaxTerm(4)
                                          off1(4) = off1(3) + RowStuff(4) * lp4
                                          off2(4) = off2(3) + RowStuff(4) * (MaxTerm(4) - lp4)
                                          For lp5 = 0 To MaxTerm(5)
                                                j = off1(4) + RowStuff(5) * lp5
                                                k = off2(4) + RowStuff(5) * (MaxTerm(5) - lp5)
                                                totterm = totterm + TA1(j) * TA2(k)
                                          Next lp5
                                    Next lp4
                              Next lp3
                        Next lp2
                  Next lp1
            Next lp0
            CSP = totterm * konst
      Else
          If j totterm Or k totterm Then
                    CSP = StrConv("data error: field 5 plus 1 should equal number of terms in field 1 and number of terms in field 2.", vbProperCase)
          Else
                If RowNo totterm Then
                      CSP = StrConv("alignment error: sum of terms in field 3 * terms in field 4 should equal term in field 5.", vbProperCase)
                End If
          End If
      End If
End Function
Function Deriv(TayA1 As Variant, PC1 As Variant, IncPd As Variant, RowNo As Variant) As Variant

Rem TayA1 is Example GREEN
Rem PC1 is Example Blue
Rem IncPd is Example Red

      Dim TA1(0 To 5000)
      Dim TA2(0 To 5000)
      Dim i, j, k, lp0, lp1, lp2, lp3, lp4, lp5, off1(0 To 5), off2(0 To 5) As Integer
      Dim Element As Variant
      Dim MaxTerm(0 To 5), RowStuff(0 To 5) As Integer

      ' First we see the cycledat
      j = 0
      For Each Element In TayA1
            TA1(j) = Element
            j = j + 1
      Next Element
      k = 0
      For Each Element In TayA2
            TA2(k) = Element
            k = k + 1
      Next Element
      i = 0
      For i = 0 To 5
            MaxTerm(i) = 0
            RowStuff(i) = 1
      Next i
      i = 0
      For Each Element In IncPd
            RowStuff(i) = Element
            i = i + 1
      Next Element
      totterm = 0
      i = 0
      For Each Element In PC1
            MaxTerm(i) = Element
            totterm = totterm + Element * RowStuff(i)
            i = i + 1
      Next Element
      k = k - 1
      j = j - 1
      If totterm = j And totterm = k And totterm = RowNo Then
            totterm = 0
            For lp0 = 0 To MaxTerm(0)
                  off1(0) = RowStuff(0) * lp0
                  off2(0) = RowStuff(0) * (MaxTerm(0) - lp0)
                  For lp1 = 0 To MaxTerm(1)
                        off1(1) = off1(0) + RowStuff(1) * lp1
                        off2(1) = off2(0) + RowStuff(1) * (MaxTerm(1) - lp1)
                        For lp2 = 0 To MaxTerm(2)
                              off1(2) = off1(1) + RowStuff(2) * lp2
                              off2(2) = off2(1) + RowStuff(2) * (MaxTerm(2) - lp2)
                              For lp3 = 0 To MaxTerm(3)
                                    off1(3) = off1(2) + RowStuff(3) * lp3
                                    off2(3) = off2(2) + RowStuff(3) * (MaxTerm(3) - lp3)
                                    For lp4 = 0 To MaxTerm(4)
                                          off1(4) = off1(3) + RowStuff(4) * lp4
                                          off2(4) = off2(3) + RowStuff(4) * (MaxTerm(4) - lp4)
                                          For lp5 = 0 To MaxTerm(5)
                                                j = off1(4) + RowStuff(5) * lp5
                                                k = off2(4) + RowStuff(5) * (MaxTerm(5) - lp5)
                                                totterm = totterm + TA1(j) * TA2(k)
                                          Next lp5
                                    Next lp4
                              Next lp3
                        Next lp2
                  Next lp1
            Next lp0
            CSP = totterm * konst
      Else
          If j totterm Or k totterm Then
                    CSP = StrConv("data error: field 5 plus 1 should equal number of terms in field 1 and number of terms in field 2.", vbProperCase)
          Else
                If RowNo totterm Then
                      CSP = StrConv("alignment error: sum of terms in field 3 * terms in field 4 should equal term in field 5.", vbProperCase)
                End If
          End If
      End If
End Function

User Journal

Journal: Better train system

Journal by MickLinux

Okay, here's my next PD idea:

      a train system, in which each car has its own driver, and can connect to other cars while in motion, with connection pathways front and back.

      Now, suppose between DC and NYC you have 12 stops: A, B, C, D,... J, K, L. Start with 3 cars (1..3) in DC, 1 car in A (4), 1 car in B (5), 2 cars in C(6,7), and so on. People get into the cars at the right time.

      Now, three cars start out from DC towards A. Those who want to stop at A, sit in the back car, car 1. Those who want to stop at B, sit in car 2. Those who want to stop at C, sit in car 3.

      The train (1,2,3) starts out. When it is 2 miles from station A, car 1 drops off, with its own driver, and starts slowing down. Meanwhile, car 4 starts out from station B, running at 5 mph slower than the train. The train (2,3) connects with (4) in motion, and resumes full-speed travel. Meanwhile, car (1) stops at station A, people get out, people wanting to go to DC get in, and then the car heads back to DC.

      Next, when the train (2,3,4) is two miles from station B, train (5) starts out, 5 mph slower than (2,3,4), and car (2) drops off the back of train (2,3,4), to make (2-stopping) and (3,4-fastest) and (5-fast). (3,4) joins with (5), while (2) stops. Now (3,4,5) is headed to station C, and (3) drops off, while (6,7) attaches at the front.

      Each time a train joins up, the passengers who will get off soonest go back to the back car; then other passengers go back to their own appropriate car.

      In this way, the train makes a nonstop trip the whole way, for all passengers. Meanwhile, there are as many drivers on board the train, as there are cars. The driver in back will be preparing to drop off; the driver in front will be driving the whole train. Other drivers can provide assistance, security, meals, and whatnot.

      The whole thing can probably be run cheaply, especially since there will be a large profit on the meals; the train is more efficient than individual vehicles; the number of cars can be adjusted to match the number of passengers. Thus, the transportation can be cheap.

      Now, the way I described it is suitable for a single line (such as the Eastern Shore Railway), in which lots of people are going in one direction but few are going in the other (such as during rush hour). People going against the rush will necessarily not have a nonstop trip.

    However, if you have two lines, then you can have two sets of nonstops: one going N, the other going S. Then, train cars need only transfer to the opposite line, and they will return to their original positions.

      ----

      Just as an addendum, here's how to get the thing going, if you can't afford to build train cars. Do it with buses. Have the buses join front and back, with a fast mechanical connection.

      Now, people get on one bus; they wait for the nonstop to come in and join to the back. Then the old back bus disconnects (so that passengers can get out), and the front bus takes off.

      Once the bus is on the highway, people can move to whichever bus section is appropriate.

      The total stopping time, then, is minimal -- no more than pulling up to a red light -- but people can take their time getting on and off, paying, and loading/unloading their belongings.

User Journal

Journal: PUBLIC DOMAIN : Two garden ideas 1

Journal by MickLinux

Okay, here are two garden ideas that extend the ideas in growbiointensive.org:

(1) instead of 3' to 5' wide beds, use 7.5'-11.5' wide beds, but with a hole in the middle of 3' diameter, and a single missing row as a path from the edge to the center. Productivity increases 28%.

(2) Greenhouses in the style of dome tents, with fiberglass or wood poles, and mylar skin. They fit right over a garden plot, and are easily removable.

Technology

Journal: Public Domain - rotary computerized garden robot

Journal by MickLinux

Okay, the basic idea is this: you know how the giant farms have giant watering walkers? The water is pumped to the center, and from there a wheeled walker moves around in a circle. Well, this is a similar idea: a robot arm with its center fixed, and its radius able to move in a circle.

The walker has *low* power clip-on devices that can do various jobs. Each clip-on device has a programmable rom, with little mini-programs. Devices might include: scissors; mini shovel; camera; seed planter; ph tester; salinity tester; hygrometer; fertilizer; infrared camera; watering hose; and so on. Later versions could have "bug picking fingers", even.

When you want to begin your garden, you tell it what seeds you will be planting. Your computer program then downloads the plant information (based upon the seeds you use), and designs a probable "one of the best" garden. I say "one of the best", because it does not try to use "the" optimum solution, but simply something close. This will help the computer program compile data about the different plants, and help truly optimize growing conditions.

The robotic unit consists of several parts: A central spindle; wheel walkers; carriage bars; alignment signs; a robotic cartridge exchanger; and a robotic cartridge unit that supplies (at need) water and electricity, and can adjust its radial position. The whole thing connects to your computer via infrared, laser, or radio communication. Because it is on a central spindle, determining position is much easier. Because of the extensible design of the carriage bars, the whole unit is scalable.

The robotic cartridge unit has its own little motor (and maybe its own little power supply) to carry it up and down the carriage bars. It operates on a principle similar to the HPDJ inkjet cartridge; it can also tell its position.

When it plants the seeds, the computer makes a map of its location. It then waters the ground, according to a program, so that each patch gets a slightly different amount of water (for data analysis and optimization), but close to the believed optimum. It then watches for sprouts. Sprouts in the correct area are allowed to grow. Sprouts in the wrong area get cut.

As the plant grows, the computer tracks such things as leaf size, color, and whatnot to determine plant health.

Different things that can be tracked include: plant selection mixtures (for example, do we keep all; the potatos together, or do we mix potatos and carrots?); lighting conditions; temperature; and so on. The computer creates and keeps maps of each plant and the whole garden, so it can keep track of performance. In the end, the amount of produce is compared to the tracked conditions, to determine what the best conditions are. They, in turn, help the computer determine what the best growing strategy is.

The cartridge units are open-source, and reprogrammable. Communications are simplified by the maps. The unit makes up for its low power by persistance and always being in operation (day and/or night). Solar power is an option.

User Journal

Journal: Public Domain -- distributed music recording and reconstruct

Journal by MickLinux

Okay, here's my next public domain idea: Essentially, a speaker/microphone/microprocessor/RAM/USB or microphone/microprocessor/RAM/radio-com based sound pickup device for recording concerts.

You synchronize several of them, and place them around the concert hall, and then each in turn emits a beep. The others record the beep, and record the timing. In so doing, they record the relative position of each. Then, at a preprogrammed time, they come online, and record until either they run out of memory, or until they are turned off.

At that point, you have a reconstructable image of the concert. You load it into the computer, and the computer maps everything out backwards in time, to generate music sources at their origin in the computer. As a result, you can then use that map to digitally amplify or silence the sources. Finally, using 3-D graphical techniques, you "program" the virtual speaker location, to produce the concert in a controlled fashion.

This should use technologies including the fourier transform (to eliminate frequencies that are artifcacts of the digital process), 3-D radiosity as applied to sound, and other 3-D graphical, stereo, and surround-sound techniques that are currently in use.

Note, also, that all sound levels in the wav file can be, but need not be, automatically time-stamped. That is, you technically only need to time stamp the original, if your recording device has a stable enough frequency. But it could be better to time stamp things, concievably, especially for the part next to be mentioned.

There is another option for this, for live production, in which a concert hall has its own sources. In this case, there is radio and/or USB communication back to a live computer, which takes the sound, uses the different sources to determine the origin, and it digitally amplifies or silences the source, for both recording purposes, and playback on the speakers. As a result of this, you may be able to completely eliminate feedback problems, and could possibly not need to have microphones on stage.

User Journal

Journal: PD addendum

Journal by MickLinux

Oh, yes: with the Direct-to-Electricty heat engine, there's a whole bunch of applications:

DTEHE solar power

DTEHE PDAs

DTEHE nuclear power

DTEHE (any standard power production such as coal burning)

DTEHE Hydrogen Fuel Cell electric energy power plant (for use with all kinds of applications including train, automobile, aircraft, spacecraft, satellites)

DTEHE Wood-stove electric production

DTEHE Paper Powered/Gas powered/Cigarette Lighter fluid (butane) powered Notebook computer

DTEHE Thermal measurement for live computer analysis and update (for example, in automobile or even ship engines)

DTEHE Energy absorption battle shields (no kidding: combine with structural battle shields)

Robot, n.: University administrator.

Working...