|
Weight?
|
Feature |
|
+0.927
|
abl b
|
|
+0.840
|
acs abv
|
|
+0.727
|
abi acu
|
|
+0.707
|
adg abr
|
|
+0.693
|
abi acn
|
|
+0.680
|
acn aal
|
|
+0.598
|
abi aek
|
|
+0.584
|
aas aea
|
|
+0.566
|
aal aas
|
|
+0.564
|
adv aek
|
|
+0.563
|
b aes
|
|
+0.548
|
abl acr
|
|
+0.545
|
acf aar
|
|
+0.519
|
abl aej
|
|
… 384 more positive …
|
|
… 274 more negative …
|
|
-0.559
|
aek aal
|
|
-0.563
|
abv aca
|
|
-0.588
|
abe aei
|
|
-0.627
|
adg adc
|
|
-0.654
|
acq eq
|
|
-0.683
|
b abl
|
|
|
Weight?
|
Feature |
|
+0.832
|
abi aej
|
|
+0.740
|
abl aan
|
|
+0.703
|
eq acq
|
|
+0.690
|
ady acq
|
|
+0.638
|
aei acp
|
|
+0.629
|
m adv
|
|
+0.624
|
abe abo
|
|
… 462 more positive …
|
|
… 351 more negative …
|
|
-0.608
|
abk aak
|
|
-0.612
|
acp aas
|
|
-0.617
|
abl aej
|
|
-0.623
|
adc acu
|
|
-0.634
|
aar aem
|
|
-0.646
|
adg abr
|
|
-0.664
|
acr aar
|
|
-0.676
|
aek aal
|
|
-0.686
|
aar abo
|
|
-0.739
|
aar ady
|
|
-0.739
|
aes abo
|
|
-0.828
|
abr abe
|
|
-0.847
|
ady acp
|
|
|
Weight?
|
Feature |
|
+0.799
|
abr abe
|
|
+0.713
|
adc abl
|
|
+0.701
|
abj aaf
|
|
+0.647
|
abe abv
|
|
+0.607
|
abe aar
|
|
+0.576
|
aed aab
|
|
+0.570
|
acs abj
|
|
… 443 more positive …
|
|
… 385 more negative …
|
|
-0.567
|
abr adc
|
|
-0.571
|
aan aca
|
|
-0.578
|
adv adh
|
|
-0.591
|
aak aab
|
|
-0.597
|
abl abv
|
|
-0.618
|
abe aca
|
|
-0.629
|
adv aak
|
|
-0.659
|
ady acn
|
|
-0.661
|
abk abo
|
|
-0.702
|
abo aab
|
|
-0.723
|
acf aar
|
|
-0.724
|
aak aaz
|
|
-0.747
|
aej aab
|
|
|
Weight?
|
Feature |
|
+0.701
|
abk aes
|
|
+0.635
|
acq d
|
|
+0.627
|
aar adv
|
|
+0.594
|
eq aea
|
|
+0.588
|
aal abj
|
|
+0.585
|
acs acp
|
|
+0.559
|
adv aek
|
|
+0.546
|
abl acn
|
|
+0.525
|
aca aak
|
|
+0.523
|
abr acp
|
|
+0.506
|
aan adv
|
|
+0.505
|
aas aei
|
|
… 410 more positive …
|
|
… 320 more negative …
|
|
-0.513
|
aej aar
|
|
-0.515
|
m abi
|
|
-0.521
|
abr aei
|
|
-0.567
|
acs abv
|
|
-0.571
|
abl abv
|
|
-0.581
|
acq abl
|
|
-0.657
|
aab aal
|
|
-0.729
|
abl acr
|
|
|
Weight?
|
Feature |
|
+0.864
|
acr abi
|
|
+0.831
|
aar ada
|
|
+0.656
|
acp acu
|
|
+0.622
|
abr adc
|
|
+0.621
|
abg aas
|
|
+0.615
|
abl aal
|
|
+0.559
|
aea aes
|
|
+0.551
|
acu abk
|
|
+0.548
|
acs aai
|
|
+0.539
|
aca aab
|
|
+0.512
|
aar aek
|
|
… 367 more positive …
|
|
… 267 more negative …
|
|
-0.513
|
acu acq
|
|
-0.526
|
abk aca
|
|
-0.531
|
aea aei
|
|
-0.534
|
acf acu
|
|
-0.576
|
aad acq
|
|
-0.615
|
adv abk
|
|
-0.618
|
acf abi
|
|
-0.623
|
abk o
|
|
-0.705
|
eq ady
|
|
|
Weight?
|
Feature |
|
+0.777
|
aal aaf
|
|
+0.764
|
acf acq
|
|
+0.697
|
aea aem
|
|
+0.667
|
abr aek
|
|
+0.656
|
abg aej
|
|
+0.641
|
abl aar
|
|
+0.640
|
aes ady
|
|
+0.631
|
aed adc
|
|
+0.619
|
abr acp
|
|
+0.603
|
abe acp
|
|
+0.588
|
acq abl
|
|
… 408 more positive …
|
|
… 338 more negative …
|
|
-0.587
|
acr acs
|
|
-0.590
|
aca aad
|
|
-0.616
|
abl aei
|
|
-0.617
|
aem aan
|
|
-0.638
|
aed acq
|
|
-0.651
|
aar abj
|
|
-0.719
|
aei aas
|
|
-0.781
|
abg acf
|
|
-0.866
|
aab abl
|
|
|
Weight?
|
Feature |
|
+1.185
|
adh aan
|
|
+1.118
|
abr aem
|
|
+1.010
|
abg abk
|
|
+0.996
|
ada acs
|
|
+0.964
|
aab aak
|
|
+0.882
|
aej abi
|
|
+0.873
|
aaz aar
|
|
+0.783
|
abi aas
|
|
+0.761
|
aas aaf
|
|
+0.744
|
aal aei
|
|
+0.732
|
aes aai
|
|
+0.725
|
adc aas
|
|
+0.725
|
acu acq
|
|
… 438 more positive …
|
|
… 397 more negative …
|
|
-0.722
|
adc aek
|
|
-0.727
|
eq aal
|
|
-0.743
|
abk aad
|
|
-0.762
|
abi aaz
|
|
-0.865
|
acr aaz
|
|
-0.869
|
aas acu
|
|
-1.136
|
aab aaf
|
|
|
Weight?
|
Feature |
|
+0.971
|
abi abl
|
|
+0.885
|
abv abi
|
|
+0.852
|
aek acp
|
|
+0.823
|
aes aca
|
|
+0.790
|
acr acs
|
|
+0.783
|
acp m
|
|
+0.777
|
acf aea
|
|
+0.752
|
m adh
|
|
+0.706
|
acs acq
|
|
+0.680
|
acp acs
|
|
+0.678
|
aas aad
|
|
+0.677
|
abi ady
|
|
+0.653
|
aal aan
|
|
… 417 more positive …
|
|
… 351 more negative …
|
|
-0.657
|
ada aca
|
|
-0.679
|
aai abg
|
|
-0.682
|
ady adv
|
|
-0.725
|
aai abo
|
|
-0.730
|
aai aej
|
|
-0.731
|
abk eq
|
|
-0.822
|
aaz aca
|
|
|
Weight?
|
Feature |
|
+1.005
|
aal adh
|
|
+0.911
|
aan aca
|
|
+0.904
|
abi abg
|
|
+0.870
|
aas aan
|
|
+0.818
|
aea acn
|
|
+0.816
|
aej acp
|
|
+0.800
|
abr acf
|
|
+0.779
|
acs aaz
|
|
+0.758
|
acp abl
|
|
+0.736
|
abi aak
|
|
+0.734
|
o aad
|
|
+0.690
|
abo abl
|
|
+0.675
|
aai acs
|
|
+0.663
|
aem abv
|
|
… 425 more positive …
|
|
… 304 more negative …
|
|
-0.732
|
aca aab
|
|
-0.735
|
abi abj
|
|
-0.739
|
acn d
|
|
-0.795
|
aas m
|
|
-0.959
|
adv abr
|
|
-1.014
|
aaf abk
|
|
|
Weight?
|
Feature |
|
+1.097
|
abl aas
|
|
+0.937
|
abi acn
|
|
+0.917
|
acu aak
|
|
+0.871
|
aad aar
|
|
+0.852
|
ada abi
|
|
+0.777
|
adv acu
|
|
+0.773
|
aei aar
|
|
+0.708
|
abo aaf
|
|
+0.691
|
abo aea
|
|
+0.688
|
aca acu
|
|
+0.660
|
abk ada
|
|
+0.643
|
acq acf
|
|
… 398 more positive …
|
|
… 320 more negative …
|
|
-0.674
|
aea ada
|
|
-0.701
|
aea o
|
|
-0.718
|
ada aal
|
|
-0.747
|
aca aea
|
|
-0.760
|
adc aca
|
|
-0.817
|
adv aaf
|
|
-0.823
|
aan acf
|
|
-0.889
|
aek o
|
|
|
Weight?
|
Feature |
|
+0.923
|
acs aem
|
|
+0.814
|
acq abk
|
|
+0.814
|
aaf abk
|
|
+0.796
|
abk abo
|
|
+0.765
|
aar aek
|
|
+0.763
|
abk acs
|
|
+0.759
|
abr abe
|
|
+0.740
|
aem abg
|
|
+0.727
|
acr abk
|
|
+0.724
|
ada aak
|
|
+0.714
|
aan abi
|
|
+0.699
|
aej acs
|
|
… 448 more positive …
|
|
… 364 more negative …
|
|
-0.662
|
adv aal
|
|
-0.687
|
aal abj
|
|
-0.699
|
aai aal
|
|
-0.721
|
abi aaf
|
|
-0.738
|
aal acp
|
|
-0.817
|
m aai
|
|
-0.829
|
eq acq
|
|
-0.830
|
aas acu
|
|
|
Weight?
|
Feature |
|
+0.743
|
ady aek
|
|
+0.684
|
aal acs
|
|
+0.654
|
adh aej
|
|
+0.645
|
acr aak
|
|
+0.623
|
adv aak
|
|
+0.616
|
aar aei
|
|
+0.572
|
m abk
|
|
+0.559
|
abi acp
|
|
+0.541
|
abk acs
|
|
+0.533
|
aca aaf
|
|
+0.530
|
aar abj
|
|
… 424 more positive …
|
|
… 323 more negative …
|
|
-0.535
|
aca adg
|
|
-0.541
|
abl acu
|
|
-0.554
|
aaf acf
|
|
-0.564
|
m aas
|
|
-0.569
|
adg abg
|
|
-0.570
|
adh m
|
|
-0.590
|
aab abk
|
|
-0.630
|
acs aal
|
|
-0.719
|
acr abi
|
|
|
Weight?
|
Feature |
|
+0.986
|
acf abl
|
|
+0.955
|
abg aea
|
|
+0.872
|
adc aak
|
|
+0.801
|
aca aan
|
|
+0.763
|
aej aaz
|
|
+0.741
|
aaf acf
|
|
+0.724
|
aak abk
|
|
+0.713
|
abk aai
|
|
+0.669
|
acs acq
|
|
+0.668
|
ada acq
|
|
+0.665
|
aej abk
|
|
… 428 more positive …
|
|
… 364 more negative …
|
|
-0.695
|
acu eq
|
|
-0.713
|
abv adc
|
|
-0.725
|
abl aan
|
|
-0.744
|
abr aai
|
|
-0.750
|
aes acu
|
|
-0.758
|
abk aed
|
|
-0.778
|
acq d
|
|
-0.824
|
aal aei
|
|
-1.044
|
m aca
|
|


Lockdown Study
How tutorial on how to manage your time
A lockdown guide by Author
Time Management
Introduction
Being at home during this lockdown must have you struggling with your learning. No classroom holding you prisoner for every hour, no fixed lunchtime and certainly no English class at 1:55pm today.
Without this structure that school has given us all these years, time management and our usual total disregard for it has made working to our own schedule a big uphill battle.
I think all of us at one point or another tried to sit for 6-8 hours straight trying to either cram in as much as we can or had that assignment we left to the last minute but how long do you think you can effectively learn material in a sustained period?
A minute?
An hour?
Maybe six?
The Pomodoro Technique
A study at the University of Illinois conducted a test to see how long students could absorb and retain information with a variety of solid blocks of time and smaller chunks.1
The results were fascinating. The performance of the groups that worked solidly for 50 minutes declined over the 50 minute period. However, the performance of the group who took a brief break in the middle of the task, remained constant.
This technique of learning has a name and was coined in the late 1980s by then university student Francesco Cirillo. He was struggling to focus on his studies and feeling overwhelmed, asked himself to commit just 10 minutes of focused study time. He found a tomato (pomodoro in Italian) shaped kitchen timer, and the Pomodoro technique was born.2
Many different sources tell you work/break times however this is completely down to the individual. I personally work well for longer periods and a 45 minute work session can be followed by a 15 minute break; whereas my partner can only focus for 20 minutes and has a 5-10 minutes break. Notice that the ratio of work to break time remains relatively constant.
Try working on some of you’re homework and make a note of the time you start your learning. As you work, the moment you find that you’re reading/writing/listening and it’s not really going in or you feel that you are seeing the words but you aren’t really learning it; stop and take note of how much time has passed. This will be you’re maximum work period and stretching any further beyond this will give you diminishing returns.
As for you’re break time, take your work period and divide it by 3. If it seems a bit short, go ahead and round it up. This break time is for you to make that cuppa tea or watch the YouTube video you’ve been itching for. You deserve it for focusing and working hard.
One of the further stretching things that the pomodoro technique does not quite go into is for at the end of all the work and break sessions. Many think that by this time, its bed time or you are too worn out for anything else. This is the perfect time to give yourself the biggest treat you can given this highly focussed block of your day. I take to playing games and listening to my favorite music playlist.
Further Viewing
If you find this practice interesting and potentially benificial, check out this video presented by an ex-psychology lecturer at Pierce College in which he talks about smarter to make more valuable use of your time.


SEVEN A film review by Steve Rhodes Copyright 1995 Steve Rhodes
RATING (0 TO ****): *** 1/2
SEVEN is film that pushes the edge of the movie envelope. Its artistic ancestors are probably SILENCE OF THE LAMBS and PULP FICTION, and yet SEVEN stands alone as a totally unique cinematic experience. Although a lot of the critics love it, there are many frightening and gross images that may have the squeamish heading for the exits before even the first scene is over. On the other hand, if you have a strong stomach and you liked either of SEVEN's above putative relatives, there is a good chance you may love this show as much as I did.
From the opening you know something unusual is unfolding in front of you. First, the initial credits are shot with flashing images, type going in and out of focus to strange sounding music, and cross hatch marks on the film like this is some ancient print. Do not go complain to the poor guy working at the snack bar, this is what the film maker intended.
As soon as you learn to accept the bizarre credits, you realize that the cinematography (Darius Khondji) is on the dark side of black. You had better see this show on the big screen. Its low contrast, black images will never transfer well to TV. The colors in it are mainly shades of grays so that any images with primary colors really stand out. At first I did not know what to make of the filming, but then I realized how well the technique fit and set the mood of the picture. Many scenes had pouring gray rain to further enhance the dismal ambiance. In the end I decided the cinematography deserved an Academy Award nomination. It was that innovative and involving.
Along with the camerawork, the sets by Arthur Max were depressingly and shockingly perfect. Many of the sets were lit by 25 watt bulbs so that the detectives had to use big flashlights to inspect the crime scene even though the room lights were on.
So what is this show about you ask? Is it just another mood piece where the techniques are the show? Oh no, this has a well written script (Andrew Kevin Walker) and a director (David Fincher) who is in total control. You may or may not mind the gore, but you can certainly respect someone who can fashion a picture with such attention to detail and such careful planning.
The movie is about an extremely smart serial killer known only as John Doe. He is played to perfection in a small but excellent part by Kevin Spacey who is one of the best bad guys in the movies today. See CONSENTING ADULTS or THE USUAL SUSPECTS for more examples of his villainy. This serial killer is out to kill people in a recreation of each of the seven deadly sins. The first sin we see is gluttony.
The movie uses the cliche of an old retiring cop, William Sommerset (Morgan Freeman), breaking in a new cop, David Mills (Brad Pitt). It does it in such fresh ways, that you do not mind you have seen this setup a hundred times before. Much as a chess master may use a standard opening and yet craft an entirely unique game, the writer weaves a compelling story out of formula ingredients. Here Freeman gives another Academy Award caliber performance as a low key but very sure master detective. Pitt, whom I rarely like, does the best piece of acting I have ever seen him do.
So much about this movie is outstanding in so many ways. The music is dramatic and helps set the mood. I think the editing by Richard Francis-Bruce deserves another award. The way he can use cuts from slow pieces to fast ones and then quick cuts in the fast ones gets the audience's adrenaline pumping. A good example of this is when the police cars come flying out of the police station when the police think they finally have the killer's location. One minute we have a contemplative scene, and the next your heart is racing with the fast edits.
The script has so many examples of fine writing a la PULP FICTION that I would be happy to see an award here as well. When Detective Mills gets frustrated trying to track down the killer through the library, he says, "He's a nut case. Just because he has a library card doesn't make him Yoda." When the killer muses on his place in the scheme of things, he declares that, "If you want people to pay attention, you can't tap them on the shoulder anymore. You have to use a sledgehammer to get their attention." Finally, Detective Sommerset reflects that "Ernest Hemingway once wrote that 'the world is a fine place and worth fighting for.' I agree with the second part." A show is only as good as its ending. Suffice it to say that SEVEN's ending is on par with the rest of the movie and is filled with many surprises, large and small.
I was flabbergasted when I read that SEVEN runs 2:07. It feels like 1:30 at most since it is so well paced. It is incorrectly rated R for massive gore and violence. Personally, I think the MPAA should be more generous with the NC-17 rating which is what I would give SEVEN. It is not suitable for teenagers, but I recommend it highly to adults who like cop shows and who like films that are willing to be out on the fringes, and I award it *** 1/2.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEWED WRITTEN ON: October 1, 1995
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


England Have Lost Rugby World Cup Final
by Julia BanimThe England Rugby team has lost 12-32 against South Africa in the World Cup final, after being dominated in the second half.
South Africa played a strong game throughout, outplaying England at every turn in Yokohama. This marks a third Rugby World Cup win for South Africa, with tries from Makazole Mapimpi and Cheslin Kolbe taking the Springboks to victory.
This marked the second meeting between the two teams in the tournament, with South Africa previously proving victorious in Paris 12 years ago. This also marks the very first time South Africa has had a black captain, Siya Kolisi.
South Africa’s Handré Pollard missed a kickable penalty, before England were forced into an early change when Kyle Sinckler suffered a concussion after attempting to tackle Makazole Mapimp, leading to him being substituted.
England fans were in high spirits last week following a triumphant semi-final win against New Zealand, however this time they proved no match for South Africa.
England World Cup winner Matt Dawson praised the South African team while appearing on BBC Radio 5 Live, describing it as ‘one of, if not the, greatest victory in a World Cup final’.
Dawson added:
England have been done and dusted in the classroom and the training field. Ultimately they were put away by a South Africa team and management who looked like they were in positions England wanted to be before England were there. They weren’t one step ahead, they were two or three ahead.
I was hoping somewhere, in the bowels of the England staff and management, they would have had those angles covered and that they would have expected something like that from South Africa, but it didn’t look that way.
Congratulations to South Africa!
Jules studied English Literature with Creative Writing at Lancaster University before earning her masters in International Relations at Leiden University in The Netherlands (Hoi!). She then trained as a journalist through News Associates in Manchester. Jules has previously worked as a mental health blogger, copywriter and freelancer for various publications.


| AwardsSharePlayers {Lahman} | R Documentation |
Award voting for managers awards
data(AwardsSharePlayers)
A data frame with 6879 observations on the following 7 variables.
awardID
name of award votes were received for
yearID
Year
lgID
League; a factor with levels AL
ML
NL
playerID
Player ID code
pointsWon
Number of points received
pointsMax
Maximum number of points possible
votesFirst
Number of first place votes
Lahman, S. (2021) Lahman's Baseball Database, 1871-2020, 2020 version, http://www.seanlahman.com/baseball-archive/statistics/
# Vote tallies for post-season player awards require("dplyr") # Which awards are represented in this data frame? unique(AwardsSharePlayers$awardID) # Sort the votes for the Cy Young award in decreasing order. # Until 1967, the award went to the best pitcher # in both leagues. cyvotes <- AwardsSharePlayers %>% filter(awardID == "Cy Young") %>% group_by(yearID, lgID) %>% arrange(desc(pointsWon)) # 2012 votes subset(cyvotes, yearID == 2012) # top three votegetters each year by league cya_top3 <- cyvotes %>% group_by(yearID, lgID) %>% do(head(., 3)) head(cya_top3, 12) # unanimous Cy Young winners subset(cyvotes, pointsWon == pointsMax) ## CYA was a major league award until 1967 # Find top five pitchers with most top 3 vote tallies in CYA # head(with(cya_top3, rev(sort(table(playerID)))), 5) # Pre-1967 cya_top3 %>% filter(yearID <= 1966) %>% group_by(playerID) %>% summarise(yrs_top3 = n()) %>% arrange(desc(yrs_top3)) %>% head(., 2) # 1967+ (both leagues) cya_top3 %>% filter(yearID > 1966) %>% group_by(playerID) %>% summarise(yrs_top3 = n()) %>% arrange(desc(yrs_top3)) %>% head(., 5) # 1967+ (by league) cya_top3 %>% filter(yearID > 1966) %>% group_by(playerID, lgID) %>% summarise(yrs_top3 = n()) %>% arrange(desc(yrs_top3)) %>% head(., 5) # Ditto for MVP awards # Top 3 votegetters for MVP award by year and league MVP_top3 <- AwardsSharePlayers %>% filter(awardID == "MVP") %>% group_by(yearID, lgID) %>% arrange(desc(pointsWon)) %>% do(head(., 3)) tail(MVP_top3) ## Select players with >= 7 top 3 finishes MVP_top3 %>% group_by(playerID) %>% summarise(n_top3 = n()) %>% arrange(desc(n_top3)) %>% filter(n_top3 > 6)


| DOSE: T+ 0:00 |
1 line |
insufflated |
Cocaine |
(powder / crystals) |
| T+ 0:00 |
1 line |
insufflated |
Heroin |
(powder / crystals) |
| T+ 0:00 |
0.5 glasses |
oral |
Alcohol - Beer/Wine |
(liquid) |
| T+ 2:00 |
1 line |
insufflated |
Cocaine |
(powder / crystals) |
| T+ 3:00 |
1 cig. |
smoked |
Cannabis |
(plant material) |
Last night, my friend M and I had some excess powder sitting about, and we decided to try the infamous combination of dope and coke, a.k.a. 'Speedballing'. M and I had recently come across a source of cheap, very good quality heroin. I hadn't done any dope in about 4 days, but I'd been doing coke most of the weekend. At about 9:30 pm, we each insufflated one large line of cocaine, and one small line of heroin, about the size of our normal dose. We proceeded outside to smoke cigarettes out on the bench in front of our dorm, as we normally do. Heroin gives a warm, heavy, slightly itchy feeling of contentedness, while cocaine produces a jittery, euphoric, wide-awake high. The combination is a mix of these two states...warm, drowsy, and content, yet somehow fully aware of what is going on and talkative and slightly jittery.
We smoked cigarettes and walked around until the cocaine high wore off. Still slightly wired at this point, however, the heroin mostly took over and I actually nodded out a couple of times. We shot a few games of pool, and did one more line of cocaine to bring us back up. We smoked more cigarettes, and M and I drank a beer to top things off. After about an hour, my friend R offered to smoke a blunt of kb (cannabis) with us. We proceeded to the usual spot, by now feeling more or less back to normal.
After I took a few large hits from the blunt, 10 minutes later I had to sit down, suddenly overcome by the strength of the speedball. My only guess is that the cannabis must have kicked in both the heroin and the cocaine all over again, and this time it was much stronger than it had been before. It was about 1am by now, and I was able to make my way back to the dorm and up to my room. I was feeling very ill and my heart was beating very quickly and erratically. I sat for a while, unable to move but still very very fucked up. I vomited a few times, and I felt better. My heart continued to behave erratically, speeding along much faster than it should have. Abruptly, it would slow down to somewhere near normal, but still not at a steady rhythmic pace. It sped up and slowed down to its own accord for the next couple of hours.
Physically, I was not in good shape. I was pale and trembling, with a slight headache and cold, clammy hands. Mentally, it was a beautiful feeling. For a while I felt as if I was very close to dying, but at the same time I was consumed by beauty all around me. I believed myself to be in a higher state of consciousness, at one with the universe or in sync with a unifying force, or something. Interpret that however you want. I slept through all of my classes the next day (today), and I've been rather 'out of it' and exhausted both physically and mentally.
This experience is an unforgettable one, however it is very dangerous and I suggest that anyone planning to try this should know their reactions to both cocaine and heroin before combining the two.  Luckily we only had one beer left to split, If I'd had more, I would've drank it, and I would probably be dead or hospitalized today.
Note: I hadn't smoked cannabis for about a week prior to the experience, so that may have something to do with it's heavily magnifying effects on me.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This module is dedicated to the development of a WebApp (back-end + front-end) for the two following needs:
- History-exploration and Annotation
- Real-time dashboard
Back-end source code: github.com/EDS-APHP/pancarte-backend
Front-end source code: github.com/EDS-APHP/pancarte-front
This page lists all available rooms, and for each "card" you will see the patient's name, vital signals available, its main diagnosis...
When you click on such a "card", you are being redirected to the "Real-time streaming of a room" page.
This page shows in real-time:
Coming soon.
This page allows to browse the history of all recorded data (in the pancarte-db) based on filters. When you selected a record, you can annotate it using the "Annotation of historical data" page.
Coming soon.
This page allows to:


WebCoursera
Sign Up
Name
Email address
Password
Confirm Password
I agree to the
Terms and Conditions
.
Sign Up
Are you an Existing User?
Login
© 2021 WebCoursera, Inc.


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
helper class More...
#include <ql/instruments/makeswaption.hpp>
Public Member Functions | |
| MakeSwaption (ext::shared_ptr< SwapIndex > swapIndex, const Period &optionTenor, Rate strike=Null< Rate >()) | |
| MakeSwaption (ext::shared_ptr< SwapIndex > swapIndex, const Date &fixingDate, Rate strike=Null< Rate >()) | |
| operator Swaption () const | |
| operator ext::shared_ptr< Swaption > () const | |
| MakeSwaption & | withNominal (Real n) |
| MakeSwaption & | withSettlementType (Settlement::Type delivery) |
| MakeSwaption & | withSettlementMethod (Settlement::Method settlementMethod) |
| MakeSwaption & | withOptionConvention (BusinessDayConvention bdc) |
| MakeSwaption & | withExerciseDate (const Date &) |
| MakeSwaption & | withUnderlyingType (Swap::Type type) |
| MakeSwaption & | withIndexedCoupons (const ext::optional< bool > &b=true) |
| MakeSwaption & | withAtParCoupons (bool b=true) |
| MakeSwaption & | withPricingEngine (const ext::shared_ptr< PricingEngine > &engine) |
Private Attributes | |
| ext::shared_ptr< SwapIndex > | swapIndex_ |
| Settlement::Type | delivery_ |
| Settlement::Method | settlementMethod_ |
| ext::shared_ptr< VanillaSwap > | underlyingSwap_ |
| Period | optionTenor_ |
| BusinessDayConvention | optionConvention_ |
| Date | fixingDate_ |
| Date | exerciseDate_ |
| ext::shared_ptr< Exercise > | exercise_ |
| Rate | strike_ |
| Swap::Type | underlyingType_ |
| Real | nominal_ |
| ext::optional< bool > | useIndexedCoupons_ |
| ext::shared_ptr< PricingEngine > | engine_ |
helper class
This class provides a more comfortable way to instantiate standard market swaption.
Definition at line 45 of file makeswaption.hpp.
| MakeSwaption | ( | ext::shared_ptr< SwapIndex > | swapIndex, |
| const Period & | optionTenor, | ||
| Rate | strike = Null<Rate>() |
||
| ) |
Definition at line 33 of file makeswaption.cpp.
| MakeSwaption | ( | ext::shared_ptr< SwapIndex > | swapIndex, |
| const Date & | fixingDate, | ||
| Rate | strike = Null<Rate>() |
||
| ) |
Definition at line 41 of file makeswaption.cpp.
| operator Swaption | ( | ) | const |
Definition at line 48 of file makeswaption.cpp.
| operator ext::shared_ptr< Swaption > | ( | ) | const |
| MakeSwaption & withNominal | ( | Real | n | ) |
Definition at line 144 of file makeswaption.cpp.
| MakeSwaption & withSettlementType | ( | Settlement::Type | delivery | ) |
Definition at line 111 of file makeswaption.cpp.
| MakeSwaption & withSettlementMethod | ( | Settlement::Method | settlementMethod | ) |
Definition at line 116 of file makeswaption.cpp.
| MakeSwaption & withOptionConvention | ( | BusinessDayConvention | bdc | ) |
Definition at line 123 of file makeswaption.cpp.
| MakeSwaption & withExerciseDate | ( | const Date & | date | ) |
Definition at line 128 of file makeswaption.cpp.
| MakeSwaption & withUnderlyingType | ( | Swap::Type | type | ) |
| MakeSwaption & withIndexedCoupons | ( | const ext::optional< bool > & | b = true | ) |
Definition at line 149 of file makeswaption.cpp.
| MakeSwaption & withAtParCoupons | ( | bool | b = true | ) |
Definition at line 154 of file makeswaption.cpp.
| MakeSwaption & withPricingEngine | ( | const ext::shared_ptr< PricingEngine > & | engine | ) |
|
private |
Definition at line 70 of file makeswaption.hpp.
|
private |
Definition at line 71 of file makeswaption.hpp.
|
private |
Definition at line 72 of file makeswaption.hpp.
|
mutableprivate |
Definition at line 73 of file makeswaption.hpp.
|
private |
Definition at line 75 of file makeswaption.hpp.
|
private |
Definition at line 76 of file makeswaption.hpp.
|
mutableprivate |
Definition at line 77 of file makeswaption.hpp.
|
private |
Definition at line 78 of file makeswaption.hpp.
|
mutableprivate |
Definition at line 79 of file makeswaption.hpp.
|
private |
Definition at line 81 of file makeswaption.hpp.
|
private |
Definition at line 82 of file makeswaption.hpp.
|
private |
Definition at line 83 of file makeswaption.hpp.
|
private |
Definition at line 84 of file makeswaption.hpp.
|
private |
Definition at line 86 of file makeswaption.hpp.


- You can press "Ctrl+Shift+F" to open this extension.
- Select a word on web ,then just press "Ctrl+Shift+F" to translate the word between English and Chinese.
- Type a word in the input field and press Enter key.
- In the new word list field, click the word to translate, click remove link when you memorize it.
- About Translated
- Version: v0.1
- A chrome exetension to help translate between English and Chinese.It aim to provide friendly UI and try to keep dead easy.
- The translate engin is powered by 微软必应词典.
- Developed by<EMAIL_ADDRESS>and the code can be found on github.


Bonds Report
Report
Add the report file received from XP Investments.
Date Format
MM/DD/YYYY
DD/MM/YYYY
Provided report could have the dates in different formats.
Minimum Coupon (%)
Define the minimum interest percentage that you want to earn per year.
Maximum Years to Maturity
Define the maximum number of years for the bond expiration.
Price (U$):
$95 - $101
Price range that you will pay for a bond.
Piece (U$):
$0 - $200,000
Piece range that you can afford.
Analyze only focused reports (XP recommendations)
Submit
Show all fields
Name
Security
Coupon
Yield
Maturity
Last Price
Current Price
Accrued per Bond
Duration
Years to Maturity
Minimum Piece
Country
Risk
Code
S&P
Moody's
Fitch


disease celiac patients PCD children potential Gastroenterology {border-style GFD px;} #ffffff;} coeliac intestinal mucosa mucosal villous deposits normal increased study clinical active asymptomatic positive symptoms treatment IL- Nutrition Potential Tosco antibodies atrophy history presence px; small transglutaminase {font-family Borrelli CD, Clinical Pediatric considered density diagnosis diet follow-up font-size histological important intraepithelial suggested American CD. Figure PCD, adults double; early features number Lionetti autoantibody border-color border-width bowel clear demonstrated described despite inflammation lymphocytes overt serum solid; {font-style {font-weight Auricchio Celiac GFD. Gastroenterol Jarvinen Kurppa PCD. Table and/or areas bold cases condition courier; diet, disease. duodenal em; findings gluten gluten-dependent gluten-free grade lamina main markers natural patchy population progression pt;} recent reduced showed signs specific studies tTGA years


doting by henry green
Rating ★ ★ ★ ★ ★
Price: $14.00
- Cover: Paperback
- Published by NYRB Classics
- Pages: 208
doting by henry green
Rating ★ ★ ★ ★ ★
Price: $14.00
the patriots by sana krasikov
Rating ★ ★ ★ ★ ★
$18.00
autumn by ali smith
Rating ★ ★ ★ ★ ★
$15.95
the name of the wind by patrick rothfuss
Rating ★ ★ ★ ★ ★
$40.00
the imposters of aventil by marshall ryan maresca
Rating ★ ★ ★ ★ ★
$7.99
a scandal in battersea by mercedes lackey
Rating ★ ★ ★ ★ ★
$20.00
12 days of christmas by d. macomber
Rating ★ ★ ★ ★ ★
$20.00
rafe, the maverick by kay hooper
Rating ★ ★ ★ ★ ★
$6.00
fairytale by danielle steel
Rating ★ ★ ★ ★ ★
$28.99
the bone thief by alyson noel
Rating ★ ★ ★ ★ ★
$16.99
bramble and maggie by jessie haas
Rating ★ ★ ★ ★ ★
$3.99
santa rex by molly idle
Rating ★ ★ ★ ★★
$17.99


--- layout: post title: OSX o FreeBSD? date: '2011-11-12T15:36:00.000+01:00' author: Luca Ferrari tags: - riflessioni - freebsd modified_time: '2011-11-12T15:36:17.107+01:00' blogger_id: tag:blogger.com,1999:blog-1836481905487384887.post-5030300733013413708 blogger_orig_url: http://fluca1978.blogspot.com/2011/11/osx-o-freebsd.html permalink: /:year/:month/:day/:title.html ---
The config files don't *really* sit in /etc, home directories are
in /Users and it's full of that kind of non-sensical nonsense. So, to say
Mac OS X is like FreeBSD with knobs on, is like saying the Ferrari F1 car is
like a Testarossa with knobs on - bits might have come from the same
factory, but at different times and for different purposes.


CACCI Conference in Dhaka begins on Tuesday
by bdnews24.comThe Confederation of Asia-Pacific Chambers of Commerce and Industry or CACCI is going to hold its 33rd conference in Dhaka on Tuesday and Wednesday.
The Federation of Bangladesh Chambers of Commerce and Industry or FBCCI is hosting the conference at the Pan Pacific Sonargaon hotel with the theme – “Asia: At the Centre of a New World Order”.
FBCCI President Sheikh Fazle Fahim said on Monday at a press conference that they would focus on Bangladesh’s success story of the past 10 years in the conference.
“We want to go further,” he said and referred to the government implementing plans like Vision 2021, Vision 2041 and the UN’s Sustainable Development Goals or SDGs.
“But we need huge foreign and domestic investments to achieve the expected goal. I believe the CACCI conference will play an important role in achieving the goal,” added Sheikh Fahim, who is also a vice-president of CACCI.
The Prime Minister’s Adviser on Private Industries and Investment Salman F Rahman will open the conference.
Besides Sheikh Fahim, CACCI President Samir Modi will deliver the welcome speech.
Representatives from 27 countries, including the US, the UK, Russia, Australia, India, Hong Kong, Thailand, Taiwan, the Philippines, Iran, Sri Lanka, Nepal, and Turkey are joining the conference, according to the organisers.


Toggle navigation
IBB Consulting Group
User Dashboard
Browse Projects
Manage Projects
Services Test
{{globals.currentUser.username}}
Logout


When a single person is working on a piece of writing or a program, they can quickly save their work or undo any changes made that turned out to be detrimental. However, when a group of developers whether it be code or content, collaborate together to build a single project, version control becomes a very important issue. Without any version control or with a poorly set up version control, a competent team of engineers may run circles around each other and not come up with a solution to a problem, which they would otherwise solve quickly.
What exactly is version control? It is a system that allows for backup logs, tracking of changes, and tracking of submissions from individual contributors to a larger project. When two people are separately working on the same piece of code, they are in danger of saving over each others work, nullifying their progress. What version control programs, such as Git, do is allow each person to create a copy of the project to work on, the save the changes to that copy. After that the code may be reviewed by team leaders to make sure it doesn't break anything, and only then it would be implemented. This process allows for individual contributions to be complied together to complete a larger goal. It allows for the project to be broken down to smaller pieces, where individuals or small groups work on each piece, then assemble all those pieces in an organized fashion.
Github is a popular remote repository that is used today. It is a cloud storage used specifically with Git version control. It may help to think of it as Dropbox, Google Drive, or Microsoft OneDrive, which was made to specifically work with Git software set up on a local machine. This means that most of the interaction with Github may occur on command line, which allows for a developer(who already 'lives' in the terminal) to save time on menial tasks such as saving progress or pulling other peoples work.


It isn’t a far reach to identify Ativan as the Panzer tank of benzodiazepines. In short, it’s a powerful and tough drug that’s even more tough to get out from under.
Your best bet if you or a loved one suffers from Ativan addiction is to get professional help. It is not recommended that a person try to recover on their own from Ativan, as the detox portion of a recovery can be very dangerous, even life threatening.
Getting into the nitty-gritty of this drug, symptoms that suggest you or someone close to you might have issues with Ativan include:
Above are listed the symptoms of Ativan abuse, but not what can lead up to the downward stumble into addiction.
As is the case with many prescription pills, continual use can lead to addiction. Even if a patient follows their doctor’s directions when taking Ativan, there still remains the possibility for you as the patient to become addicted to the medicine.
And therein lies the issue with Ativan recovery. Yes, it can be done, but extra effort might be needed to recover from the drug whose purpose, in this case, is to be an anti-anxiety medication.
So, in short, your detox and recovery might involve adjusting yourself to be without two drugs: one that has harmed you through its addictive properties, which is a common occurrence with Ativan, while the second drug still remains Ativan, but for the purpose of curbing your anxiousness while in public settings.
… many of the high-powered and eventually overwhelming prescription pills doctors and pharmaceutical companies push on us addict us in two ways, not one.
First is the physical addiction, which is part and parcel to any prescription opioid or narcotic. But the second is that whatever ailment, be it nervousness, lack of attention, or chronic pain for which the prescription was initially written, now has to be faced with no medication at all; a potential hell in and of itself.
Consider all this as your doctor prescribes prescription painkillers, anti-anxiety pills or any other type of addictive medication to you.
When it comes to your ailment vs. the potential for addiction and the pain that addiction in itself can cause, maybe your best bet is to look for an alternative medicine, or at least reconsider taking any medicine at all.


|
Package utl_ftp
Name : UTL_FTP Author : Juergen Sieben, based on the work of Tim Hall Description : Simple FTP-API for in database use Requirements : UTL_TCP
|
|
register_ftp_server
|
Method to register a server explicitly at the package
|
|
unregister_ftp_server
|
Method to un-register a registered server from the server list
|
|
set_timeout
|
Setter to adjust timeout wait time for the respective FTP-Server
|
|
login
|
Method to explicitly start a FTP session
|
|
logout
|
Method to close an explicitly opened FTP session
|
|
get
|
Procedure to read a file from the FTP server and copy it to the local filesystem
|
|
get
|
Overloaded method to read a file from an FTP server to a local CLOB
|
|
get
|
Overloaded method to read a file from an FTP server to a local BLOB
|
|
put
|
Method to copy a local file to the FTP server
|
|
put
|
Method to copy a local CLOB/BLOB instance to a file on the FTP server
|
|
get_server_status
|
Method GET_SERVER_STATUS reads the actual status of the FTP server and returns it as an instance of CHAR_TABLE.
|
|
get_control_log
|
Method to retrieve the control log as a data structure for further reference
|
|
get_control_log_text
|
Overloaded version that returns the control log as a clob-instance
|
|
get_help
|
Command to retrieve help from the FTP server
|
|
list_directory
|
Method to retrieve a directory listing of the directory specified
|
|
create_directory
|
Creates a directory on the FTP server
|
|
remove_directory
|
Removes a directory on the FTP server
|
|
rename_file
|
Renames a file on the FTP server
|
|
delete_file
|
Deletes a file from the FTP server
|
c_type_binary
c_type_binary constant char(1 byte) := 'I';
c_type_ascii
c_type_ascii constant char(1 byte) := 'A';
register_ftp_server
Procedure register_ftp_server(p_ftp_server in varchar2,
p_host_name in varchar2,
p_port in varchar2 default '21',
p_user_name in varchar2 default 'anonymous',
p_password in varchar2 default 'foo',
p_permanent in boolean default true)
Method to register a server explicitly at the package
|
|
Is called to explicitly register a FTP server. Alternatively, it may be written to table FTP_SERVERS to allow for automatic registration upon initialization of the package. CAUTION: Nicknames are unique and case insensitive. A server with the same nickname as an existing server will be overwritten with the respective settings. The user is responsible to take care of uniqueness and correct use!
|
|
|
p_ftp_server
|
Nickname of the server, referenced in subsequent calls. Limit of 30 byte, stored in uppercase
|
|
|
p_host_name
|
Name or IP address of the FTP server
|
|
|
p_port
|
Port of the FTP server. Defaults to 21
|
|
|
p_user_name
|
Username of the account. Defaults to 'anonymous'
|
|
|
p_password
|
Password, defaults to FOO
|
|
|
p_permanent
|
If TRUE, the registration is stored at FTP_SERVER and automatically registered from thereon
|
unregister_ftp_server
Procedure unregister_ftp_server(p_ftp_server in varchar2)
Method to un-register a registered server from the server list
|
|
This method will un-register the FTP server both from the actual instance as well as from table FTP_SERVER. It will not unregister the server from other instances of this package running in different sessions.
|
|
|
p_ftp_server
|
Nickname of the server to unregister
|
set_timeout
Procedure set_timeout(p_duration in number)
Setter to adjust timeout wait time for the respective FTP-Server
|
|
If the FTP server responses to a command it may take a while until the result code of that operation returns. Here you can adjust how long UTL_FTP is going to wait for that response. Defaults to 0.5 seconds
|
|
|
p_duration
|
Time in seconds the service waits for responses from the FTP-Server
|
login
Procedure login(p_ftp_server in varchar2)
Method to explicitly start a FTP session
|
|
All commands have an auto logon option that enables them to automatically connect and disconnect to a registered FTP server. Disadvantage is that these methods open and close a session per call. If you want to issue more than one command using the same session, you may explicitly open a connection for this server and close it after the chain of commands using method LOGOUT.
|
|
|
p_ftp_server
|
Nickname of the registered FTP server to connect to
|
logout
Procedure logout
Method to close an explicitly opened FTP session
|
|
Called to finish the explicit FTP session opened by LOGIN. Please make sure to explicitly close all explicitly opened sessions to avoid denial of service due to max open session exceeded
|
get
Procedure get(p_from_file in varchar2,
p_to_directory in varchar2,
p_to_file in varchar2,
p_ftp_server in varchar2 default null,
p_transfer_type in varchar2 default c_type_binary)
Procedure to read a file from the FTP server and copy it to the local filesystem
|
|
This overloaded method is used when a file from the FTP server is to be copied to a local file system. If you want to consume the content within the database, select the other overloaded methods to directly return CLOB or BLOB
|
|
|
p_from_file
|
Name of the file to retrieve
|
|
|
p_to_directory
|
Name of an oracle directory to store the file at
|
|
|
p_to_file
|
local file name
|
|
|
p_ftp_server
|
Nickname of the registered server to read from. Required in implicit session mode only
|
|
|
p_transfer_type
|
Type of data transfer. Choose between BINARY and ASCII. Defaults to BINARY
|
get
Procedure get(p_from_file in varchar2,
p_data out nocopy clob,
p_ftp_server in varchar2 default null,
p_transfer_type in varchar2 default c_type_binary)
Overloaded method to read a file from an FTP server to a local CLOB
|
|
Use this method if you need to retrieve a file from the FTP server as CLOB
|
|
|
p_from_file
|
Name of the file to retrieve
|
|
|
p_data
|
Out parameter with the file content as CLOB
|
|
|
p_ftp_server
|
Nickname of the registered server to read from. Required in implicit session mode only
|
|
|
p_transfer_type
|
Optional parameter to choose betwen BINARY or ASCII file transmission. Defaults to BINARY
|
get
Procedure get(p_from_file in varchar2,
p_data out nocopy blob,
p_ftp_server in varchar2 default null)
Overloaded method to read a file from an FTP server to a local BLOB
|
|
Use this method if you need to retrieve a file from the FTP server as BLOB
|
|
|
p_ftp_server
|
Nickname of the registered server to read from. Required in implicit session mode only
|
|
|
p_from_file
|
Name of the file to retrieve
|
|
|
p_data
|
Out parameter with the file content as BLOB
|
put
Procedure put(p_from_directory in varchar2,
p_from_file in varchar2,
p_to_file in varchar2,
p_ftp_server in varchar2 default null,
p_transfer_type in varchar2 default c_type_binary)
Method to copy a local file to the FTP server
|
|
This overloaded method should be used if you need to copy a local file to an FTP server. If the data to copy is available as CLOB or BLOB within the database, use the overloaded versions instead.
|
|
|
p_from_dir
|
Name of an oracle directory that contains the file to copy
|
|
|
p_from_file
|
Name of the local file
|
|
|
p_to_file
|
Path and name of the remote file
|
|
|
p_ftp_server
|
Nickname of the registered server to write. Required in implicit session mode only
|
|
|
p_transfer_type
|
Type of data transfer (C_TYPE_BINARY|C_TYPE_ASCII), defaults to C_TYPE_BINARY
|
put
Procedure put(p_to_file in varchar2,
p_clob in clob default null,
p_blob in blob default null,
p_ftp_server in varchar2 default null,
p_transfer_type in varchar2 default c_type_ascii)
Method to copy a local CLOB/BLOB instance to a file on the FTP server
|
|
This method overload is used to store a local CLOB/BLOB instance at the FTP server. If neither P_CLOB nor P_BLOB is used, an error is thrown.
|
|
|
p_to_file
|
Path and name of the file on the FTP server
|
|
|
p_clob
|
Optional CLOB instance to copy to the FTP server
|
|
|
p_clob
|
Optional BLOB instance to copy to the FTP server
|
|
|
p_ftp_server
|
Nickname of the registered server to write to. Required in implicit session mode only
|
|
|
p_transfer_type
|
If the CLOB parameter is used, this parameter can be set to switch transfer mode to BINARY instead of ASCII
|
get_server_status
Function get_server_status(p_ftp_server in varchar2 default null)
return char_table
Method GET_SERVER_STATUS reads the actual status of the FTP server and returns it as an instance of CHAR_TABLE.
|
|
This method is designed to be used from within SQL in the form select * from table(utl_ftp.get_server_status('MY_FTP')); Output is meant to be read by humans only, so no processing of the response is made. If used without opening a session prior to this call, it connects to the server and disconnects after completion automatically.
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
|
|
Instance of type CHAR_TABLE with the status from the FTP server
|
get_control_log
Function get_control_log return ftp_reply_tab
Method to retrieve the control log as a data structure for further reference
|
|
In an explicit session (explicitly opened by calling LOGON), the list of responses from the FTP server is collected in a local variable. It can be retrieved using this method. Only available in active explicit session, no AUTO LOGIN
|
get_control_log_text
Function get_control_log_text return clob
Overloaded version that returns the control log as a clob-instance
|
|
In an explicit session (explicitly opened by calling LOGON), the list of responses from the FTP server is collected in a local variable. It can be retrieved using this method as a clob instance. Only available in active explicit session, no AUTO LOGIN
|
get_help
Function get_help(p_command in varchar2 default null,
p_ftp_server in varchar2 default null) return char_table
Command to retrieve help from the FTP server
|
|
Call this method to retrieve help information from the FTP server. The output is not processed and intended to be consumed by human readers only.
|
|
|
p_command
|
Optional name of the command you want to get help for. If ommited, general help is returned
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
list_directory
Function list_directory(p_directory in varchar2 default null,
p_ftp_server in varchar2 default null)
return ftp_list_tab
Method to retrieve a directory listing of the directory specified
|
|
This methods returns a processed version of the MLSD output in that it extracts the facts into separate columns and makes them accessible as a SQL table using the table function. Example: select * from table(utl_table('/path/', 'MY_FTP'));
|
|
|
p_directory
|
Optional path to the directory you require a listing for if ommited, the actual working directory is returned
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
create_directory
Procedure create_directory(p_directory in varchar2,
p_ftp_server in varchar2 default null)
Creates a directory on the FTP server
|
|
Is called to create a new directory on the FTP server
|
|
|
p_directory
|
Name of the directory to create
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
remove_directory
Procedure remove_directory(p_directory in varchar2,
p_ftp_server in varchar2 default null)
Removes a directory on the FTP server
|
|
Is called to remove a directory on the FTP server
|
|
|
p_directory
|
Name of the directory to remove
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
rename_file
Procedure rename_file(p_from in varchar2,
p_to in varchar2,
p_ftp_server in varchar2 default null)
Renames a file on the FTP server
|
|
Is called to rename a file on the FTP server Useful to indicate completion of an upload by renaming the file after succesful loading (semaphore use). May be used to copy a file to a new location as well.
|
|
|
p_from
|
Name of the existing file
|
|
|
p_to
|
New name of the file including relative path
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|
delete_file
Procedure delete_file(p_file in varchar2,
p_ftp_server in varchar2 default null)
Deletes a file from the FTP server
|
|
Is called to delete a file from the FTP server
|
|
|
p_file
|
Name of the file to delete
|
|
|
p_ftp_server
|
Nickname of the FTP-server. Required in implicit session mode only
|


/**
* Copyright 2017 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { SnapshotVersion } from '../core/snapshot_version';
import { ProtoByteString, TargetId } from '../core/types';
import {
documentKeySet,
DocumentKeySet,
MaybeDocumentMap
} from '../model/collections';
import { MaybeDocument } from '../model/document';
import { DocumentKey } from '../model/document_key';
import { emptyByteString } from '../platform/platform';
/**
* An event from the RemoteStore. It is split into targetChanges (changes to the
* state or the set of documents in our watched targets) and documentUpdates
* (changes to the actual documents).
*/
export class RemoteEvent {
constructor(
/**
* The snapshot version this event brings us up to, or MIN if not set.
*/
readonly snapshotVersion: SnapshotVersion,
/**
* A map from target to changes to the target. See TargetChange.
*/
readonly targetChanges: { [targetId: number]: TargetChange },
/**
* A set of which documents have changed or been deleted, along with the
* doc's new values (if not deleted).
*/
public documentUpdates: MaybeDocumentMap
) {}
addDocumentUpdate(doc: MaybeDocument) {
this.documentUpdates = this.documentUpdates.insert(doc.key, doc);
}
handleExistenceFilterMismatch(targetId: TargetId) {
/*
* An existence filter mismatch will reset the query and we need to reset
* the mapping to contain no documents and an empty resume token.
*
* Note:
* * The reset mapping is empty, specifically forcing the consumer of the
* change to forget all keys for this targetID;
* * The resume snapshot for this target must be reset
* * The target must be unacked because unwatching and rewatching
* introduces a race for changes.
*/
this.targetChanges[targetId] = {
mapping: new ResetMapping(),
snapshotVersion: SnapshotVersion.MIN,
currentStatusUpdate: CurrentStatusUpdate.MarkNotCurrent,
resumeToken: emptyByteString()
};
}
}
/**
* Represents an update to the current status of a target, either explicitly
* having no new state, or the new value to set. Note "current" has special
* meaning for in the RPC protocol that implies that a target is both up-to-date
* and consistent with the rest of the watch stream.
*/
export enum CurrentStatusUpdate {
/** The current status is not affected and should not be modified. */
None,
/** The target must be marked as no longer "current". */
MarkNotCurrent,
/** The target must be marked as "current". */
MarkCurrent
}
/**
* A part of a RemoteEvent specifying set of changes to a specific target. These
* changes track what documents are currently included in the target as well as
* the current snapshot version and resume token but the actual changes *to*
* documents are not part of the TargetChange since documents may be part of
* multiple targets.
*/
export interface TargetChange {
/**
* The new "current" (synced) status of this target. Set to
* CurrentStatusUpdateNone if the status should not be updated. Note "current"
* has special meaning in the RPC protocol that implies that a target is
* both up-to-date and consistent with the rest of the watch stream.
*/
currentStatusUpdate: CurrentStatusUpdate;
/**
* A set of changes to documents in this target.
*/
mapping: TargetMapping;
/** The snapshot version that this target change brings us up to. */
snapshotVersion: SnapshotVersion;
/**
* An opaque, server-assigned token that allows watching a query to be resumed
* after disconnecting without retransmitting all the data that matches the
* query. The resume token essentially identifies a point in time from which
* the server should resume sending results.
*/
resumeToken: ProtoByteString;
}
export type TargetMapping = ResetMapping | UpdateMapping;
const EMPTY_KEY_SET = documentKeySet();
export class ResetMapping {
private docs: DocumentKeySet = EMPTY_KEY_SET;
get documents(): DocumentKeySet {
return this.docs;
}
add(key: DocumentKey) {
this.docs = this.docs.add(key);
}
delete(key: DocumentKey) {
this.docs = this.docs.delete(key);
}
isEqual(other: ResetMapping): boolean {
return other !== null && this.docs.isEqual(other.docs);
}
}
export class UpdateMapping {
addedDocuments: DocumentKeySet = EMPTY_KEY_SET;
removedDocuments: DocumentKeySet = EMPTY_KEY_SET;
applyToKeySet(keys: DocumentKeySet): DocumentKeySet {
let result = keys;
this.addedDocuments.forEach(key => (result = result.add(key)));
this.removedDocuments.forEach(key => (result = result.delete(key)));
return result;
}
add(key: DocumentKey) {
this.addedDocuments = this.addedDocuments.add(key);
this.removedDocuments = this.removedDocuments.delete(key);
}
delete(key: DocumentKey) {
this.addedDocuments = this.addedDocuments.delete(key);
this.removedDocuments = this.removedDocuments.add(key);
}
isEqual(other: UpdateMapping): boolean {
return (
other !== null &&
this.addedDocuments.isEqual(other.addedDocuments) &&
this.removedDocuments.isEqual(other.removedDocuments)
);
}
}
|


{% autoescape off %}
Hi {{ name }} We're so excited to have you! Hope you enjoy using our services. Regards Team Swiftly


Scroll the picture ⤵ to change time.
Hover over the picture ⤵ to change time.
There is more ↓
Photos and web by
javierbyte
.
Thanks! v0.30 Source on
github
.


article b content, more content, even more content
article b conclusions, more conclusions, even more conclusions


--- layout: page title: Podcast por Países description: "An archive of posts sorted by tag." comments: false ---


My research concerns the evolution of cognitive abilities involved in primate cooperation and communication. My PhD was focused on understanding the differences in the social systems of sooty mangabeys and Western chimpanzees in the Tai Forest in Ivory Coast, with special focus on grooming as a way for primates to make friends and protect their friendships. I also conducted snake experiments with mangabeys to understand the mechanisms underlying cooperation in species with large but coherent social groups. Afterwards, I developed statistical analyses tools based on network analysis for facial expression data in humans and nonhuman primates as part of the NetFACS project at the University of Portsmouth. I am now a Newton International Fellow, funded by the British Academy, at the University of Oxford, with my project entitled Monkeying around: Complexity, cognition, and culture in chimpanzee play.
PhD in Biology, 2018
MPI Evolutionary Anthropology Leipzig
MSc in Evolutionary and Comparative Psychology, 2012
University of St Andrews
BSc in Psychology, 2010
Freie Universität Berlin
Watch this space for posts on new publications.


Bases: nova.test.TestCase
Verifies associate runs cleanly without raising an exception
Ensure CreateImage fails as expected for an instance-store-backed instance
Make sure that CreateImage works
Make sure that CreateImage works
Makes sure create_snapshot works.
Makes sure create_volume works when we specify a snapshot.
Makes sure create_volume works when we specify an availability zone
Ensure that a group can not be deleted if in use by an instance.
Makes sure delete_snapshot works.
Makes sure describe addresses runs without raising an exception
Makes sure describe_availability_zones works and filters results.
Makes sure describe_availability_zones works and filters results.
test for rootDeviceName and blockDeiceMapping
Make sure that describe_instance_attribute works
Makes sure describe_instances for instanceState works.
Makes sure describe_instances works and filters results.
Make sure describe_instances works with root_device_name and block device mappings
Makes sure describe_instances w/ no ipv6 works.
Makes sure describe_instances works and is sorted as expected.
Makes sure describe regions runs without raising an exception
Makes sure describe_security_groups works and filters results.
Makes sure describe_security_groups works and filters results.
Makes sure describe_snapshots works and filters results.
Makes sure describe specific address works
Makes sure describe_volumes works and filters results.
Makes sure run/stop/start instance with snapshot works.
Makes sure stop/start instance works
Make sure run instance with block device mapping works
Make sure attach info is reflected to block device mapping
Kludge the cache into instance(s) without having to create DB entries


The Internet Monitor Access Index captures Internet access from several angles. Each country's rank and score is calculated based on Internet adoption, speed, price, and proxies for the ability of citizens to productively engage in online activity if given the opportunity: gender equality and education.
For more information on the Access Index, see A Hackable Access Index. To configure your own index, visit the access map.


Client Page
Chain Name
Capital
Content
hash
Updated Time
Comment
View History
Capital Chain
View History
Reputation Chain
View History
Value Chain
Value History


Below are examples from InterPro for the enzymes at each step in the second phase of glycolysis, and their family relationships with other proteins.
|
Interpro Entry |
Method accession |
Graphical match |
Method name |
|
IPR000173 |
PF00044 |
|
Gp_dh_N |
|
IPR000173 |
PF02800 |
|
Gp_dh_C |
|
IPR000173 |
PR00078 |
|
G3PDHDRGNASE |
|
IPR000173 |
PS00071 |
|
GAPDH |
|
IPR006424 |
TIGR01534 |
|
GAPDH-I |
|
Classification |
Domain ID
|
Structural
Domains |
|
|
c.2.1.3 |
d3gpdg1 |
|
|
|
d.81.1.1 |
d3gpdg2 |
|
|
Glyceraldehydes 3-phosphate dehydrogenase (GAPDH) exists as a tetramer of identical subunits, each subunit consisting of two domains: an N-terminal NAD-binding domain and a highly conserved C-terminal catalytic domain.
From the sixth graphical match, you can see that the signatures in InterPro for muscle GAPDH fall into two entries, IPR000173, which represents the GAPDH family, including D-erythrose-4-phosphate dehydrogenase (E4PDH) from proteobacteria, and IPR006424, which is a child of IPR000173 that represents the type I GAPDH family (type II enzymes are limited to Archaea). In all, IPR000173 has three child families in InterPro: type I GAPDH, type II GAPDH and E4PDH.
|
IPR000173 GAPDH |
g |
IPR006422 E4PDH |
|
|
g |
IPR006424 GAPDH type I |
|
|
g |
IPR006436 GAPDH type II |
There are four signatures in IPR000173: PF00044 and PF02800 from the PFAM database, which represent the NAD-binding and the catalytic domains, respectively, PR00078 from the PRINTS database, which uses motifs surrounding the active site of the protein, and PS00071 from the PROSITE database, which uses sequence around a highly conserved cysteine in the middle of the molecule that is involved in forming a covalent phosphoglycerol thioester intermediate. There is one signature in IPR006424, TIGR01534, from the TIGRFAM database, which covers the entire protein sequence.
The remaining two entries in the
table are from the structural classification database SCOP (d3gpdg1 and d3gpdg2), both of which are derived from the same PDB
entry (3gpd), but which describe the N- and C-terminal domains,
respectively.
|
Interpro Entry |
Method accession |
Graphical match |
Method name |
|
IPR001576 |
PF00162 |
|
PGK |
|
IPR001576 |
PR00477 |
|
PHGLYCKINASE |
|
IPR001576 |
PS00111 |
PGLYCERATE_KINASE |
|
|
IPR001576 |
SSF53748 |
PGK |
|
|
Classification |
Domain ID
|
Structural
Domains |
|
|
<IP_ADDRESS>0.1 |
1qpg01 |
|
|
|
<IP_ADDRESS>0.1 |
1qpg02 |
|
|
|
c.86.1.1 |
d1qpg__ |
|
Phosphoglycerate kinase (PGK) exists as a monomer containing two domains: an N-terminal 3-phosphoglycerate-binding domain and a C-terminal nucleotide-binding domain.
From the seventh graphical match, you can see that the signatures in InterPro for PGK fall into a single entry, IPR001576, which represents the PGK family of proteins. There are four signatures in this entry: PF00162 from the PFAM database, SSF53748 from the SUPERFAMILY database, both of which describe the entire protein sequence, PR00477 from the PRINTS database, which uses motifs drawn from short conserved regions in the N- and C-terminal, and hinge regions, and PS00111 from the PROSITE database, which uses a conserved region in the N-terminal domain.
The remaining two entries in the
table are from the structural classification databases CATH (1qpg01 and 1qpg02)
and SCOP (d1qpg__), where the CATH
entry describes each of the two PGK domains separately, while the SCOP entry describes the
entire protein.
|
Interpro Entry |
Method accession |
Graphical match |
Method name |
|
IPR001345 |
PF00300
|
|
PGAM |
|
IPR001345 |
PS00175 |
PG_MUTASE |
|
|
IPR005952 |
TIGR01258
|
|
pgm_1 |
|
Classification |
Domain ID
|
Structural
Domains |
|
|
<IP_ADDRESS>0.1 |
1qhfA0 |
|
|
|
c.60.1.1 |
d1bq3a_
|
|
|
From the eighth graphical match, you can see that the signatures in InterPro for phosphoglycerate mutase (PGAM) fall into a two entries, IPR001345, which represents the phosphoglycerate and bisphosphoglycerate mutase (PGAM/BPGM) family, two related enzymes that both catalyse phosphotransfer reactions, and IPR005952, which is a child of IPR001345 that represents the phosphoglycerate mutase 1 (PGAM 1) family (those that use 2,3-bisphosphoglycerate as a primer). In all, IPR001345 has three child families in InterPro: fructose-2,6-bisphosphatase (F2,6BPase), phosphohistidine phosphatase sixA (PHP6A), and PGAM 1.
|
IPR001345 PGM/BPGM |
g |
IPR003094 F2,6BPase |
|
|
g |
IPR004449 PHP6A |
|
|
g |
IPR005952 PGAM 1 |
There are two signatures in IPR001345: PF00300 from the PFAM database, which was derived from the entire protein sequence, and PS00175 from the PROSITE database, which built the signature around the phosphohistidine residue. IPR005952 has only one signature from the TIGRFAM database, TIGR01258, which describes the entire sequence.
The
remaining two entries in the table are from the structural classification
databases CATH (1qhfA0)
and SCOP (d1bq3a_ ), where both
entries describe the entire protein.
|
Interpro Entry |
Method accession |
Graphical match |
Method name |
|
IPR000941 |
PD000902
|
|
Enolase |
|
IPR000941 |
PF00113 |
|
Enolase_C |
|
IPR000941 |
PF03952 |
|
Enolase_N |
|
IPR000941 |
PR00148 |
|
ENOLASE |
|
IPR000941 |
PS00164 |
|
ENOLASE |
|
IPR000941 |
TIGR01060 |
|
eno |
|
Classification |
Domain ID
|
Structural
Domains |
|
|
<IP_ADDRESS>.1 |
1e9iA2 |
|
|
|
3.30.390.10.2 |
1e9iA1 |
|
|
|
c.1.11.1 |
d1e9id1 |
|
|
|
d.54.1.1 |
d1e9ia2 |
|
|
From the ninth graphical match, you can see that the signatures in InterPro for enolase fall into a single entry, IPR000941, which represents the enolase family that includes the related proteins mandelate racemase and muconate cylcoisomerase. There are six signatures in this entry: PD000902 from the PRODOM database, TIGR01060 from the TIGRFAM database, both of which cover the entire protein sequence, PF00113 and PF03952 from the PFAM database, which cover the C- and N-terminal domains, respectively, PR00148 from the PRINTS database, which uses motifs drawn from the active site, and PS00164 from the PROSITE database, which uses the best conserved region in the C-terminus.
The
remaining four entries in the table are from the structural classification
databases CATH (1e9iA2 and 1e9iA1)
and SCOP (d1e9id1 and d1e9ia2),
where both databases describe the two domains of the
protein separately.
|
Interpro Entry |
Method accession |
Graphical match |
Method name |
|
IPR001697 |
PD001009 |
|
Pyruvate_kinase |
|
IPR001697 |
PF00224 |
|
PK |
|
IPR001697 |
PF02887 |
|
PK_C |
|
IPR001697 |
PR01050
|
|
PYRUVTKNASE |
|
IPR001697 |
PS00110 |
|
PYRUVATE_KINASE |
|
IPR001697 |
SSF52935 |
|
Pyruvate_kinase |
|
IPR001697 |
TIGR01064 |
|
pyruv_kin |
|
Classification |
Domain ID
|
Structural
Domains |
|
|
b.58.1.1 |
d1liua1 |
|
|
|
c.1.12.1 |
d1liua2
|
|
|
|
c.49.1.1 |
d1liua3
|
|
|
All isozymes of pyruvate kinase (PK) appear to be tetramers of identical subunits, where each subunit consists of three domains.
From the tenth graphical match,
you can see that the signatures in InterPro for L/R-type PK falls into a single
entry, IPR001697,
which represents the PK family of proteins.
There are seven signatures in this entry: PD001009
from the PRODOM database, TIGR01064 from the TIGRFAM database, both
of which describe the entire protein sequence, PF00224
and PF02887
from the PFAM database, which describe the domain architecture of the protein
with PF00224 covering the two beta-barrel domains (one inserted within the
other) and PF02887 covering the C-terminal a/b
domain, SSF52935 from the SUPERFAMILY database,
which also covers the C-terminal a/b domain, PR01050 from the PRINTS database, which
uses motifs drawn from conserved regions throughout the entire sequence, and PS00110 from the PROSITE database, which
uses a conserved region containing a lysine that appears to act as an acid/base
catalyst and a glutamic acid involved in binding magnesium.
The remaining three entries
in the table are from the structural classification database SCOP (d1liua1, d1liua2 and d1liua3), which describe
the three domains of the protein in more detail: d1liua3 describes the C-terminal a/b domain as depicted by PF02887 and
SSF52935, while d1liua1 and dliua2 describe the two domains depicted by
PF00224, with d1liua2 covering the N-terminal TIM b/a-barrel that is interrupted by an
all-b-barrel domain covered by d1liua1.


spvcm
is a generic gibbs sampling framework for spatially-correlated variance components models. The current supported models are:
spvcm.both
contains specifications with correlated errors in both levels, with the first statement se/sma
describing the lower level and the second statement se/sma
describing the upper level. In addition, MVCM
, the multilevel variance components model with no spatial correlation, is in the both
namespace. spvcm.lower
contains two specifications, se/sma
, that can be used for a variance components model with correlated lower-level errors.spvcm.upper
contains two specifications, se/sma
that can be used for a variance components model with correlated upper-level errors. These derive from a variance components specification:
$$ Y \sim \mathcal{N}(X\beta, \Psi_1(\lambda, \sigma^2) + \Delta\Psi_2(\rho, \tau^2)\Delta') $$Where:
Betas
in code, is the marginal effect parameter. In this implementation, any region-level covariates $Z$ get appended to the end of $X$. So, if $X$ is $n \times p$ ($n$ observations of $p$ covariates) and $Z$ is $J \times p'$ ($p'$ covariates observed for $J$ regions), then the model's $X$ matrix is $n \times (p + p')$ and $\beta$ is $p + p' \times 1$. SE
): $\Psi_1(\rho) = [(I - \rho \mathbf{W})'(I - \rho \mathbf{W})]^{-1} \sigma^2$SMA
): $\Psi_1(\rho) = (I + \rho \mathbf{W})(I + \lambda \mathbf{W})'$Alphas
in code, is the region-level random effect. In a variance components model, this is interpreted as a random effect for the upper-level. For a Varying-intercept format, this random component should be added to a region-level fixed effect to provide the varying intercept. This may also make it more difficult to identify the spatial parameter. All of the possible combinations of Spatial Moving Average and Spatial Error processes are contained in the following classes. I will walk through estimating one below, and talk about the various features of the package.
First, the API of the package is defined by the spvcm.api
submodule. To load it, use import spvcm.api as spvcm
:
import spvcm.api as spvcm #package API
spvcm.both.Generic # abstract customizable class, ignores rho/lambda, equivalent to MVCM
spvcm.both.MVCM # no spatial effect
spvcm.both.SESE # both spatial error (SE)
spvcm.both.SESMA # response-level SE, region-level spatial moving average
spvcm.both.SMASE # response-level SMA, region-level SE
spvcm.both.SMASMA # both levels SMA
spvcm.upper.SE # response-level uncorrelated, region-level SE
spvcm.upper.SMA # response-level uncorrelated, region-level SMA
spvcm.lower.SE # response-level SE, region-level uncorrelated
spvcm.lower.SMA # response-level SMA, region-level uncorrelated
Depending on the structure of the model, you need at least:
X
, data at the response (lower) levelY
, system response in the lower levelmembership
or Delta
, the membership vector relating each observation to its group or the "dummy variable" matrix encoding the same information. Then, if spatial correlation is desired, M
is the "upper-level" weights matrix and W
the lower-level weights matrix.
Any upper-level data should be passed in $Z$, and have $J$ rows. To fit a varying-intercept model, include an identity matrix in $Z$. You can include state-level and response-level intercept terms simultaneously.
Finally, there are many configuration and tuning options that can be passed in at the start, or assigned after the model is initialized.
First, though, let's set up some data for a model on southern counties predicting HR90
, the Homicide Rate in the US South in 1990, using the the percent of the labor force that is unemployed (UE90
), a principal component expressing the population structure (PS90
), and a principal component expressing resource deprivation.
We will also use the state-level average percentage of families below the poverty line and the average Gini coefficient at the state level for a $Z$ variable.
#seaborn is required for the traceplots
import pysal as ps
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
Reading in the data, we'll extract these values we need from the dataframe.
data = ps.pdio.read_files(ps.examples.get_path('south.shp'))
data = data[data.STATE_NAME != 'District of Columbia']
X = data[['UE90', 'PS90', 'RD90']].values
N = X.shape[0]
Z = data.groupby('STATE_NAME')[['FP89', 'GI89']].mean().values
J = Z.shape[0]
Y = data.HR90.values.reshape(-1,1)
Then, we'll construct some queen contiguity weights from the files to show how to run a model.
W2 = ps.queen_from_shapefile(ps.examples.get_path('us48.shp'),
idVariable='STATE_NAME')
W2 = ps.w_subset(W2, ids=data.STATE_NAME.unique().tolist()) #only keep what's in the data
W1 = ps.queen_from_shapefile(ps.examples.get_path('south.shp'),
idVariable='FIPS')
W1 = ps.w_subset(W1, ids=data.FIPS.tolist()) #again, only keep what's in the data
W1.transform = 'r'
W2.transform = 'r'
With the data, upper-level weights, and lower-level weights, we can construct a membership vector or a dummy data matrix. For now, I'll create the membership vector.
membership = data.STATE_NAME.apply(lambda x: W2.id_order.index(x)).values
But, we could also build the dummy variable matrix using pandas
, if we have a suitable categorical variable:
Delta_frame = pd.get_dummies(data.STATE_NAME)
Delta = Delta_frame.values
Every call to the sampler is of the following form:
sampler(Y, X, W, M, Z, membership, Delta, n_samples, **configuration)
Where W
, M
are passed if appropriate, Z
is passed if used, and only one of membership
or Delta
is required. In the end, Z
is appended to X
, so the effects pertaining to the upper level will be at the tail end of the $\beta$ effects vector. If both Delta
and membership
are supplied, they're verified against each other to ensure that they agree before they are used in the model.
For all models, the membership vector or an equivalent dummy variable matrix is required. For models with correlation in the upper level, only the upper-level weights matrix $\mathbf{M}$ is needed. For lower level models, the lower-level weights matrix $\mathbf{W}$ is required. For models with correlation in both levels, both $\mathbf{W}$ and $\mathbf{M}$ are required.
Every sampler uses, either in whole or in part, spvcm.both.generic
, which implements the full generic sampler discussed in the working paper. For efficiency, the upper-level samplers modify this runtime to avoid processing the full lower-level covariance matrix.
Like many of the R
packages dedicated to bayesian models, configuration occurs by passing the correct dictionary to the model call. In addition, you can "setup" the model, configure it, and then run samples in separate steps.
The most common way to call the sampler is something like:
vcsma = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=5000,
configs=dict(tuning=1000, adapt_step=1.01))
This models, spvcm.upper.SMA
, is a variance components/varying intercept model with a state-level SMA-correlated error.
Thus, there are only five parameters in this model, since $\rho$, the lower-level autoregressive parameter, is constrained to zero:
vcsma.trace.varnames
The results and state of the sampler are stored within the vcsma
object. I'll step through the most important parts of this object.
trace
¶The quickest way to get information out of the model is via the trace object. This is where the results of the tracked parameters are stored each iteration. Any variable in the sampler state can be added to the tracked params. Trace objects are essentially dictionaries with the keys being the name of the tracked parameter and the values being a list of each iteration's sampler output.
vcsma.trace.varnames
In this case, Lambda
is the upper-level moving average parameter, Alphas
is the vector of correlated group-level random effects, Tau2
is the upper-level variance, Betas
are the marginal effects, and Sigma2
is the lower-level error variance.
I've written two helper functions for working with traces. First is to just dump all the output into a pandas dataframe, which makes it super easy to do work on the samples, or write them out to csv
and assess convergence in R's coda
package.
trace_dataframe = vcsma.trace.to_df()
the dataframe will have columns containing the elements of the parameters and each row is a single iteration of the sampler:
trace_dataframe.head()
You can write this out to a csv or analyze it in memory like a typical pandas dataframes:
trace_dataframe.mean()
The second is a method to plot the traces:
fig, ax = vcsma.trace.plot()
plt.show()
The trace object can be sliced by (chain, parameter, index) tuples, or any subset thereof.
vcsma.trace['Lambda',-4:] #last 4 draws of lambda
vcsma.trace[['Tau2', 'Sigma2'], 0:2] #the first 2 variance parameters
We only ran a single chain, so the first index is assumed to be zero. You can run more than one chain in parallel, using the builtin python multiprocessing
library:
vcsma_p = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=5000, n_jobs=3, #run 3 chains
configs=dict(tuning=500, adapt_step=1.01))
vcsma_p.trace[0, 'Betas', -1] #the last draw of Beta on the first chain.
vcsma_p.trace[1, 'Betas', -1] #the last draw of Beta on the second chain
and the chain plotting works also for the multi-chain traces. In addition, there are quite a few traceplot options, and all the plots are returned by the methods as matplotlib objects, so they can also be saved using plt.savefig()
.
vcsma_p.trace.plot(burn=1000, thin=10)
plt.suptitle('SMA of Homicide Rate in Southern US Counties', y=0, fontsize=20)
#plt.savefig('trace.png') #saves to a file called "trace.png"
plt.show()
vcsma_p.trace.plot(burn=-100, varnames='Lambda') #A negative burn-in works like negative indexing in Python & R
plt.suptitle('First 100 iterations of $\lambda$', fontsize=20, y=.02)
plt.show() #so this plots Lambda in the first 100 iterations.
To get stuff like posterior quantiles, you can use the attendant pandas dataframe functionality, like describe
.
df = vcsma.trace.to_df()
df.describe()
There is also a trace.summarize
function that will compute various things contained in spvcm.diagnostics
on the chain. It takes a while for large chains, because the statsmodels.tsa.AR
estimator is much slower than the ar
estimator in R
. If you have rpy2 installed and CODA
installed in your R environment, I attempt to use R directly.
vcsma.trace.summarize()
So, 5000 iterations, but many parameters have an effective sample size that's much less than this. There's debate about whether it's necesasry to thin these samples in accordance with the effective size, and I think you should thin your sample to the effective size and see if it affects your HPD/Standard Errorrs.
The existing python packages for MCMC diagnostics were incorrect. So, I've implemented many of the diagnostics from CODA
, and have verified that the diagnostics comport with CODA
diagnostics. One can also use numpy
& statsmodels
functions. I'll show some types of analysis.
from statsmodels.api import tsa
#if you don't have it, try removing the comment and:
#! pip install statsmodels
For example, a plot of the partial autocorrelation in $\lambda$, the upper-level spatial moving average parameter, over the last half of the chain is:
plt.plot(tsa.pacf(vcsma.trace['Lambda', -2500:]))
So, the chain is close-to-first order:
tsa.pacf(df.Lambda)[0:3]
We could do this for many parameters, too. An Autocorrelation/Partial Autocorrelation plot can be made of the marginal effects by:
betas = [c for c in df.columns if c.startswith('Beta')]
f,ax = plt.subplots(len(betas), 2, figsize=(10,8))
for i, col in enumerate(betas):
ax[i,0].plot(tsa.acf(df[col].values))
ax[i,1].plot(tsa.pacf(df[col].values)) #the pacf plots take a while
ax[i,0].set_title(col +' (ACF)')
ax[i,1].set_title('(PACF)')
f.tight_layout()
plt.show()
As far as the builtin diagnostics for convergence and simulation quality, the diagnostics
module exposes a few things:
Geweke statistics for differences in means between chain components:
gstats = spvcm.diagnostics.geweke(vcsma, varnames='Tau2') #takes a while
print(gstats)
Typically, this means the chain is converged at the given "bin" count if the line stays within $\pm2$. The geweke statistic is a test of differences in means between the given chunk of the chain and the remaining chain. If it's outside of +/- 2 in the early part of the chain, you should discard observations early in the chain. If you get extreme values of these statistics throughout, you need to keep running the chain.
plt.plot(gstats[0]['Tau2'][:-1])
We can also compute Monte Carlo Standard Errors like in the mcse
R package, which represent the intrinsic error contained in the estimate:
spvcm.diagnostics.mcse(vcsma, varnames=['Tau2', 'Sigma2'])
Another handy statistic is the Partial Scale Reduction factor, which measures of how likely a set of chains run in parallel have converged to the same stationary distribution. It provides the difference in variance between between chains vs. within chains.
If these are significantly larger than one (say, 1.5), the chain probably has not converged. Being marginally below $1$ is fine, too.
spvcm.diagnostics.psrf(vcsma_p, varnames=['Tau2', 'Sigma2'])
Highest posterior density intervals provide a kind of interval estimate for parameters in Bayesian models:
spvcm.diagnostics.hpd_interval(vcsma, varnames=['Betas', 'Lambda', 'Sigma2'])
Sometimes, you want to apply arbitrary functions to each parameter trace. To do this, I've written a map
function that works like the python builtin map
. For example, if you wanted to get arbitrary percentiles from the chain:
vcsma.trace.map(np.percentile,
varnames=['Lambda', 'Tau2', 'Sigma2'],
#arguments to pass to the function go last
q=[25, 50, 75])
In addition, you can pop the trace results pretty simply to a .csv
file and analyze it elsewhere, like if you want to use use the coda
Bayesian Diagnostics package in R
.
To write out a model to a csv, you can use:
vcsma.trace.to_csv('./model_run.csv')
And, you can even load traces from csvs:
tr = spvcm.Trace.from_csv('./model_run.csv')
print(tr.varnames)
tr.plot(varnames=['Tau2'])
draw
and sample
¶These two functions are used to call the underlying Gibbs sampler. They take no arguments, and operate on the sampler in place. draw
provides a single new sample:
vcsma.draw()
And sample steps forward an arbitrary number of times:
vcsma.sample(10)
At this point, we did 5000 initial samples and 11 extra samples. Thus:
vcsma.cycles
Parallel models can suspend/resume sampling too:
vcsma_p.sample(10)
vcsma_p.cycles
Under the hood, it's the draw
method that actually ends up calling one run of model._iteration
, which is where the actual statistical code lives. Then, it updates all model.traced_params
by adding their current value in model.state
to model.trace.
In addition, model._finalize
is called the first time sampling is run, which computes some of the constants & derived quantities that save computing time.
state
¶This is the collection of current values in the sampler. To be efficient, Gibbs sampling must keep around some of the computations used in the simulation, since sometimes the same terms show up in different conditional posteriors. So, the current values of the sampler are stored in state
.
All of the following are tracked in the state:
print(vcsma.state.keys())
If you want to track how something (maybe a hyperparameter) changes over sampling, you can pass extra_traced_params
to the model declaration:
example = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=250,
extra_traced_params = ['DeltaAlphas'],
configs=dict(tuning=500, adapt_step=1.01))
example.trace.varnames
configs
¶this is where configuration options for the various MCMC steps are stored. For multilevel variance components models, these are called $\rho$ for the lower-level error parameter and $\lamdba$ for the upper-level parameter. Two exact sampling methods are implemented, Metropolis sampling & Slice sampling.
Each MCMC step has its own config:
vcsma.configs
Since vcsma
is an upper-level-only model, the Rho
config is skipped. But, we can look at the Lambda
config. The number of accepted lambda
draws is contained in :
vcsma.configs.Lambda.accepted
so, the acceptance rate is
vcsma.configs.Lambda.accepted / float(vcsma.cycles)
Also, if you want to get verbose output from the metropolis sampler, there is a "debug" flag:
example = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=500,
configs=dict(tuning=250, adapt_step=1.01,
debug=True))
Which stores the information about each iteration in a list, accessible from model.configs.<parameter>._cache
:
example.configs.Lambda._cache[-1] #let's only look at the last one
Configuration of the MCMC steps is done using the config
options dictionary, like done in spBayes
in R
. The actual configuration classes exist in spvcm.steps:
from spvcm.steps import Metropolis, Slice
Most of the common options are:
jump
: the starting standard deviation of the proposal distributiontuning
: the number of iterations to tune the scale of the proposalar_low
: the lower bound of the target acceptance rate rangear_hi
: the upper bound of the target acceptance rate rangeadapt_step
: a number (bigger than 1) that will be used to modify the jump in order to keep the acceptance rate betwen ar_lo
and ar_hi
. Values much larger than 1
result in much more dramatic tuning. width
: starting width of the level setadapt
: number of previous slices use in the weighted average for the next slice. If 0
, the width
is not dynamically tuned. example = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=500,
configs=dict(tuning=250, adapt_step=1.01,
debug=True, ar_low=.1, ar_hi=.4))
example.configs.Lambda.ar_hi, example.configs.Lambda.ar_low
example_slicer = spvcm.upper.SMA(Y, X, M=W2, Z=Z, membership=membership,
n_samples=500,
configs=dict(Lambda_method='slice'))
example_slicer.trace.plot(varnames='Lambda')
plt.show()
example_slicer.configs.Lambda.adapt, example_slicer.configs.Lambda.width
If you're doing heavy customization, it makes the most sense to first initialize the class without sampling. We did this before when showing how the "extra_traced_params" option worked.
To show, let's initialize a double-level SAR-Error variance components model, but not actually draw anything.
To do this, you pass the option n_samples=0
.
vcsese = spvcm.both.SESE(Y, X, W=W1, M=W2, Z=Z, membership=membership,
n_samples=0)
This sets up a two-level spatial error model with the default uninformative configuration. This means the prior precisions are all I * .001*
, prior means are all 0, spatial parameters are set to -1/(n-1)
, and prior scale factors are set arbitrarily.
Options are set by assgning to the relevant property in model.configs
.
The model configuration object is another dictionary with a few special methods.
Configuration options are stored for each parameter separately:
vcsese.configs
So, for example, if we wanted to turn off adaptation in the upper-level parameter, and fix the Metrpolis jump variance to .25
:
vcsese.configs.Lambda.max_tuning = 0
vcsese.configs.Lambda.jump = .25
Another thing that might be interesting (though not "bayesian") would be to fix the prior mean of $\beta$ to the OLS estimates. One way this could be done would be to pull the Delta
matrix out from the state, and estimate:
$$ Y = X\beta + \Delta Z + \epsilon $$
using PySAL
:
Delta = vcsese.state.Delta
DeltaZ = Delta.dot(Z)
vcsese.state.Betas_mean0 = ps.spreg.OLS(Y, np.hstack((X, DeltaZ))).betas
If you wanted to start the sampler at a given starting value, you can do so by assigning that value to the Lambda
value in state
.
vcsese.state.Lambda = -.25
Sometimes, it's suggested that you start the beta vector randomly, rather than at zero. For the parallel sampling, the model starting values are adjusted to induce overdispersion in the start values.
You could do this manually, too:
vcsese.state.Betas += np.random.uniform(-10, 10, size=(vcsese.state.p,1))
Changing the spatial parameter priors is also done by changing their prior in state. This prior must be a function that takes a value of the parameter and return the log of the prior probability for that value.
For example, we could assign P(\lambda) = Beta(2,1)
and zero if outside $(0,1)$, and asign $\rho$ a truncated $\mathcal{N}(0,.5)$ prior by first defining their functional form:
from scipy import stats
def Lambda_prior(val):
if (val < 0) or (val > 1):
return -np.inf
return np.log(stats.beta.pdf(val, 2,1))
def Rho_prior(val):
if (val > .5) or (val < -.5):
return -np.inf
return np.log(stats.truncnorm.pdf(val, -.5, .5, loc=0, scale=.5))
And then assigning to their symbols, LogLambda0
and LogRho0
in the state:
vcsese.state.LogLambda0 = Lambda_prior
vcsese.state.LogRho0 = Rho_prior
The efficiency of the sampler is contingent on the lower-level size. If we were to estimate the draw in a dual-level SAR-Error Variance Components iteration:
%timeit vcsese.draw()
To make it easy to work with the model, you can interrupt and resume sampling using keyboard interrupts (ctrl-c
or the stop
button in the notebook).
%time vcsese.sample(100)
vcsese.sample(10)
Most of the tools in the package are stored in relevant python files in the top level or a dedicated subfolder. Explaining a few:
abstracts.py
- the abstract class machinery to iterate over a sampling loop. This is where the classes are defined, like Trace
, Sampler_Mixin
, or Hashmap
. plotting.py
- tools for plotting outputsteps.py
- the step method definitionsverify.py
- like user
checks in pysal.spreg
, this contains a few sanity checks. utils.py
- contains statistical or numerical utilities to make the computation easier, like cholesky multivariate normal sampling, more sparse utility functions, etc. diagnostics.py
- all the diagnosticspriors.py
- definitions of alternative prior forms. Right now, this is pretty simple. sqlite.py
- functions to use a sqlite database instead of an in-memory chain are defined here. The package is implemented so that every "model type" first sends off to the spvcm.both.Base_Generic
, which sets up the state, trace, and priors.
Models are added by writing a model.py
file and possibly a sample.py
file. The model.py
file defines a Base/User
class pair (like spreg
) that sets up the state and trace. It must define hyperparameters, and can precompute objects used in the sampling loop. The base class should inherit from Sampler_Mixin
, which defines all of the machinery of sampling.
The loop through the conditional posteriors should be defined in model.py
, in the model._iteration
function. This should update the model state in place.
The model may also define a _finalize
function which is run once before sampling.
So, if I write a new model, like a varying-intercept model with endogenously-lagged intercepts, I would write a model.py
containing something like:
class Base_VISAR(spvcm.generic.Base_Generic):
def __init__(self, Y, X, M, membership=None, Delta=None,
extra_traced_params=None, #record extra things in state
n_samples=1000, n_jobs=1, #sampling config
priors = None, # dict with prior values for params
configs=None, # dict with configs for MCMC steps
starting_values=None, # dict with starting values
truncation=None, # options to truncate MCMC step priors
center=False, # Whether to center the X,Z matrices
scale=False # Whether re-scale the X,Z matrices
):
super(Base_VISAR, self).__init__(self, Y, X, M, W=None,
membership=membership,
Delta=Delta,
n_samples=0, n_jobs=n_jobs,
priors=priors, configs=configs,
starting_values=starting_values,
truncation=truncation,
center=center,
scale=scale
)
self.sample(n_samples, n_jobs=n_jobs)
def _finalize(self):
# the degrees of freedom of the variance parameter is constant
self.state.Sigma2_an = self.state.N/2 + self.state.Sigma2_a0
...
def _iteration(self):
# computing the values needed to sample from the conditional posteriors
mean = spdot(X.T, spdot(self.PsiRhoi, X)) / Sigma2 + self.state.bmean0
...
...
I've organized the directories in this project into both_levels
, upper_level
, lower_level
, and hierarchical
, which contains some of the spatially-varying coefficient models & other models I'm working on that are unrelated to the multilevel variance components stuff.
Since most of the _iteration
loop is the same between models, most of the models share the same sampling code, but customize the structure of the covariance in each level. These covariance variables are stored in the state.Psi_1
, for the lower-level covariance, and state.Psi_2
for the upper-level covariance. Likewise, the precision functions are state.Psi_1i
and state.Psi_2i
.
For example:
vcsese.state.Psi_1 #lower-level covariance
vcsese.state.Psi_2 #upper-level covariance
vcsma.state.Psi_2 #upper-level covariance
vcsma.state.Psi_2i
vcsma.state.Psi_1
The functions that generate the covariance matrices are stored in spvcm.utils
. They can be arbitrarily overwritten for alternative covariance specifications.
Thus, if we want to sample a model with a new covariance specification, then we need to define functions for the variance and precision.


[Erowid Warning: Our understanding of the literature is that there is no such thing as safe use of volatile solvents, aerosols and other street inhalants : their psychoactive effects are inseparable from nerve and organ damage. We have chosen to include these reports to help document the real world use of inhalants, but their inclusion is not intended to imply that they are anything but dangerous.]
This stuff has a very high risk-to-reward ratio. Stay away from it. Here's my report of my third and final experience with this crap:
I was bored last night, so I stopped by the local mega-electronics store at around 9PM and picked up a 4-pack of 'Perfect Duster' (C2H4F2, difluoroethane). I got home, ripped the safety tab off of one can, took a hit, and got the euphoric rush along with the funny tunnel vision and 'helicopter' sound distortions. My whole body tingled, especially my fingers, toes and mouth. I also noticed my voice was really really deep like a slowed-down tape recorder (because the molecules are so heavy... it's like the opposite of helium-voice).
I took another couple of hits, and passed in and out of consciousness for about 10-15 minutes. The next 15 hours or so are a blur. I can't remember anything really great happening after that first hit, but I sucked every last breath out of those 4 cans, and the only reason I stopped was the fact that I ran out. What I had been doing was lying in bed, and taking a huff or two every time I woke up. This stuff is really addictive... so much that I did as much of it as I could even though I don't remember what's so great about it.
One nasty effect of this stuff is that once I was high on it, and wanted another hit, I didn't hold the can up straight like I'm supposed to. This caused the contents to come out in liquid form, which is really, really cold. The tip and underflap of my tongue are mildly frostbitten, and it feels like I burned my mouth on really hot coffee. What parts of my tongue aren't frostbitten are covered with taste of the bitterant they put in the can, and the taste hasn't left even after brushing my teeth and rinsing with mouthwash twice.
The worst side effect of this stuff is the severe nausea that comes up once the peak goes away, which made me throw up... all over the floor and furniture of my bedroom. This happened about 2 or 3 hours into my little bender. I got puke all over everything in one corner of my room. And I didn't care until the next day when I ran out. I just kept huffing this crap until I ran out of it, not caring about what happened.
Anyway, even though I don't know what's so great about this stuff, the thought of getting some more continues to cross my mind. My first two experiences with this stuff were the same (with the puking and frostbite), and I've done it again. How sick is that? I just spent four hours picking up half-digested nachos off the floor with with a spatula, then vacuuming and steam cleaning puke residue out of the carpet and upholstery of my chair. The stench is gone, and the room looks normal again, but I'm still mildly nauseous and shivering.
This stuff is pure evil. I lost a whole day of my life, and I'm surprised I'm not dead.  I strongly suggest you never use this stuff for anything other than its intended use. It's a pretty boring high, and it made me totally antisocial for nearly a whole day. It's not worth it. I'll just get some pot next time.
Pros: Kinda neat for the first couple of hits. Sensory distortions like tunnel vision and helicopter-noise. Short euphoric rush. Anesthetic effect.
Cons: extremely addictive, *severe* nausea and vomiting, mild frostbite in the mouth, loss of balance, loss of consciousness, high risk of death.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.