TRAIN WITH US
WE OFFER GROUP AND PRIVATE TRAINING LED BY INDUSTRY LEADERS WITH EXTENSIVE CODING EXPERIENCE.
CURRENT CURRICULA
INTRODUCTION TO EMBER
NEW
ONLINE
Want to improve (or create) your Ember.js skills? We'll take you from beginner all the way through to creating a complete, well-architected web application. Lectures are followed by hands-on labs that will apply the learned concepts immediately. Select the date of your session for specfic curriculum details.
On Your Own Time (updated!)CORPORATE TRAINING
DELAYED
We can take your developers from beginners all the way through to creating complete, well- architected web applications.
Any of our existing training curricula can be presented as corporate trainings, in addition to custom classes. Our minimum class size is 10 students. We can coordinate combining multiple smaller groups to help you reach that number.
Get in touch to schedule your next training.


IAG hOUR Insurance
Policy Details
Name
Mobile Number
Email
Date Of Birth
Insured Sex
Policy #
Policy Cover Period
Policy Cover Details
Policy Premium
Policy Excess
Mobile app PIN


Bog Turtles in Athens
Bog Turtles only live in the very northeast tip of Georgia. They are not found around Athens in the wild. They are an endangered species. You can learn more than the casual observer by clicking the buttons below...
Taxonomy
| Order |
Testudines |
| Family |
Emydidae |
| Genus |
Glyptemys |
| Species |
muhlenbergii |
Diet
- In the wild, bog turtles feed opportunistically on a wide variety of prey including insects, earthworms, snails, slugs, crayfish, millipedes, frogs, tadpoles, salamanders, watersnakes, and the young of mice, but also eat an array of aquatic vegetation, seeds, and berries, and occasionally scavenge on carrion.
- At Bear Hollow, the bog turtle eats aquatic turtle pellets or small pieces of fish (like smelt).
Range and Habitat
- Georgia bogs inhabited by this elusive turtle are generally found along slowly flowing spring creeks and seepages within low mountain valleys. Habitats capable of supporting a viable bog turtle population may be as small as an acre. Though the habitat type of this turtle varies from spring seepages, bogs, and wet meadows, the presence of soft, deep, mucky organic soil and open wet areas with shallow water are prerequisites to inhabitation by bog turtles.
- Bog turtles have a discontinuous range that stretches from western Massachusetts southward to extreme northeastern Georgia. A large gap in West Virginia and northern Virginia separates the so-called northern and southern populations. Disjunct populations are known from upper New York, northwestern Pennsylvania, and northeastern Tennessee.
- The existence of this species in Georgia was unknown until 1979, when an individual was captured in a trap set for ruffed grouse. Bog turtles reach their southernmost limit in northern Georgia and were probably never very abundant there.
Physical Features
- The bog turtle is the smallest turtle species in North America reaching only 11.5 cm (4½ inches) in maximum carapace length.
- A conspicuous orange, yellow, or red blotch is present on each side of the head behind the eye. Skin color is brown to pink and may have some reddish mottling.
- Within the range of the bog turtle in Georgia, only the common musk turtle (Sternotherus odoratus) remotely resembles the appearance of the bog turtle. However, this turtle lacks the bog turtle’s neck blotch and its plastron is weakly hinged.
- The bog turtle is semi-aquatic and can move both on land and in the water.
Life Span
- We were unable to find specific data on the lifespan of these turtles in captivity or in the wild.
Reproduction
- Male turtles roam widely in search of females shortly after they become active in late March. Courtship and breeding occur from late April to early June, and eggs are subsequently laid from May to July.
- Eggs are either buried in soft soil or rotted wood, placed in thick beds of sphagnum moss, or deposited in the top of sedge tussocks. These nest sites are usually located in areas receiving plentiful sunlight.
- Adult females produce only one clutch of one to six elliptical eggs per year, but may not nest every year. In Georgia, incubation time varies from 52 to 60 days with hatchlings typically emerging in late August or September and immediately burrowing into the surrounding substrate.
- Bog turtles in the wild reach sexual maturity at the age of 7-9 years.
Social Behavior
- Bog turtles are primarily active during spring, early summer, and early fall. Turtles may become relatively inactive if the summer months are extremely hot and dry.
Conservation
- Protected under the United States Federal Endangered Species Act, the bog turtle is considered threatened in Connecticut, Delaware, Maryland, Massachusetts, New Jersey, New York and Pennsylvania as of November 4, 1997. Due to a "similarity of appearance" to the northern population, the bog turtle is also threatened in Georgia, North Carolina, South Carolina, Tennessee and Virginia (considered to be the southern population). In addition to the federal listing of threatened, states in the southern range list the bog turtle as either endangered or threatened.
- The high demand for bog turtles in the black market pet trade has resulted in the removal of many individuals from sites in other states and may be a threat in Georgia as well.
- Range-wide, bog turtles have experienced their greatest decline in numbers due to loss of habitat. Alteration of habitat disturbance regimes and agricultural drainage of bog habitat often leads to the extirpation of the bog turtle through the elimination of suitable basking, foraging, and nesting sites.
Interpretive Information
- While they are not federally protected, they are considered “Rare” in Georgia and various protected populations exist.
- This is a perfect animal to talk about in conjunction with the Gopher Tortoise as this is one of the many species that relies on the Gopher Tortoise for its own existence.
Bear Hollow’s Bog Turtle
- Sex is unknown. It arrived in July of 2012. Currently unnamed.
- The only thing we can say for sure about it is that it was almost definitely someone’s pet before it came to us. It appears quite imprinted on or at least very interested in humans. It is very personable and will almost always come up to greet visitors at the front of the aquarium!
Credits and References
- 2nd Turtle Photo © Wade Sheldon
- General research by Sherrie Hines
- 1st Photo and Map: http://en.wikipedia.org/wiki/Bog_turtle
- http://georgiawildlife.com/sites/default/files/uploads/wildlife/nongame/pdf/accounts/reptiles/glyptemys_muhlenbergii.pdf


Class: Aws::MediaLive::Types::M3u8Settings
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb |
Overview
Settings information for the .m3u8 container
Constant Summary
Instance Attribute Summary
-
#audio_frames_per_pes ⇒ Integer
rw
The number of audio frames to insert for each PES packet.
-
#audio_pids ⇒ String
rw
Packet Identifier (PID) of the elementary audio stream(s) in the transport stream.
-
#ecm_pid ⇒ String
rw
This parameter is unused and deprecated.
-
#nielsen_id_3_behavior ⇒ String
rw
If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.
-
#pat_interval ⇒ Integer
rw
The number of milliseconds between instances of this table in the output transport stream.
-
#pcr_control ⇒ String
rw
When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header.
-
#pcr_period ⇒ Integer
rw
Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream.
-
#pcr_pid ⇒ String
rw
Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream.
-
#pmt_interval ⇒ Integer
rw
The number of milliseconds between instances of this table in the output transport stream.
-
#pmt_pid ⇒ String
rw
Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream.
-
#program_num ⇒ Integer
rw
The value of the program number field in the Program Map Table.
-
#scte_35_behavior ⇒ String
rw
If set to passthrough, passes any SCTE-35 signals from the input source to this output.
-
#scte_35_pid ⇒ String
rw
Packet Identifier (PID) of the SCTE-35 stream in the transport stream.
-
#timed_metadata_behavior ⇒ String
rw
When set to passthrough, timed metadata is passed through from input to output.
-
#timed_metadata_pid ⇒ String
rw
Packet Identifier (PID) of the timed metadata stream in the transport stream.
-
#transport_stream_id ⇒ Integer
rw
The value of the transport stream ID field in the Program Map Table.
-
#video_pid ⇒ String
rw
Packet Identifier (PID) of the elementary video stream in the transport stream.
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Structure#to_h. |
Instance Attribute Details
#audio_frames_per_pes ⇒ Integer
(rw)
The number of audio frames to insert for each PES packet.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#audio_pids ⇒ String
(rw)
Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#ecm_pid ⇒ String
(rw)
This parameter is unused and deprecated.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#nielsen_id_3_behavior ⇒ String
(rw)
If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pat_interval ⇒ Integer
(rw)
The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pcr_control ⇒ String
(rw)
When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pcr_period ⇒ Integer
(rw)
Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pcr_pid ⇒ String
(rw)
Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pmt_interval ⇒ Integer
(rw)
The number of milliseconds between instances of this table in the output transport stream. A value of \"0\" writes out the PMT once per segment file.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#pmt_pid ⇒ String
(rw)
Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#program_num ⇒ Integer
(rw)
The value of the program number field in the Program Map Table.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#scte_35_behavior ⇒ String
(rw)
If set to passthrough, passes any SCTE-35 signals from the input source to this output.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#scte_35_pid ⇒ String
(rw)
Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#timed_metadata_behavior ⇒ String
(rw)
When set to passthrough, timed metadata is passed through from input to output.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#timed_metadata_pid ⇒ String
(rw)
Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6).
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#transport_stream_id ⇒ Integer
(rw)
The value of the transport stream ID field in the Program Map Table.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end
#video_pid ⇒ String
(rw)
Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value.
# File 'gems/aws-sdk-medialive/lib/aws-sdk-medialive/types.rb', line 8184
class M3u8Settings < Struct.new( :audio_frames_per_pes, :audio_pids, :ecm_pid, :nielsen_id_3_behavior, :pat_interval, :pcr_control, :pcr_period, :pcr_pid, :pmt_interval, :pmt_pid, :program_num, :scte_35_behavior, :scte_35_pid, :, :, :transport_stream_id, :video_pid) SENSITIVE = [] include Aws::Structure end


Visual Tweaks
Before moving on to the next section i feel like we need to do some house cleaning. There are a few things i want to change in the code in order to add houses that have depth to them visually. Also, while reviewing your code i found a bug that was made because i gave bad instructions in the last tutorial section.
Do all the work for this section in the DepthBase project from the last section.
Let's start off by updating our HouseTiles.png to the following image:
Edit spriteSources
in Game.cs to include some of the new tiles. I went ahead and measured these out for you:
protected Rectangle[] spriteSources = new Rectangle[] {
/* 0*/new Rectangle(466,32,30,30),
/* 1*/new Rectangle(466,1,30,30),
/* 2*/new Rectangle(32,187,30,30),
/* 3*/new Rectangle(32,280,30,40), // Top-left
/* 4*/new Rectangle(63,280,30,40), // Top-middle
/* 5*/new Rectangle(94,280,30,40), // Top-right
/* 6*/new Rectangle(32,321,30,30), // Middle-left
/* 7*/new Rectangle(63,321,30,30), // Middle-middle
/* 8*/new Rectangle(94,321,30,30), // Middle-right
/* 9*/new Rectangle(32,352,30,30),
/*10*/new Rectangle(63,352,30,30)
};
Also, change the layout of room 1 to include the new building. Like so:
protected int[][] room1Layout = new int[][] {
new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
new int[] { 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 },
new int[] { 1, 3, 4, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 },
new int[] { 1, 6, 7, 8, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1 },
new int[] { 1, 9,10, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2 },
new int[] { 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1 },
new int[] { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 },
new int[] { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 },
new int[] { 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 },
new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
};
After having made these changes Run the game, you will notice two errors. First, the bannana is stuck in a building wall. Second, the roof of the building is rendered wrong! This is what it looks like for me:
The first one is easy, find where we add the bannana and move it's x index from 3 to 4. Fixing the rendering artifact is a little more involved as we have to build a mental model of what's wrong. First, open up Tile.cs and take a look at this section of the Render
method:
Rectangle renderRect = new Rectangle(Source.Location, Source.Size);
if (renderRect.Height != 30) {
int difference = renderRect.Height - 30;
renderRect.Y -= difference; // This is a bug!
}
The line where we change renderRect.Y is inheritly wrong. This is my fault, i told you to change the wrong variable in the last tutorial. What you actually want to change is renderPos.Y
. It makes sense when we thing about it, renderRect is not the position on screen, it's the rectangle to use from the sprite sheet. We don't want to mess with the source sprite, only the render position!
Running the game now, it's still messed up. The height and y of the tile is just not set properly! So let's track down where the height and Y are configured, take a look at the constructor
of Map.cs. The issue is in this block of code:
for (int j = 0; j < layout[i].Length; j++) {
Rectangle source = sources[layout[i][j]];
Point worldPosition = new Point();
worldPosition.X = (int)(j * source.Width);
worldPosition.Y = (int)(i * source.Height);
result[i][j] = new Tile(sheets, source);
result[i][j].Walkable = false;
result[i][j].IsDoor = false;
result[i][j].WorldPosition = worldPosition;
result[i][j].Scale = scale;
foreach (int w in walkable) {
if (layout[i][j] == w) {
tileMap[i][j].Walkable = true;
}
}
}
The problem is where we calculate worldPosition.X and worldPosition.Y. We multiply i and j by the source tile width and height. This of course assumes that all tiles are going to be uniform sized, an assumption we just broke! Instead we need to hard code the tile size, like so:
Point worldPosition = new Point();
worldPosition.X = (int)(j * 30);
worldPosition.Y = (int)(i * 30);
There is one last think i'd like to address. If you collect an item and close the game you get a yellow warning in the console about an unreleased texture. This only happens when you collect an item. That tells me that at the point when we remove the item from the map, you don't release it's texture. Go ahead and fix this.
Now we're good to go to the next section! If you run the game you will be able to walk on the top 10 pixels of one of the houses, this is expected behaviour. In the next section we're going to add proper depth sorting to make it look like you are behind the house. Until then, this is what your game will probably look like at this point:


rexfw.slgenerators package¶
Module contents¶
Swap list generators generating lists of triples: two replica names and an
ExchangeParams
object. They tell which replicas should attempt to
swap their states and which parameters to use for the swap
-
class
rexfw.slgenerators.
ExchangeParams
(proposers, proposer_params)¶ Bases:
tuple
-
_asdict
()¶ Return a new OrderedDict which maps field names to their values
-
_fields
= ('proposers', 'proposer_params')¶
-
classmethod
_make
(iterable, new=<built-in method __new__ of type object>, len=<built-in function len>)¶ Make a new ExchangeParams object from a sequence or iterable
-
_replace
(**kwds)¶ Return a new ExchangeParams object replacing specified fields with new values
-
count
(value) → integer -- return number of occurrences of value¶
-
index
(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
-
proposer_params
¶ Alias for field number 1
-
proposers
¶ Alias for field number 0
-
-
class
rexfw.slgenerators.
StandardSwapListGenerator
(n_replicas, param_list)¶ Bases:
rexfw.slgenerators.AbstractSwapListGenerator
-
_which
= 0¶
-


Through simultaneous exploration of the world and of myself, I recently figured out that coding is my calling. I've discovered a passion for creating something from nothing, and learning programming basics at Dev Bootcamp has empowered me to do something I love every day. My goal is to find an opportunity that encourages me to continue growing--as a person and as a programmer.
See what I've been working on.
DEV BOOTCAMP, Recent Graduate || Chicago, IL || July 2015-November 2015
Learned to code by immersing myself in it for 19 weeks. Focused heavily on Ruby and JavaScript, but also got exposure to several common frameworks, libraries, and tools, such as Rails, JQuery, and Git. Additional emphasis was placed on learning industry best practices, like writing DRY code, agile development, object-oriented design, and communicating effectively within a team.
EXPLORING || Earth || August 2014-June 2015
Took a break from real life to figure out what I wanted out of life. Check out my very-infrequently-updated travel blog!
FREELANCE/CONSULTING || Austin, TX || May 2014-August 2014
Assisted multiple companies in setting up their initial Salesforce environments. This included identifying prospective target companies based on fit, finding relevant contacts within those organizations, and entering this data into the CRM to simplify future outreach efforts.
UPSTREAM COMMERCE, Market Development || Austin, TX || November 2013-May 2014
Generated and qualified sales leads in the Fortune 500 retail space, specifically targetting C-level and VP-level contacts. Also vetted all inbound leads, represented the company at trade shows and events, and built up CRM data (contacts, prospective companies, etc).
BAZAARVOICE, Market Development Manager || Austin, TX || April 2012-October 2013
Identified, established, and maintained relationships with retail prospects while generating and qualifying sales opportunities within a given territory. Employed multiple creative tactics (phone, email, direct mail, LinkedIn, Twitter, photos of puppies) to capture a prospect’s attention and secure a meeting.
DELL, Large Enterprise Account Manager--Software & Peripherals || Austin, TX || June 2009-December 2011
Worked directly with decision-makers at some of Dell's biggest clients to solve their software licensing needs. Carried a $10M quota, and attained an average of 120%.
DEV BOOTCAMP || Chicago, IL || 2015
19-week intensive training program for aspiring web developers
MISSOURI STATE UNIVERSITY || Springfield, MO || 2008


MAP
{{this.groupsSvc.verbose}}
{{group.name}}
{{group.location.name}}
{{group.location.address1}}
{{group.location.address2}}
{{group.location.city}}, {{group.location.state}} {{group.location.zip}}
{{group.schedules[0].time}} {{group.schedules[0].day}}
details


x
You can sort the result by price
- Use the slider to define the price range
- Note that the results shown have their price between the left value of the slider and the right
value
- The selected range is also shown on top of the results
- You can click on Clear all to cancel your selection
- Note that you can combine any of the sorting possibilities


Der Mund der Wahrheit
Lucas Cranach der Ältere
According to Boccaccio a woman accused of adultery placed her hand in the mouth of a stone lion, whose teeth usually crushed the hands of those who had committed perjury.  [Friedländer, Rosenberg 1979, 125, No. 278]
- Klassifikation
- Malerei
- Datiert
- 0
- Maße
- Maße Bildträger: 111 x 100 cm [http://www.sothebys.com/en/auctions/ecatalogue/2015/old-master-british-paintings-evening-sale-l15033/lot.8.html] (accessed 30-08-2017)
- Inventarnummer
- PRIVATE_NONE-P179
- Objektname
- FR279


Java System.currentTimeMillis()
|
|
|
|||||||||
The static method System.currentTimeMillis()
returns the time since January 1st 1970
in milliseconds. The value returned is a long. Here is an example:
long timeNow = System.currentTimeMillis();
That is really all there is to it. The returned long
value can be used
to initialize java.util.Date
, java.sql.Date
, java.sql.Timestamp
and java.util.GregorianCalendar
objects.
Time Granularity
The granularity of the System.currentTimeMillis()
method is larger than 1 millisecond.
If you call this method repeatedly, you will see that you get the same value back for a while, then
it all of a sudden jumps by 10-20-30 milliseconds or more. It is not the worlds most precise or
fine grained timer.


Querying Volumes for region: {{ region }}...
Volumes
UUID
Name
Description
Created
Status
Size
Zone
Snapshots
Backups


Daily Insider Ratings Round Up 11/21/19
by InsiderInsightsSummary
- Tables of the top insider purchases and sales filed with the SEC on 11/21/19, based on dollar value.
- Dollar values often do not equate with significance when it comes to insider trades.
- Proprietary Insider Company Ratings are relayed to clarify significance.
InsiderInsights' Daily Round Up articles rate the "Significance" of the Top 10 dollar value insider purchases and sales filed at the SEC on the Title date. Dollar value is only the most basic metric to assess the "Significance" of an insider transaction, however, and often not even the most important one.
When a new insider transaction occurs, our programs mathematically score the significance of the company's three-month insider profile based on numerous criteria programmed into our expert system.
Stocks that achieve an InsiderInsights Company Rating of "Significant" and "Leaning" Bullish or Bearish have been independently validated to generate alpha as a group and should be considered by investors looking for new long and short investments.
Seasonal Note: Form 4 filing volumes are on the rise and will stay strong until the third week of December. We're in high season for using insider data in the investing process.
----------------------
On Today's Tables:
Insider trades were rated Significant at:
Insider trades were rated Nearly Significant at:
Insider trades were considered Insignificant at:
There is a Conflicted Insider Signal (both purchases & sales) at:
- Uber Technologies (UBER);
- NeoGenomics (NEO);
- BioLife Solutions (BLFS); and
- Amarin Corp Plc Uk (AMRN).
There is an IPO or Known Corporate Action at:
- CrossAmerica Partners (CAPL).
It's difficult to argue significance for most transactions made during IPOs, or when insiders make trades during a known corporate action.
Insider Purchases
| #: | Filer Name | Insider Titles | Company Name | Ticker | TransType | Dollar Value |
| 1 | Topper Joseph V Jr | DIR, BO | CrossAmerica Partners | CAPL | JB* | $139,466,624 |
| 2 | Inversora Carso S A De C V | BO | PBF Energy | PBF | B | $15,960,383 |
| 3 | Reed Michael | CEO, DIR | Gannett Co | GCI | B | $1,883,850 |
| 4 | Averick Robert M | DIR, BO | Gulf Island Fabrication | GIFI | B | $1,347,291 |
| 5 | Casdin Partners Master Fund | BO | BioLife Solutions | BLFS | B | $616,536 |
| 6 | Collingsworth James M | DIR | NGL Energy | NGL | B | $505,530 |
| 7 | Denson Charles D | DIR | Funko | FNKO | B | $498,240 |
| 8 | Webster Steven A | DIR | Carrizo Oil & Gas | CRZO | B | $454,771 |
| 9 | Jacobson Lee | CEO, DIR | Nesco | CIC | B | $352,154 |
| 10 | Branderiz Eric | VP, CFO | Enphase Energy | ENPH | B | $176,994 |
Insider Sales
| #: | Filer Name | Insider Titles | Company Name | Ticker | TransType | Dollar Value |
| 1 | Kalanick Travis Cordell | DIR | Uber Technologies | UBER | AS | $578,217,920 |
| 2 | Circle K Stores | BO | CrossAmerica Partners | CAPL | JS* | $139,466,624 |
| 3 | Pearce Tony Marion | DIR, BO | Purple Innovation | PRPL | JS* | $61,432,476 |
| 4 | Innohold | BO | Purple Innovation | PRPL | JS* | $52,864,952 |
| 5 | Bain Capital Life Sciences Investors | BO | Dicerna Pharm | DRNA | JS* | $38,552,500 |
| 6 | Kolchinsky Peter | DIR | Dicerna Pharm | DRNA | JS* | $23,667,124 |
| 7 | Winn Stephen T | CB, CEO, BO | RealPage | RP | AS | $7,966,795 |
| 8 | Thero John F | CEO, DIR | Amarin Corp Plc Uk | AMRN | AS | $6,217,371 |
| 9 | Van Oort Douglas M | CB, CEO | NeoGenomics | NEO | S | $4,515,000 |
| 10 | Mansueto Joseph D | CB, DIR, BO | Morningstar | MORN | AS | $4,335,692 |
Source: InsiderInsights.com | Key to Insider Title and Trans Type Codes:
B = Open-market Buy; AB = 10b5-1 (automatic) Buy; JB* = Buy indicated as being open-market but not confirmed by trading price range and volume for the session. S = Open-market Sale; AS = 10b5-1 (automatic) Sale; JS* = Sale indicated as being open-market but not confirmed by trading price range and volume for the session.
Did you miss our Previous Daily Round Up?
Disclosure: I/we have no positions in any stocks mentioned, and no plans to initiate any positions within the next 72 hours. I wrote this article myself, and it expresses my own opinions. I am not receiving compensation for it (other than from Seeking Alpha). I have no business relationship with any company whose stock is mentioned in this article.


AUDIO SOLUTIONS FOR FILM, TELEVISION, GAMING & DIGITAL MARKETING
What Is PILL AUDIO?
The Most Convenient Professional Sound Foundry on the Planet.
PA is here to take the gruntwork out of shopping for high-quality, thematic audio material for that special film, game, or commercial that you're working on.
Together, we can achieve your multimedia goals promptly!
- Quality These aren't your run of the mill tones! PILL Audio prides itself on sonic offerings with an edge. We provide the audio puzzle pieces that you need to edit your masterpiece!
- Consistency Our frequently updated hub of tones enables us to be your one-stop source for hypnotic soundscape creation. We'll never fail to provide cutting-edge earfood to each and every one of our valued customers!
- Integrity Our staff is extremely communicative & always ready to respond to whatever issues, questions, or observations that you may have.
Our Services
PROJECT COLLABORATION
PILL Audio offers a more in-depth level of audio assistance, via one-on-one project collaboration, to interested clients.
If you would like to be considered for collaboration, please contact us.
WHICH SOLUTION IS RIGHT FOR YOU?
- Explore the audio content as a free member.
- Purchase a Basic or Premium Lease for commercial use of the track/pack.
- Purchase an Unlimited License for full ownership of the track/pack and subsequent removal from the site .
- Opt to collaborate with a PA technician, via one-on-one consultation, for custom audio solutions.


| Followerr\__init__.py |
0 |
0 |
0 |
100% |
| Followerr\settings.py |
32 |
0 |
0 |
100% |
| Followerr\urls.py |
7 |
1 |
0 |
86% |
| authentication\__init__.py |
0 |
0 |
0 |
100% |
| authentication\forms.py |
8 |
0 |
0 |
100% |
| authentication\migrations\__init__.py |
0 |
0 |
0 |
100% |
| authentication\tests.py |
77 |
0 |
0 |
100% |
| authentication\urls.py |
4 |
0 |
0 |
100% |
| authentication\utils.py |
6 |
0 |
0 |
100% |
| authentication\views.py |
56 |
4 |
0 |
93% |
| blocking\__init__.py |
0 |
0 |
0 |
100% |
| blocking\migrations\__init__.py |
0 |
0 |
0 |
100% |
| blocking\tests.py |
41 |
0 |
0 |
100% |
| blocking\urls.py |
3 |
0 |
0 |
100% |
| blocking\views.py |
31 |
0 |
0 |
100% |
| chats\__init__.py |
0 |
0 |
0 |
100% |
| chats\forms.py |
29 |
0 |
0 |
100% |
| chats\migrations\0001_initial.py |
5 |
0 |
0 |
100% |
| chats\migrations\0002_auto_20201030_1409.py |
7 |
0 |
0 |
100% |
| chats\migrations\__init__.py |
0 |
0 |
0 |
100% |
| chats\models.py |
24 |
0 |
0 |
100% |
| chats\tests.py |
249 |
2 |
0 |
99% |
| chats\urls.py |
3 |
0 |
0 |
100% |
| chats\views.py |
157 |
9 |
0 |
94% |
| comments\__init__.py |
0 |
0 |
0 |
100% |
| comments\forms.py |
8 |
0 |
0 |
100% |
| comments\migrations\0001_initial.py |
5 |
0 |
0 |
100% |
| comments\migrations\0002_auto_20201030_1409.py |
8 |
0 |
0 |
100% |
| comments\migrations\0003_auto_20201102_1314.py |
5 |
0 |
0 |
100% |
| comments\migrations\0004_auto_20201102_1314.py |
5 |
0 |
0 |
100% |
| comments\migrations\__init__.py |
0 |
0 |
0 |
100% |
| comments\models.py |
17 |
0 |
0 |
100% |
| comments\tests.py |
118 |
0 |
0 |
100% |
| comments\urls.py |
3 |
0 |
0 |
100% |
| comments\views.py |
83 |
0 |
0 |
100% |
| friends\__init__.py |
0 |
0 |
0 |
100% |
| friends\migrations\0001_initial.py |
5 |
0 |
0 |
100% |
| friends\migrations\0002_auto_20201030_1409.py |
7 |
0 |
0 |
100% |
| friends\migrations\__init__.py |
0 |
0 |
0 |
100% |
| friends\models.py |
6 |
0 |
0 |
100% |
| friends\tests.py |
75 |
0 |
0 |
100% |
| friends\urls.py |
3 |
0 |
0 |
100% |
| friends\views.py |
71 |
0 |
0 |
100% |
| groups\__init__.py |
0 |
0 |
0 |
100% |
| groups\forms.py |
16 |
0 |
0 |
100% |
| groups\migrations\0001_initial.py |
5 |
0 |
0 |
100% |
| groups\migrations\0002_auto_20201030_1409.py |
7 |
0 |
0 |
100% |
| groups\migrations\0003_auto_20201104_1031.py |
4 |
0 |
0 |
100% |
| groups\migrations\__init__.py |
0 |
0 |
0 |
100% |
| groups\models.py |
22 |
0 |
0 |
100% |
| groups\tests.py |
427 |
0 |
0 |
100% |
| groups\urls.py |
3 |
0 |
0 |
100% |
| groups\views.py |
270 |
0 |
0 |
100% |
| manage.py |
12 |
2 |
0 |
83% |
| photoalbums\__init__.py |
0 |
0 |
0 |
100% |
| photoalbums\forms.py |
14 |
0 |
0 |
100% |
| photoalbums\migrations\0001_initial.py |
7 |
0 |
0 |
100% |
| photoalbums\migrations\0002_auto_20201102_1123.py |
5 |
0 |
0 |
100% |
| photoalbums\migrations\0003_auto_20201102_1155.py |
4 |
0 |
0 |
100% |
| photoalbums\migrations\0004_auto_20201102_1334.py |
5 |
0 |
0 |
100% |
| photoalbums\migrations\0005_image_is_avatar.py |
4 |
0 |
0 |
100% |
| photoalbums\migrations\0006_auto_20201102_1346.py |
6 |
0 |
0 |
100% |
| photoalbums\migrations\0007_remove_image_avatar_of.py |
4 |
0 |
0 |
100% |
| photoalbums\migrations\0008_auto_20201102_1537.py |
4 |
0 |
0 |
100% |
| photoalbums\migrations\0009_auto_20201104_1159.py |
4 |
0 |
0 |
100% |
| photoalbums\migrations\0010_auto_20201112_1427.py |
5 |
0 |
0 |
100% |
| photoalbums\migrations\__init__.py |
0 |
0 |
0 |
100% |
| photoalbums\models.py |
14 |
0 |
0 |
100% |
| photoalbums\tests.py |
284 |
0 |
0 |
100% |
| photoalbums\urls.py |
3 |
0 |
0 |
100% |
| photoalbums\views.py |
183 |
0 |
0 |
100% |
| posts\__init__.py |
0 |
0 |
0 |
100% |
| posts\forms.py |
9 |
0 |
0 |
100% |
| posts\migrations\0001_initial.py |
5 |
0 |
0 |
100% |
| posts\migrations\0002_auto_20201030_1409.py |
7 |
0 |
0 |
100% |
| posts\migrations\__init__.py |
0 |
0 |
0 |
100% |
| posts\models.py |
16 |
0 |
0 |
100% |
| posts\tests.py |
142 |
0 |
0 |
100% |
| posts\urls.py |
3 |
0 |
0 |
100% |
| posts\views.py |
125 |
0 |
0 |
100% |
| search\__init__.py |
0 |
0 |
0 |
100% |
| search\admin.py |
1 |
0 |
0 |
100% |
| search\documents.py |
73 |
0 |
0 |
100% |
| search\migrations\__init__.py |
0 |
0 |
0 |
100% |
| search\models.py |
1 |
0 |
0 |
100% |
| search\tests.py |
208 |
0 |
0 |
100% |
| search\urls.py |
3 |
0 |
0 |
100% |
| search\views.py |
32 |
0 |
0 |
100% |
| user_profile\__init__.py |
0 |
0 |
0 |
100% |
| user_profile\admin.py |
33 |
0 |
0 |
100% |
| user_profile\forms.py |
21 |
0 |
0 |
100% |
| user_profile\migrations\0001_initial.py |
6 |
0 |
0 |
100% |
| user_profile\migrations\0002_remove_user_avatar.py |
4 |
0 |
0 |
100% |
| user_profile\migrations\0003_user_avatar.py |
5 |
0 |
0 |
100% |
| user_profile\migrations\0004_auto_20201102_1524.py |
5 |
0 |
0 |
100% |
| user_profile\migrations\0005_auto_20201103_1203.py |
4 |
0 |
0 |
100% |
| user_profile\migrations\0006_auto_20201103_1259.py |
4 |
0 |
0 |
100% |
| user_profile\migrations\0007_auto_20201104_1159.py |
4 |
0 |
0 |
100% |
| user_profile\migrations\0008_auto_20201108_1605.py |
4 |
0 |
0 |
100% |
| user_profile\migrations\0009_auto_20201110_1445.py |
5 |
0 |
0 |
100% |
| user_profile\migrations\0010_auto_20201110_1701.py |
5 |
0 |
0 |
100% |
| user_profile\migrations\0011_auto_20201110_1805.py |
5 |
0 |
0 |
100% |
| user_profile\migrations\__init__.py |
0 |
0 |
0 |
100% |
| user_profile\models.py |
45 |
1 |
0 |
98% |
| user_profile\tests.py |
148 |
0 |
0 |
100% |
| user_profile\urls.py |
4 |
0 |
0 |
100% |
| user_profile\views.py |
91 |
0 |
0 |
100% |


--- title: Extracting text with R in a Tidy fashion author: Brandon P. Pipher date: '2020-05-03' slug: [] categories: - Data Wrangling tags: - R - Tidyverse - pdftools subtitle: 'Gathering data to compare PhD programs in Statistics' summary: 'Gathering data to compare PhD programs in Statistics' authors: [] lastmod: '2020-05-03T16:39:16-04:00' featured: no image: caption: 'Entacmaea quadricolor' focal_point: '' preview_only: no projects: [] ---
When it comes to looking at PhD programs it can be difficult to find reliable resources that allow you to compare and constrast programs en masse. For something that seems so important of a decision it seems strange the expectation is to hunt one-by-one through university websites to try and find program data, and even stranger that most programs do not publicly divulge all sorts of information on admissions and graduation.
There were a few resources I wanted to try and pool together to get a better idea on programs, and thus began this minor project.
By the end of this the goal is to have two dataframes, one for Statistics PhD programs and another for Biostatistics PhD programs, and try to scrape program size, USNews ranking, and presence of a consulting center.
library(pdftools)
library(tidyverse)
library(magrittr)
# OR load all of Tidyverse at once:
# tidyverse_packages() %>% lapply(library, character.only = TRUE)
To start off lets pull some information from the ASA Statistics and Biostatistics Degree Data, specifically the list of universities granting PhD’s in Statistics and Biostatistics and how many PhD’s were granted between 2003 and 2018.
# URL locations
stat.phdnums.loc <-
"https://ww2.amstat.org/misc/StatsPhD2003-MostRecent.pdf"
biostat.phdnums.loc <-
"https://ww2.amstat.org/misc/BiostatsPhD2003-MostRecent.pdf"
# Reading in PDF's
stat.phdnums <-
pdf_text(stat.phdnums.loc) %>%
read_lines()
biostat.phdnums <-
pdf_text(biostat.phdnums.loc) %>%
read_lines()
Here we can see the raw format the data is in.
stat.phdnums
## [1] " All data from National Center for Education Statistics and retrieved by Steve Pierson (pierson@amstat.org). The data here includes biostatistics degrees as"
## [2] " categorized by the CIP Code 27.05. For more information on degrees included, see http://community.amstat.org/blogs/steve-"
## [3] " pierson/2014/07/28/categorization-of-statistics-degrees."
## [4] " Statistics PhD's 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2003-2018"
## [5] " 1 North Carolina State University at Raleigh 15 9 12 13 22 15 32 19 14 20 12 17 19 20 19 25 283"
## [6] " 2 Iowa State University 9 8 5 11 14 4 11 13 14 9 15 28 14 9 18 27 209"
## [7] " 3 University of Wisconsin-Madison 5 6 14 9 20 13 15 12 13 9 13 10 13 24 15 17 208"
## [8] " 4 Stanford University* 10 12 14 6 9 10 5 9 13 7 13 10 4 9 23 6 160"
## [9] " 5 Texas A & M University-College Station 6 12 18 10 7 4 5 11 16 18 10 7 15 4 8 8 159"
## [10] " 6 Pennsylvania State University 6 9 8 1 8 9 10 10 14 9 12 9 17 14 6 9 151"
## [11] " 7 Ohio State University-Main Campus 3 5 3 12 12 7 11 11 6 11 8 13 14 12 6 12 146"
## [12] " 8 Purdue University-Main Campus 6 5 12 8 8 7 10 12 9 9 5 10 14 8 9 13 145"
## [13] " 9 University of Michigan-Ann Arbor 8 5 3 3 8 9 12 11 7 11 13 9 8 11 13 9 140"
## [14] "10 University of California-Los Angeles 2 2 2 6 9 7 9 8 7 11 11 8 6 12 13 10 123"
## [15] "11 University of North Carolina at Chapel Hill 5 5 3 6 1 12 4 5 8 14 9 8 10 14 11 8 123"
## [16] "12 Duke University 7 1 3 7 5 7 9 5 8 4 9 12 9 8 12 14 120"
## [17] "13 University of California-Berkeley 5 5 8 7 7 5 11 6 10 4 13 7 6 5 7 7 113"
## [18] "14 Carnegie Mellon University 6 8 3 12 6 1 5 6 8 10 7 10 12 8 2 9 113"
## [19] "15 Florida State University 3 4 3 3 6 7 5 5 13 7 3 8 7 9 9 18 110"
## [20] "16 University of Minnesota-Twin Cities 7 3 7 8 8 9 8 2 8 5 9 10 9 5 8 3 109"
## [21] "17 Virginia Polytechnic Institute 5 2 7 8 7 5 5 5 7 5 7 6 13 10 7 6 105"
## [22] "18 University of Florida 1 4 5 9 7 11 4 5 3 11 7 6 5 7 10 8 103"
## [23] "19 Rice University 3 3 5 11 4 7 7 11 2 6 4 6 3 8 7 7 94"
## [24] "20 Columbia University B55 3 4 6 9 3 3 4 5 9 2 9 8 5 6 7 11 94"
## [25] "21 Harvard University 4 5 3 4 2 2 8 4 6 7 8 7 9 8 6 11 94"
## [26] "22 University of Chicago 2 7 4 6 4 5 9 4 4 7 10 2 8 7 5 10 94"
## [27] "23 University of California-Davis 4 3 10 4 8 4 8 3 3 6 5 5 8 3 8 11 93"
## [28] "24 University of Georgia 0 4 6 6 2 4 10 6 3 0 8 9 12 9 7 7 93"
## [29] "25 University of Connecticut 2 3 5 2 8 5 3 5 5 5 10 9 3 7 7 10 89"
## [30] "26 University of Pennsylvania 3 5 4 3 4 3 6 9 3 8 5 10 5 6 10 3 87"
## [31] "27 University of Missouri-Columbia 2 4 5 5 6 3 6 8 3 2 12 8 7 6 4 6 87"
## [32] "28 University of Washington 4 3 1 4 5 5 9 7 7 5 5 6 6 6 8 5 86"
## [33] "29 Rutgers University-New Brunswick 2 3 6 3 4 5 6 7 4 3 7 7 6 5 4 8 80"
## [34] "30 University of California-Riverside 1 1 5 2 6 5 7 0 10 12 7 3 3 5 3 9 79"
## [35] ""
## [36] "31 Baylor University 3 5 1 3 6 2 7 5 7 2 6 5 4 5 7 7 75"
## [37] "32 Southern Methodist University 2 6 7 1 4 3 5 3 3 3 6 6 6 5 8 3 71"
## [38] "33 Michigan State University 6 1 3 6 5 1 2 3 6 7 2 4 3 8 6 8 71"
## [39] "34 University of Illinois at Urbana-Champaign 2 1 3 5 6 1 2 3 8 5 2 6 5 2 7 12 70"
## [40] "35 University of South Carolina-Columbia 2 3 3 2 4 7 5 3 1 5 7 4 4 5 8 5 68"
## [41] "36 University of California-Santa Barbara 4 2 2 6 3 4 5 2 5 2 6 2 7 7 2 9 68"
## [42] "37 University of Kentucky 0 5 6 4 4 5 2 5 2 3 1 3 4 6 10 6 66"
## [43] "38 University of Maryland-College Park 0 0 5 3 1 7 4 4 6 4 10 2 8 2 3 5 64"
## [44] "39 Cornell University 3 5 4 2 6 0 3 3 4 4 7 3 6 5 6 2 63"
## [45] "40 Colorado State University-Fort Collins 4 4 2 3 4 4 7 4 1 2 4 5 2 11 3 2 62"
## [46] "41 University of Maryland-Baltimore County 3 0 5 6 2 2 2 2 4 1 6 5 5 7 4 5 59"
## [47] "42 University of Pittsburgh 2 4 5 2 4 3 5 2 7 5 3 2 4 5 2 4 59"
## [48] "43 Temple University 0 0 0 0 0 8 3 2 7 5 5 2 5 11 3 7 58"
## [49] "44 Western Michigan University 6 5 1 2 1 2 6 3 3 3 2 2 2 6 4 6 54"
## [50] "45 George Washington University 2 2 1 3 0 4 1 3 1 7 0 6 0 5 8 9 52"
## [51] "46 Kansas State University 2 5 2 4 1 3 2 5 2 5 3 4 5 1 0 7 51"
## [52] "47 University of Rochester 4 0 0 2 2 2 3 3 3 4 1 5 4 4 4 4 45"
## [53] "48 University of Iowa 4 2 1 0 7 5 3 4 1 6 2 1 3 1 4 1 45"
## [54] "49 The University of Texas at Dallas 0 2 0 3 4 1 0 3 4 2 4 1 4 5 6 3 42"
## [55] "50 University of Nebraska-Lincoln 0 0 1 2 0 3 1 6 3 1 3 5 3 5 5 4 42"
## [56] "51 Yale University 4 5 1 1 2 1 4 1 3 3 3 2 4 2 1 4 41"
## [57] "52 Bowling Green State University 0 0 0 0 0 1 5 2 2 2 4 7 3 4 4 3 37"
## [58] "53 Northwestern University 1 0 1 1 3 2 0 2 3 1 4 6 4 3 3 3 37"
## [59] "54 Oregon State University 0 0 2 3 2 2 3 1 1 3 2 1 3 2 2 9 36"
## [60] "55 University of New Mexico 4 2 3 1 3 0 5 3 2 1 1 2 3 2 3 0 35"
## [61] "56 University of Virginia-Main Campus 1 3 3 0 0 0 2 4 1 2 3 3 2 4 2 3 33"
## [62] "57 The University of Alabama 0 0 4 4 1 2 4 1 3 2 4 1 0 2 1 3 32"
## [63] "58 George Mason University 0 0 0 0 0 0 1 2 1 3 2 5 4 4 1 3 26"
## [64] "59 North Dakota State University 1 2 1 0 0 1 2 2 2 1 0 3 3 3 1 3 25"
## [65] "60 Case Western Reserve University 2 3 3 2 1 3 2 2 5 1 1 0 0 0 0 0 25"
## [66] "61 Arizona State University-Tempe 0 0 0 0 0 0 0 6 2 2 2 3 1 1 1 6 24"
## [67] "62 University of California-Irvine 0 0 0 0 0 0 0 0 1 1 0 6 7 1 4 3 23"
## [68] "63 Oklahoma State University 0 0 1 0 2 1 2 1 0 2 2 7 1 0 3 1 23"
## [69] "64 SUNY at Albany 0 1 2 0 0 1 2 2 0 0 1 3 3 0 3 2 20"
## [70] ""
## [71] "65 The University of Texas at San Antonio 0 0 0 0 0 0 0 1 0 5 2 3 0 0 6 2 19"
## [72] "66 University of Wyoming 0 0 2 0 0 0 1 2 2 1 2 2 1 0 1 5 19"
## [73] "67 University of Arizona 0 0 0 1 0 0 0 0 0 0 0 1 2 1 4 4 13"
## [74] "68 American University 3 0 3 1 2 1 0 0 1 2 0 0 0 0 0 0 13"
## [75] "69 University of Cincinnati-Main Campus 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 4 7"
## [76] "70 Montana State University 3 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 5"
## [77] "71 West Virginia University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 4"
## [78] "72 The University of Texas at Austin 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4"
## [79] "73 University of New Hampshire 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 3"
## [80] "74 Boston University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2"
## [81] "75 Central Michigan University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1"
## [82] "76 Indiana University-Bloomington 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1"
## [83] "77 Washington University in St Louis 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1"
## [84] "78 University at Buffalo 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1"
## [85] " Total 207 219 269 271 300 276 355 324 344 345 379 397 396 402<PHONE_NUMBER>"
## [86] " *Self-report 2015 number"
Lets drop the last two lines indicating a footnote and the totals along with the first three rows.
stat.phdnums <- stat.phdnums %>% head(-2) %>% tail(-3)
biostat.phdnums <- biostat.phdnums %>% head(-2) %>% tail(-3)
And then lets drop the empty character entries that indicate a newpage.
stat.phdnums <- stat.phdnums %>%
lapply(function(ele)
if (ele == "")
NULL
else
ele) %>%
compact()
biostat.phdnums <- biostat.phdnums %>%
lapply(function(ele)
if (ele == "")
NULL
else
ele) %>%
compact()
From here we’re good to start utilizing stringr
to tidy things up.
stat.phd <-
stat.phdnums[-1] %>%
str_squish() %>%
str_remove("^\\s*\\d*\\s*") %>%
str_split("\\s+(?=\\d)") %>%
unlist() %>%
matrix(ncol = 18, byrow = TRUE) %>%
set_colnames(value =
stat.phdnums[1] %>%
str_squish() %>%
str_split("\\s+(?=\\d)") %>%
unlist) %>%
as_tibble() %>%
type_convert()
A short explanation of each step is provided below. The site Regex101 is helpful with writing regex.
biostat.phd <-
# Ignores column names
biostat.phdnums[-1] %>%
# Removing excess whitepace
str_squish() %>%
# Removes index
str_remove("^\\s*\\d*\\s*") %>%
# Split on all whitespace occurring before digits
str_split("\\s+(?=\\d)") %>%
# Turn list into a matrix
unlist() %>%
matrix(ncol = 18, byrow = TRUE) %>%
# Handling variables names
set_colnames(value =
biostat.phdnums[1] %>%
str_squish() %>%
str_split("\\s+(?=\\d)") %>%
unlist) %>%
as_tibble() %>%
# Transformating variables into numeric
type_convert()
## Parsed with column specification:
## cols(
## `Biotatistics PhD's` = col_character(),
## `2003` = col_double(),
## `2004` = col_double(),
## `2005` = col_double(),
## `2006` = col_double(),
## `2007` = col_double(),
## `2008` = col_double(),
## `2009` = col_double(),
## `2010` = col_double(),
## `2011` = col_double(),
## `2012` = col_double(),
## `2013` = col_double(),
## `2014` = col_double(),
## `2015` = col_double(),
## `2016` = col_double(),
## `2017` = col_double(),
## `2018` = col_double(),
## `2003-2018` = col_double()
## )
Let’s take a look at how this looks completed:
stat.phd %>% (function(x)rbind(head(x),tail(x)))
## # A tibble: 12 x 18
## `Statistics PhD's` `2003` `2004` `2005` `2006` `2007` `2008` `2009` `2010` `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2003-2018`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 North Carolina State University at Raleigh 15 9 12 13 22 15 32 19 14 20 12 17 19 20 19 25 283
## 2 Iowa State University 9 8 5 11 14 4 11 13 14 9 15 28 14 9 18 27 209
## 3 University of Wisconsin-Madison 5 6 14 9 20 13 15 12 13 9 13 10 13 24 15 17 208
## 4 Stanford University* 10 12 14 6 9 10 5 9 13 7 13 10 4 9 23 6 160
## 5 Texas A & M University-College Station 6 12 18 10 7 4 5 11 16 18 10 7 15 4 8 8 159
## 6 Pennsylvania State University 6 9 8 1 8 9 10 10 14 9 12 9 17 14 6 9 151
## 7 University of New Hampshire 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 3
## 8 Boston University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2
## 9 Central Michigan University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
## 10 Indiana University-Bloomington 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
## 11 Washington University in St Louis 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
## 12 University at Buffalo 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
biostat.phd %>% (function(x)rbind(head(x),tail(x)))
## # A tibble: 12 x 18
## `Biotatistics PhD's` `2003` `2004` `2005` `2006` `2007` `2008` `2009` `2010` `2011` `2012` `2013` `2014` `2015` `2016` `2017` `2018` `2003-2018`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 University of North Carolina at Chapel Hill 9 9 11 8 5 11 9 13 12 16 9 22 24 16 14 17 205
## 2 Harvard University 1 9 17 14 13 12 9 6 9 17 10 13 12 9 14 16 181
## 3 University of Michigan-Ann Arbor 8 12 6 7 8 10 6 9 10 15 15 12 11 11 13 15 168
## 4 University of Pittsburgh-Pittsburgh Campus 5 8 4 4 9 5 12 10 15 9 12 14 18 5 10 8 148
## 5 University of Washington-Seattle Campus 6 9 7 6 8 11 8 8 5 7 12 9 12 11 14 5 138
## 6 University of Texas Health Science Center 0 1 9 0 5 5 6 5 7 9 13 7 19 15 13 19 133
## 7 University of Miami 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4
## 8 University of Arizona 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 3
## 9 University of Massachusetts-Amherst 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 2
## 10 University of Georgia 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2
## 11 Southern Methodist University 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
## 12 University of Hawaii at Manoa 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Now, regarding USNews Statistics PhD Rankings…
I tried a few tools like SelectorGadget to simplify scraping the relevant portions of the CSS but USNews’ format was more unwieldly than it seemed capable of handling. There was also this interesting, but old, rvest
issue about this with a method of handling a different area of USNews rankings.
My solution was to simply copy and paste as it skipped going deeper into HTML, XML, and CSS entirely with 30 seconds of effort.
The small bit of code to read my clipboard into R:
usnewsrankings <- read.table("clipboard",sep = "\n")
Taking a look at what this prints as:
usnewsrankings %>% (function(x)rbind(head(x),tail(x)))
## V1
## 1 Stanford University (Department of Statistics)
## 2 Stanford, CA
## 3 \t5.0
## 4 University of California--Berkeley (Department of Statistics)
## 5 Berkeley, CA
## 6 \t4.7
## 336 RNP in Statistics
## 337 \tN/A
## 338 Western Michigan University (Department of Statistics)
## 339 Kalamazoo, MI
## 340 RNP in Statistics
## 341 \tN/A
Should this process change the original copied data can be found here. Note downloading this might throw an error if you don’t use download.file(path, destfile, mode = "wb")
as the default mode = "w"
seems to adjust headers.
Lets clean this by first removing the “RNP in Statistics” entries and selecting only the program and peer ranking. This will leave us with only the schools name and rank.
usnewsrankings <- usnewsrankings[usnewsrankings != "RNP in Statistics"][c(TRUE, FALSE, TRUE)]
usnewsrankings %>% (function(x)rbind(head(x),tail(x)))
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] "Stanford University (Department of Statistics)" "\t5.0" "University of California--Berkeley (Department of Statistics)" "\t4.7" "Harvard University (Department of Biostatistics)" "\t4.6"
## [2,] "University of Oklahoma Health Sciences Center (Department of Biostatistics and Epidemiology)" "\tN/A" "University of Wyoming (Department of Statistics)" "\tN/A" "Western Michigan University (Department of Statistics)" "\tN/A"
Now for cleaning this up:
usnewsrankings %<>%
# Drop tabs
str_replace("\t","") %>%
# Form a matrix
matrix(ncol = 2, byrow = TRUE) %>%
# Column names
set_colnames(c("Program","Rank")) %>%
# Into a tibble
as_tibble() %>%
# Making Rank numeric
# Coercing NA is intended here!
mutate(Rank = as.numeric(Rank))
## Warning in mask$eval_all_mutate(dots[[i]]): NAs introduced by coercion
And here we have the USNews ranking cleaned up:
usnewsrankings %>% (function(x)rbind(head(x),tail(x)))
## # A tibble: 12 x 2
## Program Rank
## <chr> <dbl>
## 1 Stanford University (Department of Statistics) 5
## 2 University of California--Berkeley (Department of Statistics) 4.7
## 3 Harvard University (Department of Biostatistics) 4.6
## 4 Johns Hopkins University (Department of Biostatistics) 4.6
## 5 University of Washington (Department of Biostatistics) 4.6
## 6 Harvard University (Department of Statistics) 4.4
## 7 Oklahoma State University (Department of Statistics) NA
## 8 Old Dominion University (Department of Mathematics and Statistics) NA
## 9 Tulane University (Department of Biostatistics) NA
## 10 University of Oklahoma Health Sciences Center (Department of Biostatistics and Epidemiology) NA
## 11 University of Wyoming (Department of Statistics) NA
## 12 Western Michigan University (Department of Statistics) NA
Splitting these into Statistics and Biostatistics programs requires first manually modifying an entry with Rutgers University.
usnewsrankings[40,1] <-
c("Rutgers University--New Brunswick (Department of Statistics)")
usnewsrankings %<>%
add_row(Program = "Rutgers University--New Brunswick (Department of Biostatistics)",
Rank = 3.3,
.after = 40)
Then we can split based on a few specific keywords.
biostat.keywords = c("biostatistic",
"health",
"medicine")
stat.phd.rank <-
usnewsrankings %>%
filter(!str_detect(Program,
regex(
paste(biostat.keywords,
collapse = '|'),
ignore_case = TRUE
)))
biostat.phd.rank <-
usnewsrankings %>%
filter(str_detect(Program,
regex(
paste(biostat.keywords,
collapse = '|'),
ignore_case = TRUE
)))
And here we are with the USNews rankings per program. Given this information is only updated every four years, with the next to be done in 2022, this should remain relevant for some time.
stat.phd.rank %>% print(n = Inf)
## # A tibble: 70 x 2
## Program Rank
## <chr> <dbl>
## 1 Stanford University (Department of Statistics) 5
## 2 University of California--Berkeley (Department of Statistics) 4.7
## 3 Harvard University (Department of Statistics) 4.4
## 4 University of Chicago (Department of Statistics) 4.4
## 5 Carnegie Mellon University (Department of Statistics) 4.3
## 6 University of Washington (Department of Statistics) 4.3
## 7 Duke University (Department of Statistical Science) 4.1
## 8 University of Michigan--Ann Arbor (Department of Statistics) 4.1
## 9 University of Pennsylvania (Department of Statistics) 4.1
## 10 Columbia University (Department of Statistics) 4
## 11 North Carolina State University (Department of Statistics) 4
## 12 University of Wisconsin--Madison (Department of Statistics) 4
## 13 University of North Carolina--Chapel Hill (Department of Statistics & Operations Research) 3.9
## 14 Cornell University (Department of Statistical Science) 3.8
## 15 Iowa State University (Department of Statistics) 3.8
## 16 Pennsylvania State University (Department of Statistics) 3.8
## 17 Texas A&M University--College Station (Department of Statistics) 3.8
## 18 University of Minnesota--Twin Cities (School of Statistics) 3.7
## 19 Purdue University--West Lafayette (Department of Statistics) 3.6
## 20 Johns Hopkins University (Department of Applied Mathematics and Statistics) 3.5
## 21 University of California--Davis (Department of Statistics) 3.5
## 22 University of California--Los Angeles (Department of Statistics) 3.5
## 23 Yale University (Department of Statistics) 3.5
## 24 Ohio State University (Department of Statistics) 3.4
## 25 University of Illinois--Urbana-Champaign (Department of Statistics) 3.4
## 26 Rutgers University--New Brunswick (Department of Statistics) 3.3
## 27 University of Florida (Department of Statistics) 3.3
## 28 University of Iowa (Department of Statistics and Actuarial Science) 3.3
## 29 Rice University (Department of Statistics) 3.2
## 30 Colorado State University (Department of Statistics) 3.1
## 31 Florida State University (Department of Statistics) 3.1
## 32 University of Connecticut (Department of Statistics) 3.1
## 33 Michigan State University (Department of Statistics and Probability) 3
## 34 University of California--Irvine (Department of Statistics) 3
## 35 University of Texas--Austin (Department of Statistics and Data Science) 3
## 36 Northwestern University (Department of Statistics) 2.9
## 37 University of Pittsburgh (Department of Statistics) 2.9
## 38 George Washington University (Department of Statistics) 2.8
## 39 New York University (Department of Information, Operations, and Management Sciences) 2.8
## 40 University of Georgia (Department of Statistics) 2.8
## 41 University of Missouri--Columbia (Department of Statistics) 2.8
## 42 Virginia Tech (Department of Statistics) 2.8
## 43 University of California--Santa Barbara (Department of Statistics and Applied Probability) 2.7
## 44 Indiana University--Bloomington (Department of Statistics) 2.6
## 45 Southern Methodist University (Department of Statistical Science) 2.6
## 46 University of Maryland--Baltimore County (Department of Mathematics and Statistics) 2.6
## 47 University of Virginia (Department of Statistics) 2.6
## 48 Oregon State University (Department of Statistics) 2.5
## 49 University of California--Riverside (Department of Statistics) 2.5
## 50 University of Massachusetts--Amherst (Department of Mathematics and Statistics) 2.5
## 51 University of South Carolina (Department of Statistics) 2.5
## 52 Arizona State University (School of Mathematical & Statistical Sciences) 2.4
## 53 Case Western Reserve University (Department of Statistics) 2.4
## 54 Temple University (Department of Statistics) 2.4
## 55 Baylor University (Department of Statistical Science) 2.3
## 56 George Mason University (Department of Statistics) 2.3
## 57 Kansas State University (Department of Statistics) 2.3
## 58 University of Colorado--Denver (Department of Mathematical and Statistical Sciences) 2.3
## 59 University of Kentucky (Department of Statistics) 2.2
## 60 Virginia Commonwealth University (Department of Statistics) 2.2
## 61 San Diego State University (Department of Mathematics and Statistics) 2.1
## 62 University of North Carolina--Charlotte (Department of Mathematics and Statistics) 2
## 63 University of Texas--San Antonio (Department of Management Science and Statistics) 2
## 64 Auburn University (Department of Mathematics and Statistics) NA
## 65 Montana State University (Department of Mathematical Sciences) NA
## 66 North Dakota State University (Department of Statistics) NA
## 67 Oklahoma State University (Department of Statistics) NA
## 68 Old Dominion University (Department of Mathematics and Statistics) NA
## 69 University of Wyoming (Department of Statistics) NA
## 70 Western Michigan University (Department of Statistics) NA
biostat.phd.rank %>% print(n = Inf)
## # A tibble: 41 x 2
## Program Rank
## <chr> <dbl>
## 1 Harvard University (Department of Biostatistics) 4.6
## 2 Johns Hopkins University (Department of Biostatistics) 4.6
## 3 University of Washington (Department of Biostatistics) 4.6
## 4 University of North Carolina--Chapel Hill (Department of Biostatistics) 4.3
## 5 University of Michigan--Ann Arbor (Department of Biostatistics) 4.2
## 6 University of California--Berkeley (Group in Biostatistics) 4.1
## 7 University of Minnesota--Twin Cities (School of Public Health) 3.7
## 8 University of Wisconsin--Madison (School of Medicine and Public Health) 3.7
## 9 Columbia University (Department of Biostatistics) 3.6
## 10 University of California--Los Angeles (Department of Biostatistics) 3.6
## 11 University of Texas MD Anderson (Department of Biostatistics) 3.6
## 12 University of Pennsylvania (Department of Biostatistics & Epidemiology) 3.5
## 13 Yale University (Department of Biostatistics) 3.5
## 14 Emory University (Department of Biostatistics and Bioinformatics) 3.4
## 15 Rutgers University--New Brunswick (Department of Biostatistics) 3.3
## 16 Brown University (Department of Biostatistics) 3.1
## 17 Duke University (Department of Biostatistics and Bioinformatics) 3.1
## 18 Vanderbilt University (Department of Biostatistics) 3.1
## 19 Boston University (School of Public Health) 3
## 20 University of California--Davis (Graduate Group in Biostatistics) 3
## 21 University of Pittsburgh (Department of Biostatistics) 3
## 22 University of Florida (Department of Biostatistics) 2.9
## 23 University of Iowa (Department of Biostatistics) 2.9
## 24 University of Rochester (Department of Biostatistics and Computational Biology) 2.9
## 25 University of Texas Health Science Center--Houston (University of Texas MD Anderson Cancer Center UTHealth) 2.9
## 26 Medical College of Wisconsin (Division of Biostatistics) 2.8
## 27 University of Illinois--Chicago (Epidemiology and Biostatistics Division) 2.7
## 28 Case Western Reserve University (Department of Epidemiology and Biostatistics) 2.6
## 29 University of Colorado--Denver (Department of Biostatistics and Informatics) 2.5
## 30 University of Massachusetts--Amherst (Division of Biostatistics and Epidemiology) 2.4
## 31 University at Buffalo--SUNY (Department of Biostatistics) 2.3
## 32 University of South Carolina (Epidemiology and Biostatistics) 2.3
## 33 University of Alabama--Birmingham (Department of Biostatistics) 2.2
## 34 University of Kansas Medical Center (Department of Biostatistics) 2.2
## 35 University at Albany--SUNY (Department of Epidemiology & Biostatistics) 2.1
## 36 University of Cincinnati (Division of Epidemiology & Biostatistics) 2.1
## 37 Virginia Commonwealth University (Department of Biostatistics) 2.1
## 38 Augusta University (Department of Biostatistics and Epidemiology) NA
## 39 Louisiana State University Health Sciences Center--New Orleans (Biostatistics Program) NA
## 40 Tulane University (Department of Biostatistics) NA
## 41 University of Oklahoma Health Sciences Center (Department of Biostatistics and Epidemiology) NA


It was the end of the spring semester at my university. Finals had just wrapped up, and I was looking forward to a long, relaxing summer working at a prestigious research institute and doing landscaping with my roommate. I had just moved to the area less than nine months ago, and I was beginning to feel truly at home where I was. Everything was in its right place. I didn't think anything could go wrong.
A couple friends and I had decided that we would drive down to New Mexico for a few days after finals ended, to see the sights around Albuquerque and camp out overnight between the fantastic sand dunes of White Sands National Monument. We had just had a great mushroom trip together, and my first one ever, a couple months prior, and we were looking forward to having another great one in the surreal desert landscape of New Mexico. We had it all planned out for a great weekend vacation, but none of us could have planned for what happened.
I had been taking the non-stimulant ADD medication Strattera for almost a year and a half by now, and was taking a high dose (120mg/day) to combat my drifting point of focus. I was heavily dependent on it. Around finals time, I also started taking another ADD medication, Adderall XR, for occasional use in high-intensity studying situations. I took an Adderall in addition to half my normal Strattera dose everyday during finals, and without even realizing it, became addicted to it. I continued taking it everyday even after finals had ended, and throughout the road trip to New Mexico. I was beginning to show paranoid and delusional thoughts on the first day of the road trip, but the symptoms seemed to eventually subside and my roommates just figured that the copious amounts of weed I was smoking was contributing to my strange behavior.
The second day of the trip, we drove to White Sands. I was not in a healthy state of mind.  At the same time, I was having unusual thoughts, saying things like that the park ranger who we bought our permit from *knew* we were there to trip on mushrooms. Things that didn't make any sense, and had no founding in logic or reason. These were the beginning signs of amphetamine psychosis. I was not ready to take mushrooms, but I did.
The dunes were great, and we had a lot of fun as we trekked across them to the campsite. We set up the tent, and then, we ate our shrooms. My friend provided them, and all he had was leftover shake from his other batch. I had an eighth poured into a bottle of orange juice, and I drank it quickly. My friends started to throw up after the initial sips but were eventually able to start downing it; one of my friends never finished his whole bottle though, so he was probably tripping less than us. Immediately after consuming the shrooms, I took a dose of Adderall.
The trip started out great. Within 15-20 minutes I was feeling alive and full of energy. I ran around with my friends around the dune we had camped next to, and we were all seeing everything looking much further away than it really was. Soon, I began seeing ripples in the sand, like on the surface of an ocean.
Everything after this point is pretty much wiped from my memory. I remember a few moments -- sitting in the tent, or climbing over the dune to watch the sunset -- but everything else is completely gone. I was not myself at all and was not cognizant in any way of what was going on. The next thing I do remember is 'waking up' sitting cross-legged in the tent, in the middle of the night about seven hours later. I could already feel my mind overloading. Every single idea I had was connected with another, and I was making connections between things where none existed. Eventually I slept, but it was restless.
The next morning, we packed up the campsite and drove back to Albuquerque, and I was beginning to act very strange -- saying that I was convinced that many other people in our lives had also taken magic mushrooms, and it was basically an underground cult. My greatest regret is that my friends were unable to recognize this as a sign of a drug-induced mental illness. But, I can't blame them since it's not everyday someone you think you know pretty well turns psychotic.
The next couple of days proceeded quite normally. We eventually went to Socorro to see the Very Large Array, which was cool, and most of the time I did not act visibly disturbed -- though, looking back, I was having intensely paranoid thoughts about the people around me. Everything went to hell early in the morning about two days after we had tripped. I was lying awake on my friend's dad's couch, and couldn't get the feeling out of my head that someone was watching me. Eventually, I concluded that it was my friend watching me, trying to rape me in my sleep. I also 'realized' that he had been raping me in my sleep, with his friends, for many months. I panicked and called 911.
Long story short: my friends almost got arrested by the cops, and I had to spent spend four days in the psychiatric ward for my first bipolar manic episode. It was bad enough losing my friends overnight because of a psychotic episode that I could not control, but it was worse in the following months as I attempted to recover from the incident and become normal again. One of those friends even tried to befriend me again, months later, but I screwed it up with several relapses of mania, accusing him of doing something to me when we tripped in New Mexico.
Only recently have I discovered that my non-stimulant ADD medication, Strattera, was actually propelling me into a slightly manic state, making me paranoid and emotionally high-strung. I have stopped taking it for several weeks now and have never felt better. I've even taken mushrooms again without incident.
It was a nightmare, to be sure, but I definitely learned from the experience and realized a lot of things about myself. It is unfortunate that I had to affect so many people during my psychotic episode, but I am moving on with my life as best I can.
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.


See use case #1 for a description of this requirement.
We use two pages for this use case. They may be any two pages on your site, and the code you put into them
is identical, so you could just put it on all pages on your site. Unlike case 1a, in this case, we do not
allow the beacon to fire when the onload event fires. Instead, we fire the page_ready
event
when we determine that the page is ready. We also set the autorun
parameter to false to stop
boomerang from running automatically.
<script src="boomerang.js" type="text/javascript"></script> <script type="text/javascript"> BOOMR.init({ user_ip: "<user's ip address>", beacon_url: "http://yoursite.com/path/to/beacon.php", autorun: false }); </script>
The rest of your page will load normally. When you determine (through javascript, perhaps) that your
page is usable by a user browsing your website, you need to fire the page_ready
event like this:
BOOMR.page_ready(); // Tell boomerang that the page is now usable
As in howto-1a, you need to populate the user_ip
field using a back end programming language.
Go to Page #2 now to see the results of the page load test.
The latest code and docs is available on github.com/yahoo/boomerang


I was born and raised in Malaysia. I lived in Malaysia for 18 years, and I had decided to pursue my studies in the United States.
I came to California to obtain my college degree and I made a decision to study in the De Anza College, Cupertino for two years. At the same time, I love to travel during my free time.
I started joining various Hackathons and one of my very first Hackathon is Emirates Hackathon at San Francisco and there are more to come in the future.
I am moving to Davis to continue my journey of studies in Computer Science at UC Davis.


The main class that glues it all together.
The interface for custom exceptions.
A custom exception thrown when a file does not exist.
A custom exception thrown when an invalid argument is provided.
A custom exception thrown when no valid credential is provided.
A custom exception thrown when an invalid json string is encountered.
A custom exception thrown when an invalid xml string is encountered.
A custom exception thrown when output is not specified.
A custom exception thrown when provider is not specified.
A custom exception thrown when result is a failure.
A custom exception thrown when functionality not implemented.
An abstract presentation of a geocode provider.
Bing Maps geocode provider
Google Maps geocode provider
OpenStreetMap geocode provider
The http connection interface for the adapter pattern.
A HTTP adapter based on Buzz http client.
A HTTP adapter based on curl.
A HTTP adapter based on Guzzle http client.
An iterator over the pages of the result.
An interface for the output strategy pattern.
Converts the json string returned from the service to an array.
Converts the json string returned from the service to an object.
Converts the xml string returned from the service to an object.
Converts an xml error to a more readable format
An abstract provider class that sets up a basic provider.
A concrete provider based on Sunlight Foundation Congress API v3.
An interface for a general http request.
A proxy that provides a surrogate for Buzz http client.
A proxy that provides a surrogate for curl.
A proxy that provides a surrogate for Guzzle http client.
An abstract presentation of a resource.
A factory that aids creating resource objects.
A base presentation of SunlightFoundation resource.
This class gives access to Sunlight Congress bills resource.
This class gives access to Sunlight Congress bills/search resource.
This class gives access to Sunlight Congress bulk data.
This class gives access to Sunlight Congress committees resource.
This class gives access to Sunlight Congress districts/locate resource.
This class gives access to Sunlight Congress floor_updates resource.
This class gives access to Sunlight Congress hearings resource.
This class gives access to Sunlight Congress legislators resource.
This class gives access to Sunlight Congress legislators/locate resource.
This class gives access to Sunlight Congress upcoming_bills resource.
This class gives access to Sunlight Congress votes resource.


{{ card.title }} ({{ card.count }})
{{ card.title }} ({{ card.count }})
{{ card.subtitle }}
{{ card.description }}
Draggable Cards can be used to create a series of panels to be displayed in a vertical list. Card can be selected, reordered or removed.
To create the card container use the .ux-draggable-card-container
class and for each card
within the list use the .ux-draggable-card
class. The .active
class should be
added to any card when it is selected. To add a callout when a card is selected add either a .left
or a .right
class to indicate the direction the callout should point.
To add reorderable functionality use the reorderable directive.


Weight:
Height
BMI
My goal is to do .....!
Mini Goals
Diet
Fitness
Mini Goals
Add goal
Daily
Completed Tasks
Weekly
Completed Tasks
Monthly
Completed Tasks
Diet
Current Diet you are following: keto
Choose a Diet
The Paleo Diet
The Vegan Diet
Low-Carb Diets
The Ultra-Low-Fat Diet
The Atkins Diet
The Zone Diets
Options
Top Recipes
Fitness
Fitness Regime:
Choose a Fitness Regime
Exercises For Abs
Exercises For Arms
Exercises For Back
Exercises For Calves
Exercises For Chest
Exercises For Legs
Options
Top Workout Exercises


HOME > Invoice Create New
Sub - Total amount: $13,848
vat (10%) : $138
© 2018 Eliteadmin by themedesigner.in


Coder
I really like coding.
Designer
Hi, I am Ruby. I'm a free spirit who like to explore the world.
Content Creator
Be a little girl who always goes for it.
Hi, I’m Diem Qui and I love those who can smile in trouble.


Terrain:
Select One
Forest
Farm
Hills
City
Position:
Select One
1
2
3
4
5
6
Reset From Map
Update Map


| Host Detection: | |
|---|---|
| Hostname Validation | |
| Hostname Validation Method: | %validatemethod% |
| Hostname: | %methodhostname% |
| Host Location: | %hostlocation% |
| OS Fingerprint: | %dhcposfingerprint% |
| MAC Vendor: | %macvendor% |
| MAC Address: | %macaddress% |
| DHCP Lease End Time: | %dhcpleaseendtime% |
| Scope Name: | %scopename% |


java.lang.Class.newInstance()
.
This method propagates exceptions thrown by the no-arguments constructor, including checked exceptions. Usages of this method effectively bypass the compile-time exception checking that would otherwise be performed by the compiler.
A quick-fix is suggested to replace the call with a call to the
java.lang.reflect.Constructor.newInstance()
method, which
avoids this problem by wrapping any exception thrown by the constructor in a
(checked) java.lang.reflect.InvocationTargetException
.
Example:
clazz.newInstance()
After the quick-fix is applied:
clazz.getConstructor().newInstance();


Home
Eat
Desert
About
Contact us
Login/Register
Registration
Register Yorself!
Name:
Email:
Password:
Remember me
Submit


Tools to estimate pollinator body size and co-varying traits. This package contains novel Bayesian predictive models of pollinator body size (for bees and hoverflies) as well as preexisting predictive models for pollinator body size (currently implemented for ants, bees, butterflies, flies, moths and wasps) as well as bee tongue length and foraging distance, total field nectar loads and wing loading. An additional GitHub repository <https://github.com/liamkendall/pollimetrydata> provides model objects to use the bodysize function internally. All models are described in Kendall et al (2018) <doi:10.1101/397604>.
| Version: | 1.0.1 |
| Depends: | R (≥ 3.0.0), brms (≥ 2.4.0) |
| Imports: | stats, repmis |
| Suggests: | rstan, pollimetrydata |
| Published: | 2018-11-19 |
| Author: | Liam Kendall [aut, cre], Ignasi Bartomeus [aut], Louis Sutter [ctb] |
| Maintainer: | Liam Kendall <liam.k.kendall at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| Citation: | pollimetry citation info |
| Materials: | README |
| CRAN checks: | pollimetry results |
| Reference manual: | pollimetry.pdf |
| Package source: | pollimetry_1.0.1.tar.gz |
| Windows binaries: | r-devel: pollimetry_1.0.1.zip, r-release: pollimetry_1.0.1.zip, r-oldrel: pollimetry_1.0.1.zip |
| OS X binaries: | r-release: pollimetry_1.0.1.tgz, r-oldrel: pollimetry_1.0.1.tgz |
| Old sources: | pollimetry archive |
Please use the canonical form https://CRAN.R-project.org/package=pollimetry to link to this page.


In an effort to further reduce code size, it was discovered that modern browsers usually remove event listeners from elements that are removed from the page, even if that event listener contains a circular reference to the element. The garbage collector should be able to handle this. This was not always the case.
To check various browsers, a test was made would use more and more memory if the browser had this memory leak. Several major browsers were tested, and these are the results.
| Google Chrome (50.0.2661.94) | No Memory Leak | |
| Mozilla Firefox (45.0.2) | No Memory Leak | |
| Opera (36.0.2130.65) | No Memory Leak | |
| Apple Safari (9.1, 116<IP_ADDRESS>) | No Memory Leak | |
| Microsoft Edge | No Memory Leak | |
| Internet Explorer 11 | No Memory Leak | |
| Internet Explorer 10 | Memory Leak | |
| Internet Explorer 9 | Memory Leak | Possible solution is ineffective |
| Internet Explorer 8 | No Memory Leak | Compatibility View has no effect |
| Internet Explorer 7 | Memory Leak | |
| Internet Explorer 6 | Memory Leak |
While some newer browsers are not susceptible, memory leaks remain a relatively common problem. Therefore, onfontready will be keeping the event listener removal code for the foreseeable future.
We create a series of very memory-heavy iframe onload event listeners on iframes that reference their own element, creating a circular dependency. Once the onload function is called, we immediately remove the iframe. Modern browsers should recognize that the circular depencency has no external references and then remove both. Older versions of IE were known to be unable to detect this correctly.
Run the test while watching the page's memory usage. If the browser is working correctly, the page should consume no more than an additional 2,000 kb after completing the tests. If the browser has a memory leak, it should consume around 16,000 kb after completing the tests.


I am a Biochemist turned Front end developer.I have been coding for about 3 years and I enjoy writing clean and reusable codes. I am result oriented and dedicated to creating user-friendly websites.
I enjoy learning new concepts and I have written few technical articles. I write and blog about my experiences, short-comings and victories in my new found career.
Technologies I am most familiar with includes Tailwind CSS, Git, JavaScript. However I am currently learning React and React-Native. When I am not coding, I am either seeing a Sci-Fi movie or reading a novel.
View ResumeThe HNG internship is a remote internship designed to find and develop the most talented software developers. I built this resume as a task at the Hotel.NG Internship Stage Promotion.
HTML and CSS
Kaldi Mart is a food mart for an agricultural business using Netlify CMS. It is an online store for everyone who believes in healthy eating and healthy living. This was the project of an hackathon organised by Dufuna Tech. This is a project that was built alongside other members of a team.
HTML, CSS and JavaScript
The Food Recipe App is a functional application where people can search for food recipes. It uses an input to take in recipes to search for. There is a link to each recipe and an image for each food recipe.
HTML, CSS , API and JavaScript
This is a budget tracker that tracks your budget using your income and expenses. It lists out your income and expenses and uses these information to generate a chart reflecting your income to expense ratio. This allows the user avoid excess expenses as it takes into consideration every income and expenses made.
HTML, CSS and JavaScript
Want to reach out to me, please send an email and I would get back to you ASAP
Send Me an Email


General information includes records of a non-personal nature that could be released, in whole or in part, to anyone. For example: briefing notes prepared for a minister, contracts for goods or services, or agreements.
Personal information means recorded information about an identifiable individual other than business contact information. For example: health care information, correctional records, or employment history.


I have read about optimising the performance of for loops in JavaScript a number of times but for the first time today I actually remembered to write one in the correct way.
To compound this learning I thought that I would write this blog post and also hopefully get others to remember this optimisation too.
Take this for loop as an example:
1 2 3 4 5 6 |
|
All looks straight forward enough and probably what we have written many times. The problem is that the array.length will be evaluated on every itteration of the loop. This would be compounded if we had a function there that was doing some other intensive process.
There are a number of ways to rectify this but they generally resort to the same principle, create a variable.
Create one inline:
1 2 3 |
|
Or outside the for loop:
1 2 3 4 |
|
They both result in the same one but you may find one more readable than the other.
There are plenty of other ways to get even more performance from loops in JavaScript. Just take a read of this article.
Update
I really should have provided benchmarks to prove the difference. Well - I have done now: jsFiddle sample
In Chrome on OS X with an array with a size of 9999999 took 16 millisecond the slow way and 13 millisecond the fast way. In FireFox it took 60 millisecond the slow way and 21 millisecond the fast way.
As you can see it’s not going to make a huge difference to the JavaScript you write. Basically - these metrics aren’t worth much in the real world as it matters most what you are doing in the upper limit computation.
They do however prove that the fast way example actually is faster ;)


Hello, my name is Saysa Carolina Santos and I would be thrilled to help you with to fulfill your real estate needs in South Florida. Wether you are looking for a place for living or investing. Rest assured that I’m an expert on the local market, basically because I live here in a Condo at Brickell Avenue. Most of my friends live around Brickell, Key Biscayne, SoBe, and Coral Gables. I’ve studied at UM, I go around living my life in this great city. And most importantly: I do know what it means to come and get settled down here, the pros and cons, through my personal experience. You can find in me a good advisor that will make sure that you rent or purchase what you really need in this key decision.
I'm also specialized in helping international students to find housing. Feel free to contact me any time!


Recipe 18.11. Formatting Integers as Binary StringsCredit: Antti Kaihola, Scott David Daniels, W.J. van der Laan ProblemYou need to display non-negative integers in binary formthat is, you need to turn them into strings made up of the characters '0' and '1'. SolutionThe best approach, assuming you must perform this task on several numbers in the course of one run of your application, is to first prepare an auxiliary table, for example, with an auxiliary function: def _bytes_to_bits( ): # prepare and return a list of the first 256 int as binary strings # start with table of the right length, filled with place-holders the_table = 256*[None] # we'll repeatedly need to loop on [7, 6, ..., 1, 0], make it once bits_per_byte = range(7, -1, -1) for n in xrange(256): # prepare the nth string: start with a list of 8 place-holders bits = 8*[None] for i in bits_per_byte: # get the i-th bit as a string, shift n right for next bit bits[i] = '01'[n&1] n >>= 1 # join up the 8-character string of 0's and 1's into the table the_table[n] = ''.join(bits) return the_table # rebind function's name to the table, function not needed any more _bytes_to_bits = _bytes_to_bits( ) and then use the auxiliary table to make a fast conversion function that works 8 bits at a time: def binary(n): # check precondition: only non-negative numbers supported assert n>=0 # prepare the list of substrings 8 bits at a time bits = [ ] while n: bits.append(_bytes_to_bit[n&255]) n >>= 8 # we need it left-to-right, thus the reverse bits.reverse( ) # strip leading '0's, but ensure at least one is left! return ''.join(bits).lstrip('0') or '0' If you need to perform this task only a very small number of times in the course of one run of your application, you might instead choose to perform the conversion directly, bit by bitit's easy, although somewhat slow. Just use the same approach as binary, but 1 bit at a time instead of 8 bits at a time: def binary_slow(n): assert n>=0 bits = [ ] while n: bits.append('01'[n&1]) n >>= 1 bits.reverse( ) return ''.join(bits) or '0' DiscussionIf you also need to display negative numbers, you can take two different roads. Either do as the built-in functions hex and oct and prepend a minus sign to negative numbers: def bin_with_sign(n): if n<0: return '-'+binary(-n) else: return binary(n) or use two's complement notation, but in that case you need to know how many bits fit in a "word", because that's how two's complement is definedin terms of fixed-length words: def bin_twos_complement(n, bits_per_word=16): if n<0: n = (2<<bits_per_word) + n return binary(n) Function binary produces just as many binary digits as each argument needs, avoiding leading '0's (except the single zero digit needed to avoid displaying an empty string when n is 0). If instead you need to produce a fixed number of binary digits, you could ensure that at string level, which is particularly easy with Python 2.4: def bin_fixed(n, bits_per_word=16): return bin_twos_complement(n, bits_per_word).rjust(bits_per_word, '0') but is also quite feasible with Python 2.3 as well: def bin_fixed_23(n, bits_per_word=16): result = bin_twos_complement(n, bits_per_word) return (('0'*bits_per_word)+result)[-bits_per_word:] Alternatively, you could generalize some version of the auxiliary _bytes_to_bits function used in the "Solution", which is indeed oriented to producing fixed-length results. However, using the variable-length version, and a little string manipulation on top of it for the occasional need for fixed-length results, should be enough. See AlsoLibrary Reference and Python in a Nutshell docs for built-ins oct and hex; Recipe 18.12 for displaying integers in an arbitrary base. |


Youtube series teaching web development in Arabic
Excellent beginner courses in many different web development languages
Online lessons from simple web development to more complex computer science topics
Learn the basics of code in many languages including Arabic


While we are loading your rich experience, here are a few useful (hopefully) bits about us
We are Creative Ad Agency with offices located in London and Buckinghamshire, specilising in Premium advertising solutions. We specialise in emotion and data-driven creative ad executions. Utilising partner's platform such as DoubleClick, Celtra and Oath, we are able to design, build and deliver IAB compliant formats across Display, Mobile (web and in-app MRAID), Native and Video (web + vpaid). Our talented team of specialists is at your disposal, get in touch today.


Toggle navigation
Report » Impact
Attraction
Impact
Retention
Rank
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Notes about this chart
Built with ♥ by
Keen IO


Map of Svalbard (inset) and the study area. Crosses show the locations of weather stations, coloured polygons delineate the monitored reindeer populations (see also Figure 2) and black dots show the position of the Ny‐Ålesund (Brøggerhalvøya) and Svalbard Airport (Adventdalen) weather stations


{% if emptyRecommendations == true %}
Hi. You don’t have any personal recommendations yet since you just met Rover. Customize options using the Filters button at the top of this page. Or just start exploring. After you complete an activity from the list below, let Rover know. The more feedback you give the better you train Rover to retrieve recommendations for other activities.


levels acute bronchiolitis urinary serum severity protein cell {border-style px;} #ffffff;} cases respiratory wheezing Clermont‐Ferrand correlated recurrent analysis bronchiolitis, clinical infants P = .). Wainwright [.‐.] club controls correlation virus (%) CCu Clara asthma epithelial r = .; severe CCs Department University age assay increased px; test year {font-family Bernard Figure P = .), according biomarker font-size hospital pulmonary study urine μg/L P < .). Serum [], data double; duration history hospitalized level lung observed (.‐.) Acute CHU France Hospital Pediatr P = .; RSV Respir aged airway border-color border-width compared continuous factors hospitalization immediate mainly morbidity pediatric renal results samples score showed solid; time tubular use used using {font-style {font-weight %CI (CC) (median (or CC, Children Clin Clinical Club Infants Pediatric P = .) Research Urinary birth bold bronchiolitis. cells chronic courier; damage difference disease em; function. group health higher http://orcid.org/--- impact infants. inflammation inhaled marker moderate pt;} received r = −.; score, score. sex, statistically support taken viral young µg/L