Diane and Terry's Odyssey
Diane and I left Yorktown, Virginia May 7th on our 4,586 mile ride
to Astoria, Oregon. We arrived in Astoria, appropriately, on the
4th of July. Over 59 days we averaged about 78 miles a day. Our
biggest day was 115 miles through Missouri and Kansas. Our shortest
day was 36 miles (high winds in Wyoming). We did five centuries
(days over 100 miles) during the trip. My top speed was 50.9 mph
on the steep hills of Missouri, Diane's top speed was a few mph less
since she doesn't have my weight.
The tour we did is the original Bike Centennial tour, which is
famous in the bicycle touring world. Bike Centennial, who recently
changed their name to Adventure Cycling, is a non profit service
organization for recreational bicyclists. Since their incorporation
in 1974 they have developed and mapped a nationwide network
of bicycle touring routes. They are located in Missoula, Montana
and can be contacted at<PHONE_NUMBER>.
Day 1
On our first day out of Yorktown, Virginia we got a late start,
but still got in 70 miles. This was 10 miles more than we
expected to do, due to a detour. Camping was free behind a
Methodist Church. There weren't any showers, but there were
restrooms with running water.
Day 2
The day started off looking like rain, but it never did. We
were pretty tired after our first day, but we still managed to
pound out another 70 miles. We ran into two other cycle tourists
on the same route from New Zealand. Bryan, who is a pipe
fitter and a native New Zealander and Brian who lives in New
Zealand now, but was born in Australia. We rode with them for
a while until they dropped off to camp. We rode on another 10
miles and free camped under some power lines near Lake Anna.
Day 3
We did 65 miles on our third day and camped at the Howard
Johnsons in Charlottesville. We had some excellent Mexican
food and did our laundry. The climb to Charlottesville was
pretty steep, but it was great to have a hot shower.
Day 4
The climb out of Charlottesville was even steeper for our
sore legs. We stopped in Afton at the famous "Cookie Lady".
The "Cookie Lady" has been providing free cookies and peanut butter
and jelly sandwiches for bicyclists on the tour for nearly 20 years.
She wasn't home when we rode by, but she left out some cookies
and she has a picnic table and water available. From Afton we
continued up to the Blue Ridge Parkway. We did about 55 miles
and stayed at a KOA. The KOA wasn't open for the season yet,
but the owner let us stay anyway.
Day 5
We rode 70 miles of pleasant rolling hills to Camp Bethel. We
were just a day or two behind the Tour Dupont for the past few
days. Camp Bethel is great, facilities are excellent and it
is only $4 a person. Bryan and Brian rolled into the campground
late and we chatted with them for a while.
Day 6
We started off in the morning riding with Bryan and Brian, but
after a while we split up and we hammered out another 79 miles.
The campground we found was just off Interstate 81 and it is
a dump compared to Camp Bethel. We never did find the owner
so we ended up staying for free. Finished the first of 12
maps in the tour.
Day 7
Diane's knee was really bothering her today, so we stopped to
do laundry in Whytherville, Virginia. Ended up crashing at
a motel near by after only 40 miles.
Day 8
Opened the door of the motel in the morning just in time to
see Bryan and Brian riding past on the road. I yelled, but they
didn't hear me. We got moving a bit late and stopped in Rural
Retreat for breakfast.  She said to let any west bound people we
ran into to stop by. We did a total of 65 rough miles with
a climb past Mt Rogers over 3500 ft above sea level. After the
climb we started a 15 mile descent. We free camped in past Damascus
near a river. Late at night some people parked on the road above
us and were hanging out (drinking beer I guess). They must have
seen us, but thank God they didn't come down and hassle us. It
wasn't a very restful sleep.
Day 9
Didn't get started until pretty late and stopped and a grocery
store to "cook" breakfast. We ran out of fuel for our stove, so
we heated grits and tea in the stores microwave. Bryan and Brian
rode up while we were eating breakfast. They stayed in a crowded
but nice hostel in Damascus, while we were trying to sleep down
by the river listening to "Gimme One Step". We rode with them
for the rest of the morning in light rain. After lunch, Bryan and
Brian stopped and we continued on looking for some free camping,
but the valley was very populated and populated by pretty rough
people. We decided to head for Breaks Park, despite the now
heavy rain. By the time we got to Breaks, we were absolutely
soaked and fairly miserable. We decided to make a break for
the "Gateway Motel" on the Virginia-Kentucky border since it
was down hill and we were very wet. We flew down hill about
two miles in the pouring rain at dusk and managed to get a room
for only $25. Well worth it. The owner even let us use her
dryer for free.
Day 10
We still didn't have any fuel, so we used hot tap water to
"cook" the instant grits and tea. Soon we were on the road
and to the Kentucky border. A few miles over the border
there was a turtle in the road. I turned around to move it
when a pickup came down the road and ran it over. The rough
start to the morning turned better when we found stove fuel
in Elkhorn City. We did 68 miles and stayed in a nice youth
hostel in Pippa Passes. I had just finished Asimov's "I Robot"
and the women that ran the hostel was kind enough to give
me Grisham's "The Firm". Pop fiction isn't my first choice,
I prefer pop science fiction, but it has proved to be impossible to
buy books in this area unless you like romance novels. It
seems that only the women read in this area. Eastern Kentucky
is beautiful, but coal mining is the main industry and the
people are rough. The coal trucks are gigantic and unnerving
as the fly past you with chunks of coal falling off the back.
Day 11
The day after Pippa Passes was a short 55 mile one. We pulled
into Core of Engineers campground at Buckhorn Dam with plenty
of time to relax and walk around. Nice campground. Byran and
Brian pulled in late after a long day for them with a shortcut
that allowed them to catch up with us again.
Day 12
We said good-bye to Bryan and Brian in the morning for what would
turn out to be the last time. We stopped for a real bad lunch
(mayo on my hamburger) in Vincent, Kentucky. Scary town, apparently
lots of unemployment.
After Vincent, things turned better. Rolling hills, farm country.
In the afternoon I saw a local farmer, about 35, pumping gas. At
first I thought he had a cigarette in his mouth, but it turned out
to be a tooth sticking out. Turned out he had very few of them left,
but he was quite friendly. We talked for a bit. People in this
farming area are more friendly and have more respect for the land
than the miners in eastern Kentucky. In farm country the drivers
are more courteous and there is less trash along the road. Tobacco
is the big crop in the area. The barns are painted black and in
May the tobacco plants are young. An 80+ mile day took us to Berea
the end of our second map of twelve.
Day 13
Another 80+ mile day took us to Lincoln Homestead Park outside
of Springfield, Kentucky. We rolled in about 8 and Jeff Van
Somethingorother of Edison, NJ was already there. Chatty guy,
but I guess if I was doing the tour solo, I would be a bit
chatty when I ran into people. Turned out the local Baptist
church was having a silent auction at the park center and Jeff
and Diane joined in the fun. I opted to set up the tent and
wash up. The terrain had been much easier with pleasant rolling
hills. I joining the church group after the silent auction
for some 7-up and excellent key lime pie. Diane bought a fruit
basket which was handy.
Day 14
The next morning, a crew with lawn mowers and weed trimmers woke
us early. I think part of the reason they were sent down was
that Jeff had set up his tent on the tee off area of the third
hole of the golf course on the park. We got up and put our stove
together to heat up some oatmeal and tea. Jeff joins us and
proceeds to open a can of hot beef tomales. He explains to us
how he decide not to carry a stove to save weight as he eats
the beef tomales out of the can and cold for breakfast. Sounds
tasty doesn't it?
We said good-bye to Jeff and started riding. We stopped in
Bardstown for lunch and continued for a total of 60+ miles to
Hodgenville. We wandered around Lincolns Birth Place National
Historic Site and then checked into a private campground near by.
Day 15
In the morning we said our good-byes to Jeff and rode hard to
crank out some miles. In the morning we crossed into the
central time zone so we had an "extra" hour. During our morning
break I wrote some chalk messages on the road for Bryan and
Brian and Jeff.
Toward the end of the day we got lost and stopped
to ask a guy sitting on his porch directions. Fortunately, we
were only about a mile out of our way. He invited us up for
cup cakes and water which we were grateful for. He told his
wife to get the cup cakes and water and she seemed a bit
reluctant, but got us the cup cakes anyway. Very tasty. While
we ate he told us about his experience in WW II. He claimed to
be in Europe, Africa, and the Pacific. He told us about riding
a "sharp humped" camel that took the hide off his behind.  We thanked this strange man and his wife and rode
on to Utica, a total of 105 miles for the day, our first century
of the trip. It was a bit hilly for a century, but we felt
good.
We camped in a school yard in Utica. There was a pavilion,
picnic tables, and rest rooms there, but no shower or hot water.
Some young boy asked us for some chili since his parents "never
fed him". We shared.
Day 16
The next morning we were leisurely making breakfast and breaking
camp when Diane noticed there was a ferry across the Ohio
river that only ran to 6:00pm. We wanted to camp on the other
side of the river since there wasn't much on the Kentucky side.
We rushed after that and cranked out 85 miles and made the
second to last ferry across the Ohio at about 5:50. Wouldn't
have been bad if we hadn't been so sore from the day before.
It was a great feeling to make the ferry and cross our second
state line into Illinois.
The ferry took us to Cave in Rock, Illinois where we stopped for
dinner at a local pizzeria. This dinner reaffirmed our belief
that you can't buy a descent pizza outside of the NY/NJ area.
After dinner we noticed that the City Hall was a tourist
information center. We walked in and didn't find much tourist
information, but we did meet four guys that were hanging out there.
We hung out and bull shitted with them for a while and one guy,
who was cutting his toe nails, made several racial slurs. I
wasn't particularly surprised, but it is ironic that Kentucky
and Illinois both make such proud claims to being the home of
Abe Lincoln. To top off our pleasant stay in Cave in Rock, the
campground didn't have flush toilets or showers. At least it
was free.
Day 17
We took our time in the morning and checked out the "Cave in Rock".
It was pretty neat. Nice and cool in the cave, but very hot out.
We only did about 51 miles to a seedy camp ground on a farm in
Simpson, IL. At least they had showers there. The highlight of
the day was disturbing a hawk that was feeding on a snake. I
didn't notice it until it started crashing through the trees
carrying its dinner. I think it was a Red Tailed Hawk. We also
stopped at a general store for some cool drinks. Tiny place
jammed with stuff of all sorts. There were four guys just
hanging out inside. We took our drinks outside and started
talking with an older guy and a guy about my age outside. The
younger guy was a laid off coal miner. Interesting people.
Everyone chews tobacco.
We did finally score some sun screen there after a three day
search.
Day 18
We rode hard out of Simpson stopping for lunch in Carbondale
which turned out to be a nice college town. We had some Mexican
food and stopped at the "Bike Surgeon". The owner offered to
put us up for the night, but we wanted to cover more ground.
We rode to Chester, IL on the Mississippi River. After dinner
at Pizza Hut we stayed at the beautiful Hi 3 Motel.
Day 19
In the morning out of Chester we stopped at the statue of
Popeye the sailer man. Chester is the home of the creator
of Popeye and some of the characters in the strip are modeled
after people that lived in the town. We crossed the Mississippi
into Missouri and immediately noticed damage from last years
floods. Not much was open near the river on the Missouri
side, but we soon were climbing out of the flood plains.
Ran into some interesting cyclist going cross country West
to East. The first people we have run into going the other
way. We ran into a couple that were moteling it all the way
and riding extremely light. They had a small pack on the
back and that is it. No sleeping bag or tent. In fact I
don't think they had more than 2 sets of clothes and maybe
just one jacket. Interesting way to travel of course you can
hammer out the miles if you are not carrying 40 pounds of
equipment. They had been forced to hitch rides a couple of
times to find shelter.
The other group we ran into was a group of guys also riding
West to East, but they were only doing 1000 or so miles a summer.
Most of them were clearly over forty.
From Chester we made it to Johnson's Shutins State Park. Real
nice facilities at this park and clean. The forest and hills
are beautiful.
Day 20
We took time in the morning to hike down the trail to the "shutins".
The shutins were formed when an ancient lava flow formed rock
binding the Black River. The rock shutins are the rapids, potholes,
cliffs, and deep pools caused by this rock formation.
It is real tough to do big miles in this part of the country. The
hills are very steep and there are lots of them. The Ozarks are
one of the oldest mountain ranges in the world, so they are eroded
into steep rocky hills. It was day 20 when I reached my top speed
(50.9 mph) for the tour going down an extremely steep hill in
Missouri. What an adrenaline rush.
We camped at Alley Springs, another nice state campground.
Day 21
We took time in the morning to check out Alley Springs Park. There
is a mill house there that his bright red and converted into an
interesting museum. After checking out the mill house we decided to
check out the springs. Well it turns out the springs are right there.
81 million gallons of water a day just wells up out of the ground
and they built the mill house right next to it. We took the short
1/3 mile hike around the spring, it was amazing. In Summersville,
a town near by, a barber told us how divers recently discovered
bottles of moonshine and a boat deep in the spring.
As we rode away from Alley Springs, the Ozarks slowly mellowed
making our ride easier. We made it to Hartville around 7:30 in
the evening with plans to camp in the city park. The first thing
we noticed about the city park when we got there was there were
pickup trucks parked up and down the street. Looked like a
party was going on at a house near by. We tried not to make it
obvious that we were planning on camping in the park, but we
were hungry so we started cooking some chili. Finally a guy
walked over to our table and explained that they were having
a coon hunt tonight, so the trucks would all be gone by around
9. Some would return between 12 and 3 in the morning to check
their standings. He said no one would give us any trouble. The
guy we spoke to was pleasant enough, but beer and firearms make
me nervous, so we tried to set up our tent out of view. As
promised, they all moved out around 10. Except for one of
the hunting dogs rummaging through our dirty dishes late
at night, we barely heard them return.
Day 22
We ate at restaurants and stayed at a motel to make up for our
restless sleep next to coon hunt headquarters.
Day 23
We were planning on doing big miles this day, but the morning
did not look good. All morning there was a light rain. We
stopped in Golden City, MO. at Cooky's Diner since it was highly
recommend by people we had run into. There was a bit of a wait,
but it was raining anyway. Since it was so crowded we ended up
sharing a table with Frank and Hellen. Frank was a retired
feed store owner and Hellen was a chatty house wife. They had
children living all over the country and they made interesting
lunch chat. The wait was worth it, because the food was excellent
and the pie was delicious.
By the time we finished lunch, the
rain had stopped, but it soon started up again. It was still
raining when we hit the Kansas border, but soon after that it
stopped for good. Surprisingly, Kansas had the best sign at
the border of any of the states we rode through. We camped
at the Girard City Park.
Day 24
From Girard we hammered out 111 miles, our second century of the
tour, to Eureka, Kansas. We were able to crank out the high mileage
despite temperatures over 95F. A couple times during the day
Diane made some comments like "It sure is hot today." I responded
with a questioning look, "Is it?" Meanwhile, I'm the one with a
thermometer attached to my handlebar bag, so I knew how hot is
really was.
Day 25
We moved out early the next day with a stop at Cassoday for
lunch. We really had to stop in Cassoday since there were
absolutely no services for the next forty miles. As it turned out,
the diner was great. It was decorated totally with a cowboy theme
and filled with several real cowboy/ranch types. The hamburgers
were gigantic and the strawberry shortcake was absolutely fantastic.
About twenty miles into the dry stretch we ran into "Lisa" who
was riding solo from San Fransico. She seemed a bit nervous and
quiet until Diane caught up with me. Remarkable nerve for a woman
to solo tour.
We made it to Heston, Kansas fairly late and stopped at Pizza
Hut for dinner. The pizza and the extreme heat of the day
caught up with me at night, making me feel very sick.
Day 26
I felt much better in the morning, but tired. We rode out of
Heston a bit late but we were making good time. As we were
riding through Buhler a guy pulled over and flagged us down.
Turns out he was the retired postal carrier of Buhler and an
avid cyclist. He was even wearing a tee shirt commemorating
a post stamp for a Texas bicycle tour. He offered us cold
drinks and a place to stay, which we had to decline since it
was still early in the morning. He explained that he was
delivering mail in Buhler back in 1976 and he started seeing
cyclist riding through on the inaugural Bike Centennial transamerica
ride. Curious, he started talking with the cyclist and was really
taken with the idea of riding a bicycle cross country. Although he
had never owned a bike before in his life and never ridden one,
he bought one and learned to ride. After a few years of
training and planning he rode the transamerica trail from one
end to the other. Almost twenty years later he has ridden in
almost every state in the union. After this interesting chat,
we rode on to Hudson.
Day 27
We hit some rain in the morning so we stopped for leisurely
breakfast. It was still raining lightly after breakfast, so we
rode a bit and stopped in the Santa Fe Trail Museum. After the
museum, things cleared up and we hammered big miles, our third
century of the trip, to Ness City.
Day 28
From Ness City we rode to Tribune where we camped in the city
park. When we found the park we noticed someone already had
a tent set up and a bicycle. We stopped over and met Alan from
Frisco, Co. He was soloing from Colorado to Virginia and then
south to Florida with plans to scuba in Florida for a while.
Day 29
We woke up early hoping to catch breakfast in town. Turned out
there weren't any restaurants in town, just lots of grocery
stores, so we went to one and bought some food. Diane had a
"breakfast pizza" which she regretted.
We weren't 15 miles out of town when I flatted thanks to a
"Texas Tack" which is a cactus thorn. It took me almost an hour
to fix it, very frustrating. We rode hard the rest of the day
to make up for our slow start.
Since it was summer when the days are long, we were able to ride
until late in the day. We made the Colorado state line and kept
going in through the desert. One thing we often failed to keep
track of was the day of the week. This particular evening was
a Saturday night. People go out, have a few beers, and drive
around. I see a GM stepside pickup flying down the road toward
me doing well over 80. Apparently, the driver threw a handful
of change at me since I was hit with a few coins. At that velocity,
coins hurt. This put me in a real swell mood, but we shouldn't be
riding late on Friday and Saturday nights.
We arrived at Haswell at about 8:30 and camped at the city park.
I nice guy who worked at the local Coop and was also a fireman
stopped by and chatted with us as we set up our tent and ate dinner.
He seemed unphased by the vicious mosquitos of the area.
Day 30
Turned out Haswell wasn't the best place in the world to camp.
The park was only a 100ft away from the an active railroad track.
Three trains went past during the night and the cities
sprinkler system went on twice during the night. We should have
noticed that the grass was green in the park even though we were
in the desert.
We rode on to Olney Springs and stopped at Dink's Cafe. Rumor on
the road was free pie for cyclists at Dink's. Well the pie was
excellent, but the food and service was poor. They did have a
guest book for cyclists which was interesting.
After Dink's we rode on to Peublo and got a room at a Motel.
Peublo is about the midpoint of the tour.
Day 31
We spent all morning in Peublo repairing our bikes and getting
fresh supplies. The 2000 or so miles had put some wear and tear
on our bikes. My rear tire was shot and Diane needed some gear
adjustments. We rode out of Peublo in the early afternoon for
Florence. We had Mexican food at the "Prickly Pear" and camped
in the city park. Hitting some hills was a bit of a shock after so
many days in the flats. Suddenly, I had to shift gears.
Day 32
We rode out of Florence to Hartsel, population 44. We free
camped by the river.
Day 33
Camping at 9,000 feet proved to be very cold at night. We knocked
the frost off our tent and went to the bar/cafe in Hartsel for
breakfast. After breakfast, we started our final ascent of Hoosier
Pass.
We paused for lunch in Fairplay and then continued the big
climb. We made the top in the early afternoon on a beautiful
sunny day. Hoosier was the highest point on the transamerica
trail, 11,542', so it was a great feeling to be on top.
There were two women, Ann and Karen, who were also cycle touring at
the top of the pass and oddly enough one of the women went to my high
school. She was about 8 years older than me, so we didn't go at the
same time, but my high school was very small. They both currently
live in Colorado and were out on a five day tour.
After a pleasant rest at the top, we bundled up and started the
descent. Descents in Colorado aren't as steep as they are in
Missouri, but they are a lot longer. We flew down hill to
Brekenridge where we jumped on a bike trail. We took the bike
trail to Frisco and then to Silverthorn. About half of this
59 mile descent was on the along the bike trail. In Silverthorn we
stopped for dinner at the "Sunshine Cafe" and stayed at the
youth hostel.
Day 34
We considered taking the day off and going to A-Basin to ski for
the day, but the skiing didn't sound so hot and they were only
open in the morning. One thing I wanted to do while we were
in the area is have breakfast at the "Sunshine Cafe". They make
wheat cakes that are light and fluffy and about an inch thick.
I wasn't disappointed, they were great. I'd had them before when
we were out in the area during ski trips.
After breakfast we started riding against strong winds, but mostly
down hill. We caught up with Karen and Ann and had lunch with
them at a reservoir. Turned out they were quite interesting
people. Karen had solo hiked from Georgia to Vermont on the
Appalachian Trail. Ann had worked for the last eight years in
the National Outdoor Leadership School. We rode with them on
and off all day until we hit Kremling where they were planning
to stay. We rode on, a brutal climb, to the top of Muddy Pass
a total of 84 miles for the day. We free camped in the open
right on the side of the highway at about 8700 feet.
Day 35
Turned out to be real cold that night. I was wearing every
piece of clothing I was carrying and I was still cold Not only
were we short on water, it was frozen in our bottles. We were
short on food as well. Diane and I split a peanut butter and jelly
sandwich and a granola bar for breakfast. We had thirty miles
to cover before we hit any services. We finally stopped at
a stream and filled our water bottles from a stream and used
some purification tablets.
On our way we ran into the an East bound cycle tourist. He was
the first one that we have run into that started in Oregon. An
eerie guy he seemed a bit dazed, maybe from cycling alone so long.
He warned us about how horrible Wyoming was. We kind of figured
after all we have been through so far, how bad could Wyoming be?
He also told of how he camped in the city park in Rawlins and
someone decided to drive around the park and shooting. We
decided we would avoid camping in this park.
By the time we hit Walden, we were very hungry and dehydrated.
Neither of us wanted to drink much of our "purified" water.
We stopped at a cafe for lunch
After lunch we pulled into a supermarket to stock up and we ran
into another east bound cycle tourist. He was in much better
humor than the other one we ran into and he joked about the
Wyoming state motto "Like no place on Earth". He said it really
wasn't, it was more like you were on another planet.
We made the Wyoming border and hammered out miles to Encampment
where we ironically decided to motel it. Made soup for dinner
in the laundry mat.  The main
industry seems to be kiln drying wood, so the place smelled like
burning wood.
Day 36
Spent the day fighting head winds, so it was a fairly short day
to Rawlins. We had an excellent Mexican dinner at Rose's Lariat
and since we heard such great things about the city park, we camped
in a private campground.
Day 37
We hammered a big 93 mile day out of Rawlins. In the morning
we ran into Mark who was riding from Boulder to Seattle. He
was having knee problems, so he was taking it easy. We rode
with him to a Hostel in Lamount where he was planning to stay.
We made our lunch there and chatted with the owner of the hostel.
She showed us her interesting collection of Indian artifacts she
found during her walks in the desert.
We rode on to Jeffery City where we were planning on moteling
it. It was pretty much a ghost town because of the closing of
a local Uranium mine. We stopped at the local bar to get some
cold pop and chatted with the bar tender and two Native Americans.
One of the Native Americans had found a gigantic semi-precious
stone of some sort. It was quite amazing.
We hung out in the post office for a while to escape the aggressive
mosquitos in the area and then we waited around the motel for the
owner to show up. The owner still hadn't shown up and it was getting
late, so we decided to push on to a campground in Sweetwater. We
made it before dark to Sweetwater and immediately put on our rain
suits to keep the mosquitos away. We set up our tent and cooked
inside to avoid them.
Another cyclist was in the campground. He was East bound and he
started from Oregon. He was so excited to tell us about his 160+
mile day that he stood outside our tent, while we were inside, and
told us about it.
Day 38
From Sweetwater we rode 40 miles to Lander where we had to decide
whether we should stay there for the night or make a big push. After
Lander there was was no lodging for 60 miles across the Wind River
Indian Reservation. Comforted by the knowledge that there was a motel
at the end of the big 100 mile day, we decided to go for it. We
hammered a long day and didn't get out of the Reservation until
well after dark. When we got to the motel, no one was there, so
we walked around back and set up camp. We where lucky enough to
find access to a flush toilet, but no hot water or showers. This
was by far our hardest century.
Day 39
High winds and rain tormented us through the night. I woke lying
in a pool of water. The rains had stopped, but the winds were
still strong. As we were packing up, the wind caught our tent
and carried it across a field. My sleeping bag fell out in a
mud puddle before the tent got caught on a fence. We packed up
our soggy equipment and headed out. Despite the rough weather,
we couldn't help notice the beautiful valley we were in as we
cycled away.
Strong winds continued all morning, so we took a long lunch in
Dubois, hoping the winds would die down. They didn't so we
continued on. Finally, we gave up and pulled into the Pinnacle
Motel. I was hoping to catch the finally game of the Stanley Cup,
but it turned out this motel didn't have a TV in the room. The
owner was all uptight and very annoying. This was our shortest
day by far, we only rode about 36 miles and it took us about 6
hours to do that. Stayed up late doing bike maintenance.
Day 40
Well, the wind died down, but the temperatures have dropped. We
climbed Togwatee Pass and continued on to Teton National Park
where we camped at Lizard Creek on Jackson Lake.
Day 41
We rode out of Lizard Creek with a beautiful view of the Tetons,
but soon our view was marred by rain clouds. By the time we reached
Yellowstone, it was raining steadly and the rained turned to snow
as we hit higher elevations. We took a break in Grant Village to
thaw out and dry up a bit. Once the freezing rain stopped we
continued on, but soon the rain started up again. We decided to
take a long lunch and do some shopping at Old Faithful. I bought a big
fluffy pullover since I was tired of being cold. After my spending
spree, it looked like the rain was going to hold off for a while,
so we mounted up and continued on. We moved slowly stopping
frequently to check out the geysers, hot springs, and boiling mud.
As the day came to a close the clouds cleared off and we had
a pleasant, peaceful ride to the campground at Madison Junction in
the Northwestern corner of Yellowstone.
The biker/hiker rate in Yellowstone is a way low $2 and there were
a lot of bikers staying there. There were a couple guys from Utica,
NY, a couple Germans riding from Anchorage to Boston, and a Swiss
guy (Steven) riding from Denver to Seattle.
Day 42
We rode out in the morning with the Steven. Communication
was difficult, but he was interesting company. We parted ways when
we reached West Yellowstone in Montana. We stocked up on "Montana
Monster Cookies" and rode 89 miles to Ennis, Montana where we moteled
it. It was good to get a hot shower since I hadn't had one in a couple
days.
Day 43
We rode out of the cushy motel in Ennis to a cushy KOA campground.
The Southwestern part of Montana is beautiful and the weather has
been good. We had a big climb in the morning, but the afternoon
was generally all downhill.
Day 44
Climbed Badger Pass and Big Hole Pass, but we didn't enjoy much
of a descent. We still have Chief Joseph pass to climb before
we start our big descent. We rode a total of 86 miles to May
Creek US Forestry Campground. Services where primitive, but
the forest is beautiful.
Day 45
We manage to ignore the hooting owls and howling Coyotes lurking
around May Creek and get some sleep. After a long day of riding,
nothing will disturb your sleep. From May Creek we continued our
ascent of Chief Joseph Pass. The road is under repair and closed
to cyclist, so we have to finish the climb up a narrow USFS gravel
road. The gravel made our work harder, but it is nice to be away
from passing cars.
At the top we are at about 7,000 feet with a 13 mile descent ahead
of us that will take us down to about 4,500 feet. The descent proves
to be tricky on the gravel road with occasional wash outs. The hard
braking necessary to slow our heavily loaded bikes forces us to stop
and rest our arms once in a while. On the way down we run into
some cycle tourist heading up the pass. We stop and chat with them
and it turns out they are from Thialand. We chat for a while and
continue on our way.
The gravel road took us quite a while to cover so we only ended up
riding 56 miles for the day to Anglers Campground in Hamilton. We saw
a moose, the first one we have seen during our ride. We have seen lots
of prong horn antelope, elk, and mule deer through Colorado, Wyoming,
and Montana.
Day 46
We rode 50 miles to Missoula, Montana and visit Adventure Cycling
headquarters. They gave us some free cookies and we met some of
the people that run things.
We also stopped and had some excellent Middle Eastern food thanks
to a tip from the folks from Thialand. We bought some supplies and
headed out to the Round and Square Campground 25 miles out of
Missoula. The campground was real nice and we got to watch to
local Square Dance club rip it up.
Day 47
In the morning we climbed Lolo Pass which brought us into Idaho.
Looking at the map, we noticed that we would be losing 4000 feet
of vertical for the next 86 miles, probably the biggest and
longest descent of the trip so far. On our way down we stopped at
Weir Creek Hot Springs. We left our bikes in the weeds and hiked
the mile in to the springs. There was and older couple and
a younger couple with children all butt naked. There were
also three guys there with their shorts on, drinking
beer. We decided to join the guys in the pool where the water
from the hot spring collected. From the pool the water ran over
the edge of a cliff into a stream bellow. The water was real hot
and took a bit of getting used to, but it was relaxing. After the hot
springs, we rode on to Wilderness Gateway USFS Campground.
Day 48
The next day we continued our descent which turned out to be
close to 100 miles. We started ascending after Kooskia, Idaho.
On the way down we followed the Lochsa River. Services of
any sort were very rare, but Ospreys were common.
During our descent we ran into Carlos and Dennis who were "riding"
from Seattle to New York. These guys made me feel real stodgy.
Carlos was a Rastafarian sort with big old dread locks. Dennis
was a skin head punk type. The were hitching and riding off and
on.
Day 49
After our long descent, we started riding up along the Salmon River.
We rode pretty late and stopped in New Meadows, Idaho to camp in
the city park. It was Friday night, so people were driving around
drunk honking there horn. Late at night, two women, walking home
drunk from the bar threw pebbles at our tent. Turned out a whole
group of bikers set up camp in the park late at night and they
woke us early in the morning.
Day 50
We rode out of New Meadows through early and reached Hells Canyon
late in the afternoon. Fortunately, it was overcast and fairly
cool since Hells Canyon is renouned for high temperatures and
humidity. We camped in McCommick Park under the Browalee Dam
on the Oregon-Idaho border. Nice park, but it is a weekend
so it is very crowded.
Day 51
We rode out of McCommick to Baker City in Eastern Oregon. The
desert of eastern Oregon is, well, desert.
Day 52
We rode over three passes all over 5000 feet a total of 84 miles
for the day. Found a cheap motel with a tiny room in John Day.
It had a tiny bathroom and the shower was in the bedroom area.
We didn't get out of Baker City until about 11:30 and didn't
arrive in John Day until around 9:30. Out of Baker City we
had a stretch of 70 miles with no services. The climbs were
fairly tough, but through some beautiful forest areas.
Day 53
In the morning we stopped at a bike shop to pick up a new
derailleur cable. Diane snapped one the day before, but fortunately
I was carrying a spare.
We rode through "Picture Gorge" to the John Day Fossil Visitor Center
National Monument. We stopped at the Visitor Center to get out of
the heat. Interesting fossils and cool film produced by local
high school students, lots of claymation.
We rode out of the National Monument to Mitchell a small town.
No one seemed to be around, but the laundromat was open, so we
started doing laundry. We were finishing up around 10 at night
when three guys rolled in, two from Washington, DC and one from
Chicago. The were on the bike route east bound and they had
heard that we were allowed to used the shower in the laundromat.
We hung out and chatted while we all took quick showers. After that,
we headed over to the City Park and set up camp.
Day 54
We got an early start out of Mitchell for the climb over Ochoco
Pass or Achoo Pass as I like to call it. After the pass it was
a dull ride to Sisters, Oregon where we camped at the city park.
Day 55
We did big miles out of Sisters, a total of 95 miles to Springfield
just east of Eugene. It was a long hard ride, but largely
down hill. McKensie Pass was beautiful and we walked around
some old lava flows on top of the pass. You could see Mt.
Washington and Mt. Hood from the lookout. Even though it was
warm and sunny there was some snow around and plenty of mosquitos.
The forest was thick and the McKensie river was running fast.
We treated ourselves to some ice cream sundaes in Springfield.
Day 56
Diane had shifting problems all day, but we made it to Monmouth.
It's a holiday weekend, so all the motels are booked and there is
no camping near by. We found B&B in town that happened to have
a cancelation. Plush accommodations compared to what we have been
finding.
Day 57
Turned out there was a campground just out of town. It wasn't
marked on our maps. Oh well. The B&B was nice and breakfast was
excellent.
We spent all morning repairing Diane's bike. The
chain, middle chain ring, and cluster are so worn they aren't
meshing properly anymore. Fortunately, a bike shop in town
has some parts that will work, although the gear ratios are a
bit close for touring.
We had lunch in town and rode 75 miles to Pacific City.
We camped at a nice campground in the sand dunes. We fell
asleep listening to the surf of the Pacific Ocean and our
arguing neighbors. Our first view of the Pacific!
Day 58
We got a late start out of Pacific City and rode along the
Ocean. The riding was slow with all the ups and downs. We
past lots of touring cyclist, but didn't talk with any.
We rode 75 miles to Cannon Beach. I had a flat right outside
of a tunnel we went through. A local stopped by while I was
fixing my tire and told us about some camping area that we
were never able to find. We ended up camping in Arcadia
Beach, but we got to the campground so late that it was full.
The owner let us set up camp on top of a hill in the woods.
Day 59
It was raining, but we didn't care. We only had 31 miles to
do to get to Astoria. By the time we made it to the Maritime
Museum, the rain stopped. We checked into a motel, cleaned up
and went to a local bike shop to get some bike boxes. We spent
the afternoon packing our bikes up and went to dinner at a nice
sea food restaurant. The next day we rented a car, drove to
Portland, and jumped on a plane home.
Author: Terry L Howe<EMAIL_ADDRESS>Jan 4, 1995


{% extends "code_challenge/base_welcome.html" %} {% block title %}Password rest confirmation{% endblock %} {% block mainbody %}
Please enter your new password twice so we can verify you typed it in correctly.
{% else %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.
{% endif %}


On tablet/large screens
In this demo, the attribute data-expose-aside has the value "left" so the side panel is visible and cannot be closed. On the other hand, if you set the value "none", it is possible to drag and drop in order to toggle the side panel.
On phone screens
In this demo, drag and drop in the page content to open or close the side panel.
You can also click the menu button.


Importing all data will replace all currently present workflows and rules.
Form-O-Fill can only import JSON files. Please choose a JSON file.


Prices may be incorrect. No payments will be taken.


vignettes/DqdForCohorts.rmd
DqdForCohorts.rmd
Running the Data Quality Dashboard for a cohort is fairly straightforward. There are two options in the executeDqChecks
function, cohortDefinitionId
and cohortDatabaseSchema
. These options will point the DQD to the schema where the cohort table is located and provide the id of the cohort on which the DQD will be run. The tool assumes that the table being referenced is the standard OHDSI cohort table named COHORT with at least the columns cohort_definition_id and subject_id. For example, if I have a cohort number 123 and the cohort is in the results schema of the IBM_CCAE database, the executeDqChecks
function would look like this:
DataQualityDashboard::executeDqChecks(connectionDetails = connectionDetails,
cdmDatabaseSchema = cdmDatabaseSchema,
resultsDatabaseSchema = resultsDatabaseSchema,
cdmSourceName = "IBM_CCAE_cohort_123",
cohortDefinitionId = 123,
cohortDatabaseSchema = "IBM_CCAE.results"
numThreads = numThreads,
sqlOnly = sqlOnly,
outputFolder = outputFolder,
verboseMode = verboseMode,
writeToTable = writeToTable,
writeTableName = "dqdashboard_results_123",
checkLevels = checkLevels,
tablesToExclude = tablesToExclude,
checkNames = checkNames)
As a note, it is good practice to have the cdmSourceName
option and the writeTableName
option reflect the name of the cohort so that the results don’t get confused with those of the entire database.


Download the App
Cheap flights, hotels & morePrices, savings, and availability may vary. Additional restrictions may apply. Savings are not ensured. KAYAK does not sell tickets but provides a price comparison service. The deals in this newsletter were current at the time this email was published and subject to change based on date, time and availability, which may be extremely limited. KAYAK accepts no liability for inaccuracies arising from this or any other cause, including, but not limited to, expiration of deals and typographical error, we are not responsible for any loss, damages, or injury incurred by the deals herein. Unless otherwise specified, hotel prices are per night, based on double-occupancy rooms and do not include taxes and fees. Unless specified to be one-way (ow) or otherwise, flight prices are for round-trip (rt) economy class travel and include taxes and fees. If in doubt, always consult the agent or company supplying the tickets. Unless otherwise specified, package prices include flight + hotel, taxes and fees, but not baggage fees or other fees charged directly by the airline for the included flight. Cruise and car rental prices do not include taxes and fees. Please check the provider's webpage or contact the provider for additional details.
© {{getYear}} Kayak Software Company
7 Market Street Stamford, CT 06902-5810 US


mixAK: Multivariate Normal Mixture Models and Mixtures of Generalized
Linear Mixed Models Including Model Based Clustering
Contains a mixture of statistical methods including the MCMC methods to analyze normal mixtures. Additionally, model based clustering methods are implemented to perform classification based on (multivariate) longitudinal (or otherwise correlated) data. The basis for such clustering is a mixture of multivariate generalized linear mixed models.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=mixAK
to link to this page.


PSALMS 125
A psalm written for people going up to the temple to worship.
1 Those who trust in Yahweh are like Mount Zion,
which cannot be shaken or moved out of its place.
2 As the hills that surround Jerusalem protect it,
so Yahweh protects us, his people,
and he will protect us forever.
3 Wicked people should not be allowed to rule over the land where righteous people live.
If they did that, those righteous people would think of doing wrong themselves.
4 Yahweh, do good things to those who do good things to others
and to those who sincerely obey your commands.
5 But when you punish the Israelites who no longer obey you,
you will punish them the same as you punish all the other evildoers.
I wish that things may go well for people in Israel!


Session
A class for running TensorFlow operations.
A Session
object encapsulates the environment in which Operation
objects are executed, and Tensor
objects are evaluated. For
example:
# Build a graph. a = tf.constant(5.0) b = tf.constant(6.0) c = a * b # Launch the graph in a session. sess = tf.compat.v1.Session() # Evaluate the tensor `c`. print(sess.run(c))
A session may own resources, such as
tf.Variable
, tf.queue.QueueBase
,
and tf.compat.v1.ReaderBase
. It is important to release
these resources when they are no longer required. To do this, either
invoke the tf.Session.close
method on the session, or use
the session as a context manager. The following two examples are
equivalent:
# Using the `close()` method. sess = tf.compat.v1.Session() sess.run(...) sess.close() # Using the context manager. with tf.compat.v1.Session() as sess: sess.run(...)
The
ConfigProto
protocol buffer exposes various configuration options for a
session. For example, to create a session that uses soft constraints
for device placement, and log the resulting placement decisions,
create a session as follows:
# Launch the graph in a session that allows soft device placement and # logs the placement decisions. sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto( allow_soft_placement=True, log_device_placement=True))
__init__
__init__( target='', graph=None, config=None )
Creates a new TensorFlow session.
If no graph
argument is specified when constructing the session,
the default graph will be launched in the session. If you are
using more than one graph (created with tf.Graph()
) in the same
process, you will have to use different sessions for each graph,
but each graph can be used in multiple sessions. In this case, it
is often clearer to pass the graph to be launched explicitly to
the session constructor.
target
: (Optional.) The execution engine to connect to. Defaults to using
an in-process engine. See
Distributed TensorFlow for
more examples.graph
: (Optional.) The Graph
to be launched (described above).config
: (Optional.) A
ConfigProto
protocol buffer with configuration options for the session.graph
The graph that was launched in this session.
graph_def
A serializable version of the underlying TensorFlow graph.
A graph_pb2.GraphDef proto containing nodes for all of the Operations in the underlying TensorFlow graph.
sess_str
The TensorFlow process to which this session will connect.
__enter__
__enter__()
__exit__
__exit__( exec_type, exec_value, exec_tb )
as_default
as_default()
Returns a context manager that makes this object the default session.
Use with the with
keyword to specify that calls to
tf.Operation.run
or tf.Tensor.eval
should be executed in
this session.
c = tf.constant(..) sess = tf.compat.v1.Session() with sess.as_default(): assert tf.compat.v1.get_default_session() is sess print(c.eval())
To get the current default session, use tf.compat.v1.get_default_session
.
N.B. The as_default
context manager does not close the
session when you exit the context, and you must close the session
explicitly.
c = tf.constant(...) sess = tf.compat.v1.Session() with sess.as_default(): print(c.eval()) # ... with sess.as_default(): print(c.eval()) sess.close()
Alternatively, you can use with tf.compat.v1.Session():
to create a
session that is automatically closed on exiting the context,
including when an uncaught exception is raised.
N.B. The default session is a property of the current thread. If you
create a new thread, and wish to use the default session in that
thread, you must explicitly add a with sess.as_default():
in that
thread's function.
N.B. Entering a with sess.as_default():
block does not affect
the current default graph. If you are using multiple graphs, and
sess.graph
is different from the value of
tf.compat.v1.get_default_graph
, you must explicitly enter a
with sess.graph.as_default():
block to make sess.graph
the default
graph.
A context manager using this session as the default session.
close
close()
Closes this session.
Calling this method frees all resources associated with the session.
tf.errors.OpError
: Or one of its subclasses if an error occurs while
closing the TensorFlow session.list_devices
list_devices()
Lists available devices in this session.
devices = sess.list_devices() for d in devices: print(d.name)
Each element in the list has the following properties
name
: A string with the full name of the device. ex:
/job:worker/replica:0/task:3/device:CPU:0
device_type
: The type of the device (e.g. CPU
, GPU
, TPU
.)memory_limit
: The maximum amount of memory available on the device.
Note: depending on the device, it is possible the usable memory could
be substantially less.tf.errors.OpError
: If it encounters an error (e.g. session is in an
invalid state, or network errors occur).A list of devices in the session.
make_callable
make_callable( fetches, feed_list=None, accept_options=False )
Returns a Python callable that runs a particular step.
The returned callable will take len(feed_list)
arguments whose types
must be compatible feed values for the respective elements of feed_list
.
For example, if element i
of feed_list
is a tf.Tensor
, the i
th
argument to the returned callable must be a numpy ndarray (or something
convertible to an ndarray) with matching element type and shape. See
tf.Session.run
for details of the allowable feed key and value types.
The returned callable will have the same return type as
tf.Session.run(fetches, ...)
. For example, if fetches
is a tf.Tensor
,
the callable will return a numpy ndarray; if fetches
is a tf.Operation
,
it will return None
.
fetches
: A value or list of values to fetch. See tf.Session.run
for
details of the allowable fetch types.feed_list
: (Optional.) A list of feed_dict
keys. See tf.Session.run
for details of the allowable feed key types.accept_options
: (Optional.) If True
, the returned Callable
will be
able to accept tf.compat.v1.RunOptions
and tf.compat.v1.RunMetadata
as optional keyword arguments options
and run_metadata
,
respectively, with the same syntax and semantics as tf.Session.run
,
which is useful for certain use cases (profiling and debugging) but will
result in measurable slowdown of the Callable
's
performance. Default: False
.A function that when called will execute the step defined by
feed_list
and fetches
in this session.
TypeError
: If fetches
or feed_list
cannot be interpreted
as arguments to tf.Session.run
.partial_run
partial_run( handle, fetches, feed_dict=None )
Continues the execution with more feeds and fetches.
This is EXPERIMENTAL and subject to change.
To use partial execution, a user first calls partial_run_setup()
and
then a sequence of partial_run()
. partial_run_setup
specifies the
list of feeds and fetches that will be used in the subsequent
partial_run
calls.
The optional feed_dict
argument allows the caller to override
the value of tensors in the graph. See run() for more information.
Below is a simple example:
a = array_ops.placeholder(dtypes.float32, shape=[]) b = array_ops.placeholder(dtypes.float32, shape=[]) c = array_ops.placeholder(dtypes.float32, shape=[]) r1 = math_ops.add(a, b) r2 = math_ops.multiply(r1, c) h = sess.partial_run_setup([r1, r2], [a, b, c]) res = sess.partial_run(h, r1, feed_dict={a: 1, b: 2}) res = sess.partial_run(h, r2, feed_dict={c: res})
handle
: A handle for a sequence of partial runs.fetches
: A single graph element, a list of graph elements, or a dictionary
whose values are graph elements or lists of graph elements (see
documentation for run
).feed_dict
: A dictionary that maps graph elements to values (described
above).Either a single value if fetches
is a single graph element, or
a list of values if fetches
is a list, or a dictionary with the
same keys as fetches
if that is a dictionary
(see documentation for run
).
tf.errors.OpError
: Or one of its subclasses on error.partial_run_setup
partial_run_setup( fetches, feeds=None )
Sets up a graph with feeds and fetches for partial run.
This is EXPERIMENTAL and subject to change.
Note that contrary to run
, feeds
only specifies the graph elements.
The tensors will be supplied by the subsequent partial_run
calls.
fetches
: A single graph element, or a list of graph elements.feeds
: A single graph element, or a list of graph elements.A handle for partial run.
RuntimeError
: If this Session
is in an invalid state (e.g. has been
closed).TypeError
: If fetches
or feed_dict
keys are of an inappropriate type.tf.errors.OpError
: Or one of its subclasses if a TensorFlow error happens.reset
@staticmethod reset( target, containers=None, config=None )
Resets resource containers on target
, and close all connected sessions.
A resource container is distributed across all workers in the
same cluster as target
. When a resource container on target
is reset, resources associated with that container will be cleared.
In particular, all Variables in the container will become undefined:
they lose their values and shapes.
(i) reset() is currently only implemented for distributed sessions.
(ii) Any sessions on the master named by target
will be closed.
If no resource containers are provided, all containers are reset.
target
: The execution engine to connect to.containers
: A list of resource container name strings, or None
if all of
all the containers are to be reset.config
: (Optional.) Protocol buffer with configuration options.tf.errors.OpError
: Or one of its subclasses if an error occurs while
resetting containers.run
run( fetches, feed_dict=None, options=None, run_metadata=None )
Runs operations and evaluates tensors in fetches
.
This method runs one "step" of TensorFlow computation, by
running the necessary graph fragment to execute every Operation
and evaluate every Tensor
in fetches
, substituting the values in
feed_dict
for the corresponding input values.
The fetches
argument may be a single graph element, or an arbitrarily
nested list, tuple, namedtuple, dict, or OrderedDict containing graph
elements at its leaves. A graph element can be one of the following types:
tf.Operation
.
The corresponding fetched value will be None
.tf.Tensor
.
The corresponding fetched value will be a numpy ndarray containing the
value of that tensor.tf.SparseTensor
.
The corresponding fetched value will be a
tf.compat.v1.SparseTensorValue
containing the value of that sparse tensor.get_tensor_handle
op. The corresponding fetched value will be a
numpy ndarray containing the handle of that tensor.string
which is the name of a tensor or operation in the graph.The value returned by run()
has the same shape as the fetches
argument,
where the leaves are replaced by the corresponding values returned by
TensorFlow.
a = tf.constant([10, 20]) b = tf.constant([1.0, 2.0]) # 'fetches' can be a singleton v = session.run(a) # v is the numpy array [10, 20] # 'fetches' can be a list. v = session.run([a, b]) # v is a Python list with 2 numpy arrays: the 1-D array [10, 20] and the # 1-D array [1.0, 2.0] # 'fetches' can be arbitrary lists, tuples, namedtuple, dicts: MyData = collections.namedtuple('MyData', ['a', 'b']) v = session.run({'k1': MyData(a, b), 'k2': [b, a]}) # v is a dict with # v['k1'] is a MyData namedtuple with 'a' (the numpy array [10, 20]) and # 'b' (the numpy array [1.0, 2.0]) # v['k2'] is a list with the numpy array [1.0, 2.0] and the numpy array # [10, 20].
The optional feed_dict
argument allows the caller to override
the value of tensors in the graph. Each key in feed_dict
can be
one of the following types:
tf.Tensor
, the
value may be a Python scalar, string, list, or numpy ndarray
that can be converted to the same dtype
as that
tensor. Additionally, if the key is a
tf.compat.v1.placeholder
, the shape of
the value will be checked for compatibility with the placeholder.tf.SparseTensor
,
the value should be a
tf.compat.v1.SparseTensorValue
.Tensor
s or SparseTensor
s, the value
should be a nested tuple with the same structure that maps to their
corresponding values as above.Each value in feed_dict
must be convertible to a numpy array of the dtype
of the corresponding key.
The optional options
argument expects a [RunOptions
] proto. The options
allow controlling the behavior of this particular step (e.g. turning tracing
on).
The optional run_metadata
argument expects a [RunMetadata
] proto. When
appropriate, the non-Tensor output of this step will be collected there. For
example, when users turn on tracing in options
, the profiled info will be
collected into this argument and passed back.
fetches
: A single graph element, a list of graph elements, or a dictionary
whose values are graph elements or lists of graph elements (described
above).feed_dict
: A dictionary that maps graph elements to values (described
above).options
: A [RunOptions
] protocol bufferrun_metadata
: A [RunMetadata
] protocol bufferEither a single value if fetches
is a single graph element, or
a list of values if fetches
is a list, or a dictionary with the
same keys as fetches
if that is a dictionary (described above).
Order in which fetches
operations are evaluated inside the call
is undefined.
RuntimeError
: If this Session
is in an invalid state (e.g. has been
closed).TypeError
: If fetches
or feed_dict
keys are of an inappropriate type.ValueError
: If fetches
or feed_dict
keys are invalid or refer to a
Tensor
that doesn't exist.


This map shows you a heat map distributions of active clinical trials over the USA. This is based on your querying from the previous page. This is helpful to visualize the activity of clinical trials within the USA. It will also help you determine which state has the most amount of trials relevant to your disease!


class: center, middle, inverse, title-slide # Geography 13 ## Lecture 13: Unary, Binary, Simplification ### Mike Johnson ---  # Picking up again ... - Topological relations describe the spatial relationships between objects. -- - These relationships are based on the DE-9IM matrix model -- - This matrix quantifies the relationship between an object by the intersection of the interior, exterior and boundary of the object -- - The intersection is defined by the possible set options _{0,1,2,F}_ -- - This set can be reduced to _{T,F}_ where any 0D,1D, or 2D relation is defined as TRUE --- # Interior, Boundary, Exterior The Interior, Boundary, Exterior conditions are defined for each geometric type  --- # Remember... - A **POINT**: is a single XY location -- - **POLYLINE**: is an ordered set of POINTS -- - **POLYGON**: is a ordered set of rings, where rings are closed lines -- The more points that make up a line or polygon, the more computations needed to evaluate geometric relationships --- # DE-9IM - Dimensional Extended 9 intersections matrix  --- # Daily Assignment 12: `st_touches`  --- # st_touches .pull-left[  ] .pull-right[ A touching relation is defined by three _{T,F}_ DE-9IM "masks" - `FT*******`: Interiors do **not** intersect, Interior~a~ intersects Boundary~b~ - `F**T*****` : Interiors do **not** intersect, Interior~b~ intersects Boundary~a~ - `F***T****`: Interiors do **not** intersect, Boundary~b~ intersects Boundary~a~ ] --- # st_realtes vs. predicate calls... `FT*******`; `F**T*****`; `F***T****` ```r states = filter(us_states(), stusps %in% c("WA", "OR", "MT", "ID")) %>% select(name) wa = filter(states, name == "Washington") ``` -- ```r (mutate(states, deim9 = st_relate(states, wa), touch = st_touches(states, wa, sparse = F))) ``` ``` Simple feature collection with 4 features and 3 fields Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: -124.7258 ymin: 41.98858 xmax: -104.0391 ymax: 49.00249 Geodetic CRS: WGS 84 name geometry deim9 touch 1 Idaho MULTIPOLYGON (((-117.243 44... FF2F11212 TRUE 2 Montana MULTIPOLYGON (((-116.0492 4... FF2FF1212 FALSE 3 Oregon MULTIPOLYGON (((-124.5524 4... FF2F11212 TRUE 4 Washington MULTIPOLYGON (((-123.2371 4... 2FFF1FFF2 FALSE ``` --- # Binary Predicates - Collectively, predicates define the type of relationship each 2D object has with another. -- - Of the ~ 512 unique relationships offered by the DE-9IM models a selection of ~ 10 have been named. -- - These are include in PostGIS/GEOS and are made accessible via R sf  --- # So... - binary predicates return conditional _{T,F}_ relations based on predefined masks of the DE-9IM strings -- - Up to this point in class we have been using boolean _{T,F}_ masks to filter data.frames by columns: -- ```r fruits = c("apple", "orange", "lemon", "watermelon") ``` -- ```r fruits == "apple" ``` ``` [1] TRUE FALSE FALSE FALSE ``` -- ```r fruits %in% c("apple", "lemon") ``` ``` [1] TRUE FALSE TRUE FALSE ``` --- # Filtering on data.frames - We have used `dplyr::filter` to subset a data frame, retaining all rows that satisfy a `boolean` condition. .pull-left[ ```r mutate(states, equalsWA = (name == "Washington")) %>% st_drop_geometry() ``` ``` name equalsWA 1 Idaho FALSE 2 Montana FALSE 3 Oregon FALSE 4 Washington TRUE ``` ] .pull-right[ ```r filter(states, name == "Washington") %>% st_drop_geometry() ``` ``` name 1 Washington ``` ] --- # Spatial Filtering - We can filter spatially, using `st_filter` as the function call -- - Here the `boolean` condition is not passed (e.g. stusps == WA) -- - But instead, is defined by a spatial predicate -- - The default predicate is `st_intersects` but can be changed with the `.predicate` argument: .pull-left[ ```r mutate(states, touch = st_touches(states, wa, sparse = FALSE)) ``` ``` although coordinates are longitude/latitude, st_touches assumes that they are planar ``` ``` Simple feature collection with 4 features and 2 fields Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: -124.7258 ymin: 41.98858 xmax: -104.0391 ymax: 49.00249 Geodetic CRS: WGS 84 name geometry touch 1 Idaho MULTIPOLYGON (((-117.243 44... TRUE 2 Montana MULTIPOLYGON (((-116.0492 4... FALSE 3 Oregon MULTIPOLYGON (((-124.5524 4... TRUE 4 Washington MULTIPOLYGON (((-123.2371 4... FALSE ``` ] .pull-right[ ```r st_filter(states, wa, .predicate = st_touches) ``` ``` although coordinates are longitude/latitude, st_touches assumes that they are planar ``` ``` Simple feature collection with 2 features and 1 field Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: -124.5524 ymin: 41.98858 xmax: -111.0436 ymax: 49.00091 Geodetic CRS: WGS 84 name geometry 1 Idaho MULTIPOLYGON (((-117.243 44... 2 Oregon MULTIPOLYGON (((-124.5524 4... ``` ] --- # Result ```r ggplot(states) + geom_sf() + geom_sf(data = wa, fill = "blue", alpha = .3) + geom_sf(data = st_filter(states, wa, .predicate = st_touches), fill = "red", alpha = .5) + theme_void() ```  --- ## Distance Example (additional parameter) ```r cities = read_csv("data/uscities.csv") %>% st_as_sf(coords = c("lng", "lat"), crs = 4326) %>% select(city, population, state_name) %>% st_transform(5070) ``` -- ```r sb = filter(cities, city == "Santa Barbara") ``` -- ```r st_filter(cities, sb, .predicate = st_is_within_distance, 10000) ``` ``` Simple feature collection with 3 features and 3 fields Geometry type: POINT Dimension: XY Bounding box: xmin: -2140651 ymin: 1530417 xmax: -2132289 ymax: 1533950 Projected CRS: NAD83 / Conus Albers # A tibble: 3 x 4 city population state_name geometry * <chr> <dbl> <chr> <POINT [m]> 1 Montecito 8984 California (-2132289 1530417) 2 Mission Canyon 2651 California (-2139283 1533950) 3 Santa Barbara 204034 California (-2140651 1531425) ``` --- # Think back to week 2: Data Science - Filtering is a nice way to reduce the dimensions of a **single** dataset -- - Often "*... one table is not enough... *" -- - In these cases we want to combine - or **join** - data --- # Spatial Joining - Joining two non-spatial datasets relies on a shared _key_ that uniquely identifies each record in a table  -- - Spatially joining data relies on shared _geographic relations_ rather then a shared _key_ -- - Like filter, these relations can be defined by a **predicate** -- **** - As with tabular data, mutating joins *add* data to the target object (x) from a source object (y). --- # st_join - In `sf` `st_join` provides this joining capacity -- - By default, `st_join` performs a _left_ join (Returns all records from x, and the matched records from y)  -- - It can also do inner joins by setting `left = FALSE`.  -- - The default topological predicate `st_join` (and `st_filter`) is `st_intersects` -- - This can be changed with the join argument (see `?st_join` for details). --- # Every Starbucks in the World What county has the most Starbucks in each state? ```r starbucks = readr::read_csv('data/directory.csv') %>% filter(!is.na(Latitude), Country == "US") %>% st_as_sf(coords = c("Longitude", "Latitude"), crs = 4326) %>% st_transform(5070) ``` -- ```r nrow(starbucks) ``` ``` [1] 13608 ``` ```r names(starbucks) ``` ``` [1] "Brand" "Store Number" "Store Name" [4] "Ownership Type" "Street Address" "City" [7] "State/Province" "Country" "Postcode" [10] "Phone Number" "Timezone" "geometry" ``` -- ```r counties = USAboundaries::us_counties() %>% filter(!state_abbr %in% c("AK", "HI", "PR")) %>% st_transform(5070) %>% select(name, state_name) ``` --- ```r topSB = st_join(counties, starbucks) %>% group_by(name, state_name) %>% summarise(n = n()) %>% group_by(state_name) %>% slice_max(n, n = 1) %>% ungroup() ```  --- - Neither _joining_ nor _filtering_ spatially alter the underlying geometry of the features - In cases where we seek to alter a geometry bases on another, we need clipping methods --- # Clipping - Clipping is a form of subsetting that involves changing the geometry of at least some features. - Clipping can only apply to features more complex than points: (lines, polygons and their ‘multi’ equivalents).  --- # Spatial Subsetting - By default the data.frame subsetting methods we've seen (e.g `[,]`) implements `st_intersection` ```r wa = st_transform(wa, 5070) *wa_starbucks = starbucks[wa,] ggplot() + geom_sf(data = wa) + geom_sf(data = wa_starbucks) + theme_void() ```  --- # Computational Complexity - In all the cases we have looked at, the number of `POINT` (e.g geometries, nodes, or vertices) define the complexity of the predicate or the clip -- - Computational needs increase with the number of POINTS / NODES / VERTICES -- - **Simplification** is a process for generalization vector objects (lines and polygons) -- - Another reason for simplifying objects is to reduce the amount of memory, disk space and network bandwidth they consume -- - Other times the level of detail captured in a geometry is either not needed, or, even counter productive the the scale/purpose of an analysis -- - If you are cropping features to a national border, how much detail do you need? The more points in your border, the long the clip operation will take. -- - In cases where we want to reduce th complexity in a geometry we can use simplicfication algorithms --- # Ramer–Douglas–Peucker - Mark the `first` and `last` points as kept - Find the point, `p` that is the farthest from the first-last line segment. If there are no points between first and last we are done (the base case) - If `p` is closer than `tolerance` units to the line segment then everything between first and last can be discarded - Otherwise, mark p as kept and repeat steps 1-4 using the points between first and p and between p and last (the call to recursion)  --- # st_simplify  --- # st_simplify - `sf` provides `st_simplify`, which uses the GEOS implementation of the Douglas-Peucker algorithm to reduce the vertex count. - `st_simplify` uses the `dTolerance` to control the level of generalization in map units (see Douglas and Peucker 1973 for details).  --- ```r usa = us_states() %>% filter(!stusps %in% c("AK", "HI", "PR")) %>% st_union() %>% st_transform(5070) ``` ``` although coordinates are longitude/latitude, st_union assumes that they are planar ``` ```r usa1000 = st_simplify(usa, dTolerance = 10000) usa10000 = st_simplify(usa, dTolerance = 100000) usa100000 = st_simplify(usa, dTolerance = 1000000) ```  --- - A limitation with Douglas-Peucker (therfore st_simplify) is that it simplifies objects on a per-geometry basis. - This means the ‘topology’ is lost, resulting in overlapping and disconected geometries. ```r states = st_transform(states, 5070) simp_states = st_simplify(states, dTolerance = 20000) plot(simp_states$geometry) ```  --- # Visvalingam - The Visvalingam algorithm overcomes some limitations of the Douglas-Peucker algorithm (Visvalingam and Whyatt 1993). - it progressively removes points with the least-perceptible change. - Simplification often allows the elimination of 95% or more points while retaining sufficient detail for visualization and often anaylsis ---  --- ```r library(rmapshaper) usa10 = ms_simplify(usa, keep = .1) usa5 = ms_simplify(usa, keep = .05) usa1 = ms_simplify(usa, keep = .01) ```  --- ```r states = st_transform(states, 5070) simp_states = ms_simplify(states, keep = .05) plot(simp_states$geometry) ```  --- In all cases, the number of points in a geometry can be cacluated with `mapview::npts()` ```r states = st_transform(states, 5070) simp_states_st = st_simplify(states, dTolerance = 20000) simp_states_ms = ms_simplify(states, keep = .05) mapview::npts(states) ``` ``` [1] 1003 ``` ```r mapview::npts(simp_states_st) ``` ``` [1] 55 ``` ```r mapview::npts(simp_states_ms) ``` ``` [1] 64 ``` --- # Centroids and Buffers Geometries can also be modified by reducing or extending them ... --- # Centroids - Centroid operations identify the center of geographic objects as a single point representation. -- - Like statistical measures of central tendency (GEOG5), there are many ways to define the "center" of an object. -- - The most common is the geographic centroid which represnets the center of mass in a spatial object (think of balancing a plate on your finger). -- - Centroids can be used to create a simple point representation of complex geometries, or to estimate distances between polygons. --- - In R, the geographic centroid can be found with `st_centroid` ```r states = st_transform(states, 5070) centroid = st_centroid(states) ggplot() + geom_sf(data = states) + geom_sf(data = centroid) + theme_void() ```  --- # Buffers Buffers are polygons representing the area within a given distance of a geometric feature: ```r buffer = st_buffer(centroid, 100000) ggplot() + geom_sf(data = states) + geom_sf(data = centroid) + geom_sf(data = buffer, fill = NA) ```  --- ### Combining centroids, with buffers, with clips ```r states = st_transform(states, 5070) centroid = st_centroid(states) buffer = st_buffer(centroid, 100000) ggplot() + geom_sf(data = states) + geom_sf(data = centroid) + geom_sf(data = buffer, fill = NA) + geom_sf(data = st_intersection(cities, buffer), col = "darkred", size = .5) + theme_void() ```  --- ```r plot(st_buffer(states$geometry, 100000), border = 'red', col = NA, lwd = 3) plot(states$geometry, add = TRUE) plot(st_buffer(states$geometry, -50000), add = TRUE, border = 'blue', lwd = 2) ```  --- #How many people live within 50 km of the Mississippi System? -- ```r # Global River Shapefile filtered to the Mississippi System miss = read_sf('data/majorrivers_0_0/MajorRivers.shp') %>% filter(SYSTEM == "Mississippi") %>% st_transform(5070) ``` ```r miss_buff = st_buffer(miss, 50000) ``` --- ```r ggplot() + geom_sf(data = usa, lty = 3) + geom_sf(data = miss_buff, fill = NA, size = 1) + geom_sf(data = miss, col = 'blue', alpha = .5) + geom_sf(data = miss, col = "blue") + theme_linedraw() ```  --- ```r union_buff = st_union(miss_buff) ``` ```r impacted_cities = cities[union_buff,] ``` --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r *ggplot() ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + * geom_sf(data = union_buff, fill = NA, size = 1) ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + geom_sf(data = union_buff, fill = NA, size = 1) + * geom_sf(data = impacted_cities, aes(col = population), size = .01) ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + geom_sf(data = union_buff, fill = NA, size = 1) + geom_sf(data = impacted_cities, aes(col = population), size = .01) + * scale_color_viridis_c() ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + geom_sf(data = union_buff, fill = NA, size = 1) + geom_sf(data = impacted_cities, aes(col = population), size = .01) + scale_color_viridis_c() + * geom_sf(data = miss, col = 'blue', alpha = .5) ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + geom_sf(data = union_buff, fill = NA, size = 1) + geom_sf(data = impacted_cities, aes(col = population), size = .01) + scale_color_viridis_c() + geom_sf(data = miss, col = 'blue', alpha = .5) + * theme_linedraw() ``` ] .panel2-q12-auto[  ] --- count: false #Mapping Cities along Mississippi .panel1-q12-auto[ ```r ggplot() + geom_sf(data = union_buff, fill = NA, size = 1) + geom_sf(data = impacted_cities, aes(col = population), size = .01) + scale_color_viridis_c() + geom_sf(data = miss, col = 'blue', alpha = .5) + theme_linedraw() + * ggrepel::geom_label_repel( * data = slice_max(impacted_cities, population, n = 10), * aes(label= city, geometry = geometry), * stat = "sf_coordinates" * ) ``` ] .panel2-q12-auto[  ]  --- # Compare to Intersect Estimate ... .pull-left[  ] .pull-right[  ] --- # Assignment - In your `docs` folder create an Rmd - install `rmapshaper` - Get the CONUS state borders from `USABoudaries::us_states` - Play with both `st_simplify` and `ms_simplify` - Find the `dTolorance` and the `keep` parameters you feel maintain a desired shape and topology - Find the number of points in the raw data and in your simplifications using `mapview::npts` - In your Rmd, create a map for the raw, and each simplified geometry and report the number of points in each --- class: center, middle # Submission Knit your Rmd file Submit the resulting html document to Gauchospace


Achievement, Autonomy, Challenge, Competence, Control, Creativity, Credibility, Efficiency, Free Time, Freedom, Independence, Insight, Justice, Knowledge, Meaningful Work, Money, Persistence, Pleasure, Privacy, Recognition, Security, Self-Reliance, Stability, Wealth, Will-Power, Wisdom.
We were given a list of words and asked to identify which of them came to mind when considering the happiest, proudest, or most satisfied we'd ever been. I chose the words above. We were also asked to rate, on a scale of 1 to 5, how much we try to live up to these values. I would give myself a score of 4 in that regard. The words I chose represent qualities that I value and hope to achieve greater embodiment of.
Of the words I chose, I would say that Self-Reliance is the most important to me. Being able to support myself, independent of outside influence, has always been a driving force in my life. Most skills that I have today I gained by teaching myself, a skill that is the pinnacle of self-reliance. Those who are able to teach themselves let nothing stand in their way on the path to knowledge.
When I think about my values my feelings are dependent upon my recent actions. If I have been living up to my core values it makes me feel strong and confident, whereas if I have not been living up to my values I feel ineffective and weak. I believe that living up to ones values is a valuable defense against stereotype threat. A strong sense of self-identity can help mitigate feelings external perception. When we know exactly who we are and what we stand for we stop caring as much how other people see us.


--- title: My plea to you today is to start a side project. Scratch your own itch. Be creative. Share something with the world, or keep it to yourself. date: '2009-10-23T17:07:00+05:30' tags: [] tumblr_url: https://sureshshanmugam.com/post/220852102/my-plea-to-you-today-is-to-start-a-side-project ---
My plea to you today is to start a side project. Scratch your own itch. Be creative. Share something with the world, or keep it to yourself.—Chris Wanstrath, http://gist.github.com/6443


Scroll Down
February 2019
January 2019
Niyantra 2018
Structura 2018
This website is best experienced in potrait mode.
Please rotate your device


5 March 2004
From January 1 to 3 March, the Ministry of Health of Indonesia has reported 23 857 hospitalized suspected dengue cases including 367 deaths( see previous report).
The majority of these cases are from the provinces in Java, South Kalimantan, South Sulawesi, Bali, East and West Nusa Tenggara and Aceh. Den-3 is the most common serotype circulating, although all four serotypes are present. The health authorities are carrying out tests to determine the specific virus strain responsible for this outbreak. The government is providing free hospital treatment to those dengue patients who cannot afford it.
The local health authorities are conducting intensive vector control activities including larviciding, space spraying and sensitizing the community on how to protect themselves and the actions they can take to prevent the mosquitoes from breeding in and around their homes.
WHO is working closely with the Ministry of Health to control the outbreak.


Candice Moreau
About Me
(current)
Skills
Portfolio
Contact
Contact
Candice Moreau
Email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>
GitHub profile
LInkedIn profile
Resume


--- title: Dr. Nikola Konstantinov position: post doctoral researcher image: nikola2.jpg email<EMAIL_ADDRESS>office: CAB E74 website: https://nikolakon.github.io/ cv: https://nikolakon.github.io/assets/Konstantinov_Nikola_CV.pdf ---
I am a postdoctoral fellow at the ETH AI Center, working under the supervision of Prof. Martin Vechev and Prof. Fanny Yang.
My research interests lie in the area of trustworthy machine learning, with a focus on robustness and fairness.
Please refer to my website for a list of publications.
{% include get-publications.html filter="person" key="Nikola Konstantinov" %}


UTC +1, Summer time UTC +2 from the end of March to the end of October.
Voltage: 230 V
Frequency: 50 Hz
Swedish Krona (Skr) of 100 öre.
Credit cards widely accepted.
Besides banks, money can also be exchanged at Forex
exchange offices, and at post offices showing the PK Exchange
sign.
International Dialing Code for Sweden is +46.
Mobile telephones are widely used in Sweden. You can link up to the Telia, Tele2, 3 or Telenor GSM networks ( 900 & 1800 Mhz).
Maps showing the coverage of these networks can be accessed on the Internet.
Mobile phones cannot necessarily be used for emergencies – in the mountains, for example, there might be no coverage!
Internet & mail services - Most airports, train stations, public libraries (free) and hotels will offer the service of computers with Internet access. There are also various cafés with internet terminals in most cities.
Dial 112 (free from payphones) includes police, fire, ambulance and sea rescue.
Distress and urgency signals are broadcast on VHF Ch 16 or 17.
24-hour NHS emergency number Tel. 112. The casualty department at a hospital is called Akutmottagning or Vardcentral in more remote areas.
The Swedish equivalent of the RNLI is Sjoraddningssallskapet provides an assistance service as follows - Free assistance for offshore breakdown - Free tow to the nearest port - Help in contacting boatyards, maritime engineers or relatives. For further details contact Gunnar Arwidson, Sjoraddningssallskapet - Tel +46 31 29 00 90 or email<EMAIL_ADDRESS>IMRAY AND ADLARD COLES PILOT BOOKS are available at a discounted price for Noonsite.com users via World Cruising Club.
The Swedish Cruising Club publishes a brochure about visitors' harbours in Sweden, Swedish Guest Harbours, while plans of ports and anchorages on the east and south coasts, Seglarhamnar pa Ostkusten, are published by the Swedish Cruising Club.
The Baltic Sea
RCC Pilotage Foundation
Publisher: Imray,Laurie,Norie & Wilson Ltd 3rd edition May 2010
ISBN 978<PHONE_NUMBER>
For review click here
Norwegian Cruising Guide, including Spitsbergen
Edition published February 2013
Available as an ebook and in print
www.norwegiancruisingguide.com
Arholma - Landsort and Gotland
By Lars Hassler and Lars Granath
Publisher TBC - Edition: 1st (English)
ISBN<PHONE_NUMBER>442
The English edition of the Swedish pilot covering the Stockholm archipelago and the island of Gotland. Full coverage of harbours and anchorages with navigational detail, descriptions of facilities. and lots of background information. The guide is well illustrated with coloured harbour plans, charts and aerial photos. See www.nautiska.com (in Swedish only).
Landsort to Skanor
By Catharina Soderbergh
Publisher Nautiska Forlaget
ISBN<PHONE_NUMBER>749
Edition 1st (2009)
The pilot Landsort-Skanor covers the coastal area from Landsort and the whole southern coast down to Skane, a total of 400 nautical miles. The pilot also includes the island of Oland, the Danish island of Bornholm and Christanso, the Swedish heartland water passage Gota Canal and the large lake Vattern. This is an English version and presents harbour facts and detailed information of some 190 natural harbours and 147 guest harbours.
The Cruising Almanac 2015
By Cruising Association and Imray
Publisher Imray (2015 Edition)
ISBN<PHONE_NUMBER>771
Covers North West Europe from Shetland and southern Norway to Gibraltar and West Ireland to the Baltic. Fully revised and additional plans. Available as Imray Nautical Apps for iPad users. Free updates approximately every two months.
www.visit-sweden.com
Swedish Travel & Tourism Council
www.SXK.se
Swedish Cruising Club
www.gasthamnsguiden.se/
Information about more than 500 marinas and natural harbours in Sweden. Free online, in print and for both iPhone and Android.
www.dockspot.com
Book Marinas online.
www.balticmarinas.com/article/archive/228/
Information on marinas in Sweden.
Noonsite welcomes information and updates especially regarding clearance, customs and immigration procedures from cruisers visiting this country.
Please E-mail noonsite with any new information, updates or corrections. Even just a short email confirming that the current data is accurate would be most helpful.


{# name = Software Carpentry - How good are the Best Practices? #} {% extends "base.html" %} {% block body %}
< Back to home


delete(id: string): Observable< ResponseStatus >
delete() method is used to removed a T object in database with a DELETE http request and returns a response with ResponseStatus type.
delete() method needs that your app respects the Genese standards :
* You must add a genese param to your model like this :
{{model | json}}
* The endpoint must wait a DELETE method.
* The api path must respect the REST api standards for a create() method, just like this :
http://my-path/book/id
In this example, the delete() method removes a book with the help of the NestJS backend.
Open your navigator console. In the tab "Network", you'll find the data received from DELETE request.


Test::Int::Scheduling::CumulativeAssignment Class Reference
[Scheduling constraints]
Inherits Test::Int::Assignment.
Detailed Description
Class for generating reasonable assignments.Definition at line 94 of file scheduling.cc.
Public Member Functions | |
| CumulativeAssignment (int n, const Gecode::IntSet &d) | |
| Initialize assignments for n0 variables and values d0. | |
| virtual bool | operator() (void) const |
| Test whether all assignments have been iterated. | |
| virtual void | operator++ (void) |
| Move to next assignment. | |
| virtual int | operator[] (int i) const |
| Return value for variable i. | |
| virtual | ~CumulativeAssignment (void) |
| Destructor. |
Constructor & Destructor Documentation
| Test::Int::Scheduling::CumulativeAssignment::CumulativeAssignment | ( | int | n, | |
| const Gecode::IntSet & | d | |||
| ) | [inline] |
Initialize assignments for n0 variables and values d0.
Definition at line 103 of file scheduling.cc.
| virtual Test::Int::Scheduling::CumulativeAssignment::~CumulativeAssignment | ( | void | ) | [inline, virtual] |
Member Function Documentation
| virtual bool Test::Int::Scheduling::CumulativeAssignment::operator() | ( | void | ) | const [inline, virtual] |
Test whether all assignments have been iterated.
Implements Test::Int::Assignment.
Definition at line 112 of file scheduling.cc.
| virtual void Test::Int::Scheduling::CumulativeAssignment::operator++ | ( | void | ) | [inline, virtual] |
Move to next assignment.
Implements Test::Int::Assignment.
Definition at line 116 of file scheduling.cc.
| virtual int Test::Int::Scheduling::CumulativeAssignment::operator[] | ( | int | i | ) | const [inline, virtual] |
Return value for variable i.
Implements Test::Int::Assignment.
Definition at line 122 of file scheduling.cc.
The documentation for this class was generated from the following file:
- test/int/scheduling.cc (Revision: 7299)


Client-Server architecture
Main HTTP methods
Applications architecture
Applications architecture
Applications architecture
What is done
-
Client part is ready! (js / html / css)
-
We know how HTTP works (XMLHttpRequest / AJAX)
What needs to be done
-
Write server part on Java
-
Tune interaction between Client and Server
Servlet
Java class which responds to a particular type of network request - most commonly an HTTP request
Interface javax.servlet.Servlet
Interface javax.servlet.Servlet
public void init(ServletConfig config) throws ServletException;
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException;
public void destroy();
Class hieranchy
Ground Rules
-
All servlets must implement this interface
-
All methods of interface Servlet are invoked by servlet container
Servlet Container
component of a web server that interacts with Java servlets
Container responsibilities:
Servlet lifecycle
URL mapping
Access rights
Servlet lifecycle
How it works?
How it works?
HttpServlet service()
HttpServlet service()
} else if (method.equals(METHOD_POST)) {
doPost(req, resp);
} else if (method.equals(METHOD_PUT)) {
doPut(req, resp);
} else if (method.equals(METHOD_DELETE)) {
doDelete(req, resp);
} else if (method.equals(METHOD_OPTIONS)) {
doOptions(req,resp);
} else if (method.equals(METHOD_TRACE)) {
doTrace(req,resp);
Custom Servlet
-
Extend HttpServlet
-
Add @WebServlet Annotation
-
Override doGet / doPost / doPut / doDelete
Custom Servlet
Custom Servlet
Custom Servlet
Http Servlet Response
What is WAR ?
web application archive that can be deployed on any servlet container. The .war file contains server-side classes, jsp, html, javascript etc.
WAR structure
Tomcat
Under the Hood
How it works?
How to install standalone?
-
-
Unpack
-
set JAVA_HOME var
-
set CATALINA_HOME var
-
update PATH var
%JAVA_HOME%\bin;%CATALINA_HOME%\bin
How to run (Windows / Linux)?
-
run startup.bat or ./startup.sh from console
Check
TODOs 4.0 = same UI + new back-end
Main reasons
-
Need to automate process of deployment
-
Dependency Hell
-
Universal Tool (not coupled with IDE)
What is Maven?
-
Command line tool
-
Dependency manager
-
Building tool
How to install Maven?
-
Download
-
Unpack
-
set M2_HOME var
-
Add $M2_HOME/bin to PATH
Check installation
mvn -v
Project Object Model (POM)
-
version - identify version of the project (1.0, 1.1, etc.)
-
groupId - identify project uniquely across all projects
-
artifactId - name of jar / war without version
Maven Lifecycle
How does Maven work?
How to find dependencies?
Google it


ANVIL VENTURES & OUR 3 BASIC DIFFERENTIATORS
In my earlier post, I detailed some of the things that my new venture will be doing and I alluded to more information being forthcoming. The firm’s name is Anvil Ventures. Anvil Ventures has set out to solve some problems in what we believe is an important segment of our industry. Information security is a very broad field. What we are talking about is the upper tier of information security consulting. We would define this as the areas of information security with solutions and services which cannot be easily commoditized. Specifically, we are talking about the upper tier of information security consulting with focus on penetration testing and Security Development Lifecycle ("SDL") work. At the current time, we are not planning on doing auditing, certification, Governance, Risk, Compliance ("GRC") work and the like. However given right opportunities in the future we might consider branching out into different areas at some point.
I have been asked by multiple people, “Yeah, so what will differentiate Anvil from the other upper tier infosec consulting firms?”. This is a great question:
DIFFERENTIATOR ONE
Anvil Tenets in the Information Security World – If you did not get a chance to read my post about the Anvil Tenets available here:
I have heard that these seem pretty basic. Duh. They are. Unfortunately, in our world, these very basic things are lacking in most firms. I could get into why I believe it to be the case but it’s not that important. I think that information security consulting is a relatively new business model and there should be a lot of room to grow. And please do not assume that I am talking about all the information security consulting firms out there. I have interacted with a number of firms and individuals over the years who are very professional and display ethically sound behavior.
DIFFERENTIATOR TWO
Anvil People and Culture – At Anvil, we believe that people and culture are key. Empowering our partners and their teams is the key to providing the best possible services to our clients. All of us have been involved in information security and understand and appreciate the culture. We believe that there is an intersection between intelligent, professional management, empowered to build a business and genius technical capability that can solve real world problems and help to create a safer world. And the best and brightest tend to want new challenges looking at different technologies to stay interested and focused. They tend to have trouble in large corporate environments with limited scopes for extended periods of time.
DIFFERENTIATOR THREE
Anvil Mission – Here is the big thing about Anvil: we are a partnership. Our partners run their own businesses with an infrastructure that provides the support services that are sorely lacking in many small, elite firms. When we look at the market, having a real stake in a business with the ability to “exit” is missing in most, if not all, firms. Most firms that we have seen get scooped up by the big guys with nearly impossible earn-outs and the big guys move on to the next one. Many firms are owned by single people with ideas of explosive growth, going public and other types of business plans that have yet to come to fruition. However, these ideas benefit just a very small group of people and oftentimes, only one person. How is innovation and growth overall going to come to the industry when so much of the money is sitting in the hands of so few people? It’s not. So, we are changing that dynamic. To do that we do the following:
First: we are limiting our partner count and are working on a detailed partner agreement which will allow us to bring in partners directly, bring in companies as partners and to look at interesting models for exit.
Second: we are figuring out our technical path for ownership through an Employee Stock Option Pool (ESOP). All of this is designed for the obvious purpose: people who are vested are invested: this results in quality improvement for our clients. Growth becomes a function of value creation with a real purpose.
WE ARE EXCITED FOR THE FUTURE
As long as we stick to our tenets, growth is something that can be looked at through diversification, acquisition or other avenue without watering down of the service level, technical capability or anything else.
Third and Finally: I have committed to allowing the partners (at a certain point) to control the business. I will take a back seat and eventually exit the business with a new managing partner to be named. I want this business to be a model that is reflective of the hacker culture by embracing a model that provides the best information security services in the industry and creates a partnership of the best and brightest that far outlives me (because, according to many of my young punk friends, I am super old ;-).
So, we are striving to create an environment where quality reigns for the benefit of clients, employees and the community. We want to inject more knowledge and capital into the upper tier information security consulting world. The goal is to make the world a safer place one step at a time. We understand that changing the paradigm for corporate structure may not seem like a big deal but it is a step in the right direction. And, at a minimum, for the clients and employees of Anvil, it will mean a great deal. All of us have worked at the upper level of information security consulting and we will continue striving for this level of technical excellence bounded with professional mooring and a partnership focus.
There is a lot that I am not saying here that will come later.  ;)


Numeric Directive when applied to input element restricts the user from entering anything other than numbers.


Features and Requirements List
Features:
Searches plain text, HTML, and XML
Word or phrase searching
Fuzzy matching
(planned) Incremental updating of indexes
(planned) Indexing of remote web sites
Requirements:
Python 3.2 or higher
Enough disk space to hold the indexes (approximately 2x original data size)


Accept mail for users' real names?
If this option is enabled, sendmail will accept email where the username part
is a user's real name rather than just their login name. For example, if the
user Joe Bloggs with login jbloggs existed on your system, you could
send mail to him at<EMAIL_ADDRESS>as well as<EMAIL_ADDRESS>.


Objective: Do not eat your self but the pink rects
Controlls:
Mobile Users: Toggle the box labeled 'Mobile' and refresh the page


To find Los Angeles–area stage and film acting schools, teachers, and coaches, click here to search Backstage's Acting Schools database.
Each of the entries contains the following information, if applicable: name of teacher or school, address, phone and fax numbers, email address and/or website, average number of students per class, whether beginning, intermediate, or advanced students are taught, whether auditing is permitted, whether classes are ongoing or by sessions, any special emphasis used in classes or coaching, whether a work/study program is offered. Descriptions of the class, school, or coaching are provided by the instructor or institution and edited by Backstage.
Also, you can find additional schools and coaches in the Backstage Yellow Pages.
Schools and coaches who have been omitted may contact listings {at} backstage.com regarding inclusion in the Acting Schools database. Schools and coaches can also self-post listings and media-enhanced ads in the Backstage Yellow Pages. Contact Backstage's Advertising Department for additional marketing options.


Jaypatrick Manalansan
310.308.1074
<EMAIL_ADDRESS>151st PL NE, Bellevue, WA. 98007
Download ResumeHello! I am currently looking for employment in the Seattle area.
310.308.1074
<EMAIL_ADDRESS>151st PL NE, Bellevue, WA. 98007
Download Resume


Hi, I'm James Tang and thank you for playing! Originally started as a simple card-matching game, I decided to add a Peanuts theme because I've been a fan of Snoopy since childhood.
I used HTML, CSS & Bootstrap to display and style the game while using JavaScript (written in OOP) for game functionality. As one of the first projects started when I began to learn how to program,
I struggled with applying JavaScript and jQuery for the card logic and DOM creation. I came back to start the project from scratch after 2 months and was happy to find that what challenged me initially had turned into a piece of cake.
Please feel free to visit my GitHub or Portfolio for more of my projects. Thank you!