---
layout: page
title: 'Build the Game of Life'
description: 'The game of life is a "cellular automaton" game and was invented by
John Conway. Read more about it here.'
site-url: 'https://f-e-p.herokuapp.com/react/game-of-life/'
git-repo: 'front-end-projects/tree/master/react/game-of-life'
userStory:
- 'When I first arrive at the game, it will randomly generate a board and start playing.'
- 'I can start and stop the board.'
- 'I can set up the board.'
- 'I can clear the board.'
- 'When I press start, the game will play out.'
- 'Each time the board changes, I can see how many generations have gone by.'
toDo:
- 'none'
scrollNav: [
{h: 'project-title', v: 'Game of Life', s: [
{h: 'try-it', v: 'In Action'}
]},
{h: 'more-information', v: 'Additional Info', s: [
{h: 'limitations', v: 'Limitations'},
{h: 'user-story', v: 'User Story'},
{h: 'to-do', v: 'To-Do'}
]},
]
---
{{page.description}}
Try it out.
(Hosted externally)
{{page.title}}
See It In Action
See the GitHub repo for additional information
This application makes use of Herokus free tier. Accordingly, the application is limited to:
None


Printed
Tuesday, July 01, 2008
††††††††††††††† We slept in until 8AM and so was slow getting going.† When I fed the rabbits I found that the black doe had killed her kit.† I guess I was wrong in letting the children pet it for when the kit tried to suckle she bit it.† I know better than letting anyone touch their kits but I had handled it so I thought it would be ok.† I was wrong!† I cut down some of the weeds in the back yard.† I took care of a few other small jobs and then after lunch Bob and I went into Sportsmanís Warehouse and I purchased an electric downrigger.† When we got home I was going to quickly install it but the repairman came on the Comcast problem and repaired that.† It also took longer to install the downrigger that I had anticipated, so we didnít have time this evening to try it out.† After dinner Mae & I went out and put the boat away.† Mike, next door came over and we talked for over an hour.† I filled out my journal and it was time to go to bed.
Wednesday, July 02, 2008
††††††††††††††† When we got started this morning Mae and I moved the bed in the small bedroom and stored cases of wheat and rice under it. †I had to add 1 ĹĒ blocks under the legs of the bed in order for the boxes to fit under it. †Mae was going to take Sister Reed and her daughter to Salt Lake.† That will take her the rest of the day.† Bob and I decided to take the boat up to East Cannon and try out the downrigger. †Scott came over for lunch.† After he left I got the boat ready to go.†† The wires on the back of the electrical connection broke loose and shorted out, blowing the fuse.† It took over an hour to repair it.† Mae found out that the trip to Salt Lake was canceled, so I asked her if she would to go with Bob and me.† She said that she had too much to do to go but a few minutes later she came out and said she would go.† We went up to the reservoir and had a good time catching three limits before we came home.† The downrigger worked fine but it will take a little practice to get use to it.† It was late when we got home and then Mae insisted that we clean up the boat before Sandy, Nick and Nickís mother goes with me tomorrow.† I had to bring up a light in order to see as we cleaned the boat.† Mae is quite a gal and I am so lucky to have her.
Thursday, July 03, 2008
††††††††††††††† I got up at 4:15AM and got ready to go fishing.† Sandi, Nick and Nickís mother met me at the Park-N-Ride lot at the mouth of Weber Cannon shortly after 6AM.† It was about 7:30AM when we got on the lake.† We had a good day of fishing and by 1PM we had four limits.† I think that Sandi caught the most but we all shared in the fun.† I had everyone come to our place and we cleaned the fish.† I got Bob to mix up some biscuits and he baked fish while we baked the biscuits and potatoes.† It made a good dinner and we all enjoyed it.† S set down and Mae rubbed my and I fell asleep.† When I woke up we watched a make over of The Red River on the Hall Mark channel.† I caught my journal up to date during the intermissions.†
Friday, July 04, 2008
††††††††††††††† We got up early in order to go to Jeff and Gailís.† They invited us for breakfast along with several other friends they have near them.† We took our two picnic tables over and some grills.† The power in their garage wouldnít handle the grills and kept tripping the circuit breakers.† Noland brought some long extension cords and we plugged into some circuits in the house.† It was a simple breakfast and we enjoyed meeting more of their friends.† We left there and went up to Morgan to watch Tyler play baseball.† Tyler is a pretty good player and their team won 1st place again this year.† We came back home and took a nap.† I slept pretty well but Mae only slept for about 1 hour.† We did some work around the yard and then we went to Layton to the bowery and watched a concert. †Scott, Mishelle, Kylan and Ashley also came to the concert. †Following the concert was a fireworks display.† It was a very enjoyable evening.† †It was almost mid-night when we got home.† I filled in this entry and we went to bed.
Saturday, July 05, 2008
††††††††††††††† I slept in the recliner as I had eaten too much junk food yesterday.† We got up and were ready when Bob called us for breakfast at 8:45AM.† He made biscuits and gravy for us.† I then did 2 or 3 honey dos for Mae and then went out and butchered the buck and the brown and white doe.† Mae and I then drove to Sandy, Ut where I purchased a New Zealand buck and two does from Diane Taylor.† This afternoon I remodeled the duplex rabbit pen by cutting out the flooring and installing wire mesh. I then put the new buck in where I had the buck that I butchered and the new does in the one that I had the brown and white doe.† I will have to build some more pens before these new rabbits are ready for breeding.† Mae went shopping for groceries plus she gave Bob and I haircuts this afternoon.† This evening we went to Jeff and Gailís to play games and to watch a movie.† I had mixed feelings as I know that we will be very late getting home.† Tomorrow will be Fast Sunday and this mean that we will not be able to start our Fast this evening.† It was also later starting than had been planed so there wasnít time for games.† The show that Jeff played was also a PG-13 and I really didnít enjoy the show.† He had originally said that we were watching a cartoon movie but then for some reason Jeff changed his mind and put this one on.† Mae got up and went into the house and talked to Gail.† With us bringing our projector I couldnít see any way to leave.† I told Mae that I would like to avoid this situation in the future.
Sunday, July 06, 2008
††††††††††††††† It was hard to get up this morning but I did make it in time to help set up chairs and had time to feed my rabbits before going to meetings.† I got sleepy during Sunday school but was able to stay awake and enjoy Fast and Testimony meeting.† I was especially glad to see Patriarch and Sister Johnston feeling well enough to attend.† When we got home Bob had a nice dinner ready for us.† After dinner I took a nap and then worked on my journal.† At 6PM we went upstairs and played a game of Canasta with Bob and Carroll.† Mae and Carroll started off great and were far ahead in the first two hands.† Bob and I then came back but at the last hand Mae and Carroll still beat Bob and I by about 150 points.† When we came back downstairs we worked on computers.† Mae helped me edit another of my stories and we e-mailed it to our family.† I finished this entry and we went to bed.
Monday, July 07, 2008
††††††††††††††† We got up and started with Momís list of things needed to do today.† I spent most of the morning working on those items and then this afternoon I repaired our water storage tanks.† We expected Shellie and the boys about 7PM but it was almost 10PM when they got here.† We visited until almost mid-night before we went to bed.† I was surprising to me to see how much Quint has grown since we were at their place the first of the year.† It is good to have them here.
Tuesday, July 08, 2008
††††††††††††††† Due to the fact that we didnít get to bed until after 2AM, no one was ready to get up very early.† I was the first up, at 7:30AM and went out side and fed the rabbits.† It was after 11AM before Shellie, Garrett, Mae and I left for the Salt Lake Temple.† When we got to Salt Lake we found that the Temple is closed for renovation.† We went over to the Distribution Center and bought Garrett some garments.† We also bought a picture of the First Presidency with a nice frame.† We then went to the Bountiful Temple and went through a session there.† Mae and I were asked to be session witness.† We went to Chuck-A-Rama and had dinner.† We then went to the Jordan River Temple.† We met Chelci and Steve at the Temple and went through a session there.† The session was held especially for the deaf and that made it especially interesting to see what it took in order for those that are deaf to participate in the program.† After the session we took some pictures before coming home.† We were all tired and soon started for bed, but it was still after mid-night when we got to bed.
Wednesday, July 09, 2008
††††††††††††††† We had to get everyone up in time for breakfast as Bob made biscuits and gravy for us.† Shellie and the boys went to Layton Park where they met with some of their friends that have moved up from Arizona.† They spent most of the day with them.† Bryce from Alpine Restoration came by but Bob had gone.† He will come back about 1PM.† When Bob came home I told him that we needed the papers and the check from the insurance co. to decide what the cost will be for repairing the floor.† He could not find where he had put them.† I donít believe I have ever seen Bob so upset or depressed as he was over misplacing those papers.† Carroll was going to Salt Lake and when she went to the car she looked for the papers.† She found them in the car and Bob was so relieved.† Mark and I went to the Church farm and used the canner there and canned some whey.† I got back at 1PM but Bryce called and said that he would be later.† I took a nap this afternoon.† When Bryce came we got prices figured out and gave Alpine the go for repairing the kitchen floor.† Shellie and the boys got home about 6:30PM.† Mae had dinner ready but I had to go with Bob Home Teaching at 7PM.† We didnít find the Caseyís home this evening.† We were about an hour with our visit to the Johnstonís.† We were able to also visit with the Fallisís this evening.† I had worked on the computer today and with Comcastís help was able to get the internet working on my lap-top.† I couldnít get the desk top computer to connect to the wireless connection but was able to get the lap-top to connect to the enter-net and get the e-mail to work.† Garrett tried to find the problem but Bob and Carroll had gone to bed and we didnít want to disturb them by going up to work on the units up there.† We decided to continue in the morning.† It was mid-night when I went to bed but Mae and Shellie stayed up until 3AM talking.
Thursday, July 10, 2008
††††††††††††††† I got up about 6AM and studied for a while and then went back to bed at 7AM.† I slept until 10AM before I got up.† Mae had got up at 7AM so she didnít get much sleep.† Shellie got up and went to Georgiaís by 10AM.† After breakfast and feeding the rabbits, Garrett and I worked on the computers.† We were able to get the internet working on both of our computers and then we worked on Markís computer and got it working on the wire less internet also.†  It is about like Monopoly.† We went to the Air-Force Museum but we got there just as it was being closed for the day.† We went to Sportsman Warehouse and bought fishing licenses for the boys and I will take them fishing in the morning.† We then went over to Scottís and visited with them.†  We enjoyed visiting with Scott and Mishelle.† While there Garrett and I helped Scott move a freezer into the basement.† When we got home Mark called me out to the rabbit pens and showed me the one doe that we had bought the other day and it had died.† He felt bad and was worried that maybe it was caused by the weed spray that he applied yesterday but I donít think so.† I noticed that the rabbit wasnít acting very well this morning when I fed them.† I took the boat and truck over to Clearfield and fueled them so they are ready to go tomorrow.†
Friday, July 11, 2008
††††††††††††††† I got up at 3:45AM and read my scriptures.†  We left about 6:30AM and went to East Canon Reservoir.† We caught fish shortly after starting to fish.† Garrett and Kevis caught the first couple of fish.† Quint seem to catch them but he would loss them before getting them to the boat.† I finally had Garrett trade Quint poles but it didnít help because Garrett then caught the fish on the new pole.† I helped Jase catch a couple of fish and then while I was helping net someone elseís fish Jase caught one himself and reeled it in.† Quint finally caught three fish so we all had a good time.† We loaded up the boat and came back to the Air Force Museum and spent a couple of hours seeing the planes there.† When we got home I cleaned the fish and put eight of them in the freezer and took the other eight of them up stairs for Bob to cook for breakfast in the morning.† We got something to eat and then watched two western shows on Hall Mark channel.† We read a chapter of the Book of Mormon during the commercials.† I filled out this journal entry before going to bed.† I also played a game on the computer before turning it off.
Saturday, July 12, 2008
††††††††††††††† I got up and did some studding and then got going to get breakfast and clean up for when the family came.† Mae and Shellie didnít get home until after 11AM.† We had some of Bob and Carrollís family, all of Irven and Sandiís family and most of our family that came for a family reunion and lunch.† Cheryl and Bob and three of their grand children also came.† We set up some canvases for a shady area to eat under.† Everyone brought pot luck and Bob, Carroll, Irven, Sandy, Mae and I furnished fried chicken.† It was a wonderful afternoon of visiting and getting reacquainted.† Our family stayed after everyone else left and we enjoyed the rest of the afternoon and evening.† We grilled hamburgers and hot dogs this evening and along with the other leftovers had plenty to eat.† We set up a sheet for a screen and watched a movie.† Although Mike, Becky, Mattie and Jessie went home, David and Taylor stayed and watched the show and stayed the night.† We had the floors covered with children but all slept well.
Sunday, July 13, 2008
††††††††††††††† I got up at 5AM so I could be ready for Stake General Priesthood meeting this morning at 7AM.† when we first got to the chapel, there wasnít many there but then it filled up pretty good.† When I got home Shellie and the boys were still getting ready for church.† After meetings today we just had leftovers for lunch and even a lighter dinner this evening.† I took a nap as well as Mae and Shellie.† This evening after eating dinner we went over to visit Jeff and Gail.† We played yard games and visited for a while.† It was late when we got home and then I filled in two days of journal entries.†
Monday, July 14, 2008
††††††††††††††† We were late getting up.† Shellie isnít feeling the best today so I took Garrett, Quint and Kevis to East Canon Reservoir boating.† We rented a ski board and I pulled Garrett for quite a while.† Quint and Kevis didnít want to go out so I tried it.† I did get up but only for a few feet each time.† Kevis decided to go out and he did very good and skied for quite a while although he wouldnít try doing much except to stay in the boat wake.† I went out a second time and as I started up I got a cramp in my left leg and had to quit.† Garrett went out again and he is really good.† He tries lots of fancy things so of course falls often but he is good.† We then took the board back and got out the Great Big Mabel.† We had a lot of fun on that and stayed on the lake until late.† We got home after 7PM.† Mae had dinner ready when we got there.† We watched a movie on the Comcast movies that was cute with some good morals taught.† It was mid-night when we went to bed.
Tuesday, July 15, 2008
††††††††††††††† Shellie was up early but the rest didnít get going until after she had breakfast ready.† I am quit sore and have several areas that are hurting.† I donít know if it was trying to ski yesterday or not or if I have eaten something that is causing it.† Mae, Shellie and the boyís went to Lagoon but I stayed home and rested.† I did put some items away out in the shed.† I took my boots over to have them repaired and got there at 5:45PM but the store was locked up even though the hours showed that it was open until 6PM.† I filled the pickup and boat up with gas and it took $100.00 to fill them both.† I put the boat away and the float tub.† I watched a movie taken from a true incident with changes for protection and it really showed some of the evils of our government to protect some of our big business that are in foreign countryís.† Mae, Shellie and the boyís didnít get home from Lagoon until after 11PM.
Wednesday, July 16, 2008
††††††††††††††† We slept in this morning.† It was about 11:10AM when Shellie, Garrett, Mae and I left for the Salt Lake Temple.† We got there just 5 minutes late for the noon session so had to wait until the 1PM session.† Mae and I were asked to be the company witnesses on this session.† We really enjoyed the session and after we stopped at the Chuck-A-Rama and had dinner again.† We got home and I took a Ĺ hour nap and then Shellie, Mae and I went back to the Salt Lake Airport to get Roy.† We got there just about the same time that he did.† We came back home and watched a movie on Comcast that was pretty good.† It was after 11PM when we went to bed.
Thursday, July 17, 2008
††††††††††††††† We got up early to prepare breakfast for Shellie and her family before they and Mae go to the water park in Provo.† I have a problem and said something that upset Mae.† Mae and all the rest left about 9:30AM.† I went upstairs and started removing the damaged flooring and underlayment in the wash room.† Before we quit for the day we picked up materials at Loweís.† I warmed up some supper and ate while watching Texas Ranger.† A western movie then played which I watched.† I then changed the channel to AMC and watched Jawís 2.†
Friday, July 18, 2008
††††††††††††††† Mae took Shellie and her family up to the gate to Timpanogus Cave where they met Sandi and Scottís family.† Mae then came home while the rest of them hiked to the cave.† I worked around here and put a new sub floor in Bob and Carrollís washroom.† This evening Mae and I watched a DVD that Shellie had rented.† It was ok I guess.†
Saturday, July 19, 2008
††††††††††††††† We were tired and felt like sleeping in but we got up and drove out to the Erda Airport where we watched Scott, David, Jeff, Shellie, Roy and Garrett go up in an airplane and sky dive out.† All of them were thrilled with the experience and all landed safely.† We then went to Sandi and Nickís where we grilled dinner and then played games.† We had almost all of our family out there and it was good to be together.† Mae and I came home this evening.† This morning before we left for Erda, I realized that my cell phone was missing.† I couldnít find it before we left but this evening as I thought about it I decided that I would check an area where I had done some building yesterday.† I was able to find it where it had fallen out of my pocket.† We were about to call it a day when Robin Walker and Kyson came by.† Kyson asked if I would give him a blessing as he is going into the Army Reserve along with some other stresses of life and felt like he needed a Priesthood Blessing.† I asked Mark to assist me and we gave him a blessing through the Priesthood that we hold.† Mae is typing some thoughts for a R.S. lesson in the morning before she will be ready to go to bed.† Mae gave me a hair cut and I took a shower before going to bed.
Sunday, July 20, 2008
††††††††††††††† I woke before 3AM and got up for just a few minutes.† Although I went back to bed I couldnít get to sleep.† I remembered that the water was running on the back trees so I got dressed enough that I went out back and shut it off.† If it is on when the sprinklers come on the lawn there is too much pressure lost and the sprinklers do a pour job of watering the lawn.† I went back to bed and heard the clock chime for four AM but went to sleep after that.† The alarm woke me at 6AM but we didnít get up until 6:30AM.† My feet and legs are hurting this morning so I am moving quite slow.† I did go to the chapel and help set up chairs.† When I got home I fed the rabbits and then went in to eat but there wasnít enough time so I just had a piece of toast and a glass of whey.† Meetings were very good but my legs and feet got worse as time went on.† We ate lunch with just the two of us and it really seemed good for the quietness and peace.†† This evening Bob and I went over to Brother and Sister Fallisís as Brother Fallis is going to go into the hospital tomorrow for an operation.† We gave Harrell a blessing.†† While we were out we also stopped by the Caseyís to visit them.† They were home this time.† I got on the inter-net and looked up Dyflugan.† In doing so we found a web site that we could find out how to control this yeast problem that I have.† We spent some time looking for it and getting it off the computer.† When we did get it, I was disappointed as there was very little new that we didnít already know.† We went to bed and watched a show on DVD.
Monday, July 21, 2008
††††††††††††††† I slept in but Mae got up at shortly after 8AM.† I am quite depressed about my legs and feet.† I really donít want to go back on the strict diet and the added nurturance that it will take to replace what I canít get out of the diet.† I didnít get very much done except feed my rabbits.† This afternoon I went over to Irven and Sandyís and looked at their problem.† It looks like it is coming from their master bedroom bath.† The shower is deteriorating and starting to leak.† I suggested that they call their insurance company and see if they will cover most of the repairs.† The restoration repairman came today and replaced Bob and Carrollís flooring today.† This evening I watched some TV.† Mae balanced our Bank Statement this evening and took a shower before we went to bed.
Tuesday, July 22, 2008
††††††††††††††† We slept in late this morning.† Bob came down and woke us at 10AM.† Mark spent a couple of hours trying to help me determine what medications and food will be good for me.† I just donít know how reliable his abilities are.† He said that the Cox Raw Honey that we have is ok for me to use.† Also the one brand of wheat bread is ok for me.† This afternoon and evening, with the help of Bob and Mark, we cut the first cutting of my hay.† It is just coming into blossom and I am afraid that it will be in full bloom before we get back form Sandiís.† Sandi was operated on this afternoon and they fused 4 disks in her neck.† I hope that it was the right thing to do.† Brother Thompson came Home Teaching this evening.† I asked him to give me a blessing.† Bob and Mark assisted with it.† We also gave Carroll a blessing.† I am having a lot of pain that I am sure that it is the same thing that I have been fighting for over 20 years.† Carrollís problem is with the swelling in her legs.†
Wednesday, July 23, 2008
††††††††††††††† We got up at 5:30AM in order to get away to Salt Lake to pickup Sandi from the hospital.† I fed the rabbits and packed the car.† Mae prepared some scrambled eggs and put on toast so that we could eat them on the way. †We got there at 8:30AM and as we came into Sandiís room the Physicians Assistant was just starting to talk to Sandi.† Sandi told us that it was 8:00 last night that they were able to get her into the room.† Nick called a little later and said the same thing and he was quite upset about that.† The PA told us that she could leave when she wanted to but that she had no need to hurry because hospital staff had been so late getting her into a room.† The Doctor soon came in to visit with Sandi and told her about the same things as the PA.† When he went to leave the nurse had just came in the room and when the Dr. told Sandi that she could leave when ever she felt up to it the nurse spoke up and said that she was there to help her.† After the Dr. left the room I told the nurse that Sandi wanted to rest a little longer before leaving.† The nurse then left the room.† Mae and Sandi then took a nap while I watched the traffic out side.† It was interesting to see the commuter train and the buses come and go.† Less than an hour had passed when another nurse came in and spoke to Sandi which woke her up and told her she would help her get ready to leave if she was ready.† There was no question that the staff wanted Sandi to leave.† Mae helped Sandi get dressed and we left.  We then stopped at the Maverick station in Tooele and bought the three of us some yogurt.† That really tasted good to Sandi.† We took her home and took care of the rest of the day.† JaNae and her children stopped over for a while.† Chelci came over and then went to the store to get some things for Sandi.† Mae prepared dinner for this evening when Nick got home from work.† I helped her by filleting trout and cooking them.† This evening we watched a movie that Chelci got for us.† It was the ďFour White FeathersĒ.† Part way through the show we stopped it so that Nick and I could go outside and spray some hornet nests.† Sandi also asked if I would give her a Priesthood Blessing, which I did, then Sandi and Nick went to bed.† Mae and I stayed up and watched the end of the show.† It was a good movie.
Thursday, July 24, 2008
††††††††††††††† Nick got up and left for work about 3AM.† I woke later and just quietly checked and Sandi was asleep.† The medication that I am taking, for a cleans is working, but I was able to soon go back to sleep.† Mae got up about 7:30AM., but I went back to sleep and sleep quite late.† When I got up Mae had fixed oat meal cereal for breakfast.† I used the honey that Mark had said was ok for me to use but soon I had quite a lot of pain through out my body.† I think I will lay off all sweets for a while.† We watched the Salt Lake 24th of July Pioneer Parade on TV.† Sandi and I went back to bed for a while, after the parade was over.† When I got up I shaved and took a bath in the whirl pool tub and that helped me feel some better.† I feel quite discouraged with this problem that I am having as I am not sure just who to get help and advice from.† Mae had dinner ready when Nick got home from work at 6PM.† The four of us played two games of Marbles and Sandi and Mae won both of them.† Nick and I took a break and went outside and sprayed four hornet nets.† I love to see those things die.† After we came back in and finished the game.† We then started another game of Runís and Bunchís, but Sandi got tired and went to bed.† Nick, Mae and I finished the game and Nick won.† We then went to bed.
Friday, July 25, 2008
††††††††††††††† I got up at 7:30AM and Mae had been up for a while before that.† For breakfast Mae made egg omelets in a sack.† Those worked out well.† It was an easy day just trying to help care for Sandi but she is quite independent.† We saw pitchers of the surgery and we just hope it works out for Sandiís best good.† I did a couple of small jobs for Nick and Sandy to help them out.† This evening we played marbles again and again Mae and Sandi won two games in a row.
Saturday, July 26, 2008
††††††††††††††† Mae and I again prepared breakfast.†† I fillet some trout and fried them while Mae prepared hash brown potatoes and fried summer squash.† After cleaning up Mae told me that Sandi would like us to go home as she is feeling quite a lot better and she can relax more if we arenít here.† We packed our things and left for home.† Nick wanted us to stop at Home Depot with him and look at a generator and a air compressor.† We then left for home but Mae remembered some things that we had left at Sandiís so we had to go back.† It was about 5PM when we got home. We got a call from Roy this evening.† Both he and Linda have Sugar Diabetes but they are only taking insulin shots and eating what they want.† When we told him that Bob is really watching his food intake, Roy just said that we all die one way as another. †My feet are hurting this evening.† After unpacking we watched ďThe Wild BunchĒ on TV before going to bed.†
Sunday, July 27, 2008
††††††††††††††† My legs and feet are really hurting this morning.† Mae went upstairs and borrowed some crutches from Bob to help me walk.† Bob went out and fed my rabbits for me.† I stayed down all day.† Mae attended meetings this morning.† Bob and Carroll invited us up for dinner.† Bob prepared fried chicken and fried my piece with out flowering it.† I watched the Tabernacle Choir and The Spoken Word as well as other devotional on BYUTV.† Mae called and checked on Sandi and she is doing fair.† This evening we watched the rebroadcast of the Tabernacle Choir and The Osmondís.† That was very enjoyable.† I caught up the last couple of days in my journal this evening.† Bob and Mark went out and covered my hay with tarps as they heard that Tooele County is expecting thunder storms this evening.† I am not sure just what I should do or who I should see about the pain I am experiencing.† Mae called and talked to Jennie but they are doing some remodeling so she isnít seeing anyone for over a month.†
Monday, July 28, 2008
††††††††††††††† I woke early and noticed that the pressure pump was not running on the irrigation water.† We had to turn it on by hand as there is not enough pressure in the line to let it turn on. †We went back to bed and rubbed each others feet.† Using the crutches I am able to walk around.† Mae talked to Nancy Litchford and she feels that it is our apple cider vinegar, honey and cayenne pepper that has caused my pain to return.† I spent a lot of time working on the computers and the inter-net getting maps for Flaming Gorge and also reservations for Zionís Cannon.† We decided that we canít afford to go to Washington to go fishing this year.†
Tuesday, July 29, 2008
††††††††††††††† I woke at 3AM and after laying there for almost an hour I got up.† I took some Tylenol and turned on a show on Comcast.† Bob fed my rabbits for me this morning.† I did go out and turn my hay and put the water on the garden.† I took a short nap and then we went into South Ogden to meet with Nancy Litchford and Fran Morris.† To me that was a very depressing visit.† For the next three weeks my diet is very limited.† We stopped at a Health Food Store and Mae went in to buy some of the things that I can have.† I waited outside in the car until I got to hot.† After I was in the store for a few minutes, one of the owners (I guess) brought me a cook book for me to look at.† She said that she had been talking to Mae and showed her the book.† Mae wanted me to look through it before we bought it.† I spent the next few minutes going through the recipes and I only found 2 that didnít have at least 1, 2 or more ingredients in them that I can not have.† Then on the way home as Mae read the literature we found out that included in the donít list is pop-corn.† We also decided that we should cancel out trip with Rick and Georgia.† What a discouraging thing this has turned out to be.† Mae went over to the grocery store and bought some things that I can eat but she had to look hard to find anything.† This evening we watched a show on TV before going to bed.†
Wednesday, July 30, 2008
††††††††††††††† I woke early and was up for a while.† I read another chapter of the Book Of Mormon and then went back to bed and cuddled Mae up but then she got up, so I slept until 8:30.† Meals are a puzzle for us to figure out with all the things I canít eat.† It really keeps Mae thinking, trying to figure meals.† I worked on the yard pump trying to get the safety switch to work on the low water pressure that we get.† It works on 12 LB PSI and often we are below that in the morning hours.† If the switch doesnít trip then the pump will not turn on so the lawn isnít getting enough water.† I am concerned about bypassing the switch for if there was no water when the pump came on it would burn up the pump.† Mark came out side just as I finished up and we set and visited for a while.† After lunch I went out and stacked my hay in the shed.† Bob came out and helped me.† I turned the water on the garden this afternoon and also put some side dressing of 16-16-16 fertilizer on most of the rows of vegetables.† This evening I entered my journal while Mae worked to make menu that we can eat.† I then did some work on my stories to prepare some more to send to our family.† By the time I finished it was 1:30PM so we went to bed.
Thursday, July 31, 2008
††††††††††††††† I didnít sleep very well and I woke about 3AM.† By 4AM I got up and took some Tylenol.† I lay in the recliner but still didnít sleep much.† I heard the clock on each hour.† I took a shower shortly after 7AM and then Mae and I lay back in bed for a while.† Mae got up to answer the phone at 8AM but I tried to sleep, getting up about noon with Bob needing help reinstalling his cabinet.† They are putting a micro-wave above their range.† Mae and I went over to Dr. Bennettís and got treatments.† We then stopped at Home Depot for some electrical parts for Bob and at the shoe shop to get my boots that they repaired.† We also stopped at Willieís care wash to clean the car.† Last stop was at the gas station to fill the car.† I did some work on my personal history and my journal.† This evening we watched the show ďHatchiĒ with John Wayne on DVD before going to sleep.


Liquid Rock Web Mockups
We haven't purchased any images (in the headers), so please ignore any watermark text. Thanks.
Mockup A
Mockup B
Mockup C
Mockup D


Abstract
This REC model covers basic types of agents (people, organizations, groups), structurally aligned with FOAF.


site
Posted: Sat Apr 29, 2006 11:18 pm
damn! this is turning out really well.
I like the new "about us" skeleton, Karl. it's looking great.
One small thing that's been annoying me: in the forums, could you point the top link back to the main page? or maybe there's a way to keep the top bar so all traffic doesn't have to go through the home page?
I like the new "about us" skeleton, Karl. it's looking great.
One small thing that's been annoying me: in the forums, could you point the top link back to the main page? or maybe there's a way to keep the top bar so all traffic doesn't have to go through the home page?


The Traveler
Player Name
Player Specialization (Influences Skills)
Explorer
Orator
Mechanic
Explorer
Barter
Combat
Medicine
Speech
Tinkering
3
15
16
5
8
Orator
Barter
Combat
Medicine
Speech
Tinkering
16
6
5
15
4
Mechanic
Barter
Combat
Medicine
Speech
Tinkering
3
10
9
7
16
Player Perk
Silver-Tongued: Increases Barter and speech skills
Outdoors Enthusiast: Increases Combat skill and Medicine skills.
Lucky Break: Start with 150 more currency and a flashlight (required for cave exploration).
Game Modder: Increases tinkering skill and start with 150 parts (parts are required to craft items).
START


This website is a part of project of IS601 Web System Development to understand the basic concepts of
'How the Internet works?'.
Basically, The Internet is the backbone of the Web, the technical infrastructure that makes the Web possible.
At its most basic, the Internet is a large network of computers which communicate all together.
So we are going to learn what all factors are responsible for making this communication possible
By, Nidhi Laxman Kokande
Thank You!


I have Emonhub (version from Trystans Github) running on RPI sending to emoncms.org and local server on the same RPI.
I noticed at the weekend that my daily data on the local server was different to that on emoncms.org When I investigated it seems I may have been having internet connection issues but the buffering didn't kick in to fill in the gaps.
I have the standard conf file settings of bufferMethod = memory and bufferSize = 1000
I did some testing and when I disconnected my router the data was not saved to buffers on the Rpi.
Then, with the router back on, I changed the emoncms.org url to Xemoncms.org in the conf file and the data was saved to the buffer for over two hours before it was full and when the url was changed back it sent all the missing data to emoncms.org pretty quickly.
Why is Emonhub not recognising that the data is not getting through when the router goes down? Is there anything I can do to make it recognise this condition?
Re: Emonhub buffering
That is very odd behavior, as far as I'm aware Trystan's versions have the same type of buffering that only deletes sent data if it receives a confirmation from the server, in most cases this is the word "ok", unless the response to a http request is "ok" it assumes failure and attempts to resend without deleting, or at least that's the theory..
Which version exactly are you using ? can you link to it or the guide you followed, as there are some variations?
Have you checked the emonhub.log file for clues? what logging level is set in the conf file?
Paul
Re: Emonhub buffering
I just retested the buffering response to turning the router off and it's working ok now. I think I may have disconnected the Rpi by pulling the WiFi dongle earlier... the Rpi reboots when the dongle is re-inserted so obviously the buffers would be emptied, Duh!
I still have the original problem of why my emoncms.org Wh accumulators incremented more than they should have done at the weekend, but the local server accumulators matched my utility meters exactly.
The only thing I could find when examining the graphs where a couple of Jumps in the Wh data similar to the screenshots attached. Some of my feeds accumulated more than a few kWh extra over the course of the day on both Sat and Sun.
Any ideas what could cause this?
Re: Emonhub buffering
Sorry, nothing specific really springs to mind, But since you have two sets of data you could down load csv data for the affected feeds for the period in question from both the emoncms's and compare then in excel to get an insight.
I can only suspect the wh accumulators have been upset by the data "flow" interruptions since both emoncms's would have been offered identical data and the only difference should be when that data was received since you are using wh totals. It would be easier to account for a reduced total through lost data, resetting pi or "rushing" the wh accumulators 25K filter, but too high a reading suggests double posting or something.
how many feeds are affected? Are the screenshots of the same feed at different scales? do have a graph from local emoncms for same feed and time?
Re: Emonhub buffering
PS it may still be worth a look in the log to see when the requests were successful in relation to the data if it's not too late!
Re: Emonhub buffering
The logs had been overwritten by the time I spotted the problem.
The first two screenshots where the same glitch at different zoom levels. I've attached a screenshot of the same period on the local feed which doesn't have the glitch.
There was 3 or 4 from 7 of my Wh accumulator feeds affected and also the same 3 or 4 from 7 of the Whd feeds.
Re: Emonhub buffering
I have just checked the other feeds at the same point in time as the original screen shots and they also showed a step in the values at 16:40 although not of the same magnitude as the 1kWh+ step in the PV produced graph.
I wonder if this could be caused by an npt time adjustment or maybe the reply ok was sent but delayed getting back to the rpi because of say a DDNS ip address update so was sent again.
Re: Emonhub buffering
I guess it's possible, although the effect seems quite extreme for a few second or, perhaps a couple of minutes overlap, which is what i would expect from a npt update. Without log data or knowledge of exactly what happened at that time it's hard to tell.
Hopefully if it happens again the log file can help.
Re: Emonhub buffering
Thanks for the help Paul.
I'll keep an eye on it and hopefully if it happens again I can catch the logs before they're overwritten.
Other than this little glitch emonhub has been running faultlessly for ages now.


Size: 220km² with an altitude of 670-760m above sea level Semuliki Forest Reserve was created in 1932 and upgraded to national park status in 1993. It is the only tract of true lowland tropical forest in East Africa, hosting 441 recorded bird species and 53 mammals. Large areas of this low-lying park may flood during the wet season,a brief reminder of the time when the entire valley lay at the bottom of a lake for seven million years. Four distinct ethnic groups live near the park – Bwamba farmers live along the base of the Rwenzori while the Bakonjo cultivate the mountain slopes. Batuku cattle keepers inhabit on the open plains and Batwa pygmies, traditionally hunter gathers, live on the edge of the forest.
Semuliki National Park sprawls across the floor of the Semliki Valley on the remote, western side of the Rwenzori. The park is dominated by the easternmost extension of the great Ituri Forest of the Congo Basin. This is one of Africa’s most ancient and bio-diverse forests; one of the few to survive the last ice age, 12-18,000 years ago. The Semliki Valley contains numerous features associated with central rather than eastern Africa. Thatched huts are shaded by West African oil palms; the Semliki River (which forms the international boundary) is a miniature version of the Congo River, the forest is home to numerous Central African wildlife species, and the local population includes a Batwa pygmy community that originated from the Ituri. As a result, this park provides a taste of Central Africa without having to leave Uganda. While Semuliki’s species have been accumulating for over 25,000 years, the park contains evidence of even older processes. Hot springs bubble up from the depths to demonstrate the powerful subterranean forces that have been shaping the rift valley during the last 14 million years.


We count your calories and plan your diet
Follow your progress and reach your goals
Training hints & tips


API for software check results for the R package distribution network https://cran.rstudio.com/web/packages/
Or I am no longer involved in maintaining.
API for https://www.fishbase.de/
API for Botanical Information and Ecology Network data http://bien.nceas.ucsb.edu/bien/
API for resolving DOIs to full text URLs (if available)
API for http://plants.usda.gov/java/
API for https://ropensci.org packages, citations, etc.
API for traits data - very much a work in progress - would love your thoughts at https://github.com/sckott/traitdb/issues/1


Microsoft's Open-Source Pivot Is Creating a Great Place to Work
Bob Smith | Sat Jun 12 2021 20:00:26
Microsoft isn't just building for the future. The company is
focusing on tools that will allow an ever-broader group of people to
program for themselves.


PLANE WAVE AT MEDIA INTERFACE - SOLVER
(Created By: SAMBIT KUMAR MISHRA)
Go through the assumptions and sign conventions thoroughly. For suggestions/comments please contact the
Developer
ENTER THE DETAILS OF THE INCIDENT FIELD WAVE
ASSUMPTIONS
- Assume that both of the semi-infinite regions are either vaccuum or perfect/ideal dielectric (i.e. conductivity, σ = 0)
- We will assume that the coordinate axes are aligned along the interface and the wave is assumed to travel at an angle wrt media interface
- If depicted on paper the x-z plane will lie on the paper whereas the y-axis will be along the normal to the plane of paper
- Assume the plane of interface to be along x-y plane and normal to the plane is z-axis. Plane x-y cuts z-axis at z=0.
- Assume that the media are isotropic in their respective semi-infinite region
- Value of all angles and phase are in radians
- Assume that polarisation is either parallel or perpendicular
Every plane wave in an arbitrary direction can be written as F = Fₒexp(-j.K.β)
This equation can be generalised as:
E = [(a+jb)xˆ+ (c+jd)yˆ+ (r+js)zˆ]exp[-j.β.(Xcos(φx)+Ycos(φy)+Zcos(φz))]
where,
j = complex imaginary quantity analogous to i
a,c,r = real coefficients
b,d,s = complex coefficients
xˆ,yˆ,zˆ = unit vectors in x, y, z axes respectively
Eₒ = [(a+jb)xˆ+ (c+jd)yˆ+ (r+js)zˆ]
β = phase constant of the wave
k = (Xcos(φx)+Ycos(φy)+Zcos(φz)), the dot product of normal vector and displacement vector from the origin
φx = Angle made by the incident wave wrt X-Axis
φy = Angle made by the incident wave wrt Y-Axis
φz = Angle made by the incident wave wrt Z-Axis


http://www.marklogic.com/http library module
This library module provides MarkLogic spcific XQuery implementation features such as HTTP GET and POST requests and XML parsing.
Author: Philip A. R. Fennell
Variables
Variable: $URL_ENCODED as xs:string
URL encoding for HTTP requests.
Functions
Function: impl:http-request($request as element(http:request)
) as item()*
The HTTP binding for query operation.
Params
- request as element(http:request)
Returns
- item()*: the normalised response.
Function: impl:normalise-response($response as item()*
) as element(http:response)
Converts the implementation specific representation of the HTTP response into a generic HTTP representation which uses the same structure as XProc's c:response element.
Params
- response as item()*
Returns
- element(http:response): an http:response element
Function: impl:unquote($string as xs:string
) as document-node()
Parses a string as XML, returning one or more document nodes.
Params
- string as xs:string Input to be unquoted.
Returns
- document-node(): an XML document node.
Function: impl:quote($node as node()
) as xs:string
Parses a string as XML, returning one or more document nodes.
Params
- node as node()
Returns
- xs:string: an XML document node.
Function: impl:build-request-options($request as element(http:request)
) as element(xhttp:options)
Creates the HTTP Request options XML fragment
Params
- request as element(http:request)
Returns
- element(xhttp:options): options element
Function: impl:get-response-head($response as item()*
) as element(xhttp:response)
Extract the head of the HTTP resonse data.
Params
- response as item()*
Returns
- element(xhttp:response): the head of the HTTP response data.
Function: impl:get-response-body($response as item()*
) as item()?
Extract the body of the HTTP resonse data.
Params
- response as item()*
Returns
- item()?: a sequence of zero or more HTTP response body items.
Original Source Code
xquery version "1.0-ml" encoding "utf-8"; (: : Licensed under the Apache License, Version 2.0 (the "License"); : you may not use this file except in compliance with the License. : You may obtain a copy of the License at : : http://www.apache.org/licenses/LICENSE-2.0 : : Unless required by applicable law or agreed to in writing, software : distributed under the License is distributed on an "AS IS" BASIS, : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. : See the License for the specific language governing permissions and : limitations under the License. :) (:~ : This library module provides MarkLogic spcific XQuery implementation features : such as HTTP GET and POST requests and XML parsing. : @author Philip A. R. Fennell :) module namespace impl = "http://www.marklogic.com/http"; declare default function namespace "http://www.w3.org/2005/xpath-functions"; declare default element namespace "http://www.w3.org/Protocols/rfc2616"; declare namespace http = "http://www.w3.org/Protocols/rfc2616"; declare namespace xhttp = "xdmp:http"; (:~ URL encoding for HTTP requests. :) declare variable $URL_ENCODED as xs:string := "application/x-www-form-urlencoded"; (:~ : The HTTP binding for query operation. : @param $request : @return the normalised response. :) declare function impl:http-request($request as element(http:request)) as item()* { let $requestURI as xs:string := $request/@href let $method as xs:string := $request/@method let $log := xdmp:log(concat('[XQuery][GRASP] Request: ', xdmp:quote($request)), 'debug') let $response as item()* := xdmp:apply( xdmp:function(xs:QName(concat('xdmp:http-', lower-case($method)))), $requestURI, impl:build-request-options($request) ) return $response }; (:~ : Converts the implementation specific representation of the HTTP response into : a generic HTTP representation which uses the same structure as XProc's c:response element. : @param $response : @return an http:response element :) declare function impl:normalise-response($response as item()*) as element(http:response) { <response status="{string(impl:get-response-head($response)/xhttp:code)}">{ (for $header in impl:get-response-head($response)/xhttp:headers/xhttp:* return <header name="{local-name($header)}" value="{string($header)}"/>), if (exists(impl:get-response-body($response))) then <body content-type="{subsequence(tokenize(string(impl:get-response-head($response)/xhttp:headers/xhttp:content-type), ';'), 1, 1)}">{ impl:get-response-body($response) }</body> else () }</response> }; (:~ : Parses a string as XML, returning one or more document nodes. : @param $string Input to be unquoted. : @return an XML document node. :) declare function impl:unquote($string as xs:string) as document-node() { xdmp:unquote($string) }; (:~ : Parses a string as XML, returning one or more document nodes. : @param $string Input to be unquoted. : @return an XML document node. :) declare function impl:quote($node as node()) as xs:string { xdmp:quote($node) }; (:~ : Creates the HTTP Request options XML fragment : @param $accept the HTTP Accept header content-type. : @return options element :) declare function impl:build-request-options($request as element(http:request)) as element(xhttp:options) { <options xmlns="xdmp:http"> <headers>{ for $header in $request//http:header return element {QName('xdmp:http', string($header/@name))} {text {string($header/@value)}} }</headers> <format xmlns="xdmp:document-get">text</format> { if (exists($request/http:body)) then <data xmlns="xdmp:http">{xdmp:quote($request/http:body/*)}</data> else () } </options> }; (:~ : Extract the head of the HTTP resonse data. : @param $response : @return the head of the HTTP response data. :) declare function impl:get-response-head($response as item()*) as element(xhttp:response) { subsequence($response, 1, 1) }; (:~ : Extract the body of the HTTP resonse data. : @param $response : @return a sequence of zero or more HTTP response body items. :) declare function impl:get-response-body($response as item()*) as item()? { try { xdmp:unquote(subsequence($response, 2)) } catch ($e) { subsequence($response, 2, 1) } };


{% extends 'grant_applications/generic_form_page.html' %}
{% block forms %}
{% include "core/govt_uk_form_non_field_errors.html" with non_field_errors=form.non_field_errors %}
If you are a partnership, sole trader or other business entity, we may not have access to those records. If this is the case, enter your details manually.


Add statements about what "it is" here, and tag the "field" from which the statement came (e.g. Buddhism, Poetry, Biology).
Statement must begin with "it is".
One tag per statement


{% extends "sentry/bases/modal.html" %}
{% load i18n %}
{% block title %}{% trans "Internal Server Error" %} | {{ block.super }}{% endblock %}
{% block main %}
Oops! Something went wrong
It looks like you've hit an issue in our server API. Don't worry
though! We use Sentry to monitor Sentry and it's likely we're already
looking into this!
If you're daring, you may want to try the following:


This form shows how to integrate form validation with Parsley.
This form seems to be invalid :(
Everything seems to be ok :)
To use Parsley we need jQuery available. Then we can enable Parsley in our code as followw:
validatingForm.js:let view;
let parsley;
let route = {
enter: function( route, prevRoute, options ) {
view = route.view = new Ractive( {
// We setup parsley in Ractive 'onrender' hook because the DOM is rendered at this stage
onrender: function () {
setupParsley();
}
} );
}
}
function setupParsley() {
let options = {};
parsley = $( 'form' ).parsley( options );
parsley.on( 'form:validated', function ( form ) {
var valid = form.isValid( );
// We set two variables true or false depending on weather the form is valid or not.
// In our template we then check these two variables to display an error or success messasge
view.set('validationFailed', !valid);
view.set('validationSucceeded', valid);
});
}
Below is a snippet of our template showing how we display an error or success message:
validatingForm.html:
Parsley uses custom attributes on <input%gt; fields to specify validation rules. Below is an example:
validatingForm.html:


Successfully changed the password.
Personal info
Username:
First name:
Last name:
Email:
Return
Original password:
New password:
Confirm new password:


Facebook launches new Whale app that lets you create your own hilarious memes
The meme app, called Whale, has been created by Facebook’s New Product Experimentation (NPE) Team, which regularly launches experimental apps
by Shivali Best, https://www.facebook.com/shivalibestjournalist/Whether it’s Evil Kermit or Condescending Willy Wonka, it’s hard to go online these days without spotting at least a few memes.
Now, Facebook has quietly launched a new app that lets you create your own hilarious memes.
The app, called Whale, has been created by Facebook’s New Product Experimentation (NPE) Team, which regularly launches experimental apps.
On its App Store listing, it explains: “No distractions, no hidden subscription pricing. Use your own images or choose from our stock photo library and get creative with text, tools, effects, and more right inside the app.”
To use the app, users must first pick a photo, whether it’s from their own camera roll or a stock image from within the app.
They can then add text, images, emoji, filter or popular effects to transform the basic image into a personalised emoji.
Finally, the meme can be saved and shared via social media.
Unfortunately, it seems that Whale is currently only available on the Canadian App Store, and it remains unclear when, or even if, it will launch worldwide.
Facebook’s NPE Team was created back in July, and is tasked with creating apps focused on giving people entirely new experiences.
Facebook explained: “This is a way for Facebook to develop new types of experiences for people and to try different ideas by creating small, focused apps in order to see whether people find certain features useful or engaging.
“We may use what we learn to help inform our thinking and product strategy moving forward.”


- Status: {{alert.items.status}}
- Imported: {{alert.items.importCount.imported}}
- Updated: {{alert.items.importCount.updated}}
- Ignored: {{alert.items.importCount.ignored}}
- Deleted: {{alert.items.importCount.deleted}}
-
There are {{alert.items.conflicts.length}} conflicts.
Some values have been ignored because of these conflicts.
Conflicts arise out of wrong value for data element, incorrect period, or when validation rules has been broken
The Data Set might also have been locked


Clint Picasso
Keep this site open on your desktop. Open this same site on your phone. *Draw a picture and shoot it to this canvas!
*Remember to turn up the volume on both desktop and mobile!
Username:
Unknown


In this page, you can specify a range of dates to compute the Pearson correlation between the USD/CAD and CORRA rates, as well as the low/high/mean of each
{{error}}
From {{start_date}} to {{end_date}}:
{% endif %} {% autoescape off %} {{ basic_stats_df }} {% endautoescape %} {% if show_result %}Pearson Correlation Coefficient: {{pearsonr}}
{% endif %}


Rotation
Move To Root
Move To Root 2
Zig-Zig
M2R Zig-Zig
Zig-Zag
Splay Linear Tree
Splay ZigZag Tree


Collaborated with 8 other team members to design and develop a prototype for a multi-purpose cleaning device for hard to reach areas. Conducted a market survey to gauge the popularity of the product and the suitable price range. Took on the role of a Treasurer and ensured that the team stayed within the project budget and submitted all claims on time. Obtained A+ grade for the project.
Performed analysis of a plane design using XFLR5 to obtain its lift and drag coefficients and ensured that the plane would be stable in flight. Assembled a 3D printed tilt-rotor UAV and worked on the control of the plane using a Pixhawk flight control system. Modelled the plane transition from hover to forward flight stage and calculated the forward velocity and thrust required for each rotor using both a simplified approach and a lumped-vortex model. Designed a poster and presented to judges and peers at the 2018 Discover URECA Poster Competition and won 3rd Place in the Engineering category. Completed the programme successfully with Distinction.


[SC LIVE-UPDATES] [Section 24- New Land Acquisition Act- Constitution Bench Hearing] 20 Nov 2019, 05:29 by LIVELAW NEWS NETWORK Watch this space for live updates from SC


Simple-Date
Simple-date provides types (CLOS classes) for dates, timestamps, and intervals similar to the ones SQL databases use, in order to be able to store and read these to and from a database in a straighforward way. A few obvious operations are defined on these types.
To use this library with cl-postgres or postmodern and get the simple-date reader to be loaded, you need to load simple-date/postgres-glue and then set the readtable. This will register suitable SQL readers and writers for the associated database types.
(ql:quickload :simple-date/postgres-glue)
(setf cl-postgres:*sql-readtable*
(cl-postgres:copy-sql-readtable
simple-date-cl-postgres-glue:*simple-date-sql-readtable*))
The most glaring defect of this library is its ignorance of time zones. It pretends the whole world lives in UTC. Use with care.
To get back to the default cl-postgres reader:
(setf cl-postgres:*sql-readtable* (cl-postgres:copy-sql-readtable cl-postgres::*default-sql-readtable*))
To use the simple-date reader when cl-postgres is using the default:
(setf cl-postgres:*sql-readtable* (cl-postgres:copy-sql-readtable simple-date-cl-postgres-glue:*simple-date-sql-readtable*))
As a reminder for those who want to use local-time, to enable the local-time reader:
(local-time:set-local-time-cl-postgres-readers)
Date type
function day-of-week (date)
→ integer
Determine the day of the week that the given date falls on. Value ranges from 0 to 6, with 0 being Sunday and 6 being Saturday.
function encode-timestamp (year month day &optional (hour 0) (minute 0) (second 0) (millisecond 0))
→ timestamp
Create a timestamp. No negative values or values outside of an arguments normal range (i.e. 60 for minutes, 1000 for milliseconds) should be passed.
function decode-timestamp (timestamp)
→ (values year month day hour minute second millisecond)
Decode a timestamp into its components.
function timestamp-to-universal-time (timestamp)
→ universal-time
Convert a timestamp to the corresponding universal-time, rounding to seconds. Note that this will treat the timestamp as if it were in UTC.
function universal-time-to-timestamp (universal-time)
→ timestamp
Create a timestamp from a universal time. Again, the resulting timestamp should be treated as if it were in UTC.
Interval type
class interval
An interval represents a period of time. It contains both an absolute part in milliseconds (days, weeks, minutes, etc are always the same length), and a relative part for months and years ― the amount of time that a month or year represents is not always the same.
Operations
To prevent a proliferation of different function names, generic functions are used for operations on time values. The semantics of these differ for the type of the operands.
method time-add (a b)
→ value
Adds two time-related objects. Adding an interval to a date or timestamp will return a new date or timestamp, increased by the value of the interval. Adding two intervals returns a new interval with the sum of the two arguments. Integers can be used in place of intervals, and will be interpreted as an amount of milliseconds.
method time-subtract (a b)
→ value
Subtracts time-related objects from each other. Subtracting two dates or timestamps results in an interval that represents the difference between them. Similarly, subtracting two intervals also gives their difference.
method time= (a b)
→ boolean
Compare two time-related values, returns a boolean indicating whether they denote the same time or period.
method time< (a b)
→ boolean
Compare two time-related values, returns a boolean indicating whether the first is less than the second.


Hi Everyone!
I'm
Arnab Ghosh
I am 22 years old. I live in Kolkata, India I am learning full stack web development. Watch this space for my upcoming projects And if you want to learn with me you can join me in my course.


Here you can find a collection of blog posts about what I am learning at Dev Bootcamp as well as some of the other things I am learning and experimenting with along the way.
-
Eighth Blog Post
Securing the Internet of Things
What new security challenges will arise with the internet of things.
-
Seventh Blog Post
JavaScript vs Ruby
Some reasons why JavaScript is cool.
-
Sixth Blog Post
Rappers: A Silly Analogy for Understanding Ruby Classes
Introducing Ruby Classes.
-
Fifth Blog Post
Map, the Number One Enumerable Method
A primer on how to use the
map
method. -
Fourth Blog Post
Diversity in Tech
How I hope to support diversity in tech.
-
Third Blog Post
Arrays and Hashes
Some brief comments on hashes and arrays.
-
Second Blog Post
Margins, Borders, and Padding as Applied to Burgers
Discussing how Margins, Borders, and Padding operate in HTML and hamburgers.
-
First Blog Post
Git Review and Reflections
My first blog post, reflecting on what I've learned at Dev Bootcamp. The earliest lesson focus on git and github. I have been using these tools for a year or two now, but DBC's lessons offered a welcome refresher.
PS: If you have any bring ideas for what I should include on this site, please send me a note through email, or through any of the social links listed below
Thanks!


Ebola discourse virus (). African â€". outbreak social {border-style px;} #ffffff;} South human global news representations affected disease medical threat West analysis reports Africa conspiracy fear images study war discourses predatory â€" Health humanity media people represented Western collab: countries discourse, disease. used doi:./ newspaper particular px; spread {font-family (Weldon, Africa. Retrieved Weldon World articles control epidemic font-size health led newspapers public (e.g., Africa, Star, agency content current did double; image infectious invasion political press showed virus. (a) border-color border-width contributed crime cultural discursive emerging fear, governments high-income killer meanings national nature othering outbreaks problem reportage rhetorical science solid; words work world {font-style {font-weight (), Conspiracy Ebola, Ebola. Ebola: Psychology, a). animal apocalyptic associations b). based believe bold conspiracy. construction countries. countriesâ€™ courier; coverage disease, effect em; findings focus government help implied nonfiction notions occurred particularly portrayed process pt;} research response responsibility theories transmission use using


Ground round short ribs fatback, salami shoulder sausage chuck shankle landjaeger drumstick ribeye meatloaf doner.

Jerky corned beef jowl cupim hamburger, alcatra meatball swine pork chop ribeye leberkas short loin tenderloin picanha venison.
Ribeye turducken flank cupim ball tip ham pork belly venison biltong pork chop jowl andouille spare ribs.
Jerky corned beef jowl cupim hamburger, alcatra meatball swine pork chop ribeye leberkas short loin tenderloin picanha venison. Ribeye turducken flank cupim ball tip ham pork belly venison biltong pork chop jowl andouille spare ribs.
Landjaeger cow flank ribeye meatball, corned beef tongue.
Landjaeger cow flank ribeye meatball, corned beef tongue.
Landjaeger cow flank ribeye meatball, corned beef tongue.
Landjaeger cow flank ribeye meatball, corned beef tongue.


Toggle navigation
Welcome to Animal Fan!
Snow Leopard
Image Gallery
Diet
Mating & Reproduction
Habitat
Scientific Information
Anatomy & Biology
Behaviour
Communication
Popular References
About
Image Gallery
Animals you would love to know more about
Home
Image Gallery
Image caption
Please provide a short description of the image you're uploading (max. 100 characters).
Image file
Please select an image you want to upload from your harddrive.
Upload
Upload in progress...
Upload successful:
Upload failed, please try again
Please provide a caption and a file to upload


// This page uses the minified Copenhagen source compiled from
// the `src` directory. It will take longer to load than the raw editor,
// as it performs minification on-the-fly.
// If you're modifying the internals of Copenhagen,
// you can modify them in `src` and play with the result here.
// We recommend using Autocode command line tools for local development,
// located at: https://github.com/stdlib/lib
// Once configured, you can run `lib http` and access this page at:
// http://localhost:3434/dev/raw/


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
ViewSource Media Inc.
Legal Name:
ViewSource Media Inc.
Operating Name:
ViewSource Media
Mailing Address:
586 Academy RdWINNIPEG, Manitoba
R3N 0E5
Location Address:
586 Academy RdWINNIPEG, Manitoba
R3N 0E5
Tel.:<PHONE_NUMBER>
Fax:
Logo
Company Profile
We are your source of branding excellence for all media applications. Logos that shine. Copy that sizzles. Advertising campaigns that impress. Websites and print products that inspire action. Since 2002, we've helped clients tailor their brands and tell their stories in a way that arouses their markets. Our success is steeped in a sincere desire to serve our clients with integrity and passion.
Full profile
Full profile
Contact information
Company description
541430 - Graphic Design Services
541850 - Display Advertising
541891 - Specialty Advertising Distributors
Product / Service / Licensing
Trade shows can be cluttered, chaotic, and crazy. But for many industries, they are at the heart of business development – one of the best ways to promote your brand and drive sales. So how do you get a harried trade show pedestrian to stop at your booth and give you a few minutes of attention? As a Winnipeg digital marketing agency, we will help you strategize about how to assemble the best possible booth for your business. From the standing display, to banner stands, to the printed material on the table, we will deliver a winning trade show presence that builds your brand.
As a Winnipeg digital marketing agency, we don’t just create premium promotional products and trade show booths. We create brand experiences that help you build relationships with the audiences you need to reach.
At ViewSource Media, located in Winnipeg, we’ll work with you to truly understand who you are and where you want to be as a brand. Then every piece of work we produce with you reflects that discovery. The purpose of a brand is to set audience expectations and then surpass them. That’s not random; that’s strategic.
As a Winnipeg graphic design company, we have the expertise and track record to connect your objectives to your look.
As a Winnipeg website design company our custom creative and technical expertise can produce a site that is easy to find, easy to use, easy to update, and easy to love. From e-commerce, to ongoing web maintenance, to hosting and domain registration, we can provide complete service – from start to finish, from cradle to rave.
Can advertising on Google, LinkedIn, and Facebook work for you? Let’s find out!
Whether you are teaching a distance education course or training your staff and volunteers, ViewSource Media from Winnipeg can help you organize and present your content in a way that inspires student engagement and promotes retention.
By incorporating video, audio, interactive tasks, and seamless assessment tools, we can help you reach your students in a meaningful and memorable way – and in a way that is easy for you to manage and maintain for the long term.
T003-Advertising Services
T005-Arts/Graphics Services
T014-Print/Binding Services
T099-Other Communication, Photographic, Mapping, Printing and Publication Services
Sector information
Testimonial:
VSM listened, planned and delivered as promised. New website, new marketing strategy and now the opportunity for us to do more business with existing clients and welcome new clients. Dieter Scheffer - Frank MotorsViewSource Media is and always has been an excellent business partner for Castle Mortgage Group. They have consistently supplied excellence in quality of design and delivery from concept to completion. Do yourself a favour and let ViewSource Media handle all of your corporate branding and marketing needs. Jeff Sparrow, Owner Castle Mortgage Group
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
541430 - Graphic Design Services
541850 - Display Advertising
541891 - Specialty Advertising Distributors
Products, services and licensing
Product / Service / Licensing
Trade shows can be cluttered, chaotic, and crazy. But for many industries, they are at the heart of business development – one of the best ways to promote your brand and drive sales. So how do you get a harried trade show pedestrian to stop at your booth and give you a few minutes of attention? As a Winnipeg digital marketing agency, we will help you strategize about how to assemble the best possible booth for your business. From the standing display, to banner stands, to the printed material on the table, we will deliver a winning trade show presence that builds your brand.
As a Winnipeg digital marketing agency, we don’t just create premium promotional products and trade show booths. We create brand experiences that help you build relationships with the audiences you need to reach.
At ViewSource Media, located in Winnipeg, we’ll work with you to truly understand who you are and where you want to be as a brand. Then every piece of work we produce with you reflects that discovery. The purpose of a brand is to set audience expectations and then surpass them. That’s not random; that’s strategic.
As a Winnipeg graphic design company, we have the expertise and track record to connect your objectives to your look.
As a Winnipeg website design company our custom creative and technical expertise can produce a site that is easy to find, easy to use, easy to update, and easy to love. From e-commerce, to ongoing web maintenance, to hosting and domain registration, we can provide complete service – from start to finish, from cradle to rave.
Can advertising on Google, LinkedIn, and Facebook work for you? Let’s find out!
Whether you are teaching a distance education course or training your staff and volunteers, ViewSource Media from Winnipeg can help you organize and present your content in a way that inspires student engagement and promotes retention.
By incorporating video, audio, interactive tasks, and seamless assessment tools, we can help you reach your students in a meaningful and memorable way – and in a way that is easy for you to manage and maintain for the long term.
T003-Advertising Services
T005-Arts/Graphics Services
T014-Print/Binding Services
T099-Other Communication, Photographic, Mapping, Printing and Publication Services
Sector
Sector information
Testimonial:
VSM listened, planned and delivered as promised. New website, new marketing strategy and now the opportunity for us to do more business with existing clients and welcome new clients. Dieter Scheffer - Frank MotorsViewSource Media is and always has been an excellent business partner for Castle Mortgage Group. They have consistently supplied excellence in quality of design and delivery from concept to completion. Do yourself a favour and let ViewSource Media handle all of your corporate branding and marketing needs. Jeff Sparrow, Owner Castle Mortgage Group


Merging is Git's way of putting a forked history back together again. The git merge command lets you take the independent lines of development created by git branch and integrate them into a single branch. Note that all of the commands presented below merge into the current branch.
$ git merge
To merge commits into the master branch, let's now switch over to the master branch.
$ git checkout master
Git will not allow you to merge until all changes in your current branch have been committed.


Presentation by by Håvard Pedersen
Drupal started its life in 2000 as a custom Dutch message board for a circle of friends, written by Dries Buytaert.
Dorp.org => Drop.org => (Druppel) => Drupal.org
The code was released as Drupal 1.0 15th January 2001.
Drupal is like a Lego kit. Skilled developers have already made the building blocks - in the form of contributed modules - that you need to create a site that suits your needs[...]
A do-ocracy is an organizational structure in which individuals choose roles and tasks for themselves and execute them. Responsibilities attach to people who do the work, rather than elected or selected officials.
With content nodes (an entity type), for example, you can generate bundles (subtypes) like articles, blog posts, or products.
Routing based on:
Can serialize for you to JSON and XML
Presentation at https://github.com/fuzzy76/d6-to-d8-revealjs


Banner
Interstitial
Rewarded Ad
Current rewards: Not Rewarded
Screen Orientation
Say hello on toast alert
Share a text "Hello Android WebApp"
Share this app (the download link of this app)
Open Google Play and rate this app
Purchase Remove Ads Feature


<
First name *
Last name *
DOB
Place of Birth
Age *
Gender(M/F) *
Caste *
Religious Minority*
Yes
No
Personal Phone *
Father/Husband Name*
Phone *
Blood Group
Aadhar card *
Pan card
Marital Status
Single
Married
Divorced
Education Qualification
No formal Education
High School
Graduate
Post-Graduate
Doctrate
Income(select one)
less than 5lakh
10Lakh-20Lakh
35Lakh and above
Occupation
Height
Weight
Vision *
Physical Health
Please Check all those that apply
Vision Impairment
Hearing Impairment
Speech Impairment
Dyslexia
None
Family History
Please Check all those that apply
Diabetes
Cancer
Chronic Eye Disease
High Blood Pressure
None
Recieve copy via email


About Us...You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder. After the avalanche, it took us a week to climb out. Now, I don't know exactly when we turned on each other, but I know that seven of us survived the slide... and only five made it out. Now we took an oath, that I'm breaking now. We said we'd say it was the snow that killed the other two, but it wasn't. Nature is lethal but it doesn't hold a candle to man.
Coffee for the environment...You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder. After the avalanche, it took us a week to climb out. Now, I don't know exactly when we turned on each other, but I know that seven of us survived the slide... and only five made it out. Now we took an oath, that I'm breaking now. We said we'd say it was the snow that killed the other two, but it wasn't. Nature is lethal but it doesn't hold a candle to man.
Our technique...You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder. After the avalanche, it took us a week to climb out. Now, I don't know exactly when we turned on each other, but I know that seven of us survived the slide... and only five made it out. Now we took an oath, that I'm breaking now. We said we'd say it was the snow that killed the other two, but it wasn't. Nature is lethal but it doesn't hold a candle to man.
The difference is in the beans...You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder. After the avalanche, it took us a week to climb out. Now, I don't know exactly when we turned on each other, but I know that seven of us survived the slide... and only five made it out. Now we took an oath, that I'm breaking now. We said we'd say it was the snow that killed the other two, but it wasn't. Nature is lethal but it doesn't hold a candle to man.
Pike Place Market100 E Pike St. Seattle, WA 98888<PHONE_NUMBER>
Capitol Hill111 Cap st. Seattle, WA 98888<PHONE_NUMBER>
Seattle Library100 E Lib St. Seattle, WA 98980<PHONE_NUMBER>
South Lake Union561 Lake st. Seattle, WA 95288<PHONE_NUMBER>
Seattle Library100 E Lib St. Seattle, WA 98980<PHONE_NUMBER>
South Lake Union561 Lake st. Seattle, WA 95288<PHONE_NUMBER>


This website is intended to provide general information about emergency policies and does not constitute legal advice. Please consult an attorney barred in your state for advice about a specific legal matter. A list of legal aid resources is available at justshelter.org.


DH_FIXPERMS(1) Debhelper DH_FIXPERMS(1) NAME dh_fixperms - fix permissions of files in package build directories SYNOPSIS dh_fixperms [debhelperÂ options] [-Xitem] DESCRIPTION dh_fixperms is a debhelper program that is responsible for setting the permissions of files and directories in package build directories to a sane state -- a state that complies with Debian policy. dh_fixperms makes all files in usr/share/doc in the package build directory (excluding files in the examples/ directory) be mode 644. It also changes the permissions of all man pages to mode 644. It makes all files be owned by root, and it removes group and other write permission from all files. It removes execute permissions from any libraries, headers, Perl modules, or desktop files that have it set. It makes all files in the standard bin and sbin directories, usr/games/ and etc/init.d executable (since v4). Finally, it removes the setuid and setgid bits from all files in the package. OPTIONS -Xitem, --exclude item Exclude files that contain item anywhere in their filename from having their permissions changed. You may use this option multiple times to build up a list of things to exclude. SEE ALSO debhelper(7) This program is a part of debhelper. AUTHOR Joey Hess<EMAIL_ADDRESS>9.20120909 2012-05-19 DH_FIXPERMS(1)


Please double check the URL you're trying to reach or consult your log files.
If this is an application error, we encourage you to visit the Crowbar site for more information or to submit a bug report.


House builder creates 25 construction jobs with £1m Lisburn project
ONE of the north's largest house building firms, Hagan Homes, says a new £1m project in Lisburn has created 25 construction jobs.
Building of the six three-bedroom semi-detached homes on the Wallace Gate site started in September 2019.
The Ballyclare-based firm will complete the first homes by February 2020, with the overall development scheduled to be handed over by July 2020. House prices will start from £170,000.
Meanwhile Banbridge-based property group Lotus Homes has notified Antrim and Newtownabbey Borough Council of its plans to build 90 houses in Antrim.
A pre-planning notice was lodged with the council on Wednesday. The bid includes 90 dwellings with detached garages.
The proposal would effectively double the size of the Co Down group's existing development next to the Holiday Inn Express hotel on the Ballymena Road in the town.
Commenting on the Lisburn development, Jim Burke, director of sales and Acquisitions at Hagan Homes said: “The demand for superior homes in Northern Ireland, which offer value for money, remains extremely high.
“Hagan Homes build affordable, quality, stylish homes and we are renowned for our attention to detail and the emphasis we place on the finer details both internally and externally.”
Hagan Homes' main contractor for the Wallace Gate development is MCA Building and Joinery Contractors.


About
Choose an image containing aerial imagery and submit to detect banana and coconut trees.
Then, use the slider to select the confidence level of prediction to display.
Note: This interface is intended as a demonstration. The hardware used can only handle small images. Please allow several minutes for predictions to be made. Sample results are available for viewing without delay:


Buttons
A graphical control element that
provides the user a simple way to trigger an event, like searching for a query at a search engine, or to
interact with dialog boxes.
Check out Our Custom Buttons
styles with support for multiple sizes,states and easy Customization by users.
Default Button
Scratch includes several predefined button styles, each serving its own semantic
purpose, with a few extras thrown in for more control
To use buttons with scratch button
is the base
class for all
the
buttons and all the other button layouts can be created by adding their respective classes.
<button type="button" class="button button-blue text-bright">Blue</button>
<button type="button" class="button button-green text-bright">Green</button>
<button type="button" class="button button-yellow text-dark">Yellow</button>
<button type="button" class="button button-red text-bright">Red</button>
<button type="button" class="button button-bright text-dark">Bright</button>
<button type="button" class="button button-dark text-bright">Dark</button>
You can customize these by adding your own CSS class in your code.
Bread Button
<button type="button" class="button button-blue button-bread">Blue</button>
<button type="button" class="button button-green button-bread">Green</button>
<button type="button" class="button button-yellow button-bread">Yellow</button>
<button type="button" class="button button-red button-bread">Red</button>
<button type="button" class="button button-bright button-bread">Bright</button>
<button type="button" class="button button-dark button-bread">Dark</button>
Display Bread buttons by adding button-bread
after
default button class .
Example class
="button-yellow button-bread
Outline Button
Button that are composed to display in dark background.
<button type="button" class="button button-blue-out text-blue">Blue</button>
<button type="button" class="button button-green-out text-green">Green</button>
<button type="button" class="button button-yellow-out text-yellow">Yellow</button>
<button type="button" class="button button-red-out text-red">Red</button>
<button type="button" class="button button-bright-out text-bright">Bright</button>
<button type="button" class="button button-violet-out text-violet">Violet</button>
Inverted Button
Formatted for display in dark background.
<button type="button" class="button button-blue-inv">Blue</button>
<button type="button" class="button button-green-inv">Green</button>
<button type="button" class="button button-yellow-inv">Yellow</button>
<button type="button" class="button button-red-inv">Red</button>
<button type="button" class="button button-bright-inv">Bright</button>
<button type="button" class="button button-violet-inv">Violet</button>
The Outline and Inverted buttons can also be displayed as bread button by just
adding the classbutton-bread
<button type="button" class="button button-blue-out text-blue button-bread">Blue</button>
<button type="button" class="button button-green-out text-green button-bread">Green</button>
<button type="button" class="button button-yellow-inv button-bread">Yellow</button>
<button type="button" class=" button button-red-inv button-bread">Red</button>
Neon Button
<button type="button" class="button button-blue-neon text-bright">Blue</button>
<button type="button" class="button button-green-neon text-bright">Green</button>
<button type="button" class="button button-bright-neon text-dark">Bright</button>
<button type="button" class="button button-yellow-neon text-dark button-bread">Yellow</button>
<button type="button" class="button button-red-neon text-bright button-bread">Red</button>
<button type="button" class="button button-violet-neon text-bright button-bread">Violet</button>
Sizes
Scratch provides you with additional size control of the buttons !!
Large button
Add button-large
to increase the size of
the button.
<button type="button" class="button button-blue text-bright button-large">Blue</button>
<button type="button" class="button button-green text-bright button-large">Green</button>
Small button
Add button-small
to decrease the size of
the button.
<button type="button" class="button button-blue text-bright button-small">Blue</button>
<button type="button" class=" button button-green text-bright button-small">Green</button>


Comprehensive data analysis software, and the name "cg" stands for "compare groups." Its genesis and evolution are driven by common needs to compare administrations, conditions, etc. in medicine research and development. The current version provides comparisons of unpaired samples, i.e. a linear model with one factor of at least two levels. It also provides comparisons of two paired samples. Good data graphs, modern statistical methods, and useful displays of results are emphasized.
| Version: | 1.0-3 |
| Depends: | R (≥ 3.2.3), Hmisc (≥ 3.17-1) |
| Imports: | VGAM (≥ 1.0-0), methods, grDevices, graphics, stats, utils, grid, MASS, lattice, survival, multcomp, nlme, rms |
| Published: | 2016-01-04 |
| Author: | Bill Pikounis [aut, cre, cph], John Oleynick [aut], Eva Ye [ctb] |
| Maintainer: | Bill Pikounis <cg at billpikounis.net> |
| License: | GPL-2 | GPL-3 |
| NeedsCompilation: | no |
| Citation: | cg citation info |
| Materials: | NEWS |
| CRAN checks: | cg results |
| Reference manual: | cg.pdf |
| Package source: | cg_1.0-3.tar.gz |
| Windows binaries: | r-devel: cg_1.0-3.zip, r-release: cg_1.0-3.zip, r-oldrel: cg_1.0-3.zip |
| OS X binaries: | r-release: cg_1.0-3.tgz, r-oldrel: cg_1.0-3.tgz |
| Old sources: | cg archive |
Please use the canonical form https://CRAN.R-project.org/package=cg to link to this page.


Macro expansion is a tricky operation, fraught with nasty corner cases and situations that render what you thought was a nifty way to optimize the preprocessor's expansion algorithm wrong in quite subtle ways.
I strongly recommend you have a good grasp of how the C and C++ standards require macros to be expanded before diving into this section, let alone the code!. If you don't have a clear mental picture of how things like nested macro expansion, stringizing and token pasting are supposed to work, damage to your sanity can quickly result.
The preprocessor stores macro expansions in tokenized form. This saves repeated lexing passes during expansion, at the cost of a small increase in memory consumption on average. The tokens are stored contiguously in memory, so a pointer to the first one and a token count is all you need to get the replacement list of a macro.
If the macro is a function-like macro the preprocessor also stores its
parameters, in the form of an ordered list of pointers to the hash
table entry of each parameter's identifier. Further, in the macro's
stored expansion each occurrence of a parameter is replaced with a
special token of type CPP_MACRO_ARG
. Each such token holds the
index of the parameter it represents in the parameter list, which
allows rapid replacement of parameters with their arguments during
expansion. Despite this optimization it is still necessary to store
the original parameters to the macro, both for dumping with e.g.,
-dD, and to warn about non-trivial macro redefinitions when
the parameter names have changed.
The preprocessor maintains a context stack, implemented as a
linked list of cpp_context
structures, which together represent
the macro expansion state at any one time. The struct
cpp_reader
member variable context
points to the current top
of this stack. The top normally holds the unexpanded replacement list
of the innermost macro under expansion, except when cpplib is about to
pre-expand an argument, in which case it holds that argument's
unexpanded tokens.
When there are no macros under expansion, cpplib is in base context. All contexts other than the base context contain a contiguous list of tokens delimited by a starting and ending token. When not in base context, cpplib obtains the next token from the list of the top context. If there are no tokens left in the list, it pops that context off the stack, and subsequent ones if necessary, until an unexhausted context is found or it returns to base context. In base context, cpplib reads tokens directly from the lexer.
If it encounters an identifier that is both a macro and enabled for
expansion, cpplib prepares to push a new context for that macro on the
stack by calling the routine enter_macro_context
. When this
routine returns, the new context will contain the unexpanded tokens of
the replacement list of that macro. In the case of function-like
macros, enter_macro_context
also replaces any parameters in the
replacement list, stored as CPP_MACRO_ARG
tokens, with the
appropriate macro argument. If the standard requires that the
parameter be replaced with its expanded argument, the argument will
have been fully macro expanded first.
enter_macro_context
also handles special macros like
__LINE__
. Although these macros expand to a single token which
cannot contain any further macros, for reasons of token spacing
(see Token Spacing) and simplicity of implementation, cpplib
handles these special macros by pushing a context containing just that
one token.
The final thing that enter_macro_context
does before returning
is to mark the macro disabled for expansion (except for special macros
like __TIME__
). The macro is re-enabled when its context is
later popped from the context stack, as described above. This strict
ordering ensures that a macro is disabled whilst its expansion is
being scanned, but that it is not disabled whilst any arguments
to it are being expanded.
The C standard states that, after any parameters have been replaced with their possibly-expanded arguments, the replacement list is scanned for nested macros. Further, any identifiers in the replacement list that are not expanded during this scan are never again eligible for expansion in the future, if the reason they were not expanded is that the macro in question was disabled.
Clearly this latter condition can only apply to tokens resulting from argument pre-expansion. Other tokens never have an opportunity to be re-tested for expansion. It is possible for identifiers that are function-like macros to not expand initially but to expand during a later scan. This occurs when the identifier is the last token of an argument (and therefore originally followed by a comma or a closing parenthesis in its macro's argument list), and when it replaces its parameter in the macro's replacement list, the subsequent token happens to be an opening parenthesis (itself possibly the first token of an argument).
It is important to note that when cpplib reads the last token of a given context, that context still remains on the stack. Only when looking for the next token do we pop it off the stack and drop to a lower context. This makes backing up by one token easy, but more importantly ensures that the macro corresponding to the current context is still disabled when we are considering the last token of its replacement list for expansion (or indeed expanding it). As an example, which illustrates many of the points above, consider
#define foo(x) bar x foo(foo) (2)
which fully expands to ‘bar foo (2)’. During pre-expansion of the argument, ‘foo’ does not expand even though the macro is enabled, since it has no following parenthesis [pre-expansion of an argument only uses tokens from that argument; it cannot take tokens from whatever follows the macro invocation]. This still leaves the argument token ‘foo’ eligible for future expansion. Then, when re-scanning after argument replacement, the token ‘foo’ is rejected for expansion, and marked ineligible for future expansion, since the macro is now disabled. It is disabled because the replacement list ‘bar foo’ of the macro is still on the context stack.
If instead the algorithm looked for an opening parenthesis first and then tested whether the macro were disabled it would be subtly wrong. In the example above, the replacement list of ‘foo’ would be popped in the process of finding the parenthesis, re-enabling ‘foo’ and expanding it a second time.
Function-like macros only expand when immediately followed by a parenthesis. To do this cpplib needs to temporarily disable macros and read the next token. Unfortunately, because of spacing issues (see Token Spacing), there can be fake padding tokens in-between, and if the next real token is not a parenthesis cpplib needs to be able to back up that one token as well as retain the information in any intervening padding tokens.
Backing up more than one token when macros are involved is not
permitted by cpplib, because in general it might involve issues like
restoring popped contexts onto the context stack, which are too hard.
Instead, searching for the parenthesis is handled by a special
function, funlike_invocation_p
, which remembers padding
information as it reads tokens. If the next real token is not an
opening parenthesis, it backs up that one token, and then pushes an
extra context just containing the padding information if necessary.
As discussed above, cpplib needs a way of marking tokens as
unexpandable. Since the tokens cpplib handles are read-only once they
have been lexed, it instead makes a copy of the token and adds the
flag NO_EXPAND
to the copy.
For efficiency and to simplify memory management by avoiding having to
remember to free these tokens, they are allocated as temporary tokens
from the lexer's current token run (see Lexing a line) using the
function _cpp_temp_token
. The tokens are then re-used once the
current line of tokens has been read in.
This might sound unsafe. However, tokens runs are not re-used at the end of a line if it happens to be in the middle of a macro argument list, and cpplib only wants to back-up more than one lexer token in situations where no macro expansion is involved, so the optimization is safe.


14 April 1999
Disease Outbreak Reported
Cholera cases have been reported in Madagascar for the first time. Between 24 March and 12 April, 278 cases of acute diarrhoea were reported. The first cholera case confirmed in the laboratory was diagnosed as V.cholerae O1 Ogawa. The areas affected are in the west of Madagascar in the districts of Antsohihy and Mahajanga (Mahajanga Province).
Strict control measures have been put in place and a task force from the Ministry of Health went immediately to the area.


Marc W. Billow
RIT • Networking and Systems Administration • BS '18
Copyright 2015 Marc Billow. All Rights Reserved. Icons by
Icons8
.


set ylint interval
Specifies the interval
between labeled tick marks
on the Y-axis.
interval
is a positive value, the labeled tick marks will
'start' at 0
, regardless of the current dimension environment.
For example, if you set the interval
to
3
, the labeled tick marks will be at 0, 3, 6, 9
...
interval
is a negative value, the labeled tick marks
will 'start' at the axis start value, which is usually the lower limit
of the Y dimension environment. If this were 30
(with an
interval
of 10
), then the labeled tick marks would
be at 30, 40, 50, 60
...
set ylevs
command.
set yaxis
command.
set ylint
and set xlint
may not work as described when used to
control grid lines for polar stereographic projections.