There’s always large attention drawn to national elections, mostly because they only happen every four years, and there’s so much campaigning and advertising leading up to election day. With local elections, many people run unopposed for their smaller positions, and those who are not heavily involved in their local government might not even know the candidates or the important issues at-hand.
It took some research for me to understand the voting process and local government before I voted for the first time. Now, here are all the important logistics of this upcoming election you should know before heading to the polls:
One problem that goes unnoticed is that students don’t think they can vote in the county or state that they’re not originally from. Ohio University students, even those originally from out of state, can register to vote in Athens County. So long as students are 18 years old by election day and they’ve been an Ohio resident for at least 30 days, they can vote in Athens County. After filling out a registration update form online, you are set to fill out a ballot.
The largest position up for grabs this election is the representative of Ohio’s 15th Congressional District, with Republican candidate Mike Carey and Democratic candidate Allison Russo both vying for the spot. While Carey vouches for issues such as cracking down on illegal immigration and second amendment rights, Russo focuses on issues like college affordability and increasing the federal minimum wage.
All of the positions on the ballot are important, but this one will be affected by the most people, as Ohio 15th District covers surrounding counties as well as Athens. The representative will also be fighting for more national issues like health care and immigration, rather than more localized ones.
In the city of Athens, there are five candidates competing for three seats for members of council at-large: Democratic candidates Sarah H. Grace, Ben Ziff and Micah McCarey, and Independent candidates Damon Krane and Iris Virjee. The sought-out position became extremely interesting after an audio of Athens Mayor Patterson leaked claiming he wanted to keep “Democratic Socialist/Communist Candidates off of city council,” referring to both Krane and Virjee.
Krane’s campaign focuses on topics like affordable and quality housing in Athens and racial justice. Candidate Virjee highlights issues such as parking enforcement and source of income discrimination.
What makes this particular election unusual is the fact that three current at-large Council members are fighting for their positions, unlike President of Council Christine Knisely or any ward council member, who are each running unopposed. Also, if elected, Krane and Virjee would be Independent Council members on a completely Democratic council. Many of the candidates’ ideals match up with current at-large members, but it would be fascinating to see why Patterson was adamant about keeping Krane and Virjee off of Council.
Other positions with candidates running unopposed are Judge of Athens County Municipal Court, Athens Township trustees and Board of Education members. Although the election may seem unimportant because there is no competition for these positions, it’s still just as important to educate yourself on who the candidates are and the policies they hope to put in place.
The last item on the Athens ballot are three potential renewals of tax levies. The first proposed levy is for the purpose of providing emergency medical services. The second levy is for providing support for senior citizen services and facilities. The third is for supplementing the general fund for operation, maintenance and more necessary work of mental health and recovery services and facilities. While they might not be directly impacted by these levies, students are tax paying citizens of Athens county and should know where their money is going.
The upcoming election may not be a presidential one, but it is still essential in everyday life. Every policy that each candidate represents will dramatically impact Athens’ way of life, especially heavy topics such as affordable housing and parking enforcement. Local government also impacts what issues are eventually brought to state and federal governments.
Voting can be a scary process, but it’s not so bad once you educate yourself on important issues and what candidates are running. It is essential to vote this election day, especially to students. Remember that it’s not just Ohio University that is your home. Athens is your home too.
Hannah Campbell is a sophomore studying journalism at Ohio University. Please note that the views and opinions of the columnist do not reflect those of The Post. Do you agree? Tell Hannah by tweeting her at @hannahcmpbell.
© Copyright 2020, The Post, Athens, OH


--- categories: [] date: 2013-12-30T10:55:36Z status: publish tags: [] title: Arduino blinking light layout: post url: /2013/12/30/arduino-blinking-light/ ---
My first arduino project.
Basically, when you turn the potentiometer one way, the led blinks slower, and when you turn it the other way, it blinks faster.
It needs a video to explain.


Puppet Labs Documentation
Welcome to the Puppet Labs documentation site. The documentation posted here is also available as a set of PDFs, which can be found here. You can also download the current version of this entire website as a zipped archive; unzip it and follow the instructions in the README.txt file to view the site offline.
Puppet
Puppet manages your servers: you describe machine configurations in an easy-to-read declarative language, and Puppet will bring your systems into the desired state and keep them there.
See the index for Puppet’s documentation here, or go directly to one of the most popular pages:
- The Learning Puppet series is a guided tutorial for new users, which includes a free VM to run exercises on and experiment with. Go from “What’s that?” to “I can do it” in just a few hours.
- The installation guide can help you install and configure the current open-source Puppet releases.
- The Puppet 3 Reference Manual
- The Puppet 2.7 Reference Manual
- The latest type reference covers all of the built-in resource types and their available attributes. New users should start elsewhere, but experienced users will spend most of their time in this one page.
- The glossary explains the terminology you’ll encounter when reading about Puppet.
Puppet Enterprise
Puppet Enterprise is a complete configuration management platform, with an optimized set of components proven to work well together. It combines Puppet (including a preconfigured production-grade puppet master stack), a web console for analyzing reports and controlling your infrastructure, powerful orchestration features, cloud provisioning tools, and professional support.
Nearly all of the main Puppet and MCollective documentation also applies to Puppet Enterprise. For details about PE’s configuration, see the current Puppet Enterprise user’s guide, or go directly to:
- The system requirements
- The installation instructions or the upgrade instructions
- The quick start guide, which walks through building and managing a small proof-of-concept deployment.
- The deployment guide has a ton of information to help you set up and deploy Puppet Enterprise in accordance with the best practices and methods used by Puppet Labs’ professional services engineers.
- The PE download page
The current version of PE is 3.0. Documentation for previous versions can be found here.
MCollective
MCollective is a powerful orchestration framework. Run actions on thousands of servers simultaneously, using existing plugins or writing your own.
See the MCollective docs index, or go directly to:
- The Vagrant-based demo environment, to try MCollective immediately
- The standard deployment guide, to deploy MCollective into your production environment with the recommended configurations
- The overview of components, to learn about the server, client, and middleware roles
- The guide to writing new agent plugins, to build powerful actions that solve your specific problems
- The release notes
Note: MCollective is included with Puppet Enterprise.
Puppet Dashboard
Puppet Dashboard is an open source web console for Puppet, which can analyze reports, browse inventory data, and assign classes to nodes.
See the Dashboard 1.2 manual, or go directly to:
Note: Puppet Enterprise’s console is based on Puppet Dashboard, and extends it with extra features. PE users should see the PE documentation instead of the Dashboard documentation.
PuppetDB
PuppetDB is the fast, scalable, and reliable data warehouse for Puppet. It caches data generated by Puppet, and gives you advanced features at awesome speed with a powerful API.
See the manual for the latest version of PuppetDB, or go directly to:
Documentation for other versions of PuppetDB can be found here.
Hiera
Hiera is a key/value lookup tool for configuration data, built to make Puppet better and let you set node-specific data without repeating yourself. Hiera support is built into Puppet 3, and is available as an add-on for Puppet 2.7.
See the Hiera 1 manual, or go directly to:
- The installation instructions
- The config file reference
- Info about hierarchies
- How to write data sources
- Using Hiera with Puppet
- Using Hiera from the command line
Facter
Facter is Puppet’s cross-platform system profiling library. It discovers and reports per-node facts, which are available in your Puppet manifests as variables.
- The list of core facts lists and describes every built-in fact that ships with Facter.
- The custom facts guide explains how to write and distribute your own facts.
Community
Puppet has a large community and many resources for users.
- Community Guidelines and Code of Conduct — General info about how to navigate our community and get help.
- Yum and Apt repositories — Easily install Puppet Labs’s software on the most popular Linux distributions.
- The Puppet Forge — A bazaar of community-built Puppet modules, for managing everything from Apt repos to ZFS.
- Redmine Workflow for Puppet Open-Source Projects — Info about how the Puppet projects use their issue tracker, and how you can help.
- Trivial Patch Exemption Policy — Details about which contributions are exempted from our contributor agreement.
Help Improve This Site
These documents belong to the community and are licensed under the Creative Commons. You can help improve them!
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
For suggestions or minor corrections, just email<EMAIL_ADDRESS>To contribute text or make larger-scale suggestions, see the instructions for contributing. If you would like to submit your own content, you can fork the project on github, make changes, and send us a pull request. See the README files in the project for more information about how to generate and view a copy of the website.
Documentation Version
This release of the documentation was generated from revision 44701dd00547fef338779e59fc6055bf035e1453 of the puppet-docs Git repo on August 30, 2013.
Recent commits to the puppet-docs repo:
- Deploy guide: Clarify roles, update language for PE3 all-in-one/one-for-all split
- Deployment guide: Adjust headers, spacing
- PE 3.0 and 2.8: Add note about varying YAML in examples
- PE3: Add add'l upgrade notes about DB dump and mcollective
- PE3: Adjust headers/spacing/format in upgrade page
- Fix non-working links in deployment guide sidebar
- Guts/bundler: Restrict ourselves to ActiveRecord 4.0
- Added dns_alt_names to regenating master cert instructions.
- Hiera: Catch (I think) all remaining unquoted interpolation tokens, and add comment to variables.markdown
- The certdnsnames parameter isn't necessary.


I have bought the home energy bundle kit (433Mhz). Emontx has the CT123 firmware installed. When I monitor the serial out on the board with no CT's connected I get the following:
41 3 33 3293
39 3 32 3293
41 2 26 3293
38 4 32 3293
41 3 32 3293
41 3 31 3293
41 3 32 3293
40 0 32 3293
42 4 32 3293
40 3 33 3293
When I connect the CT to port 1, and compare the output from it compared to a clamp on ammeter I can see 40 from emontx and 18.1 amps on my ammeter. If I turn off the oven, my ammeter shows 4.5amps and the emontx reports 42.
When I connect the CT to port two I shows anywhere between 0 and 6, the ammeter shows 15+amps (with the oven on and washing machine running).
Connected to port 3 output from emontx is 700 with an ammeter reading of 4.5amps and a reading of 725 at 14amps on teh ammeter.
Obviously the outputs from the emotx are not representative of the real world power usage. And have considerable differences when disconnected. I have the ammeter clamped just above the CT clamp on the main tail coming into the consumer unit (with the CT label facing the unit).
Really don't know how to fault find this. Can anyone help?
Thanks,
Martin
Re: EmonTX Non reactive CT measurements
Those numbers are 'presumed power' (i.e. rms current x nominal rms voltage) in watts for the 3 inputs, then the supply voltage to the processor in mV.
40 W is about what we expect from noise and other pick-up, so in effect you're not seeing the current.
1. You have got your c.t. clipped on only one conductor of course - like your clamp ammeter. That's the usual reason people read nothing - they clip onto a 3-conductor extension lead!
2. Have you plugged the c.t. in? Quite often, the socket when new is very stiff and unless the plug has gone all the way in, you get nothing. If you can see any metal of the sleeve, it's not all the way in.
3. Are you able to read mA of a.c. current? If you are, if you put your multimeter on the mA range directly across the c.t. tip & sleeve of the plug, you should read 7.5 mA with 15 A flowing. Connect your meter before you clip the ct onto the tail - take care not to open-circuit the c.t. whilst current is flowing.
4. Is the c.t. good? If you can read about 100 Ω between tip and sleeve, that's OK.
Re: EmonTX Non reactive CT measurements
Robert thanks. Turns out it was Number 2 - I hadn't plugged it in far enough (muppet). Thanks for your help - much appreciated.
Re: EmonTX Non reactive CT measurements
"I hadn't plugged it in far enough" That's where my money was. You're not the first, and quite likely not the last either ;-)
I take it you've got sensible numbers and have adjusted the voltage to suit your local average mains voltage:
(240 V is the nominal UK centre voltage - yours might be higher or lower by a few percent, the limits are 230 V ± 10% confusingly, due to history!)
Re: EmonTX Non reactive CT measurements
Yes I now have sensible numbers. Luckily I do have 240v RMS here because I hadn't spotted that adjustment. Thanks for the heads up.


Your Campaign creation status has been approved
You create a campaign by logging at http://localhost:8000/campaigns/


WITNESS LIST Land & Resource Management Committee April 26, 1999-8:00A HB 1291 For: Martin, Gary (Self) Paniagua, Joe (Forth Worth City Council) On: Jones, Sam (TNRCC) HB 2491 For: Chandler, Roy (Houston Police Department) Ruiz, Robert V. (Self and Houston Police Department) HB 2823 For: Brown, J. Curtiss (Galveston County Commissioners Court and County Judge Jim Yarbrough) HB 3298 For: Zobel, Ray (Self and Cypress Creek United Civic Association) HB 3700 For: Cain, Catherine (Self) Hudson, Karen (Self) Maestas, Sara Ann (Self) Against: Henneberger, John (Self) Mintz, David (Texas Apartment Association) SB 199 On: Craddock, Steve (Texas Department of Mental Health and Mental Retardation) SB 711 For: Riester, Eric (Bexar County) SB 938 For: Higginbotham, T. J. (Self and Hays County Judge Jim Powers and Commissioners Court) Savoy, Phil (Self and Take Back Texas) Against: Murphy, Patrick (City of Austin) On: Hoffman, Margaret (TNRCC)


Agent Creative teamed up with Cosmic as a design partner to create a new logo, content and design experience for the new Bokeh brand.
INVOLVEMENT
- Website Design
- Brand
- Icon Design
- Consulting
Agent Creative teamed up with Cosmic as a design partner to create a new logo, content and design experience for the new Bokeh brand.
INVOLVEMENT


--- date: "2019-08-21T09:20:22+02:00" title: Case study overview weight: 5 ---
These pages will demonstrate use of the Acute Jaundice Syndrome (AJS) outbreak template with data from an outbreak in Am Timan, Chad. This case study uses data that is not standardized with the MSF data dictionary, and so reflects a more challenging use case.
Getting started with the sitrep package and opening the correct template Please review the getting started page for instructions on the following start-up steps:
Access the datasets for this walk-through
Download the Am Timan linelist (Excel) here
Download the Am Timan population data (Excel) here
Download the Am Timan Quartiers (shapefile) here
Download the Am Timan Blocks (shapefile) here
Access the final version of the RMarkdown script used in this walk-through
Download the final RMarkdown template used in this walk-through, to follow-along step-by-step
RMarkdown resources
Review the R Basics page “Reading a RMarkdown Script”, or reference these resources: Rmarkdown introduction and Rmarkdown authoring basics.
We will be using data and examples from a real outbreak of Hepatitis E virus (HEV) infection which occurred in the Chadian town of Am Timan between October 2016 and April 2017
DISCLAIMER: The real data from the outbreak has been used for the training materials linked to the outbreak templates of the R4epis project. The Chadian Ministry of Health (MoH) has approved the use of this data for training purposes. Please note, that some data has been adapted in order to best achieve training objectives. Also, the GPS coordinates included in the dataset do not correspond to real cases identified during this outbreak. They have been generated exclusively for training purposes.
In early September 2016, a cluster of severely ill pregnant women with jaundice was detected at the Am Timan Hospital in the maternity ward. Following rapid tests conducted in Am Timan and confirmatory testing in the Netherlands, this was confirmed as due to HEV infection. Thus the MoH and MSF outbreak response was activated.
The response consisted of four components:
The outbreak linelist data was combined data from the active CBS data and the clinical data from the hospital. The CBS functioned with community health workers visiting all households in the town every two weeks and actively searching for people with Acute Jaundice Syndrome (AJS). For this group of persons (suspected cases), only those that were visibly ill or that were pregnant were referred to the hospital for clinical assessment and admission if required. Persons that self-reported to the hospital or that arrived after referral would undergo a clinical assessment and a rapid test for HEV for diagnosis. Thus only for people assessed at the hospital were we able to capture a confirmed case status.
For the duration of the outbreak we detected 1193 suspected cases, 100 confirmed cases and discarded 150 cases with AJS who were not positive for HEV infection.


Hello and welcome to my page. If you are interested, feel free to visit my site to learn more about me.
Hi everyone, my name is Sekhar and I am a recent graduate of the .NET Development Bootcamp at Tech Elevator Code School in Cleveland, Ohio. I am a former pharmacist and teacher who chose to change my career to programming.
If you want to find out more about my professional background, click on the link below to view my resume.
Sekhar's ResumeThis is a web application where users can search and view information about mystery books. This was my team's final Capstone project at Tech Elevator Code School. A casual visitor to the site will be able to access the homepage and have the ability to search for books by author, title, character, or setting, view newly added new books and authors. Once their search produces their results, he/she will be able to click on the title to view more detailed information about a book. If they choose to become more than a casual visitor, they can sign up to be a registered member of the site and have access to additional features.
This is a web application that allows a user to enter a variety of information and populates that information into a database. The information that a user can enter includes such things as their names (first, middle, and last), professional title, age, addresses (home, work, other), phone numbers (home, work, mobile), email addresses (personal, work, other), social media accounts (LinkedIn, Twitter, Facebook), and website(s). The only required fields that a user must enter include his/her first and last names, age, home address, and home phone number. Once a user enters his/her information, it will then populate it into a database.
A web application that allows a user to enter a number and then returns the word “Seven”, “Up”, “SevenUp”, or the number itself, based on whether the number is divisible by 7, 12, or both.
A game like rock, paper, and scissors that involves a bowling ball, a steak knife, and a tablecloth.
A game in which a user enters a number, competes against the computer, and a winner or tie is determined based on whether the number is higher, lower, or the same as the computer.
If you would like to see additional projects, please visit my Github page.


Peter A. Jonsson and Johan Nordlander, Positive Supercompilation for a Higher Order Call-By-Value Language. To appear in 36th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL), Savannah, GA, 2009.
Johan Nordlander, Magnus Carlsson, and Andy Gill, Unrestricted Pure Call-By-Value Recursion. In ACM SIGPLAN Workshop on ML, Victoria, BC, 2008.
Martin Kero, Johan Nordlander, and Per Lindgren, A Correct and Useful Incremental Copying Garbage Collector. In IEEE International Symposium on Memory Management (ISMM), Montreal, QB, 2007.
Johan Nordlander, Mark P. Jones, Magnus Carlsson, and Jan Jonsson, Programming with Time-Constrained Reactions. Technical report, Luleå University of Technology, 2005.
Magnus Carlsson, Johan Nordlander, and Dick Kieburtz, The Semantic Layers of Timber. In First Asian Symposium on Programming Languages and Systems (APLAS), Beijing, China, 2003.
Mark P. Jones, Magnus Carlsson, and Johan Nordlander, Composed, and in Control: Programming the Timbere Robot. Technical Report. Department of Computer Science & Engineering, OGI School of Science & Engineering at OHSU, September 2002.
Johan Nordlander, Mark P. Jones, Magnus Carlsson, Dick Kieburtz, and Andrew P. Black, Reactive Objects. In Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2002), Arlington, VA, 2002
Andrew P. Black, Magnus Carlsson, Mark P. Jones, Dick Kieburtz, and Johan Nordlander, Timber: a Programming Language for Real-Time Embedded Systems. Technical report CSE-02-002, Oregon Health & Science University, 2002.
Johan Nordlander, Polymorphic Subtyping in O'Haskell. In Science of Computer Programming, 43(2-3), 2002.
Johan Nordlander, Reactive Objects and Functional Programming. Doctoral thesis, Chalmers University of Technology, 1999.


Companies:
Portfolio Perfomance
Special title treatment
With supporting text below as a natural lead-in to additional content.
Go somewhere
News
With supporting text below as a natural lead-in to additional content.
Go somewhere


Explicit manual boxing is unnecessary as of Java 5 and later, and can safely be removed.
Examples:
Integer i = new Integer(1);
→ Integer i = Integer.valueOf(1);
int i = Integer.valueOf(1);
→ int i = 1;
Use the Only report truly superfluously boxed expressions option to report only truly superfluous boxing, where a boxed value is immediately unboxed either implicitly or explicitly. In this case, the entire boxing-unboxing step can be removed. The inspection doesn't report simple explicit boxing.
This inspection only reports if the language level of the project or module is 5 or higher.


--- layout: post authors: ["Greg Wilson"] title: "Projects, Projects, Projects" date: 2014-12-28 time: "16:00:00" tags: ["Community"] ---
We have updated our projects page with links to:
The first list includes the templates for lessons and workshop websites, a a tool for managing workshops (for which we're using Django), the latest version of Browsercast, and more. The second list has everything from active papers to utilities for simulating vacuum thermionic energy conversion devices. If you'd like to help with the first, or if you're a member and would like your project listed in the second, please get in touch.
And since this is likely to be my last post of 2014, I'd like to say "thank you" to everyone who helped Software Carpentry get from where it was to where it is. We taught more than 4000 people, and we're on track to reach even more in 2015. It's been a privilege to work with so many talented, dedicated people—best wishes for the new year.


Tadhg O'Halloran Photography
Home
Projects
Of Itself
For Itself
About
Contact
Welcome to Tadhg O'Halloran Photography
Go ahead, explore my work
Copyright © 2016 Gavin O'Neill


--- layout: newsstory title: ULTRA SOLID match: Yeltz 2 Sutton Coldfield 0 ---
Another day, another victory, another clean sheet and we're still top of the league. Hurrah!
More of the same really. A solid performance at the back, two second half goals from Les (a pen) and Matty Hall and the mighty Yeltz keep rolling along. Solihull lost at home to Evesham who are now our closest rivals .
Saturday brings Canvey Island to town for a mouth watering FA Cup tie. They're probably the highest rated team in the competition at this stage, but with our current form it should be a very good game. Bring 'em on.
Halesowen Town: Clarke; Colwell, Burnham, N. Smith, L. Collins, R. Collins (Skidmore 85), Hall (Spencer 85), A. Jones, Giddings, Taylor, Hines. Sub: Knight
Sutton Coldfield Town: Bray; Moran (Behan 83), Randall (Gardner 70), Manton, Farmer, Whitehouse, K. Jones, Steele, Mitchell, Bellingham, Reece. Sub: Ling
Referee: R. Green (Berkley, Glos.) Attendance: 432 Booked: Mitchell (25)
Halesowen continue to go from strength to strength with another solid win to consolidate their position at the top of table.
A tricky run from Les Hines was blocked in the 13th minute and an Andy Jones volley from the rebound was saved well by Sutton goalkeeper Justin Bray. Five minutes later Lee Collins sent a long ball forward to his brother Ross, but Bray dived bravely at his feet to snatch the ball.
Sutton worked hard but rarely threatened in front of goal although Mark Bellingham shot wide in the 35th minute after Matty Hall was dispossessed in midfield. Halesowen goalkeeper Tim Clarke then spilt a deep 40th minute cross from Tim Steele but his defence escaped.
Halesowen turned up the heat in the second period with Bray collecting a dangerous low cross from Hall in the 46th minute and Ross Collins saw a header fly just over the bar a minute later.
The Yeltz went ahead from the penalty spot in the 52nd minute when Kerry Giddings surged into the penalty area and was blatantly up-ended by Stuart Randall with spot-kick expert Hines easily converting the resulting penalty into the bottom corner of the net.
Hall put Halesowen two goals to the good in the 61st minute when he hit Jason Burnham's swinging free-kick home from a tight angle with the Sutton defence static, expecting the ball to go out of play.
Halesowen confidently played out the rest of the game with man-of-the-match Neil Smith helping to maintain their ninth successive clean sheet.


The goal of any secure hashing algorithm, is to reduce an arbitrarily sized input into an n-bit hash. 笔记：我觉得，这句话就说到了所有Hash算法的本质。
| Hash | Input Size | Input Block Size | Output Size | Rounds |
|---|---|---|---|---|
| MD5 | arbitrary | 512-bit (64-byte) | 128-bit (16-byte) | 64 |
| SHA1 | arbitrary | 512-bit (64-byte) | 160-bit (20-byte) | 80 |
| SHA256 | arbitrary | 512-bit (64-byte) | 256-bit (32-byte) | 64 |
举例一：假如输入的总数据量（Input Size）是800-bit(100-byte)，使MD5算法，每一次处理的数据量（Input Block Size）是512-bit (64-byte)，则需要处理两次，第一次处理输入数据的前512-bit (64-byte)，第二次处理输入数据的剩余288-bit(36-byte)。
举例二：假如输入的总数据量（Input Size）是256-bit(32-byte)，使MD5算法，每一次处理的数据量（Input Block Size）是512-bit (64-byte)，则需要处理一次，这一次就能处理全部的256-bit(32-byte)输入数据。
In cryptography, an HMAC (known as keyed-hash message authentication code) is a specific type of Message Authentication Code (MAC) involving a cryptographic hash function and a secret cryptographic key. We can have HMAC-MD5 or HMAC-SHA1; the HMAC provides both data integrity and data authentication.
A message may be accompanied with a digital signature, a MAC or a message hash, as a proof of some kind. Which assurances does each primitive provide to the recipient? What kind of keys are needed?
These types of cryptographic primitive can be distinguished by the security goals they fulfill:
| Algorithm | Integrity | Authentication | Non-repudiation |
|---|---|---|---|
| Hash | Yes(?) | No | No |
| MAC | Yes | Yes | No |
| Digital Signature | Yes | Yes | Yes |
A (unkeyed) hash of the message, if appended to the message itself, only protects against accidental changes to the message (or the hash itself), as an attacker who modifies the message can simply calculate a new hash and use it instead of the original one. So this only gives integrity. 笔记：hash只能保证message的integrity。如果attacker能够同时修改message和hash，这样的话就检测不出message被修改过。
If the hash is transmitted over a different, protected channel, it can also protect the message against modifications. This is sometimes be used with hashes of very big files (like ISO-images), where the hash itself is delivered over HTTPS, while the big file can be transmitted over an insecure channel. 笔记：这里讲了一种使用场景，message在insecure channel上传输，而hash在protected channel上传输，这样就得到一个安全可靠的hash值，再由这个安全的hash来验证message是否被修改。
A message authentication code (MAC) (sometimes also known as keyed hash) protects against message forgery by anyone who doesn't know the secret key (shared by sender and receiver).
This means that the receiver can forge any message – thus we have both integrity and authentication (as long as the receiver doesn't have a split personality), but not non-repudiation.
Also an attacker could replay earlier messages authenticated with the same key, so a protocol should take measures against this (e.g. by including message numbers or timestamps). (Also, in case of a two-sided conversation, make sure that either both sides have different keys, or by another way make sure that messages from one side can't sent back by an attacker to this side.) 笔记：这里讲replay attack如何应对
MACs can be created from unkeyed hashes (e.g. with the HMAC construction), or created directly as MAC algorithms.
A digital signature is created with a private key, and verified with the corresponding public key of an asymmetric key-pair. Only the holder of the private key can create this signature, and normally anyone knowing the public key can verify it. Digital signatures don't prevent the replay attack mentioned previously.
So this provides all of integrity, authentication, and non-repudiation.
Most signature schemes actually are implemented with the help of a hash function. Also, they are usually slower than MACs, and as such used normally only when there is not yet a shared secret, or the non-repudiation property is important. 笔记：MAC比Digital Signature计算起来要快；而Digital Signature在安全性方面提供了non-repudiation，而MAC却不能提供non-repudiation。
| Algorithm | Kind of keys |
|---|---|
| Hash | None |
| MAC | Symmetric key |
| Digital Signature | Asymmetric Key |


nugridpy.mesa¶
MESA output data loading and plotting
v0.2, 15OCT2012: NuGrid collaboration (Sam Jones, Michael Bennett, Daniel Conti, William Hillary, Falk Herwig, Christian Ritter)
v0.1, 23JUN2010: Falk Herwig
mesa.py provides tools to get MESA stellar evolution data output into your favourite python session. In the LOGS directory MESA outputs two types of files: history.data or star.log is a time evolution output, printing one line per so many cycles (e.g. each cycle) of all sorts of things. profilennn.data or lognnn.data files are profile data files. nnn is the number of profile.data or log.data files that is translated into model cycles in the profiles.index file.
MESA allows users to freely define what should go into these two types of outputs, which means that column numbers can and do change. mesa.py reads in both types of files and present them (as well as any header attributes) as arrays that can be referenced by the actual column name as defined in the header section of the files. mesa.py then defines a (hopefully growing) set of standard plots that make use of the data just obtained.
mesa.py is organised as a module that can be imported into any python or ipython session. It is related to nugridse.py which is a similar module to deal with ‘se’ output, used by the NuGrid collaboration. mesa.py does not need se libraries. The ‘se’ output files that can be written with MESA can be read and processed with the nugridse.py tool.
mesa.py is providing two class objects, mesa_profile and history_data. The first makes profile data available, the second reads and plots the history.data or star.log file. Note that several instances of these can be initiated within one session and data from different instances (i.e. models, tracks etc) can be overplotted.
Here is how a simple session could look like that is plotting an HRD (We prefer to load ipython with matplotlib and numpy support via the alias:
alias mpython=’ipython –pylab’)
>>> import mesa as ms >>> help ms ------> help(ms)>>> s=ms.history_data('.') >>> s.hrd()In order to find out what header attributes and columns are available in history.data or star.log use:
>>> s.header_attr {'burn_min1': 50.0, 'burn_min2': 1000.0, 'c12_boundary_limit': 0.0001, 'h1_boundary_limit': 0.0001, 'he4_boundary_limit': 0.0001, 'initial_mass': 2.0, 'initial_z': 0.01}>>> s.cols {'center_c12': 38, 'center_h1': 36, 'center_he4': 37, ...In order to read the profile data from the first profile.data file in profiles.index, and then get the mass and temperature out and finally plot them try. Typically you will have already a Kippenhahn diagram as a function of model number in front of you, and you want to access profile information for a given cycle number. Typically you do not have profiles for all cycle numbers. The best way to start a profile instance is with num_type=’nearest_model’ (check the docstring for other ways to select profiles for a profile instance):
>>> a1=ms.mesa_profile('LOGS',59070) 2001 in profiles.index file ... Found and load nearest profile for cycle 59000 reading LOGS/profile1801.data ... Closing profile tool ...>>> T=a1.get('temperature') >>> mass=a1.get('mmid') >>> plot(mass,T) [<matplotlib.lines.Line2D object at 0x8456ed0>]Or, you could have had it easier in the following way:
>>> a1.plot('mass','c12',logy=True,shape='-',legend='$^{12}\mathrm{C}$')where the superclass plot method interprets data column headers correctly and does all the work for you.
Of course, a1.cols etc are available here as well and many other things. E.g. a.model contains an array with all the models for which profile.data or log.data are available. You may initiate a profile object with a model number:
>>> a2=ms.mesa_profile('.',55000,num_type='model') 100 in profiles.index file ... reading ./profile87.data ...a1.log_ind (for any profile instance) provides a map of model number to profile file number. a1.cols and a1.header_attr gives the column names and header attributes.
Functions
set_nice_params () |
|
set_nugrid_path (path) |
This function sets the path to the NuGrid VOSpace directory as a global variable, so that it need only be set once during an inter- active session. |
Classes
history_data ([sldir, slname, clean_starlog, …]) |
read history.data or star.log MESA output and plot various things, |
mesa_profile ([sldir, num, num_type, …]) |
read profiles.index and prepare reading MESA profile files |
star_log ([sldir, slname, clean_starlog, …]) |
Class derived from history_data class (copy). |
-
class
nugridpy.mesa.
history_data
(sldir='./LOGS', slname='history.data', clean_starlog=False, mass=None, Z=None, data_set='set1ext')¶ read history.data or star.log MESA output and plot various things, including HRD, Kippenhahn etc
Parameters: - sldir (string) – which LOGS directory.
- slname (string, optional) – If star.log is available instead, star.log file is read, this is an optional argument if history.data or star.log file has an alternative name. The default is “history.data”.
- clean_starlog (boolean, optional) – Request new cleaning of history.data or star.log, makes history.datasa or star.logsa which is the file that is actually read and plotted. The default is False.
- mass (integer or float, optional) – The user may select a mass and metallicity instead of providing the sldir explicitly, if they are using the VOSpace data. If mass is provided then Z should also be provided. The default is None (i.e. user gives sldir explicitly)
- Z (float, optional) – See ‘mass’ above. The default is None (i.e. user gives sldir explicitly)
- data_set (string, optional) – Coose your data of ‘set1’ or ‘set1ext’. The default is ‘set1ext’.
Examples
use like this:
>>> another=ms.history_data('LOGS',slname='anothername')
or this:
>>> ms.set_nugrid_path('/tmp/NuGrid') >>> anotherone=ms.history_data(mass=2,Z=0.01)
-
CO_ratio
(ifig, ixaxis)¶ plot surface C/O ratio in Figure ifig with x-axis quantity ixaxis
Parameters: - ifig (integer) – Figure number in which to plot
- ixaxis (string) – what quantity is to be on the x-axis, either ‘time’ or ‘model’ The default is ‘model’
-
TPAGB_properties
()¶ Temporary, use for now same function in nugrid_set.py! Returns many TPAGB parameters which are TPstart,TPmods,TP_max_env,TPend,min_m_TP,max_m_TP,DUPmods,DUPm_min_h Same function in nugrid_set.py.
-
calc_DUP_parameter
(modeln, label, fig=10, color='r', marker_type='*', h_core_mass=False)¶ Method to calculate the DUP parameter evolution for different TPs specified specified by their model number.
Parameters: - fig (integer) – Figure number to plot.
- modeln (list) – Array containing pairs of models each corresponding to a TP. First model where h boundary mass will be taken before DUP, second model where DUP reaches lowest mass.
- leg (string) – Plot label.
- color (string) – Color of the plot.
- marker_type (string) – marker type.
- h_core_mass (boolean, optional) – If True: plot dependence from h free core , else star mass. The default is False.
-
find_TP_attributes
(t0_model=0, fig=10, color='k', marker_type='*', h_core_mass=False, no_fig=False)¶ Function which finds TPs and uses the calc_DUP_parameter function. To calculate DUP parameter evolution dependent of the star or core mass.
Parameters: - fig (integer) –
- number to plot. (Figure) –
- t0_model (integer) –
- he-shell lum peak (First) –
- color (string) –
- of the plot. (Color) –
- marker_type (string) –
- type. (marker) –
- h_core_mass (boolean, optional) –
- True (If) –
- default is False. (The) –
- no_fig (boolean, optional) –
- default is False. –
-
find_TPs_and_DUPs
(percent=5.0, makefig=False)¶ Function which finds TPs and uses the calc_DUP_parameter function. To calculate DUP parameter evolution dependent of the star or core mass.
Parameters: - fig (integer) – Figure number to plot.
- t0_model (integer) – First he-shell lum peak.
- percent (float) – dredge-up is defined as when the mass dredged up is a certain percent of the total mass dredged up during that event, which is set by the user in this variable. The default is 5.
- makefig – do you want a figure to be made?
Returns: - TPmods (array) – model numbers at the peak of each thermal pulse
- DUPmods (array) – model numbers at the dredge-up, where dredge-up is defined as when the mass dredged up is a certain percent of the total mass dredged up during that event, which is set by the user
- TPend (array) – model numbers at the end of the PDCZ for each TP
- lambda (array) – DUP efficiency for each pulse
-
find_first_TP
()¶ Find first TP of the TPAGB phase and returns the model number at its LHe maximum.
-
get
(str_name)¶ return a column of data with the name str_name.
Parameters: str_name (string) – The name of the column as printed in history.data or star.log get the available columns from self.cols (where you replace self with the name of your instance
-
hrd
(ifig=None, label=None, colour=None, s2ms=False, dashes=None, **kwargs)¶ Plot an HR diagram
Parameters: - ifig (integer or string) – Figure label, if None the current figure is used The default value is None.
- lims (list [x_lower, x_upper, y_lower, y_upper]) –
- label (string) – Label for the model The default value is None
- colour (string) – The colour of the line The default value is None
- s2ms (boolean, optional) – “Skip to Main Sequence”? The default is False.
- dashes (list, optional) – Custom dashing style. If None, ignore. The default is None.
-
hrd_key
(key_str)¶ plot an HR diagram
Parameters: key_str (string) – A label string
-
hrd_new
(input_label='', skip=0)¶ plot an HR diagram with options to skip the first N lines and add a label string
Parameters: - input_label (string, optional) – Diagram label. The default is “”.
- skip (integer, optional) – Skip the first n lines. The default is 0.
-
kip_cont
(ifig=110, modstart=0, modstop=-1, t0_model=0, outfile='out.png', xlims=[0.0, 0.0], ylims=[0.0, 0.0], xres=1000, yres=1000, ixaxis='model_number', mix_zones=20, burn_zones=20, plot_radius=False, engenPlus=True, engenMinus=False, landscape_plot=False, rad_lines=False, profiles=[], showfig=True, outlines=True, boundaries=True, c12_boundary=False, rasterise=False, yscale='1.', engenlevels=None, CBM=False)¶ This function creates a Kippenhahn plot with energy flux using contours.
This plot uses mixing_regions and burning_regions written to your history.data or star.log. Set both variables in the log_columns.list file to 20 as a start.
The output log file should then contain columns called “mix_type_n”, “mix_qtop_n”, “burn_type_n” and “burn_qtop_n”. The number of columns (i.e. the biggest value of n) is what goes in the arguments as mix_zones and burn_zones. DO NOT WORRY! if you do not have these columns, just leave the default values alone and the script should recognise that you do not have these columns and make the most detailed plot that is available to you.
Defaults are set to get some plot, that may not look great if you zoom in interactively. Play with xres and yres as well as setting the xlims to ylims to the region you are interested in.
Parameters: - ifig (integer, optional) – Figure frame number. The default is 110.
- modstart (integer, optional) – Model from which you want to plot (be careful if your history.data or star.log output is sparse…). If it is 0 then it starts from the beginning, works even if log_cnt > 1. The default is 0.
- modstop (integer, optional) – Model to which you wish to plot, -1 corresponds to end [if log_cnt>1, devide modstart and modstop by log_cnt, this needs to be improved! SJ: this should be ficed now]. The defalut is -1.
- t0_model (integer, optional) – Model number from which to reset the time to 0. Typically, if modstart!=0, t0_model=modstart is a good choice, but we leave the choice to the user in case the time is wished to start from 0 at a different key point of the evolution. The default value is 0.
- outfile (sting, optional) – ‘filename + extension’ where you want to save the figure. The defalut is “out.png”.
- ylims (xlims,) – Plot limits, however these are somewhat obsolete now that we have modstart and modstop. Leaving them as 0. is probably no slower, and you can always zoom in afterwards in mpl. ylims is important for well resolved thermal pulse etc plots; it’s best to get the upper and lower limits of he-intershell using s.kippenhahn_CO(1,’model’) first. The default is [0., 0.].
- yres (xres,) – plot resolution. Needless to say that increasing these values will yield a nicer plot with some slow-down in plotting time. You will most commonly change xres. For a prelim plot, try xres~200, then bump it up to anywhere from 1000-10000 for real nicely resolved, publication quality plots. The default is 1000.
- ixaxis (string, optional) – Either ‘log_time_left’, ‘age’, or ‘model_number’. The default is “model_number”.
- burn_zones (mix_zones,) – As described above, if you have more detailed output about your convection and energy generation boundaries in columns mix_type_n, mix_qtop_n, burn_type_n and burn_qtop_n, you need to specify the total number of columns for mixing zones and burning zones that you have. Can’t work this out from your history.data or star.log file? Check the history_columns.list that you used, it’ll be the number after “mixing regions” and “burning regions”. Can’t see these columns? leave it and 2 conv zones and 2 burn zones will be drawn using other data that you certainly should have in your history.data or star.log file. The defalut for both is 20.
- plot_radius (boolean, optional) – Whether on a second y-axis you want to plot the radius of the surface and the he-free core. The default is False.
- engenPlus (boolean) – Plot energy generation contours for eps_nuc>0. The default is True.
- endgenMinus (boolean, optional) – Plot energy generation contours for eos_nuc<0. The default is True.
- landscape_plot (boolean, optionla) – The default is False.
- rad_lines (boolean, optional) – The deafault is False.
- profiles (list, optional) – The default is [].
- showfig (boolean, optional) – The default is True.
- outlines (boolean, optional) – Whether or not to plot outlines of conv zones in darker colour.
- boundaries (boolean, optional) – Whether or not to plot H-, He- and C-free boundaries.
- c12_boundary (boolean, optional) – The default is False.
- rasterise (boolean, optional) – Whether or not to rasterise the contour regions to make smaller vector graphics figures. The default is False.
- yscale (string, optional) – Re-scale the y-axis by this amount
- engenlevels (list) – Give cusstom levels to the engenPlus contour. If None, the levels are chosen automatically. The default is None.
- CBM (boolean, optional) – plot contours for where CBM is active?
Notes
The parameter xlims is depricated.
-
kip_cont_COmdot
(ifig=110, modstart=0, modstop=-1, t0_model=0, outfile='out.png', xlims=[0.0, 0.0], ylims=[0.0, 0.0], xres=1000, yres=1000, ixaxis='model_number', mix_zones=20, burn_zones=20, plot_radius=False, engenPlus=True, engenMinus=False, landscape_plot=False, rad_lines=False, profiles=[], showfig=True, outlines=True, boundaries=True, c12_boundary=False, rasterise=False, yscale='1.', engenlevels=None, CO_ratio=True)¶ This function creates a Kippenhahn plot with energy flux using contours.
This plot uses mixing_regions and burning_regions written to your history.data or star.log. Set both variables in the log_columns.list file to 20 as a start.
The output log file should then contain columns called “mix_type_n”, “mix_qtop_n”, “burn_type_n” and “burn_qtop_n”. The number of columns (i.e. the biggest value of n) is what goes in the arguments as mix_zones and burn_zones. DO NOT WORRY! if you do not have these columns, just leave the default values alone and the script should recognise that you do not have these columns and make the most detailed plot that is available to you.
Defaults are set to get some plot, that may not look great if you zoom in interactively. Play with xres and yres as well as setting the xlims to ylims to the region you are interested in.
Parameters: - ifig (integer, optional) – Figure frame number. The default is 110.
- modstart (integer, optional) – Model from which you want to plot (be careful if your history.data or star.log output is sparse…). If it is 0 then it starts from the beginning, works even if log_cnt > 1. The default is 0.
- modstop (integer, optional) – Model to which you wish to plot, -1 corresponds to end [if log_cnt>1, devide modstart and modstop by log_cnt, this needs to be improved! SJ: this should be ficed now]. The defalut is -1.
- t0_model (integer, optional) – Model number from which to reset the time to 0. Typically, if modstart!=0, t0_model=modstart is a good choice, but we leave the choice to the user in case the time is wished to start from 0 at a different key point of the evolution. The default value is 0.
- outfile (sting, optional) – ‘filename + extension’ where you want to save the figure. The defalut is “out.png”.
- ylims (xlims,) – Plot limits, however these are somewhat obsolete now that we have modstart and modstop. Leaving them as 0. is probably no slower, and you can always zoom in afterwards in mpl. ylims is important for well resolved thermal pulse etc plots; it’s best to get the upper and lower limits of he-intershell using s.kippenhahn_CO(1,’model’) first. The default is [0., 0.].
- yres (xres,) – plot resolution. Needless to say that increasing these values will yield a nicer plot with some slow-down in plotting time. You will most commonly change xres. For a prelim plot, try xres~200, then bump it up to anywhere from 1000-10000 for real nicely resolved, publication quality plots. The default is 1000.
- ixaxis (string, optional) – Either ‘log_time_left’, ‘age’, or ‘model_number’. The default is “model_number”.
- burn_zones (mix_zones,) – As described above, if you have more detailed output about your convection and energy generation boundaries in columns mix_type_n, mix_qtop_n, burn_type_n and burn_qtop_n, you need to specify the total number of columns for mixing zones and burning zones that you have. Can’t work this out from your history.data or star.log file? Check the history_columns.list that you used, it’ll be the number after “mixing regions” and “burning regions”. Can’t see these columns? leave it and 2 conv zones and 2 burn zones will be drawn using other data that you certainly should have in your history.data or star.log file. The defalut for both is 20.
- plot_radius (boolean, optional) – Whether on a second y-axis you want to plot the radius of the surface and the he-free core. The default is False.
- engenPlus (boolean) – Plot energy generation contours for eps_nuc>0. The default is True.
- endgenMinus (boolean, optional) – Plot energy generation contours for eos_nuc<0. The default is True.
- landscape_plot (boolean, optionla) – The default is False.
- rad_lines (boolean, optional) – The deafault is False.
- profiles (list, optional) – The default is [].
- showfig (boolean, optional) – The default is True.
- outlines (boolean, optional) – Whether or not to plot outlines of conv zones in darker colour.
- boundaries (boolean, optional) – Whether or not to plot H-, He- and C-free boundaries.
- c12_boundary (boolean, optional) – The default is False.
- rasterise (boolean, optional) – Whether or not to rasterise the contour regions to make smaller vector graphics figures. The default is False.
- yscale (string, optional) – Re-scale the y-axis by this amount
- engenlevels (list) – Give cusstom levels to the engenPlus contour. If None, the levels are chosen automatically. The default is None.
Notes
The parameter xlims is depricated.
-
kippenhahn
(num_frame, xax, t0_model=0, title='Kippenhahn diagram', tp_agb=0.0, t_eps=500.0, plot_star_mass=True, symbol_size=8, c12_bm=False, print_legend=True)¶ Kippenhahn plot as a function of time or model.
Parameters: - num_frame (integer) – Number of frame to plot this plot into, if <0 open no new figure.
- xax (string) – Either ‘model’, ‘time’ or ‘logtimerev’ to indicate what is to be used on the x-axis.
- t0_model (integer, optional) – If xax = ‘time’ then model for the zero point in time, for AGB plots this would be usually the model of the 1st TP, which can be found with the Kippenhahn plot. The default is 0.
- title (string, optional) – The figure title. The default is “Kippenhahn diagram”.
- tp_agb (float, optional) – If > 0. then, ylim=[h1_min*1.-tp_agb/100 : h1_max*1.+tp_agb/100] with h1_min, h1_max the min and max H-free core mass coordinate. The default is 0. .
- t_eps (float, optional) – Final time for logtimerev. The default is ‘5.e2’.
- plot_star_mass (boolean, optional) – If True, then plot the stellar mass as a line as well. The default is True.
- symbol_size (integer, optional) – Size of convection boundary marker. The default is 8.
- c12_bm (boolean, optional) – If we plot c12_boundary_mass or not. The default is False.
- print_legend (boolean, optionla) – Show or do not show legend. The defalut is True.
-
kippenhahn_CO
(num_frame, xax, t0_model=0, title='Kippenhahn diagram', tp_agb=0.0, ylim_CO=[0, 0])¶ Kippenhahn plot as a function of time or model with CO ratio
Parameters: - num_frame (integer) – Number of frame to plot this plot into.
- xax (string) – Either model or time to indicate what is to be used on the x-axis.
- t0_model (integer, optional) – Model for the zero point in time, for AGB plots this would be usually the model of the 1st TP, which can be found with the Kippenhahn plot. The default is 0.
- title (string, optional) – Figure title. The defalut is “Kippenhahn diagram”.
- tp_agb (float, optional) – If >= 0 then, ylim=[h1_min*1.-tp_agb/100 : h1_max*1.+tp_agb/100] with h1_min, h1_max the min and max H-free core mass coordinate. The defalut is 0.
- ylim_CO (list) – if ylim_CO is [0,0], then it is automaticly set. The default is [0,0].
-
mcc_t
(ifig=None, lims=[0, 15, 0, 25], label=None, colour=None, mask=False, s2ms=False, dashes=None)¶ Plot mass of convective core as a function of time.
Parameters: - ifig (integer or string) – Figure label, if None the current figure is used The default value is None.
- lims (list [x_lower, x_upper, y_lower, y_upper]) –
- label (string) – Label for the model The default value is None
- colour (string) – The colour of the line The default value is None
- mask (boolean, optional) – Do you want to try to hide numerical spikes in the plot? The default is False
- s2ms (boolean, optional) – skip to main squence?
- dashes (list, optional) – Custom dashing style. If None, ignore. The default is None.
-
mdot_t
(ifig=None, lims=[7.4, 2.6, -8.5, -4.5], label=None, colour=None, s2ms=False, dashes=None)¶ Plot mass loss history as a function of log-time-left
Parameters: - ifig (integer or string) – Figure label, if None the current figure is used The default value is None.
- lims (list [x_lower, x_upper, y_lower, y_upper]) –
- label (string) – Label for the model The default value is None
- colour (string) – The colour of the line The default value is None
- s2ms (boolean, optional) – “skip to main sequence”
- dashes (list, optional) – Custom dashing style. If None, ignore. The default is None.
-
t_lumi
(num_frame, xax)¶ Luminosity evolution as a function of time or model.
Parameters: - num_frame (integer) – Number of frame to plot this plot into.
- xax (string) – Either model or time to indicate what is to be used on the x-axis
-
t_surf_parameter
(num_frame, xax)¶ Surface parameter evolution as a function of time or model.
Parameters: - num_frame (integer) – Number of frame to plot this plot into.
- xax (string) – Either model or time to indicate what is to be used on the x-axis
-
t_surfabu
(num_frame, xax, t0_model=0, title='surface abundance', t_eps=0.001, plot_CO_ratio=False)¶ t_surfabu plots surface abundance evolution as a function of time.
Parameters: - num_frame (integer) – Number of frame to plot this plot into, if <0 don’t open figure.
- xax (string) – Either model, time or logrevtime to indicate what is to be used on the x-axis.
- t0_model (integer, optional) – Model for the zero point in time, for AGB plots this would be usually the model of the 1st TP, which can be found with the Kippenhahn plot. The default is 0.
- title (string, optional) – Figure title. The default is “surface abundance”.
- t_eps (float, optional) – Time eps at end for logrevtime. The default is 1.e-3.
- plot_CO_ratio (boolean, optional) – On second axis True/False. The default is False.
-
tcrhoc
(ifig=None, lims=[3.0, 10.0, 8.0, 10.0], label=None, colour=None, dashes=None)¶ Central temperature again central density plot
Parameters: - ifig (integer or string) – Figure label, if None the current figure is used The default value is None.
- lims (list [x_lower, x_upper, y_lower, y_upper]) –
- label (string) – Label for the model The default value is None
- colour (string) – The colour of the line The default value is None
- dashes (list, optional) – Custom dashing style. If None, ignore. The default is None.
-
xche4_teff
(ifig=None, lims=[1.0, 0.0, 3.4, 4.7], label=None, colour=None, s2ms=True, dashes=None)¶ Plot effective temperature against central helium abundance.
Parameters: - ifig (integer or string) – Figure label, if None the current figure is used The default value is None.
- lims (list [x_lower, x_upper, y_lower, y_upper]) –
- label (string) –
- for the model (Label) – The default value is None
- colour (string) – The colour of the line The default value is None
- s2ms (boolean, optional) – “Skip to Main Sequence” The default is True
- dashes (list, optional) – Custom dashing style. If None, ignore. The default is None.
-
class
nugridpy.mesa.
mesa_profile
(sldir='./LOGS', num=1, num_type='nearest_model', prof_ind_name='profiles.index', profile_prefix='profile', data_suffix='.data', mass=None, Z=None, give_filename=None, data_set='set1ext')¶ read profiles.index and prepare reading MESA profile files
starts with reading profiles.index and creates hash array profile.data can then be accessed via prof_plot
Parameters: - sldir (string) – Directory path of LOGS.
- num (integer) – by default this is the i. profile file (profile.data or log.data) available (e.g. num=1 is the 1. available profile file), however if you give
- num_type (string, optional) –
If ‘model’ (exact) or ‘nearest_model’: get the profile profile.data file for model (or cycle number) used by the stellar evolution code
If ‘profile_num’: num will be interpreted as the profile.data or log.data number profile_num (profile_num is the number that appears in the file names of type profile23.data or log23.data)
If ‘profiles_i’: the ith file in profiles.index file
If ‘explicit’: the exact file path of the profile file should be given in the variable give_filename.
The default is “nearest_model”.
- prof_ind_name (string, optional) – Use this optional argument if the profiles.index file has an alternative name, for example, do superpro=ms.profile(‘LOGS’,1,prof_ind_name=’super.prof’)
- profile_prefix (string, optional) – Prifix in the profile name. The default is “profile”.
- data_suffix (string, optional) – Optional arguments that allow you to change the defaults for the profile.data profile files.
- mass (integer or float, optional) – The user may select a mass and metallicity instead of providing the sldir explicitly, if they are using the VOSpace data. If mass is provided then Z should also be provided. The default is None (i.e. user gives sldir explicitly)
- Z (float, optional) – See ‘mass’ above. The default is None (i.e. user gives sldir explicitly)
- data_set (string, optional) – Coose your data of ‘set1’ or ‘set1ext’. The default is ‘set1ext’.
Examples
initialise a mesa_profile instance for cycle 2000 like this:
>>>my_profile1=ms.mesa_profile(‘LOGS’,2000)
or like this:
>>>my_profile2=ms.mesa_profile(mass=2,Z=0.01,num=2000)
-
energy_profile
(ixaxis)¶ Plot radial profile of key energy generations eps_nuc, eps_neu etc.
Parameters: ixaxis ('mass' or 'radius') –
-
get
(str_name)¶ return a column of data with the name str_name.
Parameters: str_name (string) – Is the name of the column as printed in the profilennn.data or lognnn.data file; get the available columns from self.cols (where you replace self with the name of your instance)
-
write_LEAFS_model
(nzn=30000000, dr=50000.0, rhostrip=0.0005)¶ write an ascii file that will be read by Sam’s version of inimod.F90 in order to make an initial model for LEAFS
-
write_PROM_HOTB_progenitor
(name, description)¶ Write a progenitor file for the PROMETHEUS/HBOT supernova code.
Parameters: - name (string) – File name for the progenitor file
- description (string) – Information to be written into the file header.
-
write_STELLA_model
(name)¶ Write an initial model in a format that may easily be read by the radiation hydrodynamics code STELLA.
Parameters: name (string) – an identifier for the model. There are two output files from this method, which will be <name>.hyd and <name>.abn, which contain the profiles for the hydro and abundance variables, respectively.
-
nugridpy.mesa.
set_nugrid_path
(path)¶ This function sets the path to the NuGrid VOSpace directory as a global variable, so that it need only be set once during an inter- active session.
-
class
nugridpy.mesa.
star_log
(sldir='./LOGS', slname='history.data', clean_starlog=False, mass=None, Z=None, data_set='set1ext')¶ Class derived from history_data class (copy). Existing just (for compatibility reasons) for older mesa python scripts.


Mrunal Ahire
Mrunal Ahire
I am a CS grad from class of '20. Currently, I work as a Software Engineer at HSBC. My interest lies in the problem solving and the design and analysis of algorithms, apart from that I'm also interested in learning about architecture of large-scale systems.
Work Experience
Trainee Software Engineer Sept 2020 - currently working
HSBCWeb-dev Intern Aug 2020 - Aug 2020
Hamsa OverseasWebsite Head Dec 2019 - Jan 2020
VIIT Gandharva'20Intern Jan 2019 - Feb 2019
Infiniti Systems
Education
Computer Engineering Aug 2016 - Sept 2020
VIIT, Pune
GPA: 8.96
Projects
VIIT Gandharva Website [link] Dec 2019 - Jan 2020
VIIT Gandharva Techno-Cultural
Image Captioning for SSB-TAT Images July 2019 - May 2020
Applied AI Group @ CDAC
Resume Builder [link] still working on it
Personal
Awards and Achievements
Top Performing Grad 2020 Dec 2020
HSBC
Contact
Email<EMAIL_ADDRESS>Hover over items to get detailed info


https://github.com/foxglovesec/RottenPotato
https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/
From this, it is clear that if we want to impersonate the token, we better be running as an account with SeImpersonate privilege (or equivalent). Luckily this includes many service accounts in Windows that penetration testers often end up running as. For example, the IIS and SQL Server accounts.
RottenPotato
Local Privilege Escalation from Windows Service Accounts to SYSTEM
For a technical overview of this exploit see our blog post at https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/
Usage:
Compile.
Use ILMerge to combine Potato.exe, SharpCifs.dll NHttp.dll, and Microsoft.VisualStudio.OLE.Interop.dll. This will produce a single, portable binary.
Get a meterpreter shell on the target system
use incognito
Run the binary from step.2
impersonate_token "NT AUTHORITY\SYSTEM"
It is important to impersonate the token (or run list_tokens -u) quickly after runnning the binary. With the current implementation, the token seems to disappear shortly after the binary is run. It is also important to follow the order of the steps. Make sure you "use incognito" before running the binary.
See videos at https://www.youtube.com/watch?v=3CPdKMeB0UY and https://www.youtube.com/watch?v=wK0r-TZR7w8 for example.


ResourcesThis section lists the resources that are available to you before and during installation, or during configuration and use of your SGI system. IRIX 6.5 Overview InformationThis section provides information about hardware system platforms and peripherals, the IRIX CD descriptions, internationalization, and supported third-party software. Supported Hardware System Platforms and PeripheralsTo find out more information about the supported hardware and peripherals, see the Minimum Requirements page. CD DescriptionsSee the CD Descriptions page for a detailed description about each CD. InternationalizationSee the Language and Cultural Support page for information on how to set up your system for different locales. Supported Third-Party SoftwareTo find out about supported third-party software and peripherals, see the SGI Applications & Solutions Directory (http://www.sgi.com/products/appsdirectory.dir/appsdirectory.html), a comprehensive guide to over 3,100 third-party software applications, peripherals, and services for SGI workstations and servers. FreewareSGI's Freeware web page http://freeware.sgi.com provides free downloads of many powerful open-source applications, packaged for convenient over-the-web installation onto your IRIX system. Graphics, design, development, media, desktop, utilities, web serving, system administration, and games software are available, including GNOME, KDE, Gimp, CDrecord, TeX/LaTeX, ViewFax, PlotUtils, Abiword, Gnumeric, Samba, Sharity, Mpg123, and many others. General DocumentationThis section provides information on the types of documentation that are available with this IRIX release. Release NotesYou can access release notes for each software product in a few different ways, including:
Check for Caveat and Release Note Updates, which contain late-breaking information, at Supportfolio Online. IRIX Man PagesThe IRIX man pages are available on the Technical Publications Library Web site at http://techpubs.sgi.com. IRIX ManualsInstalled | Printed | On the Web InstalledSGI documentation is installed by default. Most applications have a Help menu or Help button. You can also use the Help menu on the Toolchest. Some things you will find under Toolchest > Help:
Note: You can also access online documentation before (and after) installation, by using the Base Documentation CD. PrintedEach system comes with an Owner's Guide. Hardware boards and peripherals also come with printed documentation. In addition, some hardware documentation is shipped online, and most hardware documentation can also be found on the Technical Publications Library Web site (listed below). On the WebAnother place to find general documentation is on the Web:
Technical SupportSGI Technology SolutionsComplete information about SGI Technology Solutions, including worldwide support contact information, can be found at http://www.sgi.com/support/supportcenters.html. Telephone SupportObtaining service is easy. Simply contact the SGI Customer Support Center(CSC) for person-to-person technical assistance. The SGI CSC provides assistance in the following areas:
Service is provided in accordance with your system's current level of support. Service varies by warranty coverage and support program. Online SupportSupportfolio Online (http://support.sgi.com/) provides you with online access to software downloads, technical help, including the SGI Knowledgebase, service call logging and tracking, and much more. You can also sign up for our email notification service to automatically receive updates on new support information and features. Sign up for your free Supportfolio ID. It's easy and quick. To experience the benefits of all of Supportfolio's features, you must have a support contract with a software component. General Software PatchesInformation about software patches that apply to the general user environment can also be found on Supportfolio (under the Browse Collections and Downloads sections). |


Jaylen Brown catches a virus; Semi Ojeleye catches a haircut
by Chuck M.Poor Jaylen. The illness that forced him to miss two games last week (Milwaukee & NYN) just won’t quit. Here’s hoping he’s ready for the Spurs game.
Ojeleye must be two pounds lighter after removing that thing from his dome.
Semi and Carsen Edwards are both freshly buzzed. It’s probably not a coincidence both are struggling with their shot.


Welcome To Movie Cart
Click on the Movie Category
Malayalam
Tamil
Hindi
Shopping Zone
Online Shopping


|
Herbrand Equivalence
LLVM implementation of Herbrand Equivalence algorithm mentioned at https://arxiv.org/abs/1708.04976
|
Structure for capturing Herbrand Equivalence classes. More...
Public Member Functions | |
| IDstruct () | |
| Default constructor for the structure. More... | |
| IDstruct (int constVal) | |
| A parameterised constructor for the structure. More... | |
| IDstruct (char op, IDstruct *leftID, IDstruct *rightID) | |
| A parameterised constructor for the structure. More... | |
Data Fields | |
| char | opSymbol |
| Operator of the Herbrand class represented by the object. More... | |
| int | parentCnt |
| Count of number of pointers to the object. More... | |
| IDstruct * | leftID |
| Pointer to IDstruct object corresponding to the equivalence class of left subexpression of the current object. More... | |
| IDstruct * | rightID |
| Pointer to IDstruct object corresponding to the equivalence class of right subexpression of the current object. More... | |
| bool | isConst |
| Boolean to represent if the IDstruct object represents a constant expression. More... | |
| int | constVal |
| Stores the constant value represented by expressions corresponding to the IDstruct object. This field stores valid information only if isConst is true. More... | |
Structure for capturing Herbrand Equivalence classes.
At a given program point, expressions pointing to the same IDstruct object are Herbrand Equivalent at that point.
Definition at line 120 of file HerbrandEquivalence.cpp.
|
inline |
Default constructor for the structure.
It can be used to create an IDstruct object to represent a non-constant variable, or a variable whose value is unknown.
Definition at line 181 of file HerbrandEquivalence.cpp.
|
inline |
A parameterised constructor for the structure.
| constVal | The value to be represented by the IDstruct object |
It can be used to create an IDstruct object to represent a constant.
Definition at line 192 of file HerbrandEquivalence.cpp.
A parameterised constructor for the structure.
| op | Operator for the current Herbrand Equivalence class |
| leftID | Pointer to the class corresponding to left subexpression |
| rightID | Pointer to the class corresponding to right subexpression |
It can be used to create an IDstruct object to represent a two length expression. It automatically checks the child objects to determine whether the new object will represent a constant expression or not.
Definition at line 207 of file HerbrandEquivalence.cpp.
| int HerbrandPass::IDstruct::constVal |
Stores the constant value represented by expressions corresponding to the IDstruct object. This field stores valid information only if isConst is true.
Definition at line 172 of file HerbrandEquivalence.cpp.
| bool HerbrandPass::IDstruct::isConst |
Boolean to represent if the IDstruct object represents a constant expression.
Definition at line 164 of file HerbrandEquivalence.cpp.
| IDstruct* HerbrandPass::IDstruct::leftID |
Pointer to IDstruct object corresponding to the equivalence class of left subexpression of the current object.
Definition at line 150 of file HerbrandEquivalence.cpp.
| char HerbrandPass::IDstruct::opSymbol |
Operator of the Herbrand class represented by the object.
For a constant or variable it is just null character. For compound expressions, it represents the operator which combines the left and right subexpressions.
Definition at line 130 of file HerbrandEquivalence.cpp.
| int HerbrandPass::IDstruct::parentCnt |
Count of number of pointers to the object.
Whenever a variable points to an IDstruct object, parentCnt of the object is incremented. Similarly, when a variable stops pointing to the object, parentCnt is decremented. If at any point of time parentCnt is 0, then it means that the object is of no use and can be destroyed to free memory.
Definition at line 143 of file HerbrandEquivalence.cpp.
| IDstruct* HerbrandPass::IDstruct::rightID |
Pointer to IDstruct object corresponding to the equivalence class of right subexpression of the current object.
Definition at line 157 of file HerbrandEquivalence.cpp.


Key suspect in Star journalist’s murder arrested as investigations take a new twist
by Charles OumaSuspect very cooperative and willing to spill the beans as new details emerge
The key suspect who went into hiding shortly after the gruesome murder of The Star journalist Eric Oloo in his lover Sabina Kerubo’s house has been smoked out of his hideout and arrested.
The suspect who is one of the two brothers implicated in the killing was arrested from his hideout in Yala with police sources revealing that he holds crucial leads about what transpired and is willing to spill the beans.
A police officer involved in the investigation was quoted stating that “This man is very crucial in this investigation, he has everything. He is ready to tell what transpired.”
“In fact, he said he has been very stressed and has not eaten since that night.” Added the officer.
Siaya County police Commander Francis Kooli revealed that the investigatios will be handled by a team from the county headquarters to avoid interference from the officer’s colleagues at Ugunja Police Station and promised to get to the root of Mr Oloo’s death.
Reports indicate that the journalist may have been beaten up in an attempt to force him out of the house which he had shared with his lover for a year.
Cause of death
A team of pathologists from Siaya and Busia referral hospitals at Same Day Classmate Private Mortuary in Sega conducted an autopsy in the presence of family representatives yesterday and established that the suspect met a traumatic death.
The results revealed that the Siaya-based journalist died as a result of trauma in his head and abdomen inflicted by a blunt object, possibly by a hammer or a club.
The lead pathologist, Dr Gabriel Juma also said there was heavy bleeding in the journalist’s brain and abdomen with four injuries in the forehead that were visible.
“There was rupture of the spleen that led to bleeding in the abdomen,” he said.


Research
Cultural Differences in the Experience of Trauma and Adversity
In this new line of research, our lab explores how culture shapes the ways in which people cope with adverse life experiences in both the public and private spheres. We are currently exploring this question across the lifespan in studies with children and adults to understand how cultural differences can translate to psychological and behavioral differences following adverse life events.
Native American Identity
This line of research investigates multiple facets of Native American identity including: the discrimination and prejudice faced by Native people, academic belonging and performance, and the psychological invisibility of Native Americans in contemporary U.S. society.
Culture and Education
In this research we seek to understand how culture influences educational attainment. Specifically, we are interested in:
- How culture shapes individuals’ educational expectations and experiences
- How the cultural environment of U.S. educational systems can lead to cultural mismatches between students’ self-views and the cultural norms endorsed by U.S. higher education
- The ability of culturally tailored interventions to improve academic outcomes for diverse student groups (e.g., First-generation college students, racial minority students)
Our lab is currently investigating the use of culturally minded academic interventions with teachers and school systems in the Seattle area, with the ultimate goal of creating change at the community level. This longitudinal study is funded by the Raikes Foundation.


So first off, does my decision actually mean anything?
When you click a button, the website sends a message to the server. In theory, I could have just generated a random number on the server to decide whether you passed or not. However, I feel like it's more genuine (albeit statistically equivalent) if the program does actually take your choice into account. That is why the server doesn't generate just a pass/fail, but it does in fact randomly choose which button was right, and evaluates the choice you made.
As mentioned, this doesn't really change your odds, but it does make the game feel more under your control.
What are your odds, really?
The odds aren't exactly 50/50. This is due to the powerups which you are sometimes gifted. The probability of getting different powerups is listed in the table below:
| Powerup | Chance |
|---|---|
| None |
10
/
15
|
| Both choices are correct |
1
/
15
|
| 75/25 Split |
2
/
15
|
| Next 2 answers are the same/different |
2
/
15
|
Based on this, your odds of guessing correctly are actually (on average):
10
/15
× 50% +
1
/15
× 100% +
2
/15
× 75% +
2
/15
× 100% = 63.33%
The last element in the equation represents the 2 out of 15 times that you will know an answer based on the previous answer due to the 'next two answers are same/different' powerup.
Note, this doesn't mean you have a 63.33% chance of guessing correctly every round. It's just that, on average, your odds of guessing correctly will be 63.33%, since sometimes you will have a powerup.
It is also important to note that your first guess will not be a powerup, since the first round of the game is always a 50/50. From this we can then write a simple set of exponential equations to represent your chance of getting to a certain score:
P = 0.5 if n = 0
P = 0.5 × 0.633(n - 1) if n > 0
Where P is the probability (as a decimal number) and n is the score. This is also the equation used in the actual game.
If you want to calculate the probability of a certain score, you can plug it into the following input, which will evaluate the equation for you:
P = 50%
As a side note
That is the chance of getting to a certain score. Meaning it actually represents the chance of getting a score of n or more.
To put it more simply, you don't have a 50% chance of getting 1 point. You have a 50% chance of getting 1 or more points. If you wanted to calculate the chance of getting exactly n points, you would subtract the probability of getting n + 1 (or more) points, thus getting the equation:
P = 0.5 × 0.633(n - 1) - 0.5 × 0.633 n if n > 0
Which can be simplified to:
P = 0.5 × 0.633 n × (0.633-1 - 1)
Once again, you can try this out here:
P = 50%
Average amount of attempts to reach n points
This is where the math gets more complicated. And frankly, we're going to have to make a few estimates (as I'm not that good at statistics).
To make the calculation easier, we're going to modify the 63.33% success rate just a bit, to account for the fact that the first round of a game has a 50% success rate.
To do this, we will calculate how long an average game lasts, and from that we will figure out how many rounds (on average) will have a 50% chance, and how many a 63.33%. Based on this, we can make a global average probability for getting an answer right.
We can actually get the length of an average game easily. Assume that you have a game where 50% of games last 10 rounds, and 50% of games last 20 rounds. Obviously, the average game lasts 15 rounds. The mathematical way of getting to this result would be:
P = 10×50% + 20×50% = 15
So essentially, we take the sum of all round lengths multiplied by their chance of happening. Now, we already know how to calculate the chance of a player getting a specific score, we did that in the section above. Now we just multiply by n.
PN = n × 0.5 × 0.633 n ×(0.633 -1-1)
This PN element is equal to n (the amount of rounds) × the probability of n rounds occuring. All we need to do to find the average game length is to then take the infinite sum (from 1 to infinity) of this function, which is thankfully something we can do on the internet.
The infinite sum evaluates to 1.3624, which means that you will get one point in the average game (this seems ridiculous, but as of writing, this value is quite accurate). Or, to be more precise, you will play 2 rounds. On the first round you have a 50% chance of guessing correctly, and on the second round, a 63.33% chance. Thus:
1
/2
× 50% +
1
/2
× 63.33% = 56.5%
So, on the average round, you only have approximately a 56.5% chance of guessing the correct answer. Which, frankly, is pretty terrible, but it is what it is. There are now two ways to calculate the amount of attempts required to get to a certain score:
If an event has a 1 in 4 chance of occuring, it means that the event will happen, on average, once in every 4 attempts. Thus, the amount of attempts required is just equal to the inverted probabilty of the event happening.
We already simplified our success rate to 56.5%, meaning that the probability of getting a score of s is just 0.565s. And so:
N =
1
/0.565s
Here, you can try to plug in a score and get the calculated amount of attempts required to get to it:
N = 0
While this calculation may seem rather simple, it is reasonably accurate compared to the simulated values, which I talk about in the 'complicated' section.
I could discuss the logic of the complicated solution, but the basic premise is copied from here, and frankly, I will not do a better job of explaining it.
Basically, we calculate the probability of not getting a score of s, and then use logarithms and the equation from the linked website to come up with the following formula:
N =
log(0.2)
/1.3624 × log(1-0.565s)
Some notes: We chose a probability of 80%, meaning that once you do N attempts, you will have an 80% chance of getting to the score s. This was chosen based on a quick python program I coded (which actually tested how many attempts getting a certain score would take), since the values returned by this function matched these 'experimental' values very closely. Also, just dividing the logarithms doesn't return the number of games we play, but instead the amount of choices, or button clicks. That's why we also add 1.3624 into the denominator, since an average game lasts that many 'choices'.
You can try this calculation, as well as get the experimental (simulated) value (Ne), here:
N = 0
Ne = 0
Note than Ne gets less accurate as the numbers get larger, since there is a cap to how many simulations should be run. If this cap is reached before any simulations have succeeded, it will return "Can't evaluate". You will also often get different values, since the simulation is re-run every time you enter a new number.
For some reason (which I genuinely do not know), the logarithm in the denominator will eventually return 0, at which point it can also not be evaluated. Which is one of the reasons that the game doesn't use this technique. But I found it interesting, and it closely matches both the experimental values, and also those calculated by the simple solution.
The game uses the simple solution, as it is accurate enough and doesn't fail at 65-ish points.
Anyway, I think that was enough math for at least a year.


Scientific research makes clear that sleep is essential at any age. Sleep powers the mind, restores the body, and fortifies virtually every system in the body. The National Sleep Foundation guidelines serve as a rule-of-thumb for how much sleep children and adults need while acknowledging that the ideal amount of sleep can vary from person to person.
For that reason, the guidelines list a range of hours for each age group. The recommendations also acknowledge that, for some people with unique circumstances, there’s some wiggle room on either side of the range for “acceptable,” though still not optimal, amount of sleep.
Deciding how much sleep you need means considering your overall health, daily activities, and typical sleep patterns.
 This makes it easier to get sick.
Researchers even uncovered a reciprocal relationship between sleep and your immune system. You may lose additional sleep while your body fights off a bug if you get sick and haven’t had enough shut-eye.
2
- Your heart suffers
Both short sleep durations (less than 5 hours per night) and long sleep durations (9 or more hours per night) have been shown to have a negative impact on heart health, according to an analysis published in the European Heart Journal.

Overnight shift workers may take the brunt of this burden. The good news is that both men and women who slept 7 or more hours per night had the best mortality rates in the group.


|
Panda3D
|
Defines a set of physically modeled attributes. More...
Public Member Functions | |
| __init__ (const Physical copy) | |
| copy constructor (note- does deep copy of pn's) but does NOT attach itself to its template's physicsmanager. More... | |
| __init__ (int total_objects, bool pre_alloc) | |
| Default Constructor The idea here is that most physicals will NOT be collections of sets (i.e. More... | |
| addAngularForce (AngularForce f) | |
| Adds an angular force to the force list. More... | |
| addLinearForce (LinearForce f) | |
| Adds a linear force to the force list. More... | |
| addPhysicsObject (PhysicsObject po) | |
| Adds an object to the physics object vector. More... | |
| clearAngularForces () | |
| Erases the angular force list. More... | |
| clearLinearForces () | |
| Erases the linear force list. More... | |
| clearPhysicsObjects () | |
| Erases the object list. More... | |
| AngularForce | getAngularForce (int index) |
| list | getAngularForces () |
| LinearForce | getLinearForce (int index) |
| list | getLinearForces () |
| int | getNumAngularForces () |
| int | getNumLinearForces () |
| const PhysicsObjectCollection | getObjects () |
| PhysicsObject | getPhysBody () |
| PhysicalNode | getPhysicalNode () |
| NodePath | getPhysicalNodePath () |
| PhysicsManager | getPhysicsManager () |
| float | getViscosity () |
| Get the local viscosity. More... | |
| output (Ostream out) | |
| Write a string representation of this instance to <out>. More... | |
| removeAngularForce (AngularForce f) | |
| removes an angular force from the force list More... | |
| removeLinearForce (LinearForce f) | |
| removes a linear force from the force list More... | |
| setViscosity (float viscosity) | |
| Set the local viscosity. More... | |
| write (Ostream out, int indent) | |
| Write a string representation of this instance to <out>. More... | |
| writeAngularForces (Ostream out, int indent) | |
| Write a string representation of this instance to <out>. More... | |
| writeLinearForces (Ostream out, int indent) | |
| Write a string representation of this instance to <out>. More... | |
| writePhysicsObjects (Ostream out, int indent) | |
| Write a string representation of this instance to <out>. More... | |
| Public Member Functions inherited from TypedObject | |
| TypeHandle | getType () |
| int | getTypeIndex () |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
| bool | isExactType (TypeHandle handle) |
| Returns true if the current object is the indicated type exactly. More... | |
| bool | isOfType (TypeHandle handle) |
| Returns true if the current object is or derives from the indicated type. More... | |
| Public Member Functions inherited from ReferenceCount | |
| int | getRefCount () |
| Returns the current reference count. More... | |
| ref () | |
| Explicitly increments the reference count. More... | |
| bool | testRefCountIntegrity () |
| Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
| bool | testRefCountNonzero () |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
| bool | unref () |
| Explicitly decrements the reference count. More... | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedReferenceCount | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedObject | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from ReferenceCount | |
| static TypeHandle | getClassType () |
Additional Inherited Members | |
| Public Attributes inherited from TypedObject | |
| TypeHandle | type |
| Returns the TypeHandle representing this object's type. More... | |
| Public Attributes inherited from ReferenceCount | |
| int | ref_count |
| The current reference count. More... | |
Defines a set of physically modeled attributes.
If you want physics applied to your class, derive it from this.
| __init__ | ( | const Physical | copy | ) |
copy constructor (note- does deep copy of pn's) but does NOT attach itself to its template's physicsmanager.
| __init__ | ( | int | total_objects, |
| bool | pre_alloc | ||
| ) |
Default Constructor The idea here is that most physicals will NOT be collections of sets (i.e.
particle systems and whatever else). Because of this, the default constructor, unless otherwise specified, will automatically allocate and initialize one PhysicalObject. This makes it easier for high-level work.
pre-alloc is ONLY for multiple-object physicals, and if true, fills the physics_object vector with dead nodes, pre-allocating for the speed end of the speed-vs-overhead deal.
| addAngularForce | ( | AngularForce | f | ) |
Adds an angular force to the force list.
| addLinearForce | ( | LinearForce | f | ) |
Adds a linear force to the force list.
| addPhysicsObject | ( | PhysicsObject | po | ) |
Adds an object to the physics object vector.
| clearAngularForces | ( | ) |
Erases the angular force list.
| clearLinearForces | ( | ) |
Erases the linear force list.
| clearPhysicsObjects | ( | ) |
Erases the object list.
| AngularForce getAngularForce | ( | int | index | ) |
| list getAngularForces | ( | ) |
|
static |
| LinearForce getLinearForce | ( | int | index | ) |
| list getLinearForces | ( | ) |
| int getNumAngularForces | ( | ) |
| int getNumLinearForces | ( | ) |
| const PhysicsObjectCollection getObjects | ( | ) |
| PhysicsObject getPhysBody | ( | ) |
| PhysicalNode getPhysicalNode | ( | ) |
| NodePath getPhysicalNodePath | ( | ) |
| PhysicsManager getPhysicsManager | ( | ) |
| float getViscosity | ( | ) |
Get the local viscosity.
| output | ( | Ostream | out | ) |
Write a string representation of this instance to <out>.
| removeAngularForce | ( | AngularForce | f | ) |
removes an angular force from the force list
| removeLinearForce | ( | LinearForce | f | ) |
removes a linear force from the force list
| setViscosity | ( | float | viscosity | ) |
Set the local viscosity.
| write | ( | Ostream | out, |
| int | indent | ||
| ) |
Write a string representation of this instance to <out>.
| writeAngularForces | ( | Ostream | out, |
| int | indent | ||
| ) |
Write a string representation of this instance to <out>.
| writeLinearForces | ( | Ostream | out, |
| int | indent | ||
| ) |
Write a string representation of this instance to <out>.
| writePhysicsObjects | ( | Ostream | out, |
| int | indent | ||
| ) |
Write a string representation of this instance to <out>.


Enter a webpage URL to get various metrics like load times, number of request, caching and gzipping strategies etc. Also PageSpeed Insights and yslow results will be included in the future.


--- sort_order: 188 tei_id: rdx_v6v7t.p.idm140456955329968 annotation_count: 0 images: small-thumbnail: https://readux.ecds.emory.edu/books/readux:v5mxs/pages/readux:v6v7t/mini-thumbnail/ json: https://readux.ecds.emory.edu/books/readux:v5mxs/pages/readux:v6v7t/info/ full: https://readux.ecds.emory.edu/books/readux:v5mxs/pages/readux:v6v7t/fs/ page: https://readux.ecds.emory.edu/books/readux:v5mxs/pages/readux:v6v7t/single-page/ thumbnail: https://readux.ecds.emory.edu/books/readux:v5mxs/pages/readux:v6v7t/thumbnail/ title: Page 184 number: 184 permalink: "/pages/184/" ---


Voyant inspired
Terms Radio
for the Iowa Latin Canon database (L5201 is the Aeneid):
Number of words
Lemmatized
Stop Words
Try it


Access to application resources (entities) is controlled in four ways:
An internal service is created for each of the the application’s entities. Services can be marked as active or inactive in the service configuration, thereby allowing a single application to be generated, while at the same time allowing selective service deployment. For example, there may be cases where it is desirable to route certain services to a particular application instance and another set of services to the rest of the pool. In such a case, a reverse-proxy could be configured to route the end-points appropriately, and the deployed service configurations would be adjusted accordingly. Service activations are controlled via entries in the ‘service_activations’ block of each application instance’s configuration file.
The following configuration file excerpt shows that the selected instance of the application is servicing ‘Person’ entity requests, but is not presently servicing ‘Car’ entity requests. However, if a relationship exists between ‘Person’ and ‘Car’, requests rooted on the ‘Person’ entity but involving the ‘Car’ entity will be accepted. For example, the selected instance would not honor a GET request for ../car/1234, but would accept and process a request for ../person/1234/toCar. In practice, the reverse-proxy/load-balancer should be configured to route requests to the correct end-point.
...
...,
"service_activations": [
{
"service_name": "Person",
"service_active": true
},
{
"service_name": "Car",
"service_active": false
}
]
}
User authentication is conducted using bcrypt in such a manner that passwords are never stored in the application database. When a user is created, their user-id is stored in the database along with the salt/peppered bcrypt hash of their password. This ensures that in the event of a breach no plain-text passwords can be obtained.
Bcrypt was chosen for the following reasons:
When a user logs into the application the following steps occur:
In addition to fulfilling the authorization requirements, the JWT is also used as a CSRF equivalent. By default the generated JWT has a validity of one-hour, but this may be adjusted via the application configuration file. See the following Authorization and End-Point Security section for more details regarding the content and use of the JWT content/claims.
In addition to password authentication, generated applications provide the ability to manage access to their end-points via an authorization scheme. At a high-level:
-> User
|
--> Group 1
| |
| --> Auth_EndPoint_A
| --> Auth_EndPoint_B
| --> Auth_EndPoint_C
|
--> Group 2
|
--> Auth_EndPoint_K
--> Auth_EndPoint_M
Application access can be restricted at the end-point level. Each generated end-point is given a name based on its entity, http method and purpose. The gorilla mux provides an easy way to assign names to end-points in a route declaration, and these names are defined in the generated application as Authorizations or Auths.
Authorizations are created per end-point and are therefore known to the router, which in turn allows the route middleware of the generated application to determine which Authorization is needed in order to permit the request to proceed. Recall that an authenticated user is sent a signed base64-encoded JWT token that must be passed in the http header Authorization field of each request. The generated router middleware validates the signature, decodes the token, and then examines its Claims in order to determine whether the request should be allowed to proceed. This level of checking can be thought of as the Authentication verification; does the requesting party have a valid access token for the system in general?
Assuming that the requesting user has a valid access token, the next step is to determine whether the user has permission to access the requested end-point. Each User is assigned to one or more User Groups and these are included as a Groups Claim in the JWT token when the User logs into the application. As a result, the route middleware is able to examine the content of the Groups Claim in order to determine whether the User is permitted to access the requested end-point. The route authorization check unfolds as follows:
The last bullet point is interesting, as it means that end-point access of protected routes is denied by default. Unless access is specifically granted via Authorization -> User Group -> User assignment, the protected end-point is not accessible.


"Hi, I'm Miquéias Oliveira, 18 old. I've always enjoyed watching movies and been influenced by my uncle and brother. At 16 I took a film course in which I learned various techniques and curiosities about the world of audiovsual. Over time I learn something new, it makes me love the universe of the seventh art even more. My favorite genres of films are: Sci-Fi, Comedy, Action and Drama".
MY FAVORITE MOVIES
Arrival
Interstellar
Hacksaw Ridge
The Persuit of Happyness


{% extends 'layouts/default/page.html' %} {% load bootstrap4 %} {% load i18n %} {% block content %}
| ID | PlayList | Owner Name | Open Playlist in Spootify | Tracks |
|---|---|---|---|---|
| {{ i.id }} | {{ i.name }} | {{ i.owner }} | Open Playlist in Spootify | |
| ID | PlayList | Owner Name | Open Playlist in Spootify | Tracks |
No Files are available.
{% endif %} {% endblock %}


|
Oxygine
1
2g game engine
|
#include <Object.h>
Public Types | |
| typedef std::vector< ObjectBase * > | __createdObjects |
Public Member Functions | |
| ObjectBase (const ObjectBase &src) | |
| ObjectBase (bool assignID=true) | |
| const std::string & | getName () const |
| const void * | getUserData () const |
| int | getObjectID () const |
| bool | isName (const std::string &name) const |
| bool | isName (const char *name) const |
| void | setName (const std::string &name) |
| void | setUserData (const void *data) |
| void | dumpObject () const |
| void | __removeFromDebugList () |
Static Public Member Functions | |
| static void | dumpCreatedObjects () |
| static void | showAssertInCtor (int id) |
| static void | showAssertInDtor (int id) |
| static __createdObjects & | __getCreatedObjects () |
| static void | __startTracingLeaks () |
| static void | __stopTracingLeaks () |
Protected Member Functions | |
| void | __generateID () |
| std::string * | __getName () const |
| void | __freeName () const |
Static Protected Member Functions | |
| static void | __addToDebugList (ObjectBase *base) |
| static void | __removeFromDebugList (ObjectBase *base) |
Protected Attributes | |
| std::string | __name |
| int | __id |
| const void * | __userData |
Static Protected Attributes | |
| static int | _lastID |
| static int | _assertCtorID |
| static int | _assertDtorID |
Base class for each oxygine object. Each object has unique internal ID and name. Debug build is tracking all created and deleted objects. Using memory pools
|
static |
Dumps into Output all created and undeleted objects. Use it for memory leaks searching
|
static |
Shows assert when object with this unique ID will be created.
|
static |
Shows assert when object with this unique ID will be destroyed.


Go to the source code of this file.
Definition at line 87 of file ir.h.
Definition at line 58 of file ir.h.
Definition at line 73 of file ir.h.


Will we be able to exploit all of the information content of
Euclid?
$\Longrightarrow$ Not rightaway, but it is not the fault of Deep
Learning!
-
Deep Learning has redefined the limits of our statistical
tools, creating
additional demand on the accuracy of simulations far
beyond the power spectrum.
-
Neural compression methods have the downside of being opaque.
It is much harder to detect unknown systematics.
-
We will need a significant number of
large volume, high resolution simulations.


% Middle-Income RentingHouseholds Who Are Burdened
% Middle-Income HomeowningHouseholds Who Are Burdened