Bills fans bring the Buffalo spirit to Hard Rock Stadium Bills fans party in the parking lot before the Nov. 17, 2019, game against the Dolphins at Hard Rock Stadium in Miami. 17 Nov 2019, 05:00 James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News James P. McCoy/Buffalo News Related content


--- layout: post title: Guess the number [python] date: 2014-10-22 02:12:33.000000000 +02:00 type: post parent_id: '0' published: true password: '' status: publish categories: - Linux - Python tags: - python meta: _edit_last: '49460244' publicize_facebook_url: https://facebook.com/10203695088112680 geo_public: '0' _wpas_done_3508581: '1' _publicize_done_external: a:1:{s:8:"facebook";a:1:{i:1081800551;b:1;}} _wpas_skip_3508581: '1' author: login: mpho112 email<EMAIL_ADDRESS>display_name: Mpho first_name: '' last_name: '' ---
The following weeks mini-project was starting to get a bit trickier.
A simple game called, "Guess the number"
[sourcecode language="python" wraplines="false" collapse="false"]
# http://www.codeskulptor.org/#user38_p561LbO9KO_0.py
# http://www.codeskulptor.org/#user38_SeTv0Tz7E7nAlil_11.py
# Mini-project #2 - "Guess the number game"
# Created by Mpho "!nerd" Mphego - Marion Island SANSA Engineer 2014-2015
#
# 'Introduction to Interactive Programming in Python' Course
# RICE University - https://class.coursera.org/interactivepython-005
# by Joe Warren, John Greiner, Stephen Wong, Scott Rixner
# One of the simplest two-player games is “Guess the number”
# The first player thinks of a secret number in some known range while
# the second player attempts to guess the number. After each guess,
# the first player answers either “Higher”, “Lower” or “Correct!”
# depending on whether the secret number is higher, lower or equal to the guess.
# http://www.codeskulptor.org/#user38_SeTv0Tz7E7nAlil_12.py
try:
import simplegui
except:
import SimpleGUICS2Pygame.simpleguics2pygame as simplegui
# To run simplegui in idle python, install SimpleGUICS2Pygame module
# download module : https://pypi.python.org/pypi/SimpleGUICS2Pygame
import random
import math
# Global Variables
secret_number = 0
limit = 100
No_of_attempts = int(math.ceil(math.log(limit + 1 ,2)))
def new_game():
global secret_number,guess
secret_number = random.randint(0, 100)
def range100():
global secret_number, limit, No_of_attempts
limit = 100
secret_number = random.randint(0, limit)
No_of_attempts = int(math.ceil(math.log(limit,2)))
#print "Lets Play A Game!!!\n"
print "\nNew Game.\nGuess a number between 0 to 100"
print "You have about %s attempts at this!" %(No_of_attempts)
def range1000():
global secret_number, limit, No_of_attempts
limit = 1000
secret_number = random.randint(0, limit)
No_of_attempts = int(math.ceil(math.log(limit,2)))
print "Lets Play A Game!!!\nGuess a number between 0 to 1000"
print "You have about %s attempts at this!" %(No_of_attempts)
def input_guess(guess):
global No_of_attempts, secret_number
try:
guess = int(guess)
# print No_of_attempts
#print "\nYour guess was", guess
# print "You have %s "%(No_of_attempts)
No_of_attempts -= 1
if No_of_attempts > 0:
print "\nYour guess was", guess
# for No_of_attempts in range(No_of_attempts):
# print guess, secret_number, No_of_attempts
# No_of_attempts -= 1
if (guess > secret_number):
print "Go Lower!!!!!"
print "No. of Attempts left:",No_of_attempts
elif(guess < secret_number):
print "Go Higher!!!!!"
print "No. of Attempts left:",No_of_attempts
else:
print "\nCorrect!!!\n"
print "You guessed it right!!!\nCorrect number was %s, you had %s attempts left...\nChoose a New game. " %(secret_number, No_of_attempts)
#break
else :
print "\nTime up, You Lost\nCorrect number was %s"%(secret_number)
print "Try again a new game."


LOOKING
FOR A
Sugar Daddy
Sugar Baby
PROFILE
PHOTO
Show
All
AGE:
Older than
AGE:
Younger than
MILES
from searched location
Exit
SEARCH BY LOCATION
Search
SEARCH BY USER NAME
Search
To Change Selection Criteria, select below::
LOCATION
USERNAME
Back
Next
Back
Next
Back
Next


PRINTED
Thursday, November 01, 2012
Mae didn’t sleep well last night so she slept in after first getting my breakfast ready for me to finish. I got a call before leaving for my run from Kate, to tell me that she is taking off today and that I will have a substitute on my bus. My sub arrived in time and the run went well. Becky did a good time job caring for the children. In between the AM and PM runs I put the shell back on the pickup and installed my new trolling plate. The holes did not match the ones on the motor. When I compared the old trolling plate I realized that the original trolling plate had been re-drilled so I re-drilled the new plate and it worked great. Mae had dinner ready when I got home. I had time to take a short nap and then I went to a meeting with Brother Morgan and Brother Higgley. We discussed the organization of our Home Teaching. Mae went to a meeting with Jennie Porter. She didn’t get home until 9:30PM.
Friday, November 02, 2012
Mae didn’t sleep well so I got myself off to work. I forgot that today is Friday and therefore go in ½ hour later until I got to the bus compound. I decided to take advantage of some extra time and took the bus up top and filled the coolant as it was low. I called Kate to tell her that I was up top but she is still sick. I told her that I had better look for my sub-assistant. At that I heard someone say “Here I am” and I looked and it was Becky, the one that rode with me yesterday. After filling the coolant I still had extra time so I drove over to the fuel pumps. I just shut the bus off when Lois called me. She told me that Rich had passed away about 5:30AM in his sleep, very peaceful. In my personal prayers this morning I had the feeling that Rich would soon pass on. Although we will miss him I sure have a good feeling about it. Elise told me that one of the granddaughters made the comment that Grandpa can now see colors. My run went well and when I got home I started calling family members. I had called most of them and still had time to take a short nap before going on the PM route. Just as we were finishing the run the announcement came over the intercom that HAFB had a Red Alert and the buses could get on the base but no one know how it would be before they could get off the base. The Dispatch called for help with some of the schools to take children home. After talking to my assistant I called in and told them that we had just let the last child of at her home so could help. We were asked to take bus 302’s Special Ed children home from Syracuse High. We went there and picked up 5 children and the teachers gave us addresses. It took us quite a while even with Dispatch’s help to find the homes without any route sheets. When I finished and went home Mae and I drove to a home in West Point and got a box of toilet tissue that Sandy had ordered for us. We then went to Chick-felt and had a sandwich and fries. We then drove to the Layton Park and walked around for a little while. It is sure fun being with Mae. After getting home we gathered the eggs, Barbara returned my call from earlier, she also gave me Billie’s number and I called him and I typed this entry before we went to bed. We watched a show before going to sleep.
Saturday, November 03, 2012
Neither of us slept very well last night so it was we didn’t get up until 7:30. We went to the Bountiful Temple and went on the 10 AM session. We got home at 1PM. I worked on my boat for a while but then had a 4PM Stake Conference Priesthood session that I attended. When I got home from that we had to hurry and eat and then went to an open house for Brett Ericksen and his new wife Kylie. We only spent a few minutes there and then went to our Stake Center for the evening session of Sake Conference. When we got back home I did some more work on the boat. Mae then went with me and we went to Wal-Mart and bought some Silicone. We then went to Maverick and fueled the boat and pickup. It’s getting late but we are going off Day Light Saving Time.
Sunday, November 04, 2012
We were able to sleep in a little as this morning is our Stake Conference. The conference was very good with very inspirational talks and Sister Fallas did a very good job with a Stake Youth Choir. Bob prepared a nice dinner for Mae and I after we got home. This evening Mae and I went over to Jeff’s. Jeff and Gail had the kids all fed and a vitio on for them. Jeff had popped pop-corn and was ready when we got there. We played a game of Rook and quite when Mae and Gail got out of the hole, while Jeff and I were still in the hole. We then played one hand of Rummy. Even with that it was about 8PM when we got home. we quickly got thing ready for me to go in the morning.
Monday, November 05, 2012
I got up and left at 3:45AM. I picked up Randy at 4AM and we met Nick in Sugar House at 4:30AM. We got to Strawberry and was on the water about 6AM. We fished for almost 3 hours with only get one bite. My Fish Finder is not working plus there was a screw hole that I didn’t get plugged so we had water entering the boat. We were very glad that the bilge pump was working. We moved to other areas on the lake and started catching fish. We fished all day and caught 4 large rainbow trout and 5 slot size cut trout. We had to relies several cut trout’s that we over 15 inches and less that 22 inches. I got home after 9PM and then had to clean all the fish before going to bed.
Tuesday, November 06, 2012
I took my AM run and it went well although Kate came back she still isn’t feeling very well. My 2nd child was 3 minutes late when they finally opened their door and was another 2 to 3 minutes before she got on the bus. I really should have drove off and left her. This put me behind and I could not make it up and so was late on the rest of my schedule. After the run I drove to Durk’s Plumbing and bought a pop-up assembly for the bathroom sink. After getting home I took a nap. Mae had me grill chicken for lunch. She thought that Scott was coming for lunch but he had a meeting and couldn’t make it. Bob ate lunch with us but we still had plenty to eat. I spent the rest of the time making calls concerning Rich’s funeral. My PM run went well. After dinner I filet the fish and packaged them. I got this entry done and then Mae and I watched a show.
Wednesday, November 07, 2012
Mae didn’t sleep well last night and so I let her sleep in and I got myself off to work. As I started my run I determined in my mind that if Kaylana wasn’t out by 7:45 am I would drive off without her. We got to her place by 7:41, 2 minutes early and she came out at 7:42. Everything else went smooth and we ended up at school 5 minutes early. After getting home, I had some toast and some juice, then I went to work on my boat. I finished getting it winterized and put away before noon. Mae went with Bob to the eye Doctor’s as he may need someone to drive him back. I lay down to take a nap when Shellie called. We checked the calendar and Mae and I will get back from her place on December 10. She will have Quint fly down to Salt Lake on the 11th and stay the night with us and we will take him to the M.T.C. on the 12th. I laid down and took a nap and though I had set the timer on the stove I slept thru it. I woke about ½ hour before I had to leave. Just as I was leaving, Stacy called with some questions about Rich’s funeral. I made it to work ok and the run went well. Mae had dinner about ready when I got home. I put the tools away and gathered the eggs before we ate. While eating we watched a show on TV. We also wrapped some presents for the grandchildren’s Christmas Party that Mae is holding. I went over to the church and helped Morgan Thomas set up chairs and tables for the funeral lunching of Sister Probert’s mother. I worked on my journal and we went to bed.
Thursday, November 08, 2012
I woke early so I lay back down with Mae for a few minutes. Mae is sure special and I am so grateful to have her for my Eternal Wife and sweetheart. My morning run went well and after getting home Mae and I decided to go to the viewing of Betty Joan Moulton, Jackie Probert’s mother. We were very glad and thankful that we did. Mae went back to the funeral to support Jackie. Bob and I raked the leaves and mulched them with the lawn mower. I took the pickup this afternoon as Mae had a lot of chasing to do. My PM run went well. I replaced the pop-up drain in the bathroom sink. That took me longer than it should have. After dinner I wrote more of my thoughts of Rich. Mae filled our pill boxes and worked on Christmas gifts.
Friday, November 09, 2012
It started to snow when we got up this morning. It really didn’t bother my route but many of the other drivers seem to have trouble with their routes. After getting home Mae and I had a grapefruit for a snack, then I took a nap. I worked on some of my remembrances of Rich. I also wrapped Mae’s Christmas present. Mae was going to have chicken breasts for dinner so I set up the grill and cooked them outside in the snow storm. Sandi was later getting here as they really got a lot of snow out in Tooele. After dinner Sandi, Mae and I played some games. We quit and got ready for bed as we want to leave by 7:30 in the morning.
Saturday, November 10, 2012
I woke early and found that Mae was also up early. Mae made breakfast of waffles and as always they were very good. We got over 6” of snow during the night. I was concerned about the driving condition so we took Sandi’s truck. I put a shovel and my tow chain and brought boots and coveralls just to be safe. We stopped at Lowes and I bought two bags of salt to have in the back of the truck for extra traction. As we left the roads were looking bad but the further we went the better the roads were. Gail called us and they were about 30 minutes ahead of us. They said that the roads were good until you got to Malad and then the bridges and overpasses had black ice. He warned us to be careful at those areas as they already saw some cars that were wrecked and off the road. We then found out that Scott and his family was just a few minutes behind us. It took us just 2 hours to get to Pocatello. The funeral was well attended with the chapel over flowing. Almost all of Rich’s children and their spouses, grandchildren and spouses and great grandchildren along with many other family and friends plus so many ward family. The program was very well planned with the theme being the D & C 6:7 “Behold he that hath Eternal Life is Rich”. Rich’s daughters read a life history that Rich had written. Rex gave a talk and did a very good job in tying in Rich’s life, the love he had for Lois, his family and the testimony of he lived of the Gospel of Jesus Christ of Latter Day Saints. Following the Chapel services the Pocatello Veterans Honor Guard presented Military Honors at the cemetery. At the conclusion the Mink Creek Ward Relief Society served a wonderful meal for the Family members. We enjoyed visiting with many that we only see on special occasions such as this. We had all but Shellie of our children that attended Rich’s funeral. Bob, Sandi, Mae and I returned home at 3PM with Sandi taking another 1 ¾ hour to get to Tooele. Mae and I watched 2 Hallmark shows on TV before going to bed.
Sunday, November 11, 2012
I woke about 5am and Mae was already up as she didn’t sleep the best. Although today is Fast Sunday, Mae started getting things ready for dinner as Jeff and Scott’s families will be here for dinner. It was cold last night but we didn’t get any more snow. We attended our meetings and then we stayed for choir practice after the block. Mae started right on preparations for dinner. I helped her and then we took a nap. I started an indexing batch before Jeff and Scott’s families arrived for dinner. After doing up the dishes we played a game. After our family left for home I helped Mae clean up the house. I then finished a batch of indexing and filled out my journals before Mae got ready for bed
Monday, November 12, 2012
Mae and I both slept fairly well last night. Mae got me off to work with a lunch because I had a CPR class to attend from 9:30am to 12:30pm. I didn’t finish my AM run until 9:15am and then had to start the pm run at 1PM, finishing at 4pm. I was tired when I got home. After Mae got me off to work she did the washing, made the beds, cleaned the house and in her spare time folded and put away all the clothes. Bob prepared a nice diner for us and then I took a nap. I went over to Brother Frankcom’s at 6:30pm and worked with him on Indexing taking him through a batch and submitting it. We also visited for a little while. I filled out my journal and then we went to bed. Mae is sure a sweetheart and sure takes care of me.
Tuesday, November 13, 2012
Mae didn’t sleep very well last night so she slept in. She had prepared everything for my breakfast and my lunch. I had the same kind of a day as I did yesterday except that I fueled my bus and we left for the afternoon run earlier than we did yesterday. I got home at 4:30pm. Mae was still up to Jeff and Gail’s tending the children so Gail could attend the Temple. We had dinner and then I took a short nap. Brother Thomas and I went out visiting this evening. We visited Brother and Sister Zweifel to extend our sympathy for the passing of Brother Zweifel’s mother. We then visited with Steven and Renee Barker and Casey and Lisa Martindale about them taking the Family History class. Both said that they would. I don’t feel the best tonight.
Wednesday, November 14, 2012
I woke with a cold but just took some vitamin C and went. The run went well and we were happily surprised when the new bus loop at Burton Elementary was opened for use. That will make it so much easier than having to pull into the parking lot and worrying about children and cars. When I got home I went to bed for 1 ½ hours. Mae went into the Family History Center in Ogden at 11AM for training in Family Tree. She had made her very good vegetable that I had a large bowl of it for lunch before returning to work. My PM run went well. When I got home I mainly relaxed. Mae had book group to go to.
Thursday, November 15, 2012
We slept fairly well and I felt some better this morning. Mae prepared breakfast of egg omelet. My AM run went well and I was able to come home today between runs. Mae took Bob to the eye Doctor again this morning, then to another Doctor to check his hearing and found some infection in his ears. They then went to the Pharmacy to get a prescription filled. She came home and started dinner for us and Sherrie’s family. A nurse came at 3PM from our insurance company and gave Mae a physical and then stayed until I got home and gave me a physical. After she finished and left, we took dinner down to Sherrie. We then came home and ate dinner and watched a couple of shows on TV before going to bed. Neither of us feels the best tonight.
Friday, November 16, 2012
Mae didn’t sleep very well last night so I let her sleep in this morning. She sure is a wonderful wife and a sweetheart. I slept pretty well but I still have a cold that I am doctoring up. We only got one egg yesterday so I am thinking of butchering all the chickens and starting over next spring. My AM run went well. When I got home I spent most of the time working on Christmas cards. We are having trouble getting the envelopes to print. The return address came out wrong but the sending address printed ok. I had to hurry to eat before leaving. The PM run also went well and after finishing I used the shops computer to update my hours for the past week. When I got home Mae soon had dinner ready. We watched part of “Touched by an Angle” on TV. Mae went over to Scott and Mishelle’s to tend their children while they went out. I worked more on the Christmas card list. I watched most of “Lawrence of Arriba” on TV and it ended just before Mae got home. I wasn’t very impressed with it. When Mae got home I told her that I wished she had been home and then we could have watched the Netflix movie that came last. Mae looked at the CD and it is “Lawrence of Arriba” also. I told her to send it back. Mae twisted her leg while playing with the children. We hope it doesn’t get bad. I had her take some of my pain pills and muscle relaxers before she went to bed.
Saturday, November 17, 2012
Mae seems to have slept well. I woke about 6:30AM and read my scriptures. In my reading of the New Testament chapter 20 & 21 of Luke, I see that many of the signs of the second coming are evident and yet I think there is yet much that yet is to come. They could take place quite rapidly and yet I wonder if I will live to see the final cleansing and the coming of My Lord and Savior during my lifetime. I am grateful for that Testimony that does and has been with me from even my childhood. I am so grateful for my Eternal companion and her love. I feel very good at Rich’s passing and pray for Lois that she may feel comfort. I called Lois this morning to see how she is doing. At noon we went to South Ogden Jr. High to watch Connor play basketball. This is his second basket ball game and he seems to have enjoyed it. His team won by 1 point at the very end of the game. Mae and I stopped on the way home and got a Sub-Way sandwich for lunch. We came on home and I got feeling worse. Tyler had a game this afternoon but I didn’t feel well enough to go. By evening I felt much worse.
Sunday, November 18, 2012
I stayed home as I didn’t feel well. I slept a lot and watched several programs on BYUTV. This evening Mae and I watched a couple of Christmas shows on Hall Mark. I guess they were alright but they are all worldly. I fear that outside the Church there is very little that is not worldly. Just before going to bed Mae got a TEX letting her know that Deanna Davis passed away this afternoon. Mae had become very close to her and she sure helped Mae.
Monday, November 19, 2012
Mae didn’t sleep well last night so I got myself off to work. Work went well. Mae got up about 8AM and was still doing her morning exercises when I got home. I had a little snack and then took a long nap. Feeling much better when I woke I got on the computer and did a batch on Indexing. My PM run went well also. After getting home I created a form for sign in and out for our pre-school children. We attended Emily’s violin recital this evening. Emily did very well and it is exciting to see her improvement each time. David said that they never have to remind her of her practice, she does it on her own. After we got home I continued working on my form for the Pre-School children. It was after 10PM when we went to bed.
Tuesday, November 20, 2012
We slept well last night. That seems to be our age, worrying about how we sleep. I feel some better but this stuff is still working on me. I wasn’t feel very good when I returned home so I went back to bed for over 2 hours. I worked on my form but under the new Word Perfect it doesn’t allow changes like before. I guess they want you to use Excel and I am not trained on that. Bob cooked us a apple pie using Agave in place of sugar. It is sure good but we are a little concerned about the flour. Mae made a batch of bread using Spelt flower and that sure looks good. She made 5 large loaves and had dough left over so is making scones for lunch. My PM run went well and I have the rest of the week off because of the Thanksgiving Holiday. We watched a couple of shows on TV but was kind of disappointed with them.
Wednesday, November 21, 2012
We slept in this morning although I was up from 2AM until after 4AM when I finally fell asleep in the recliner. Mae made us wonderful waffles for breakfast. Time went fast and I haven’t felt very well today. Mae went to the funeral of Deanna Davis. She was quite an inspirational woman. I thought of watching TV but didn’t want to waist the day so I worked on indexing. It was after 5PM when Mae got home. I was just finishing the 2nd batch of indexing when she got home. We called Sandi and wished her a Happy Birthday. Our chickens laid 8 eggs today. I had planned on butchering them because they weren’t laying enough to pay for their food and other expenses. We turned the TV on while we ate dinner and ended up watching two Hallmark Christmas shows that were pretty good. During the commercial breaks (which on Hallmark equal 50 % of the time) we would push the mute button and read articles from the Ensign. We were able to get through three articles. In Elder Russell M. Nelson’s article “Ask the Missionaries! They can Help You!” we were still left pondering “What happened to two of our boys while they were on their missions”? I really don’t feel very well tonight. After typing this entry we went to bed about 11PM.
Thursday, November 22, 2012
I woke early and laid in bed for a little while. I finally got up and found that it was 4:40AM. I went into the front room and tried sleeping in the recliner but couldn’t. I got up and read my scriptures before again trying without success. At 8AM Mae came in and got me to go back to bed. After a while I got up and had some cereal with Mae for breakfast. I then started typing a story that I thought of about some of the events that took place in 1952 when we moved from Victor to Ogden. We went to Mimis, a restaurant in Salt Lake, where we met with Sandi, Chelci, Steve, Nathan and Addison, for Thanksgiving dinner. We had a very enjoyable visit and a very good dinner. Mae and I returned home and relaxed together. I am still not feeling the best so really didn’t feel like being with very many today. We played Sevens at which I won, Rummy at which Mae won and one set of Rummy Cube which Mae won. We watched two Christmas shows on the Hall Mark channel on TV. It was mid-night when we went to bed.
Friday, November 23, 2012
We slept in getting up about 8AM. I prepared our turkey and got it cooking while Mae got us some breakfast. I still wasn’t feeling very well so took some Tylenol and went to sleep in the recliner for a while. When I woke I worked on some of my personal history. Mae was busy preparing another Thanksgiving dinner for just Bob and the two of us. She also made a tossed salad for us to take up to Sandi and Nike’s condo tomorrow. The dinner was very good but I feel bad that Mae did so much work. This afternoon I worked more on my personal history. I was going to work on Indexing but the server is down and won’t let me in. Probably because of the Thanksgiving Holiday. We watched a show that we ordered on DVD “Calamity Jane”, with Doris Day. It was ok but kind of dumb. We took showers before going to bed.
Saturday, November 24, 2012
I woke before 5 am and couldn’t go back to sleep. I went back to bed just after 7am and slept for another hour. We ate breakfast, took care of the chickens and went to Park City. We spent the day with Sandi and Nick and their families. We played several games and enjoyed being with everyone. Mae and I came back home leaving there after 8PM. We are having trouble getting the trunk of the car to lock shut. It looks like I will have to replace the lock on the trunk. Mae took a shower and washed her hail before we went to bed. I still am not feeling the best.
Sunday, November 25, 2012
I felt some better this morning so I attended my meetings. When we returned Mae prepared a nice dinner left over from Thanksgiving. We invited Bob to join us. After dinner Mae and I laid down and took a nap. Georgia called shortly after we laid down so that ended Mae’s nap. I slept for about 1 ½ hours before I woke. I worked on some of my life history most of the rest of the day. I did take my Lap Top over to Glenn Higgley’s so he could order me a new battery pack for the computer. It was about 10PM when we went to bed. It sure takes me a lot of time to do my journal and write on my life history. Sometimes I question if it is worth while.
Monday, November 26, 2012
Neither Mae nor I slept very well. I got up about 11:15pm and Mae was up, she hadn’t gone to sleep. I went back to bed and slept almost too well because I had forgotten to set the alarm and it was 6:25am when I woke and I had to leave by 6:45am. I had to hurry. Things went well and knowing that Mae might still be asleep, I went to the Work Care Clinic and got a form for my Dr. to fill out stating that I have had a Sleep Apnea examination. When I got home Mae was just getting up. She hadn’t gone to sleep until almost 6am. I did some checking on a new latch for the trunk on the car and from the dealer it would cost $231.96 plus sales tax. I tried to find one on the computer but didn’t have any luck there either. Mae fixed me something to eat and I took a nap. When I got up I help Mae get the Christmas decorations out. It was then time to go again. I stopped in to Sherrie’s office and asked for Friday afternoon of. She approved it so now we will have no questions about getting to the airport in time for our flight to Arizona. My pm route went well. Roy called me while I was on the bus so I returned his call. He was just returning a call I made to him before Thanksgiving. They had been to their children’s for the Holliday. My run went well and when I returned to the bus compound I fueled the bus before going home. Mae had dinner ready when I got there. We watched a show on TV. Mae did more decorating for Christmas than she did watching the show. Shortly after 9PM we went to bed. I hope Mae can sleep better tonight.
Tuesday, November 27, 2012
We both slept better last night and so were up on time. After my morning run all Special Ed drivers and their assistance had a meeting to attend. After the meeting I went up to Jeff and Gail’s and fastened up a piece of soffit that was starting to hang down. Mae had lunch ready when I got home. Bob and I mulched the fall leaves. I also got on top of the carport and cleaned the leaves and branches of it. I took a 12 minute nap and then took my PM run. A couple of the pre-school children got a little unruly so Kate visited with their Mothers when we took them home. After dinner this evening Bob helped me set up the camp stove so that we can butcher more chickens tomorrow. We are not getting enough eggs to break even now. It was after 8PM so Mae and I watched a movie from Netflix before going to sleep. The movie was “The Trial of Old Drum”.
Wednesday, November 28, 2012
This morning was about normal. When I got home from the bus run I butchered two more chickens. I’m not sure but maybe I should have butchered all of them. Mae went into the Ogden Family History center and attended a class on the new Family Tree. Bob cooked us another apple pie and it is sure good, I had a piece of it before I left for the PM run. This evening Mae and I took some poinsettias around to Sister Fallis, Sister Shauna Hughes, Sister Olsen and Sister Southard. I will have some to take to my Home Teaching families tomorrow when Bob and I go Home Teaching. We watched a Christmas show on TV before going to bed.
Thursday, November 29, 2012
We got up and after breakfast I took my AM bus route. Mae went into the Ogden Genealogy library for another class. After my route I stopped and got some chicken food. I got the feeder filled for the chickens so that Bob will have little to do except gather the eggs. I trimmed the raspberry and the roses before getting some lunch. I took a nap and then started this entry. Mae got home before I woke from my nap. We took a poinsettia to the Casey’s, the Therman’s and the Johnston’s as Bob and I went home teaching this evening. It was 9:30PM when we got home. Mae and I soon went to bed.
Friday, November 30, 2012
I woke early with my mask bothering me. I slept the rest of the night in the rocker. Mae woke me but as it is Friday I have an extra few minutes so we just snuggled in bed for a few more minutes. My bus run went well. we did some packing, then Mae gave me a haircut. I thought everything was about ready so I laid down and took a nap. When I got up I found that Mae had gone out and cleaned the chicken nests. I was a little upset with her as she could have woke me to do that. She works to hard! We had lunch and then got ready for Bob to take us to the airport. Bob took us to the Ogden Airport, leaving about 1:45 PM. We were not sure how to get to the terminal and when we found it was so small and very few signs to direct us. We went inside wondering if we were at the where we should be. Bob waited for us until we were sure but we finally found the ticket counter and it only had two check in counters. By the time of departure there was a full plane of passengers. Alliance is the only airline that flies into the Ogden Airport and they only fly on Mondays and Fridays to and from Phoenix-Mesa airport. The air plane looked about the length of the old DC-10 that Hughes Air West use to fly but wider so that there were 5 seats across. It was a comfortable flight but there was no complementary refreshments served but I guess that is normal now and especially on short flights. The rout took us west and then straight south. We were soon above the cloud at 33,000 feet. The clouds broke and we were able to Lake Powel and were then back over the clouds until just before getting to Mesa and Queen Creek area. Roy and Shellie were at the airport to meet us. We stopped at the Wal-Mart grocery store where Mae and Shellie went in for just a few items. While they did that Roy and I went over to the pizza place and ordered pizza for the boys. When we got to Roy and Shellie’s they cooked fish (tilapia) , baked sweet potatoes and broccoli. Jase then wanted us to see their boat. It is very nice and you could about us my boat as a spare tire for it. We enjoyed visiting and then watched a movie “Felicia” that was a cute show. Quint and Kevis left shortly after we got here to go to some friends home to play games. They got home just after the movie ended. Before we went to bed, Kevis showed us some of his Karate moves. Quint also showed Mae some of his digital paintings. She was very impressed. We were tired when we went to bed after mid-night.


Network:
ChainId:
Accounts:
Basic Actions
Connect
eth_accounts
eth_accounts result:
Sign Typed Data V4
Sign
Result:
Verify
Recovery result:


Hello!
We noticed that you have stale resources that have not cost you anything for the last 3 months. Perhaps some of them are not needed any more? The resource names are:


NIBRA TRAVEL AGENCY
NIBRA Travel Agency is a first class Flight travel booking agent that connects travellers to the most affordable and convenient flights.
The flights are world-class and timely with organised booking procedures to fit traveller’s needs.
By visiting the services page travellers get to select the various flights according to their destination prefferences.
Let us serve you to heights you never imagined.
We bring wings to take you places, closer by just a click.
Fly with pride!
Choose NIBRA!


This is diff page content.
media queries. Media queries. Media queries! MEDIA QUERIES!
Under 400px wide, the body is red.
Between 401 and 599px wide, the body is green.
Greater than 600px wide, the body is blue.


|
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Classes | |
| class | K_B |
| class | K_component |
| class | K_sum |
| class | Functional |
Functions | |
| def | FillUpMatrices (F, a) |
| def | GetExponentialsCoefficients (functional, a0) |
Variables | |
| list | tis = [0.1, 0.3, 1., 3., 10., 40., 190., 1000., 6500., 50000.] |
| list | a0 = [0.2 for ti in tis] |
| int | tol = 1e-9 |
| int | max_iter = 10 |
| bool | still_changes = True |
| a = np.array(a0) | |
| a_old = np.array(a0) | |
| int | iteration = 0 |
| F = Functional(tis) | |
| grad | |
| H_inv | |
| def hinsberg_optimization.FillUpMatrices | ( | F, | |
| a | |||
| ) |
| def hinsberg_optimization.GetExponentialsCoefficients | ( | functional, | |
| a0 | |||
| ) |
| hinsberg_optimization.a = np.array(a0) |
| list hinsberg_optimization.a0 = [0.2 for ti in tis] |
| hinsberg_optimization.a_old = np.array(a0) |
| hinsberg_optimization.F = Functional(tis) |
| hinsberg_optimization.grad |
| hinsberg_optimization.H_inv |
| int hinsberg_optimization.iteration = 0 |
| int hinsberg_optimization.max_iter = 10 |
| int hinsberg_optimization.still_changes = True |
| list hinsberg_optimization.tis = [0.1, 0.3, 1., 3., 10., 40., 190., 1000., 6500., 50000.] |
| int hinsberg_optimization.tol = 1e-9 |


Project Editor
The Project Editor is displayed through the Project | Edit menu item and allows creating or modifying NUnit test projects. It should be noted that a Test Project is active whenever any tests have been loaded, even if no project was explicitly created or referenced. In the case of an assembly being loaded, an internal wrapper project is created. This allows the user to change settings and save the project directly without needing to perform any extra steps. The editor consists of a common area and two tabs, as seen in the image below.
Common Area
The common area of the Project Editor contains a label showing the full path to the project file, a dropdown combo box allowing selection of the configuration to be edited and a button, which opens the Configuration Editor.
General Tab
The General tab allows setting a number of options pertaining to the selected configuration, all of
which will be stored in the NUnit project file as attributes of the
ApplicationBase
The ApplicationBase defaults to the directory containing the project file. Beginning with NUnit 2.2.3, it may be set to any location that is desired.
Configuration File Name
The configuration file defaults to the name of the test project with the extension changed from .nunit to .config. The user may substitute another name.
PrivateBinPath
By default, the PrivateBinPath is generated from the assembly locations specified on the Assemblies Tab. For those applications requiring a different level of control, it may be specified manually or using this editor or placed in the configuration file.
Assemblies Tab
The assemblies tab contains the list of assemblies that form part of this test project. A checkbox is used to indicate which assemblies contain tests. This allows use of the automatically generated private bin path by including assemblies that the tests depend upon but leaving the box unchecked. The GUI does not attempt to load these unchecked assemblies but does use their locations in generating the PrivateBinPath and also watches them for changes, if automatic reloading of tests is enabled.
Note: Although the dialog shows the location of assemblies as absolute paths, they are always persisted in the NUnit project file as paths relative to the application base. This allows moving projects as a whole to a different directory location.
Add Assembly
Opens a dialog allowing adding an assembly to this configuration.
Add VS Project
Opens a dialog allowing selection of a VS project to be added to this project.
Edit Path
Opens a dialog allowing the user to change the path to the selected assembly in this configuration.
Remove Assembly
Removes the selected assembly from this configuration.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/cases.20on.20wrapper.20type.html ---
We have
def with_zero X := option X instance has_zero (with_zero X) := \< none \> instance has_coe X (with_zero X) := \< some \>
Now, if I have x : with_zero X
, and I run cases x
,
I get two cases, none
or some x
. However, this means that the option
-type is leaking through. I already have a ton of simp-lemmas and other API in the form of zero and coercions: 0
and \u x
. Can I somehow produce cases that manifestly stay in the with_zero
world, instead of leaking into the option
world?
I'm currently cleaning up a lot of with_zero
stuff. What is the correct thing to do here?
Does this mean that cases x
if just a "bad tactic move" if x : with_zero X
?
And instead people should use some lemma from an extensive API that is built to prevent this leakage?
Could you write a with_top.cases_on
lemma and do cases ... using with_top.cases_on
?
Hmmm, maybe that works. I will try in a moment.
It would be nice if cases
could pick up this cases_on
lemma by itself.
lemma one_div_eq_inv [group α] (x : with_zero α) : 1 / x = x⁻¹ := begin cases x using with_zero.cases_on, -- red lines under "using" refl, show (_ * _) = _, simp end
error: invalid 'begin-end' expression, ',' expected
cases
doesn't have using
induction
has it though
it basically never works, but try it anyway
induction
has it, but will not let you using it
It does!
The labels or a bit of though case a
and case a
. But anyway, that works.
Too bad that you can't use cases
. It reads more natural to me.

If you revert everything that depends on the variable you're doing cases on first, refine works. But that is a bit long.
I've now resorted to writing the proofs using pattern matching. I think it's quite nice that way:
lemma one_div : ∀ (x : with_zero α), 1 / x = x⁻¹ | 0 := rfl | (a : α) := show _ * _ = _, by simp
After the fight over lifts this morning, Johan has been secretly taken down and replaced by a computer scientist. I fear my time will come soon.
I think this is OK for proofs but if you use it for definitions then there will be trouble with unfolding. Or something.
I've now resorted to writing the proofs using pattern matching. I think it's quite nice that way:
lemma one_div : ∀ (x : with_zero α), 1 / x = x⁻¹ | 0 := rfl | (a : α) := show _ * _ = _, by simp
What's the definition of /
? Shouldn't this proof be one_mul
?
Ha, probably it should.
@Kevin Buzzard Again, that is us fighting the system... It ought to just work.
@Chris Hughes I pushed an update (-;
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Polytechnic Harriers Marathon
Windsor ENG
Race Winners
(83 runnings, 82 runnings as a marathon)
06 Apr 2002
2:32:49
2000-2001
---
05 Sep
1999
2:40:09
06 Sep
1998
3:37:45
3:37:45
07 Sep
1997
3:37:12
22 Sep
1996
2:23:43
2:57:56
24 Sep
1995
2:20:46
2:49:23
25 Sep
1994
2:21:57
2:51:51
26 Sep
1993
2:25:55
2:51:21
08 Mar
1992
2:22:58
3:08:28
1988-1991
---
---
26 Sep
1987
2:28:49
3:18:50
27 Sep
1986
2:26:12
2:51:15
28 Sep
1985
2:33:02
3:22:28
09 Jun
1984
2:26:02
2:50:00
11 Jun
1983
2:22:55
3:05:39
12 Jun
1982
2:23:28
2:36:12
13 Jun
1981
2:24:07
2:51:03
05 Jul
1980
2:22:23
2:45:11
16 Jun
1979
2:19:53
3:21:23
10 Jun
1978
2:19:05
2:54:11
11 Jun
1977
2:14:32
11 Sep
1976
2:15:43
23 Aug
1975
---
15 Jun
1974
2:15:16
18 Aug 1973
2:19:48
01 Jul
1972
2:31:52+
26 Jun
1971
2:18:31
13 Jun
1970
2:18:15
14 Jun
1969
2:25:22
15 Jun
1968
2:15:15
10 Jun
1967
2:19:06
11 Jun
1966
2:19:04
12 Jun
1965
2:12:00
13 Jun
1964
2:13:55
15 Jun
1963
2:14:28
16 Jun
1962
2:21:59
10 Jun
1961
2:20:25
11 Jun
1960
2:19:06
13 Jun
1959
2:25:12
28 Jun
1958
2:22:27.4
15 Jun
1957
2:37:04.4
16 Jun
1956
2:20:16
18 Jun
1955
2:26:23
26 Jun
1954
2:17:39.4
13 Jun
1953
2:18:40.4
14 Jun
1952
2:20:42.2
16 Jun
1951
2:29:28
17 Jun
1950
2:33:07
18 Jun
1949
2:42:53
19 Jun
1948
2:36:44.6
14 Jun
1947
2:36:53
15 Jun
1946
2:38:12
16 Jun
1945
2:48:45.6
17 Jun
1944
2:56:39
19 Jun
1943
2:54:44
20 Jun
1942
2:53:56.4
21 Jun
1941
3:12:36
15 Jun
1940
2:53:41
17 Jun
1939
2:36:56
18 Jun
1938
2:42:00
29 May
1937
2:48:50
13 Jun
1936
2:35:20
25 May
1935
2:48:37.8
02 Jun
1934
2:56:30
10 Jun
1933
2:42:24.2
28 May
1932
2:36:32.4
30 May
1931
2:35:31.8
31 May
1930
2:41:55
18 May
1929
2:40:47.4
26 May
1928
2:41:02.2
28 May
1927
2:40:33
29 May
1926
2:42:25
30 May
1925
2:35:58.2
31 May
1924
2:53:18
16 Jun
1923
2:40:46.8
10 Jun
1922
2:47:30.4
16 Jul
1921
2:51:41.8
17 Jul
1920
2:37:40.4
21 Jun
1919
2:52:30.2
1915-1918
---
20 Jun
1914
2:46:51
31 May
1913
2:36:07
18 May
1912
2:36:55.4
27 May
1911
2:46:29.8 1910
---
08 May
1909
2:42:31
25 Apr
1908
2:15:45
Course Notes: The 1908 race course was from Windsor Park to Wembley Park. For the 1909-1932 races, the course was
from Windsor (Park or Castle) to the Stamford Bridge track. For the 1933-1937 races, the course was from Windsor
Castle to the White City stadium. The course starting in 1938 was from Windsor Castle to Chiswick stadium with
the following exceptions. The 1940 race was apparently held entirely within Windsor Great Park. For the 1941-1945
races, the course started and finished in Chiswick stadium. For the 1973-1987 races, the course was a loop starting
and finishing in Windsor. Many smaller course alterations were made over the years.
Mark Critchlow-2
not held
Mark Critchlow (ENG)
Tony Hopkins-2
Kim Stephenson (ENG)
Tony Hopkins (ENG)
.
Marc Verrijdt (BEL)
Helen Grimshaw (ENG)
Valeriy Zolotkov (RUS)
Eryl Davies (WAL)
Chris Buckley (WAL)
Elaine Flather-2
Jonathan Hooper (WAL)
Elaine Flather (ENG)
Hugh Jones-2
Karen Bowler (ENG)
not held
not held
Michael McGeoch (WAL)
Christine Gray (ENG)
Hugh Jones (ENG)
Frances Guy (ENG)
Terry Donaghy (ENG)
Pamela Davies (ENG)
David Catlow (ENG)
Sarah Foster (ENG)
Alan McGee (ENG)
Valerie Howe (GBR)
Graham Ellis (ENG)
Kathryn Binns (ENG) (nc)
Bernard Plain-2
Caroline Rodgers (GBR)
Tony Byrne (ENG)
Gillian Horowitz-2
Mike Gratton (ENG)
Jane Davies (GBR)
David Francis (ENG)
Gillian Horowitz (ENG)
Ian Thompson (ENG)
Bernard Plain (WAL)
not held
Akio Usami (JPN) (nc)
Robert Sercombe (WAL)
Don Faircloth-2
Phil Hampton-2
Don Faircloth (ENG) (nc)
Phil Hampton (ENG)
Kenji Kimihara (JPN)
A Fergus Murray (SCO)
Graham Taylor (ENG) (nc)
Morio Shigematsu (JPN)
Basil Benjamin Heatley (ENG)
Leonard Edelen (USA)
Ron Hill (ENG)
Peter Wilkinson (ENG)
Arthur Keily (ENG)
Dennis O'Gorman (ENG)
Colin Kemball (ENG) (nc)
Ernest Kirkup (ENG)
Ronald Clark (ENG)
Robert William McMinnis (GBR)
James Henry Peters-4 (nc)
James Henry Peters-3
James Henry Peters-2 (nc)
James Henry Peters (ENG)
Jack Holden-3
Jack Holden-2
Jack Holden (ENG) (nc)
Cecil Ballard (ENG)
Horace Oliver (WAL)
Tom Richards-2
Tom Richards (WAL)
Leslie Griffiths-3
Leslie Griffiths-2
Gerry Humphreys (ENG)
Leslie Griffiths (ENG)
Henry A Palme-2
Henry A Palme (SWE)
Albert Norris-3
Albert Norris-2
Albert Norris (ENG)
Duncan McLeod Wright-2
Sam Ferris-8
Sam Ferris-7
Sam Ferris-6
Stan Smith (ENG)
Sam Ferris-5
Sam Ferris-4
Sam Ferris-3
Sam Ferris-2 (nc)
Sam Ferris (ENG) (nc)
Duncan McLeod Wright (SCO)
Axsel Jensen (DEN)
Arthur Robert Mills-3
Arthur Robert Mills-2
Arthur Robert Mills (ENG)
Edward Woolston (GBR)
not held
Akhmet Djebelia (ALG)
Alexis Ahlgren (SWE)
James Joseph Corkery (ON/CAN)
Henry Green (ENG)
not held
due to death of King Edward VII.
Harry-Fred Barrett (ENG)
Alexander Duncan (ENG)
Other Notes:
1999 Road works caused the course to be somewhat long.
1997=> races were local club events with one finisher in 1997 and two finishers each in 1998, 1999, and 2002
1973 Course is considered to have been short.
1972 Due to a marshaling error, the lead runners may have run as much as 2.5 km
long.
1908 Course was 22 miles 1420 yards (36.7 km).
(nc) => national championship
1974 Bernard Plain was the national champion (2nd place, 2:18:32)
Most Wins (1908-date)
Men
8
Sam Ferris (ENG)
1925-29,1931-33
Women
2
Gillian Horowitz (ENG)
1978,1980
.
Elaine Flather (ENG)
1993-94
Prize Money
No prize money has been awarded according to available data.
Race Time Bias
Insufficient data to calculate race time biases.
Competitive Level
Insufficient data to calculate competitive levels.
Quality Performances
Men <2:13 1 <2:14 3 <2:15 7 <2:16 11 <2:17 14 <2:18 16 <2:19 23 <2:20 34 Women <2:36 1 <2:38 2 <2:40 2 <2:42 2 <2:44 3 <2:46 5 <2:48 5 <2:50 6
Finishers
Year Men Women M+F 2002 2 2 1999 2 2 1998 1 1 2 1997 1 1 1996 494 48 542 1995 464 36 500 1994 347 24 371 1993 241 17 258 1992 343 15 358 1987 302 13 315 1986 252 1985 159 5 164 .... 1983 351 10 361 1982 504 26 530 1981 366 9 375 1980 374 5 379 1979 314 5 319 1978 220 5 225 1977 109 .... 1974 171 171 .... 1971 105 105 .... 1969 94 94 1968 119 119 .... 1966 165 165 .... 1963<PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER> 98 88 1956<PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER><PHONE_NUMBER> 103 103 .... 1944 18 18 1943 25 25 1942 24 24 .... 1939 10 10 1938 24 24 1937 7 7 1936 30 30 1935 12 12 1934 5 5 1933 12 12 1932 22 22 1931 21 21 1930 10 10 1929 12 12 1928 15 15 1927 17 17 1926 18 18 1925 28 28 1924 14 14 1923 16 16 1922 13 13 1921 8 8 1920 15 15 .... 1914 23 23 1913 18 18 1912 23 23 .... 1909 38 38 1908 49 49 Sum 8335 Sums 7864 219 8083 M/F 35.91
Note: For races prior to 1940, not all
the finishers were timed and recorded. Cutoff-times of 3:15 or 3:20 were
used for most races in the 1920's and 1930's. For example, in 1928, 85
started but only 15 were officially timed. The numbers for 1930, 1932,
1936, and 1938 are probably less than the actual number of recorded finishers.
Last Updated on 01 Jul 2013
Contributors: Malcolm Heyworth, Tony Hopkins, Andy Milroy (4)


| Home | Trees | Indices | Help |
|
|---|
|
|
This module contains elementary support for I/O of one- and two-dimensional numerical arrays to and from plain text files. The text file format is very simple and used by many other programs as well: - each line corresponds to one row of the array - the numbers within a line are separated by white space - lines starting with # are ignored (comment lines) An array containing only one line or one column is returned as a one-dimensional array on reading. One-dimensional arrays are written as one item per line. Numbers in files to be read must conform to Python/C syntax. For reading files containing Fortran-style double-precision numbers (exponent prefixed by D), use the module Scientific.IO.FortranFormat.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
Return an array containing the data from file |filename|. This function works for arbitrary data types (every array element can be given by an arbitrary Python expression), but at the price of being slow. For large arrays, use readFloatArray or readIntegerArray if possible. ignore all lines that start with any character contained in comment |
Return an array containing the data from file |filename|. This function works for arbitrary data types (every array element can be given by an arbitrary Python expression), but at the price of being slow. fn is called for each "cell" value. if dtype is None, uses "minimum type" (ref. Numpy doc) if sep is None, any white space is seen as field separator ignore all lines that start with any character contained in comment |
Write array |a| to file |filename|. |mode| can be 'w' (new file) or 'a' (append). |
Write each of the items in the sequence |datasets| to the file |filename|, separating the datasets by a line containing |separator|. The items in the data sets can be one- or two-dimensional arrays or equivalent nested sequences. The output file format is understood by many plot programs. |
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Nov 22 14:59:32 2010 | http://epydoc.sourceforge.net |


A friend recently asked me what methods I use to find subdomains. To be honest I was confused, like “oooohhh so much, brute force mmm… zone transfer and… brute for… wait Google and mmm… many other tools!” What a shame that I was so inaccurate after so much time spent to look for subdomains. Time to dig a little bit! After I wrote a list of the most popular methods, I tried to make a list of some tools and online resources to exploit them. Of course this list is far from exhaustive, there are many new stuff every day, but it’s still a good start :)
Why Bug Bounty
People are usually surprised by the answer when they ask me what I do for living, questions rain, here are some answers. My first report was a XSS on a Yahoo acquisition, it happened the 26th January 2016. Since this date, I (try to) perform Bug Bounty as a full time job on Hackerone. Did I say “job”? I don’t really consider bug bounty/hacking as a “job”, it’s more a hobby or a passion, because you have to be passionnate to perform in this domain. So let’s say that bug bounty is my main source of income. Below why I do this “job”, why it fits perfectly to me and why I love it.
The bug bounty program that changed my life
This is a real story or not, that occured in mid 2017 or not, about a private program or not, on Hackerone or not, believe me or not, but it changed my life. I would like to thanks all the people from this company I talked with. They were very nice with me, very fast to fix the bugs and I always got the rewards in less than 7 days, frequently the day of the report, even for the smallest bugs. Thanks to them, I wish we could find more program like this one.
Massive pwnage
There is different ways to hunt for vulnerabilities, depending of your knowledge, your skills, your expectation and how you like to chase. I personally love programming and, as a true developper, I’m lazy, so I love to automate things. By writing some piece of code or by combining multiple tools, you can find a lot of interesting stuff. This article is about some scripts/tricks I wrote/use to perform massive tests:
- XSS with PhantomJS
- Heroku subdomain takeover
- Amazon S3 buckets theft
Fail at CTF h1-212 - The Evil Job
Hackerone recently released a CTF created by Jobert Abma. Even if I didn’t complete the challenge, it was so exciting and I was so close from the solution that I wanted to share a writeup. Here is the tweet that tiggered the war:
“Hackers, hack your way to NYC this December for h1-212! An engineer of http://acme.org launched a new server for a new admin panel. He is completely confident that the server can’t be hacked, so he hid a flag. Details: https://www.hackerone.com/blog/hack-your-way-to-nyc-this-december-for-h1-212 …. #TogetherWeHitHarder”
And here is the full description:
“An engineer of acme.org launched a new server for a new admin panel at http://<IP_ADDRESS>/. He is completely confident that the server can’t be hacked. He added a tripwire that notifies him when the flag file is read. He also noticed that the default Apache page is still there, but according to him that’s intentional and doesn’t hurt anyone. Your goal? Read the flag!”


 My dream to be an expert software engineer so that I can build professional and useful software that has business value.I am looking for a senior software engineer position in a reputed software company that can help me to achieve my goal.
Programming
C#
C/C++
JavaScript
HTML5, CSS3
Java
Python
Skills
ASP.NET Core MVC
Python/Django
Node.js
Object Oriented Programming
Cloud Computing


Donate
Genki Study Resources was created by Seth Clydesdale, with the goal of making self-study with the Genki textbooks easier for everyone, for free. As an open source developer, my only source of income for my works are donations. So if you found this project helpful and would like to support my work, please see below for the different ways that you can contribute.
- Send me a tip via PayPal.
- Buy me a coffee via Ko-fi.
- Buy me a gift from my Amazon Wishlist: US | JP.
You can also support my work in other ways.
- Star the project on GitHub; Stars show appreciation for a repository maintainer's work and helps increase the visibility of the project.
- Spread the word about Genki Study Resources; let people know how it helped you or how it can help them with their studies!
- Feel free to contact me via one of the platforms located under "Contact info" if you'd like to get in contact or just say thanks.
I greatly appreciate your support, as it helps motivate me to continue working on and improving my projects. Thank you!


{% extends "base.html" %} {% block content %} {% if not kiosk %} {% include 'includes/update_bar.html' %} {% endif %} {% if show_tutorial %}
Just a few simple steps to get started:
Please input your myPlex account info below, if you do not have one yet please register here.
Need help? Visit Maraschino for Plex Repo


Grand Slam Winners (1985-2017)
(click on the player's image to highlight the titles.)
Player
Name
Pete
Sampras
Grand Slam Titles Breakdown
Year


Mantarasa Egg:
The egg emanates a feeling of ancient mystic power.
It appears to be protected by some kind of energy field, but as you approach you the field flickers and dissipates -- as if in welcome...
Quest


Provides configuration objects that are used to control the display of the axis labels and data labels on the charts.


AudioCategory QML Type
Control all active sound instances by group. More...
| Import Statement: | import QtAudioEngine 1.1 |
| Since: | Qt 5.0 |
| Inherits: |
Properties
Methods
Detailed Description
An instance of AudioCategory can be accessed through AudioEngine.categories with its unique name and must be defined inside AudioEngine or be added to it using AudioEngine.addAudioCategory() if AudioCategory is created dynamically.
Rectangle { color:"white" width: 300 height: 500 AudioEngine { id:audioengine AudioCategory { name: "sfx" volume: 0.8 } AudioSample { name:"explosion" source: "explosion-02.wav" } Sound { name:"explosion" category: "sfx" PlayVariation { sample:"explosion" } } } MouseArea { anchors.fill: parent onPressed: { audioengine.categories["sfx"].volume = 0.5; } } }
Sound instances can be grouped together by specifying the category property. When you change the volume of a category, all audio output from related instances will be affected as well.
Note: there will always be an AudioCategory named default
whether you explicitly define it or not. If you do not specify any category for a Sound, it will be grouped into the default
category.
Property Documentation
This property holds the name of AudioCategory. The name must be unique among all categories and only defined once. The name cannot be changed after the instance has been initialized.
This property holds the volume of the category and will modulate all audio output from the instances which belong to this category.


This document is the API specification for the Reactor Core library.
Routine use of Reactor will involve the composable Reactive StreamsFlux
and Mono
located under reactor.core.publisher.
Reactor Core is a succinct and powerful foundational library for building reactive and efficient applications
on the JVM.
More detailed documentation is available on the reference guide.


|
MOTS Finder
Find non-star-shaped MOTSs
|
Base class for curves that can calculate their expansion. More...
Public Member Functions | |
| def | __init__ (self, h, metric, name='') |
| Base class constructor taking a horizon function and metric. More... | |
| def | __getstate__ (self) |
| def | __setstate__ (self, state) |
| def | h_diff (self, param) |
Compute derivative of this curve w.r.t. horizon function h . More... | |
| def | collocation_points (self, lobatto=False, kw) |
| def | arc_length (self, a=0, b=np.pi, atol=1e-12, rtol=1e-12, full_output=False) |
| def | proper_length_map (self, num=None, kw) |
| def | z_distance (self, other_curve=None, atol=1e-12, rtol=1e-12, limit=100, allow_intersection=False, full_output=False) |
| def | inner_z_distance (self, other_curve, where='top', full_output=False, kw) |
| Compute the z-distance of two points of this and another curve. More... | |
| def | inner_x_distance (self, other_curve, where='zero', kw) |
| Compute the x-distance of two points of this and another curve. More... | |
| def | get_calc_obj (self, param) |
| Create or reuse a calculator object for a given parameter value. More... | |
| def | horizon_function_changed (self) |
| Notify this curve that the underlying horizon function has changed. More... | |
| def | num (self) |
| Resolution (number of DOFs) of the horizon function. More... | |
| def | resample (self, new_num) |
| Change the number of DOFs of the horizon function. More... | |
| def | suspend_calc_obj (self) |
| Context manager to temporarily ignore the current calculator. More... | |
| def | suspend_curv (self) |
| Context manager to temporarily ignore the extrinsic curvature. More... | |
| def | temp_metric (self, metric=None) |
| Context manager to temporarily replace the used metric. More... | |
| def | expansion (self, param, hdiff=None, ingoing=False) |
| Compute the expansion at one parameter value. More... | |
| def | expansions (self, params, hdiff=None, ingoing=False) |
| As expansion(), but on a whole set of parameter values. More... | |
| def | average_expansion (self, ingoing=False, area=None, full_output=False, kw) |
| Compute the average expansion across the surface. More... | |
| def | signature_quantities (self, pts, past_curve=None, future_curve=None) |
| def | linearized_equation_at (self, param, target_expansion=0.0) |
| Return the terms of the linearized version of H=0 at one point. More... | |
| def | linearized_equation (self, params, target_expansion=0.0, parallel=False, pool=None) |
| Return linearized equation as operator and inhomogeneity on a grid. More... | |
| def | ricci_scalar (self, param) |
| Compute the Ricci scalar of the surface at the given parameter. More... | |
| def | extrinsic_surface_curvature (self, param, trace=False, square=False) |
| Compute the extrinsic curvature tensor of the surface. More... | |
| def | area (self, full_output=False, disp=False, domain=(0, np.pi), kw) |
| Compute the area of the surface represented by this curve. More... | |
| def | get_det_q_func (self) |
| Create a function to evaluate det(q). More... | |
| def | get_area_integrand (self) |
| Return a callable evaluating the sqrt(det(q)), i.e. More... | |
| def | euler_char (self, a=0, b=np.pi, full_output=False, disp=False, kw) |
| Compute the Euler characteristic of the surface. More... | |
| def | irreducible_mass (self, area=None) |
| Compute the irreducible mass. More... | |
| def | horizon_radius (self, area=None) |
| Compute the horizon radius. More... | |
| def | stability_parameter (self, num=None, m_max=None, m_terminate_index=30, rtol=1e-12, compute_eigenfunctions=False, slice_normal=True, transform_torsion=False, full_output=False) |
| Compute the stability parameter. More... | |
| def | multipoles (self, max_n=10, num=None, full_output=False, disp=False, kw) |
| Compute the multipoles I_n of the horizon. More... | |
| def | circumference (self, param) |
| Return the circumference of the surface at the given parameter. More... | |
| def | x_distance (self, param, kw) |
| Return the proper length of a coordinate line from the curve to the z-axis. More... | |
| def | find_neck (self, algo='coord', xtol=1e-8, kw) |
| Try to locate a 'neck' of this curve. More... | |
| def | locate_intersection (self, other_curve, xtol=1e-8, domain1=(0, np.pi), domain2=(0, np.pi), strict1=True, strict2=True, N1=20, N2=20) |
| Locate one point at which this curve intersects another curve. More... | |
| def | locate_self_intersection (self, neck=None, xtol=1e-8) |
| Locate a loop in the MOTS around its neck. More... | |
| def | get_distance_function (self, other_curve, Ns=None, xatol=1e-12, mp_finish=True, dps=50, minima_to_check=1) |
| Return a callable computing the distance between this and another curve. More... | |
| def | plot_expansion (self, c=0, points=500, name=r"\mma", figsize=(5, 3), verbose=True, ingoing=False, kw) |
| Convenience function to plot the expansion along the curve. More... | |
| def | plot_coeffs (self, name=r"\mma", figsize=(5, 3), kw) |
| Convenience function to plot the horizon function's spectral coefficients. More... | |
| Public Member Functions inherited from BaseCurve | |
| def | __init__ (self, name='') |
| Baseclass init for curves. More... | |
| def | save (self, filename, overwrite=False, verbose=True, msg='') |
| Save the curve to disk. More... | |
| def | __getstate__ (self) |
| Return a picklable state object representing the whole curve. More... | |
| def | __setstate__ (self, state) |
| Restore a complete curve from the given unpickled state. More... | |
| def | user_data (self) |
| Dictionary of custom data stored in the curve. More... | |
| def | name (self) |
| Name of this curve (used e.g. as label for plotting). More... | |
| def | name (self, value) |
| def | override_evaluator (self, evaluator) |
| Context for temporarily overriding the evaluator(s) used. More... | |
| def | fix_evaluator (self) |
| Context to temporarily fix the evaluator(s) of used expressions. More... | |
| def | freeze_evaluator (self) |
| Indefinitely freeze all evaluators of this curve. More... | |
| def | unfreeze_evaluator (self) |
| Undo a freeze_evaluator() call. More... | |
| def | force_evaluator_update (self) |
| Force all cached evaluators to be refreshed. More... | |
| def | copy (self) |
| Create an independent copy of this curve. More... | |
| def | __call__ (self, param, xyz=False) |
| Evaluate the curve at a particular parameter value. More... | |
| def | collocation_points (self, kw) |
| Return the collocation points of the current curve representation. More... | |
| def | diff (self, param, diff=1, xyz=False) |
| Compute the derivative of this curve w.r.t. its parameter. More... | |
| def | tangent (self, param, diff=0, xyz=False) |
| Compute the (Euclidean) tangent vector or one of its derivatives. More... | |
| def | normal (self, param, diff=0, xyz=False) |
| Compute the (Euclidean) normal vector or a derivative thereof. More... | |
| def | curvature_in_coord_space (self, param) |
| Compute the curvature of this curve in flat coordinate space. More... | |
| def | arc_length (self, a=0, b=np.pi, atol=1e-12, rtol=1e-12, limit=100, full_output=False) |
| Compute the length of the curve. More... | |
| def | arc_length_using_metric (self, metric, a=0, b=np.pi, atol=1e-12, rtol=1e-12, limit=100, full_output=False) |
| Compute the length of this curve w.r.t. a given metric. More... | |
| def | proper_length_map (self, num=None, evaluators=True, full_output=False, kw) |
| Generate functions to map between curve parameter and proper length. More... | |
| def | z_distance (self, other_curve=None, atol=1e-12, rtol=1e-12, limit=100, allow_intersection=False, full_output=False) |
| Compute the z-distance to another curve or the origin. More... | |
| def | z_distance_using_metric (self, metric, other_curve=None, atol=1e-12, rtol=1e-12, limit=100, allow_intersection=False, full_output=False) |
| Compute z-distance to another curve w.r.t. a given metric. More... | |
| def | rotate_to_xz_plane (self, point) |
| Rotate a 3D point onto the x-z-plane with positive x. More... | |
| def | closest_point (self, point, start_param=None, Ns=25) |
| Find the parameter at which the curve is closest to a given point. More... | |
| def | find_line_intersection (self, point, vector, Ns=50) |
| Find the point at which this curve intersects a given line. More... | |
| def | find_max_x (self, Ns=50) |
| Find the point of the curve with maximum distance to the z-axis. More... | |
| def | inf_norm (self, other_curve, kw) |
| Compute L_inf norm of this curve minus another curve. More... | |
| def | point_distances (self, params=None) |
| Return the coordinate distances of points along the curve. More... | |
| def | plot_distances (self, params=None, kw) |
| Convenience method for quickly plotting coordinate distances of collocation points. More... | |
| def | plot (self, lw=2, equal_lengths=True, copy_x=True, kw) |
| Plot the curve represented by this object. More... | |
Public Attributes | |
| h | |
| metric | |
| extr_curvature | |
| Public Attributes inherited from BaseCurve | |
| domain | |
Private Member Functions | |
| def | _create_evaluators (self) |
| def | _create_calc_obj (self, param) |
| Create a cache/calculator for a specific parameter value. More... | |
| def | _cached_stability_op (self, func, pts, m, cache=None, kw) |
| def | _stability_eigenvalue_equation_timesym (self, pts, slice_normal, transform_torsion) |
| Eigenvalue equation evaluator for time-symmetric case. | |
| def | _stability_eigenvalue_equation_general (self, pts, slice_normal, transform_torsion) |
| Eigenvalue equation evaluator for the general case. | |
| def | _locate_self_intersection (self, neck, xtol) |
| Implements locate_self_intersection(). | |
Private Attributes | |
| _calc | |
Additional Inherited Members | |
| Static Public Member Functions inherited from BaseCurve | |
| def | load (filename) |
| Static function to load an expression object from disk. More... | |
| def | plot_curves (curves, cmap=None, last_callback=None, kw) |
| Static method for plotting multiple curves in the same plot. More... | |
Base class for curves that can calculate their expansion.
This base class implements the functionality common to all concrete curve classes that are aware of the geometry they are living in. These take the Riemannian 3-metric and extrinsic curvature of the slice to compute quantities such as the expansion.
Most of the actual calculation of these quantities is done in so called "calculation" objects that exist for a specific point on the curve and cache and reuse interim results.
In addition to the abstract functions in basecurve.BaseCurve not implemented here, subclasses need to implement the following additional functions:
| def __init__ | ( | self, | |
| h, | |||
| metric, | |||
name = '' |
|||
| ) |
Base class constructor taking a horizon function and metric.
| h | (exprs.numexpr.NumericExpression) The "horizon function" defining this curve. How this function is interpreted is up to the subclass and its calculator object. |
| metric | The Riemannian 3-metric defining the geometry of the surrounding space. |
| name | Name of this curve. This may be used when printing information about this curve or as label in plots. |
|
private |
Create a cache/calculator for a specific parameter value.
This is only called when a new calculator object needs to be constructed (i.e. this is a calculator factory). Subclasses should create the respective calculator type they need.
| def area | ( | self, | |
full_output = False , |
|||
disp = False , |
|||
domain = (0, np.pi) , |
|||
| kw | |||
| ) |
Compute the area of the surface represented by this curve.
Note that no warning will be generated in case the integral does not converge properly. To obtain information about such warnings, either set disp=True
to raise an error in these cases, or use full_output=True
and check if the last returned element is None
(signaling no problem was found).
| full_output | If True , return a 4-tuple containing the computed area, an estimated error, the infodict result of scipy.integrate.quad and any generated warning message. This fourth element will be None in case no warning occurred. Default is False . |
| disp | If Ture , raise any warnings generated during integration as an IntegrationError . |
| domain | Parameter range to integrate over. Default is the full surface, i.e. (0, pi) . |
| **kw | Additional keyword arguments are passed to scipy.integrate.quad . |
full_output
above.Notes
The area of the surface is defined as
where
is the induced metric on (compare equation (2) in [1]). Here, is the outward pointing normal of and .
References
[1] Gundlach, Carsten. "Pseudospectral apparent horizon finders: An efficient new algorithm." Physical Review D 57.2 (1998): 863.
| def average_expansion | ( | self, | |
ingoing = False , |
|||
area = None , |
|||
full_output = False , |
|||
| kw | |||
| ) |
Compute the average expansion across the surface.
This computes the average expansion
| ingoing | Whether to average over the ingoing (True ) or outgoing (False ) expansion. Default is False . |
| area | Optionally re-use an already computed area value. |
| full_output | If True , return the average expansion and the estimated error. Otherwise return just the average expansion. Default is False . |
| **kw | Additional keyword arguments are passed to scipy.integrate.quad . |
| def circumference | ( | self, | |
| param | |||
| ) |
Return the circumference of the surface at the given parameter.
| def euler_char | ( | self, | |
a = 0 , |
|||
b = np.pi , |
|||
full_output = False , |
|||
disp = False , |
|||
| kw | |||
| ) |
Compute the Euler characteristic of the surface.
This assumes the curve to represent a closed (compact) smooth surface without boundary. As such, we get by the Gauss-Bonnet theorem
where is the Euler characteristic of the surface which is represented by this curve and its Ricci (scalar) curvature.
In axisymmetry and corresponding coordinates, we can carry out the integral over the angle , which gives and end up with
where is the square root of the determinant of the induced metric q
.
From the Euler characteristic, you can compute the genus G
of the surface via .
| a,b | Curve parameters between which to integrate. Defaults are 0 and pi , respectively. |
| full_output | Whether to return information about the integration in addition to the value. If True , return a tuple of chi, chi_err, info, warning . Otherwise (default), return just chi . If warning is not None , the integral did not converge as expected. |
| disp | Whether to raise an error in case the integral did not converge as expected. |
| **kw | Further keyword arguments are passed to scipy.integrate.quad() . Use these to set e.g. epsrel to the desired tolerance. |
| def expansion | ( | self, | |
| param, | |||
hdiff = None , |
|||
ingoing = False |
|||
| ) |
Compute the expansion at one parameter value.
This function can also compute derivatives of the expansion w.r.t. the horizon function h
or one of its derivatives.
| param | Parameter (i.e. value) specifying the point on the curve at which to compute the expansion of the surface. |
| hdiff | If given, compute the functional derivative of the expansion w.r.t. a derivative of the horizon function. For example, if hdiff==0 , compute and for hdiff==1 , compute . If None (default), compute the expansion. |
| ingoing | By default, the outgoing null geodesics' expansion is returned. If ingoing==True , the expansion of the ingoing null geodesics is computed instead. Functional derivatives of the ingoing expansion are not currently implemented. |
| def expansions | ( | self, | |
| params, | |||
hdiff = None , |
|||
ingoing = False |
|||
| ) |
As expansion(), but on a whole set of parameter values.
| def extrinsic_surface_curvature | ( | self, | |
| param, | |||
trace = False , |
|||
square = False |
|||
| ) |
Compute the extrinsic curvature tensor of the surface.
This computes the components
where are coordinates on the surface represented by this curve, is the outward pointing normal of the surface in the slice, and is the spacetime covariant derivative.
| param | Parameter (i.e. value) specifying the point on the curve at which to compute the extrinsic curvature of the surface. |
| trace | If True , returns the trace of the extrinsic curvature. Default is False . May not be used together with square . |
| square | If True , returns the square . Default is False . May not be used together with trace . |
k_AB
. If either trace
or square
is True
, returns a float. | def find_neck | ( | self, | |
algo = 'coord' , |
|||
xtol = 1e-8 , |
|||
| kw | |||
| ) |
Try to locate a 'neck' of this curve.
The neck can be defined by various means. One working definition is to take a locally minimal proper circumference of the surface defined by this curve by rotating a point around the z-axis. The two poles lying on the z-axis are excluded, of course.
This function implements the following algorithm to find the neck: Starting from the north-pole (param=0
), we first find the point where the quantity (e.g. circumference) has a local maximum. From there, we do small steps forward to bracket the first local minimum, which is then located precisely.
(param, value)
, where param
is the curve parameter of the neck and value
the value of the quantity used to define the neck.| algo | The algorithm/definition of the neck. Understood values currently are 'coord' (neck has minimal x-coordinate value), 'circumference' (neck has minimal proper circumference), 'proper_x_dist' (neck has minimal proper distance to z-axis, measured along a straight coordinate line in x-direction). Default is 'coord' . |
| xtol | Tolerance in curve parameter value for the search. Default is 1e-8 . |
| **kw | Further keyword arguments are used in case of algo==proper_x_dist and are supplied to the x_distance() method calls. |
| def get_area_integrand | ( | self | ) |
Return a callable evaluating the sqrt(det(q)), i.e.
the area element.
| def get_calc_obj | ( | self, | |
| param | |||
| ) |
Create or reuse a calculator object for a given parameter value.
In case the current cache/calculator already belongs to the given parameter value, it is reused and returned instead of a new one being created each time.
| param | (float) Parameter of the curve for which to construct the cache/calculator object. |
| def get_det_q_func | ( | self | ) |
Create a function to evaluate det(q).
| def get_distance_function | ( | self, | |
| other_curve, | |||
Ns = None , |
|||
xatol = 1e-12 , |
|||
mp_finish = True , |
|||
dps = 50 , |
|||
minima_to_check = 1 |
|||
| ) |
Return a callable computing the distance between this and another curve.
The computed distance is the coordinate distance between a point of this curve to the closest point on another curve.
The returned callable will take one mandatory argument: the parameter at which to evaluate the current curve. The resulting point is then taken and the given other_curve
searched for the point closest to that point. The distance to this function is then returned.
A second optional parameter of the returned function determines whether only the distance (False
, default) or the distance and the parameter on the other curve is returned (if True
).
| other_curve | The curve to which the distance should be computed in the returned function. |
| Ns | Number of points to take on other_curve for finding the initial guess for the minimum search. Default is to take the resolution of other_curve . |
| xatol | In case mp_finish==False , use this tolerance in the SciPy minimize_scalar() call. Default is 1e-12 . |
| mp_finish | If True (default), evaluate some terms using arbitrary precision mpmath arithmetics and find the minimum with a robust but slow golden section search. This allows finding minima much closer to the actual minimum. In general, with mp_finish==False , we are usually limited by approximately 1e-8 , while with mp_finish==True , we can get to around 1e-15 (e.g. if other_curve is this curve). |
| dps | Decimal places for mpmath computations. Default is 50 . |
| minima_to_check | Number of local minima to check for a global minimum. Default is 1 , which means we search just around the smallest distance from the initial grid of points. Higher values may help locate the correct minimum especially in cases of self-intersecting curves. |
| def h_diff | ( | self, | |
| param | |||
| ) |
Compute derivative of this curve w.r.t. horizon function h
.
| def horizon_function_changed | ( | self | ) |
Notify this curve that the underlying horizon function has changed.
Since we cache the calculation object for efficiency, changes to the horizon function will not affect results if evaluating the expansion at the exact same point. This method invalidates any cached evaluators and calculation objects to produce newly computed results in the next computation call.
| def horizon_radius | ( | self, | |
area = None |
|||
| ) |
Compute the horizon radius.
The horizon radius is defined as (cf. [1])
where A
is the horizon's area.
| area | Optional area for which to compute the horizon radius. By default, the area of the axisymmetric surface represented by this curve is computed. |
References
[1] Ashtekar, Abhay, and Badri Krishnan. "Isolated and dynamical horizons and their applications." Living Reviews in Relativity 7.1 (2004): 10.
| def inner_x_distance | ( | self, | |
| other_curve, | |||
where = 'zero' , |
|||
| kw | |||
| ) |
Compute the x-distance of two points of this and another curve.
Similar to inner_z_distance(), this method does not compute how close two surfaces approach each other (which would return zero for intersecting surfaces). Instead, it computes one possible measure for how close the two surfaces are from being identical, i.e. it computes the distance of two corresponding points.
In this function, we measure the distance on a straight coordinate line in x-direction connecting either two points on the x-axis itself (i.e. for x==0
) or on a line in x-direction starting at the point of largest coordinate distance to the z-axis (i.e. for largest x value).
| other_curve | Curve to which to compute the distance. |
| where | One of 'zero', 'max' . Default is 'zero' . Where to take the points on both surfaces. Here, 'max' means to take the point of largest distance to the z-axis of this curve. Hence, the result will not be symmetric w.r.t. switching the two curves. |
| metric | Which metric to use for integrating along the connecting line of the two points. By default, takes the current metric stored in this curve. Explicitely specify None to get the coordinate distance. |
| **kw | Further keyword arguments are passed to arc_length_using_metric(). |
| def inner_z_distance | ( | self, | |
| other_curve, | |||
where = 'top' , |
|||
full_output = False , |
|||
| kw | |||
| ) |
Compute the z-distance of two points of this and another curve.
In contrast to z_distance(), this method does not compute how close two surfaces approach each other. Instead, it computes one possible measure for how close the two surfaces are from being identical, i.e. it computes the distance of two corresponding points.
In this function, we take either the top or bottom points of both surfaces on the z-axis and compute their distance. The distance will have negative sign if this curve is in the interior of the other_curve
.
| other_curve | Curve to which to compute the distance. |
| where | One of 'top', 'bottom' . Default is 'top' . Where to take the points on both surfaces. |
| metric | Which metric to use for integrating along the connecting line of the two points. By default, takes the current metric stored in this curve. Explicitely specify None to get the coordinate distance. |
| full_output | If True , return the computed result and an estimation of the error. Otherwise (default), just return the result. |
| **kw | Further keyword arguments are passed to arc_length_using_metric(). |
| def irreducible_mass | ( | self, | |
area = None |
|||
| ) |
Compute the irreducible mass.
The irreducible mass of a horizon is (see e.g. [1])
where A
is the horizon's area.
| area | Optional area for which to compute the mass. By default, the area of the axisymmetric surface represented by this curve is computed. |
References
[1] Chu, Tony, Harald P. Pfeiffer, and Michael I. Cohen. "Horizon dynamics of distorted rotating black holes." Physical Review D 83.10 (2011): 104018.
| def linearized_equation | ( | self, | |
| params, | |||
target_expansion = 0.0 , |
|||
parallel = False , |
|||
pool = None |
|||
| ) |
Return linearized equation as operator and inhomogeneity on a grid.
This form is suitable to be processed by the pseudospectral solver ndsolve.solver.ndsolve().
| params | Points at which to evaluate the equation terms. Should be the collocation points for a pseudospectral solver. |
| target_expansion | Optional float indicating the desired expansion of the surface to find. Default is 0.0 (i.e. a MOTS). |
| parallel | Whether to evaluate the equation using multiple processes in parallel. If True , uses all available threads. If an integer, uses that many threads. Default is False , i.e. don't compute in parallel. |
| pool | Optional processing pool to re-use. If not given, a new pool is created and then destroyed after the computation. |
| def linearized_equation_at | ( | self, | |
| param, | |||
target_expansion = 0.0 |
|||
| ) |
Return the terms of the linearized version of H=0 at one point.
| def locate_intersection | ( | self, | |
| other_curve, | |||
xtol = 1e-8 , |
|||
domain1 = (0, np.pi) , |
|||
domain2 = (0, np.pi) , |
|||
strict1 = True , |
|||
strict2 = True , |
|||
N1 = 20 , |
|||
N2 = 20 |
|||
| ) |
Locate one point at which this curve intersects another curve.
(param1, param2)
, where param1
is the parameter value of this curve and param2
the parameter value of the other_curve
at which the two curves have the same location. If no intersection is found, returns (None, None)
.| other_curve | Curve to find the intersection with. |
| xtol | Tolerance in curve parameter values for the search. Default is 1e-8 . |
| domain1,domain2 | Optional interval of the curves to consider. Default is the full curve, i.e. (0, pi) for both. |
| strict1,strict2 | Whether to only allow solutions in the given domains domain1 , domain2 , respectively (default). If either is False , the respective domain is used just for the initial coarse check to find a starting point. Setting e.g. N1=1 and strict1=False allows specifying a starting point on this (first) curve. |
| N1,N2 | Number of equally spaced rough samples to check for a good starting point. To avoid running into some local minimal distance (e.g. at the curve ends), this number should be high enough. Alternatively (or additionally), one may specify a smaller domain if there is prior knowledge about the curve shapes. |
| def locate_self_intersection | ( | self, | |
neck = None , |
|||
xtol = 1e-8 |
|||
| ) |
Locate a loop in the MOTS around its neck.
(param1, param2)
where the curve has the same location in the x-z-plane. If not loop is found, returns (None, None)
.| neck | Parameter where the neck is located. If not given, finds the neck using default arguments of find_neck(). |
| xtol | Tolerance in curve parameter values for the search. Default is 1e-8 . |
| def multipoles | ( | self, | |
max_n = 10 , |
|||
num = None , |
|||
full_output = False , |
|||
disp = False , |
|||
| kw | |||
| ) |
Compute the multipoles I_n of the horizon.
This is based on the considerations in [1].
| max_n | Integer specifying the maximum number n (inclusive) up to which the moments should be computed. |
| num | Resolution for the pseudospectral solution of the invariant coordinate . Default is to use the current curve's resolution, but at least 100. |
| get_zeta | Optional argument. If specified and True , don't return the multipole moments but the solution . |
| full_output | Whether to return an numutils.IntegrationResults object containing all values with their errors and any warnings. Default is False . |
| disp | Raise an error in case of an integration warning. |
| **kw | Additional keyword arguments are supplied to the scipy.integrate.quad call. |
n=0,1,..,max_n
.References
[1] Ashtekar, Abhay, et al. "Multipole moments of isolated horizons." Classical and Quantum Gravity 21.11 (2004): 2549.
| def num | ( | self | ) |
Resolution (number of DOFs) of the horizon function.
| def plot_coeffs | ( | self, | |
name = r"\gamma" , |
|||
figsize = (5, 3) , |
|||
| kw | |||
| ) |
Convenience function to plot the horizon function's spectral coefficients.
This may help in quickly judging convergence based on exponential decay.
| def plot_expansion | ( | self, | |
c = 0 , |
|||
points = 500 , |
|||
name = r"\gamma" , |
|||
figsize = (5, 3) , |
|||
verbose = True , |
|||
ingoing = False , |
|||
| kw | |||
| ) |
Convenience function to plot the expansion along the curve.
This may help in quickly judging convergence. The parameter c
is subtracted from the values, which is useful to analyse constant expansion surfaces.
| def resample | ( | self, | |
| new_num | |||
| ) |
Change the number of DOFs of the horizon function.
Other algorithms may use this number to implement modification of the horizon function for a search for e.g. MOTSs.
This function returns the curve object itself to allow for chaining.
| def ricci_scalar | ( | self, | |
| param | |||
| ) |
Compute the Ricci scalar of the surface at the given parameter.
See expcalc.ExpansionCalc.ricci_scalar() for details.
| def stability_parameter | ( | self, | |
num = None , |
|||
m_max = None , |
|||
m_terminate_index = 30 , |
|||
rtol = 1e-12 , |
|||
compute_eigenfunctions = False , |
|||
slice_normal = True , |
|||
transform_torsion = False , |
|||
full_output = False |
|||
| ) |
Compute the stability parameter.
The stability parameter is defined in [1] as the principal eigenvalue of the stability operator. We use the normal vector in the slice and use the axisymmetry to simplify the analytical task.
According to Proposition 5.1 in [1], the MOTS represented by this curve is stably outermost iff the stability parameter is greater or equal to zero and strictly stably outermost iff it is greater than zero.
| num | Pseudospectral resolution of the discretization of the operator. By default, uses the resolution of the curve representation itself. |
| m_max | Maximum angular mode to consider. Default is to use num-1 . |
| m_terminate_index | Index of the eigenvalue of the m=0 mode to use to as stopping criterion for the angular mode. If the real part of the thus specified m=0 eigenvalue is less or equal to the (real part of the) smallest eigenvalue of the current m , then no higher m modes are considered. This effectively gives the number of m=0 eigenvalues of which we want to determine the multiplicity. Default is 30 . Set explicitly to None to not stop based on this criterion. |
| rtol | Tolerance for reality check. The principal eigenvalue is shown in [1] to be real. If it has a non-zero imaginary part greater than rtol * |real_part| , then a RuntimeError is raised. Default is 1e-12 . |
| compute_eigenfunctions | Whether to compute the eigenfunction for each eigenvalue. Default is False . The eigenfunctions will be accessible from the StabilitySpectrum object via the spectrum.get_eigenfunction() method. Note that the method for computing the eigenvalues is a different one in this case and hence the numerical values (and even the accuracy) may differ from the case compute_eigenfunctions=False . |
| slice_normal | Whether to consider the stability operator w.r.t. the outward normal in the spatial slice (default). If False , consider the operator w.r.t. the past-pointing outward null normal . |
| transform_torsion | Apply a transformation to the lightlike null vectors k and l such that the rotation 1-form (torsion of l ) becomes divergence free. Default is False . |
| full_output | If True , return all eigenvalues in addition to the principal eigenvalue. |
full_output==True
, returns a StabilitySpectrum object as second element containing all found eigenvalues.Notes
If the MOTS is contained in a time-symmetric slice of spacetime, and we compute the stability w.r.t. the outward pointing normal of in , then the stability operator simplifies greatly to
where is the Ricci tensor of , is the extrinsic curvature of , is the Laplacian on , g
is the 3-metric on the slice and q
the induced 2-metric on the MOTS.
Without time symmetry, the full operator (in vacuum) reads
Here, is the Ricci scalar of , and . Note that refers to the covariant derivative compatible with the spacetime 4-metric and and are the future pointing ingoing and outgoing null normals to , respectively.
To find the principal eigenvalue of , first note that due to the axisymmetry, the -dependence of can be expressed as
Since the are linearly independent, the spectrum will consist of the union of spectra of the . When taking the union, we label the eigenvalues by their m
-mode to be able to count their multiplicity.
The effect of applying to can in axisymmetry be reduced to a 1D problem of acting on just via (no summation here, is the angular mode, not an index)
The eigenvalues themselves are found using motsfinder.ndsolve.solver.NDSolver.eigenvalues(), which means we just need to provide the coefficient functions defining the one-dimensional operator acting on . The Laplacian acting on reads
References
[1] Andersson, Lars, Marc Mars, and Walter Simon. "Stability of marginally outer trapped surfaces and existence of marginally outer trapped tubes." arXiv preprint arXiv:0704.2889 (2007).
| def suspend_calc_obj | ( | self | ) |
Context manager to temporarily ignore the current calculator.
When leaving the with-scope, the current calculator is restored. This may be useful during evaluation of expansions for perturbed curves in finite difference approximations of functional derivatives of the expansion.
| def suspend_curv | ( | self | ) |
Context manager to temporarily ignore the extrinsic curvature.
| def temp_metric | ( | self, | |
metric = None |
|||
| ) |
Context manager to temporarily replace the used metric.
When leaving the with-scope, the previous metric is restored.
| def x_distance | ( | self, | |
| param, | |||
| kw | |||
| ) |
Return the proper length of a coordinate line from the curve to the z-axis.


Last updated: May 02, 2022
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We do not collect any personal information whatsoever
This App currently does not connect to any server and does not need internet access to function to its best ability.
This App is completely open source if you find something that doesnt satisfy your expectations you can refer to the source code here
While using Our Service, We will not ask you to provide us with any personally identifiable information that can be used to contact or identify You.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
If you have any questions about this Privacy Policy, You can contact us: terminalheatsink@gmail.com


A highly motivated graduate student seeking an opportunity for growth and development. My research interests include opportunistic navigation, software defined receiver design, cellular signals (LTE & 5G), low Earth Orbit satellite signals, multipath mitigation, and deep/reinforcement learning. I invest a lot of my time in acquiring both technical and social skills that have prepared me well for a professional work environment.
Collaborated with the PE/PM Team on the ongoing enhancement of the navigation filter, focusing on optimizing its performance across diverse real-world applications. My responsibilities included conducting error analysis, managing outlier detection and handling, and developing machine learning techniques to mitigate multipath interference.
Designed and implemented a software defined radio that uses multiprocessing to acquire and track Global Navigation Satellite Sysytem (GNSS) signals from multiple satellites simultaneously in real-time. It then decodes the navigation message to compute the pseudorange, ephemeris, and correction parameters and produces a navigation solution.
GPA: 3.80
GPA: 3.91
ION GNSS+
IEEE Aerospace
IEEE Transactions on Industrial Electronics
IEEE/ION Position Location and Navigation Symposium PLANS
ION GNSS+
IEEE Aerospace
Designed and Implemented an electric circuit that controls the lights and curtains in a room depending on the light of the surrounding environment and the input of the user.
Designed and implemented a logic circuit that gives you the amount left to be payed according to the number of hours stayed and the amount already paid.
Designed an authentication system that takes as input a button combination, a rotation of a knob, and range from an ultrasonic sensor in whichever order the user chooses using a MCU and HCS12 Assembly.
Created an iOS app that allows the user to scroll and zoom in and out, so he never runs out of space while drawing or taking notes. (Not Published)
Created an iOS app that implements Google Firebase's database and authentication services. Allows vendors to create accounts to sell clothes, and users to browse and reserve these items.


The three app pillars
Progressive Web Apps are web applications that have been designed so they are capable, reliable, and installable. These three pillars transform them into an experience that feels like a platform-specific application.
Websites that look all the righy vitamins
Progressive Web Apps are web applications that have been designed so they are capable, reliable, and installable. These three pillars transform them into an experience that feels like a platform-specific application.
The web is quite capable in its own right today. For example, you can build a hyper-local video chat app using WebRTC, geolocation, and push notifications. You can make that app installable and take those conversations virtual with WebGL and WebVR. With the introduction of Web Assembly, developers can tap into other ecosystems, like C, C++, and Rust, and bring decades of work and capabilities to the web too. Squoosh.app, for instance, leverages this for its advanced image compression.
A reliable Progressive Web App feels fast and dependable regardless of the network. Speed is critical for getting users to use your experience. In fact, as page load times go from 1 second to ten seconds, the probability of a user bouncing increases by 123%. Performance doesn't stop after the onload event. Users should never wonder whether their interaction—for example, clicking a button—was registered or not. Scrolling and animation should feel smooth. Performance affects your entire experience, from how users perceive your application to how it actually performs.
Installed Progressive Web Apps run in a standalone window instead of a browser tab. They're launchable from on the user's home screen, dock, taskbar, or shelf. It's possible to search for them on a device and jump between them with the app switcher, making them feel like part of the device they're installed on.