Philip B. White
Earth, Environment & Geospatial Librarian
1. Consultative Services
2. Innovative Instruction
3. Geospatial Data Access
Available online at: outpw.github.io/slides/portfolio
I typically have 30–40 face-to-face consultations with students or faculty per semester.
Most consultations either stem from students scheduling follow-up appointments with me following a class visit or by people who find my scheduling app on one of my library guides.
My consultations fall into the following topical categories:
Consultative Services Content Breakdown
Note: Data from 2016 and 2021 represent 5 months of consultations. All other years represent 12 months.
My consultative support impacts research at the University at a high level. Owing to my geospatial expertise, I am able to advise students and faculty through highly technical questions about finding and using geospatial data.
A selection of student/faculty questions from Spring 2021:
"I am working on a massive geocoding and spatial merging to census geographies (~75 million addresses) project and need some advice. I have done small batch geocoding easily with census geocoder using R previously but by my calculations this would take >100 days on my computer to do a job this big... Do you have any time this week to chat about best strategies for this...?" (Faculty Member)
A selection of student/faculty questions from Spring 2021: (cont.)
"My project involves using satellite imagery (preferably NAIP) to identify areas where piñon-juniper trees are expanding into sagebrush habitats in northwest Colorado. The methodology I'm hoping to use involves using false color settings to identify conifer trees, and I'm having trouble finding 4-band NAIP imagery in order to use the false color settings. All of the NAIP imagery I've downloaded just has RGB, no near-infrared. I'm hoping you can help me find high-resolution 4-band imagery to use" (Undergraduate)
A selection of student/faculty questions from Spring 2021: (cont.)
"I'm in the GIS for Geologists class with Brian Hynek, we met earlier in the semester to find prairie data and VERY old census data. I was able to find old census data, but I'm having a hard time actually using it. I have it all in a series of excel files, but I can't seem to make a table with actual attributes that ArcMap can read. I'm trying to join tables to a US counties layer I have, but the layers refuse to relate and fields come out as null. I could really use some help or advice as nothing on the internet seems to point me in the right direction. Any suggestions? I'm making an appointment with you for Monday but I'm really worried my data is unusable. If that's the case, I'm not sure what to do." (Undergraduate)
Many students and faculty find me via word of mouth.
In addition to course integrated instruction, I teach 5 to 7 workshops each semester in the Center for Research Data and Digital Scholarship.
My workshop topics include conceptual and functional training in topics such as:
These workshops are often taught collaboratively with CRDDS colleagues including Digital Scholarship Librarian Nickoal Eichmann-Kalwara, former GIS Postdoc Alicia Cowart, and Data Librarian Aditya Ranganath.
Owing to the technical nature of these workshops, I began to look for ways to lower barriers of entry many people might percieve about GIS and coding.
This led me to move all workshop documentation to a website hosted on GitHub, which provides access to GIS instructional materials at any time.
The GIS Workshops site was particularly useful during the COVID-19 pandemic.
I also worked with colleagues in Research Computing to provide a cloud instance of JupyterHub for Python instruction.
Jupyter is a computer programming interface that is popular in instruction settings for its line-by-line code executation and its interspersed instructions.
Leading programming lessons on a JupyterHub allows everyone to access the same computer over the web, eliminating the need for attendees to manage complicated coding environments on their personal computers prior to the workshop.
This allows participants to sit down and start learning without the barrier of technical set up.
Noticing a need for a centralized location for Colorado geospatial data, I began work toward creating a geospatial data platform for the libraries in 2017.
The Colorado GeoLibrary (geo.colorado.edu) launched in 2019 with a collection of Colorado themed geospatial data sets.
The GeoLibrary started small but now has nearly 400 data sets and averaged 376 unique users per month during the spring 2021 semester.
The Colorado GeoLibrary geospatial data portal
View full site at: geo.colorado.edu.
Usability tests were conducted on the GeoLibrary in Spring of 2021, yielding useful constructive comments for future improvements.
Here are a few positive comments from some students and professionals that participated:
"It's super user friendly even if you're not a GIS person. I like on the results page these dropdowns that help you narrow your search criteria. Overall it's user friendly and a helpful resource for sure." (Undergraduate)
"I like the cleanliness of the home page. It's very inviting and I feel like I can throw something in the search bar and see what happens. I don't feel like I'll have to learn the site, I'll be able to move through it and figure it out as I go." (Graduate student)
"I've never actually seen a GIS data [site] that looks like this and I do like the look of it. I think it's very intuitive, especially after spending too much time on the census website."
(GIS specialist)
Development of the GeoLibrary was a collaboration between myself, Libraries IT, Libraries Metadata, and others. Many people deserve credit for launching this important service to our University and state.
A priority of my post-tenure period is to expand the GeoLibrary into a multi-institutional collaboration with other area colleges and universities.
These slides represent my most impactful work at the University Libraries, but it is only a slice of all of my unique contributions.
Please take a look at my GitHub repository "justsomescripts" to view miscellaneous Python scripts I've written to automate geospatial and library tasks for both myself as well as for colleagues in the University Libraries and elsewhere: github.com/outpw/justsomescripts
Philip B. White
Earth, Environment & Geospatial Librarian
University of Colorado Boulder


My Work
Task Track
A 'task-tracker' will allow you measure your productivity and keep track of 'ToDos'. You can add or remove task. You can also mark them as 'done'.
- Angular
- TypeScript
- Json-Server
Umuzi PMS
A simple and basic Product Management System for an organisation called Umuzi.
- Bootstrap
- Angular
- TypeScript
About Me
My name is Ndumiso Onke Fanti, or just "Onke". Im a passionate software developer and aspiring penetration tester who is always eager to learn and try new technologies. My first ever programming language was Python back in 2011, R(while taking ca course on mathematical statistics), MATLAB (in applied mathematics), and then Java, all while. I went on to teach myself other programming languages such as C, C++, Golang(introduced to it while working as learner as Standard Bank), Bash(motivated by my great love of unix/linux) and the fundamentals of web development(HTML, JavaScript and CSS). I have recently learned TypeScript, Angular and Ionic. I pick programming languages and frameworks based on problems at hand.
My Rèsume


Currency Conversion
*currencies converted using rate approximations from Bloomberg.com last sourced at approx 12:32 EST on 12 Sept 2018
From
To
Convert!
=


Clipping lines against a rectangle using Cohen-Sutherland algorithm.
50 random lines are generated and clipped against the 25% gray rectangle.
Clipped portions are drawn in red.


Through KindleCo, I share experience gained over the past 25+ years of working with, in, and through the Public Sector at local, regional and sector level. I understand the challenges and the joys of inter-agency working, cross-sector partnerships and mixed-disciplinary projects.
I'd like to invite you on a journey to build resilience and impact into your work, but also enable it make a contribution to systems-change whether that be close to home or further afield: by leveraging cross-sector engagement, winning stakeholder buy-in, enabling inter-agency collaboration, galvanising political will and unlocking investment, we all have the opportunity to make an impact for Children & Young People.
For social purpose and public sector organisations, partnerships and networks championing Children, Young People & Families.
I support CEOs, Departmental Directors and Partnership Leads to create strategy. Bespoke for multi-agency and cross-sector environments we plan, position, advocate for and help deliver your partnership effort with purpose, and in the context of the national strategic picture. By reconciling with the bigger picture, and being purposeful in any divergence, we can create meaningful synergy between the national landscape and individual corporate mission, enabling new expression of your social purpose.
Work together in 3 modes or as a blended service:
Galvanising of shared purpose, objectives, roles, language and outcomes within mixed partnerships. Consultancy input will support the planning, design and partnership development for work streams aiming for sector-level or geographical impact. Delivered as external Consultancy or through provision of a Project Director role. Suited to established agencies & networks for work duration of 3 months+. Builds infrastructure Provides project oversight.
Enables Leaders of multi-agency, cross-sector or mixed - disciplinary work, to mobilise diverse interests around a specific agenda or action point. Help to sharpen the shared purpose that drives collaboration and reconcile parties around specific aspects of policy, strategy, funding and stakeholder engagement. Addresses issues presenting barriers to effective inter-agency delivery. Generates a step-plan. Builds project resilience and future impact.
Ideal for project and partnership initiators who need to behave strategically. Can support you, and your clients. Can be delivered in clusters. Provides targeted injection of inception advice, to help contextualise a new project or work stream in the ‘bigger picture’. Grows understanding of importance of alignment with Government priorities, points to potential divergence. By auditing the project’s capacity to navigate the public sector landscape, will signpost potential opportunities and pitfalls. Informs financial planning. Generates next steps.
Jo Broad is a multi-agency project developer & public sector strategist. Combining experience of developing strategy in multi-agency contexts, spring-boarding new public sector partnerships, with life as a former Musician and Orchestra Coach, I bring a unique blend of skills to help organisations to collaborate. I love to nurture new projects, transition old ones, and enable others to unlock the opportunities in external change.
Please get in touch to talk about how I can help your organisation or project move forward through:
Example themes:Putting Children First, Health & Wellbeing, Future in Mind, Education & Adoption Bill (2016), Children & Families Act (2014), Adoption Support Fund (2015), Every Child Matters and 21st Century Skills (2003), Creative Partnerships(2002 -2006),Get On (2001), Specialist Status (Arts), Apprenticeships.
I work through KindleCo mostly as a single Consultant or Project Lead. Small teams of associates can be arranged where needed. Please note: I am not a communications, PR or marketing agency but work with you to align these functions within overall project strategy.
"With strong strategic skills and an experienced grasp of public sector dynamics, Jo enables us to arrive at an informed view of what key shifts in the Public Sector mean for us whole-organisation: Putting Children First, Children & Families Act, Health & Wellbeing Boards, Future in Mind, Adoption Support and other shifts in the national landscape... Jo demonstrates quickly her skill in capturing organisational 'essence', understanding our unique corporate dynamics. Discreet, professional and positive, Jo’s input helps ensure MBO will be meeting these challenges with confidence”
John Diamond, CEO, Mulberry Bush Organisation
"I found Jo’s clear, analytical thinking incredibly helpful. She was able to give me a succinct briefing regarding key & relevant changes to family legislation, which I was able to efficiently apply when preparing a publication for my professional work in mental health."
Mental Health Professional
"Jo has hugely increased our profile with business partners and government agencies alike, brokering partnerships of mutual benefit all round. Jo understands the ethos of organisations that innovate and knows how to deliver results" Andrew Hutchinson, OBE, Executive Principal, Parkside Federation Academies
"working with Jo was fruitful and positive - we took our services into areas and communities we had not worked with before"
Business Link, East England"KindleCo have the ability to grasp the essence of your vision and translate it into flesh and bones - we are getting opportunities we would never have discovered on our own"
Pippy Trentham, Director, One Stage Concert Tours"Jo brought five very diverse organisations together and shaped a project that could meet different corporate needs - the result was both innovative and pragmatic"
Wilma Scott, Head of Employment & Public Affairs, BAA Airports STN
KindleCo News
Autumn 2017 News: Children & Social Work Act - A Land Of Challenge And Opportunity
When the Government published 'Putting Children First' in July 2016 (the DfE's Policy paper on Children and Social Work) there was considerable doubt in the sector as to the Bill's likely success, and what changes it would bring as an Act.
Key to predicting with relative certainty the outcome, was taking a careful look at its antecedents in Policy terms over the past 3-5 years: the Children & Families, Devolution, Education & Adoption Acts, and a new LA remit for Public Health.
Armed with a small splash of wisdom born out of experience, it became clear to those of us with a track record of interpreting Public Policy announcements, that the Bill would indeed go through and at a relatively fast pace....
Royal Assent was granted just as Parliament closed in April ’17, for the General Election and most key elements from 'Putting Children First' made it onto the statute books. You can read my earlier predictions on this, by clicking through this News article.
But where are we now?
Read on for my quick fire overview. Enjoy!
Emotional Health & Mental Wellbeing: Vulnerable Children, Their Families And Professional Supporters - Reflective Spaces
When the Government's new guidance to promote Health & Wellbeing of Looked After Children was published back in 2015, it rightly promoted integrated agency working.
But what about the Health & Wellbeing of the adults involved in supporting vulnerable children, Looked After, or not?
There is an army out there of parents, carers, schools staff, public sector workers, and volunteers all engaging with vulnerable Children and Young People.
How can their wellbeing also be supported so they can process the emotional impact of this work and 'stay whole'?....
Understanding Your Stakeholders...
For a business development manager in the Health Outcomes sector, KindleCo recently produced a quick fire briefing note - to help bring a busy individual up to speed on their Stakeholder eco-system. "My job entails juggling multiple stakeholder interests with both the Public & Private sectors as partners…
Kindleco: Continuing To Support Developments At Innovative National Children's Charity
“As a national charity at the cutting edge of support for vulnerable children & families, The Mulberry Bush Organisation has to evolve in response to government led change" – Children & Families Act, the arrival of Health & Wellbeing Boards, the changing public sector landscape for Mental Health, ..."now is no exception", says John Diamond, CEO... read more...


Klopp explains tactical reasons Naby Keita hasn’t been in the side
by Biscan's BootsNaby Keita was exceptional on Saturday afternoon.
The Guinean scored a goal, registered an assist and put in one of his best ever Liverpool performances since arriving at the club in the summer of 2018.
But this season has been a slow-burner for him, with injuries playing their part but also an inability to get selected regularly by Jurgen Klopp.
Liverpool’s manager has lauded Keita’s performance in the 3-0 win over Bournemouth and interestingly, explained that he hasn’t been in the team much due to his weakness at defending set-pieces.
“Naby had injuries, the team is in really good shape, so then do you change?,” Klopp told BBC Sport.
“We are not flying, it’s not like we won all of the games 4-0, or 5-0, so we had to bring on a player who helps us with defending set-pieces.
“Then Naby is sitting outside thinking, ‘why don’t I play?’ I get all that.
“So we stayed in contact, we talked and we spoke a lot about it.
“But in the end of course a player needs to have this evidence that the manager still believes in you. I was never in doubt about that.
“It was just unlucky and in life you need luck always. He started (his Liverpool career) really well – everybody forgot that – then got injured. And again we had two really good seasons.
“(I was) never in doubt about his quality.”
What you sacrifice in defensive aerial ability with Keita, you make up for with passing, dribbling and creativity.
And in fairness, the Bournemouth win was our first in 15 games in which we kept a clean-sheet!
We’d argue that in terms of natural ability, Keita is our best midfielder, but completely understand Klopp needs three tactically disciplined, physical and at times defensive players in his setup when considering the role of our onrushing fullbacks.
We think there’s a good chance Keita will start on Saturday against Watford, in fact, but wouldn’t be surprised to see Klopp go with Jordan Henderson, James Milner and Gini Wijnaldum for tomorrow’s clash with Rb Salzburg – or as it’s known on Twitter, ‘The Brexit Midfield’!


Manim Web Presenter Fallback
Normal Presenter
Entire Presentation
Slides
{% for slide in slides %}
{{ slide.name }}
{% endfor %}


Watford loses 3-0 to Burnley, bottom of Premier League again
by The Associated PressWATFORD, England (AP) — Watford returned to the bottom of the Premier League after losing 3-0 at home to Burnley on Saturday.
Chris Wood’s snap finish, Ashley Barnes’ penalty and James Tarkowski’s late strike condemned Watford to a club-record 11th straight home league match without a win.
Burnley moved into sixth place.
Barnes’ penalty was awarded after a VAR check, with Jose Holebas adjudged to have brought the 30-year-old striker down in the area.
___
More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP_Sports
The Associated Press


Let’s talk Onglais
We are the place where you can find an unconventional and fun way of gaining proficiency in English with focus on vocabulary, pronunciation and spoken English. “let’s talk Onglais” follows a unique “learner-centered” approach to learning to build your English language skills and to better convey your ideas. With our courses, you will get better at communicating in casual and professional settings.
- Accessibility
- Community
- Teamwork
- Integrity
550
Total Students20
Total Teachers300
Total participantsOUR VALUES
We have made all
efforts to make Onglais easy to use and reachable for everyone; no matter what browser you choose to use, and whether or not you use any special equipment to access it. .
Our mission
is to dissolve any tension or nervousness that might be in any session and to make learners getting over their fear to talk and communicate .
We know that we are stronger
When we are together and that every contribution counts, we act as a family, as friends and we trust each other.
We follow Few Steps
dsdsd sd sd sdsd sd sd sd sdbela belab sdsdsdsd ebea .
01
Register
Apply by completing our form on the top of our website
02
Create Session
Teachers will add classes.
03
Approvement of sessions
Onglais staff will approve created sessions.
04
Reserve a session
Book/ Save a seat for a course.
05
Start learning
Join your class and get started.
Best place to improve your speaking skills
speaking practice to help you learn useful Language for everyday communication. where you will gain confidences to speak effectively to audiences of any size. with us you will be able to master your speaking skill and take your achievement to a next level.
Start NowKeep in Touch and follow us
Connect with us on social media for the latest updates.
Contact us
for more information please contact us .


Mauritius collaborates with international investigators on Fishrot case
Following the online publication of the 'Fishrot Files', the Mauritian Ministry of Financial Services and Good Governance has decided to shed light on the matter.
The article reports alleged cases of corruption in two African countries, where the Mauritian jurisdiction and societies of Global Business were mentioned.
According to the minister of Financial Services, Mauritius is collaborating with an international investigation for over a year now, to get to the bottom of these allegations.


Fun GIFS of Famous Brands
Search your favorite brands and submit, you will see a lot of fun, enjoy it!!
By ICE MAN
Brand List
Search Area
Submit
Display Area


Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support or submit feedback, the following resources are available:
For our InfluxDB Cloud customers, InfluxData Support is also available.


A container for binary data.
A Blob
represents a chunk of binary information, often obtained through
an HTTPClient or by reading a File.
Blobs are often used to store text or image data.
The Blob
object includes a number of properties and methods specific to image blobs.
Android and Mobile Web support an append method, but otherwise blobs are immutable.
The Titanium.Utils
module provides several utility methods for working with
blobs, including methods for converting between blobs and Base64-encoded strings,
and methods for generating SHA-1 and SHA-256 hashes and MD5 digests from blob data.
The Buffer object can also contain binary data, and is more easily mutable. Extracting blob data to a buffer is somewhat roundabout:
var blobStream = Ti.Stream.createStream({ source: myBlob, mode: Ti.Stream.MODE_READ });
var newBuffer = Ti.createBuffer({ length: myBlob.length });
var bytes = blobStream.read(newBuffer);
Creating a blob from a buffer is much easier:
var newBlob = myBuffer.toBlob();
In both cases, the conversion involves copying the data from one object to another, so you should be conscious of the amount of the data being copied.
Adds the specified callback as an event listener for the named event.
Arguments
| name | [String] | Name of the event. |
| callback | [Callback<Object>] | Callback function to invoke when the event is fired. |
Appends the data from another blob to this blob.
Arguments
| blob | [Titanium.Blob] | Blob to append to this blob. |
Applies the properties to the proxy.
Arguments
| props | [Dictionary] | A dictionary of properties to apply. |
Fires a synthesized event to any registered listeners.
Arguments
| name | [String] | Name of the event. |
| event | [Dictionary] | A dictionary of keys and values to add to the Titanium.Event object sent to the listeners. |
Gets the value of the file property.
Gets the value of the height property.
Gets the value of the length property.
Gets the value of the mimeType property.
Gets the value of the nativePath property.
Gets the value of the size property.
Gets the value of the text property.
Gets the value of the width property.
Creates a new blob by cropping the underlying image to the specified dimensions.
Arguments
| options | [Dictionary<ImageAsCroppedDict>] | Image cropping options. |
Creates a new blob by resizing and scaling the underlying image to the specified dimensions.
Arguments
| width | [Number] | Width to resize this image to. |
| height | [Number] | Height to resize this image to. |
Returns a thumbnail version of the underlying image, optionally with a border and rounded corners.
Arguments
| size | [Number] | Size of the thumbnail, in either width or height. |
| borderSize | [Number] | Width of the thumbnail's border. |
| cornerRadius | [Number] | Radius of the thumbnail's corners. |
Returns a copy of the underlying image with rounded corners added.
Arguments
| cornerSize | [Number] | Size of the rounded corners in pixels. |
| borderSize | [Number] | Width of the border in pixels. |
Returns a copy of the underlying image with an added transparent border.
Arguments
| size | [Number] | Width of the transparent border in pixels. |
Removes the specified callback as an event listener for the named event.
Arguments
| name | [String] | Name of the event. |
| callback | [Callback<Object>] | Callback function to remove. Must be the same function passed to addEventListener. |


ascii2uni(1) ascii2uni(1) NAME ascii2uni - convert 7-bit ASCII representations to UTF-8 Unicode SYNOPSIS ascii2uni [options] (<input file name>) DESCRIPTION ascii2uni converts various 7-bit ASCII representations to UTF-8. It reads from the standard input and writes to the standard output. The rep‐ resentations understood are listed below under the command line options. If no format is specified, standard hexadecimal format (e.g. 0x00e9) is assumed. COMMAND LINE OPTIONS -a <format> Convert from the specified format. Formats may be specified by means of the following arbitrary single character codes, by means of names such as "SGML_decimal", and by examples of the desired format. A Convert hexadecimal numbers with prefix U in angle-brackets (<U00E9>). B Convert \x-escaped hex (e.g. \x00E9) C Convert \x escaped hexadecimal numbers in braces (e.g. \x{00E9}). D Convert decimal HTML numeric character references (e.g. é) E Convert hexadecimal with prefix U (U00E9). F Convert hexadecimal with prefix u (u00E9). G Convert hexadecimal in single quotes with prefix X (e.g. X'00E9'). H Convert hexadecimal HTML numeric character references (e.g. é) I Convert hexadecimal UTF-8 with each byte's hex preceded by an =-sign (e.g. =C3=A9) . This is the Quoted Printable format defined by RFC 2045. J Convert hexadecimal UTF-8 with each byte's hex preceded by a %-sign (e.g. %C3%A9). This is the URIescape format defined by RFC 2396. K Convert octal UTF-8 with each byte escaped by a backslash (e.g. \303\251) L Convert \U-escaped hex outside the BMP, \u-escaped hex within the BMP (U+0000-U+FFFF). M Convert hexadecimal SGML numeric character references (e.g. \#xE9;) N Convert decimal SGML numeric character references (e.g. \#233;) O Convert octal escapes for the three low bytes in big-endian order(e.g. \000\000\351)) P Convert hexadecimal numbers with prefix U+ (e.g. U+00E9) Q Convert HTML character entities (e.g. é). R Convert raw hexadecimal numbers (e.g. 00E9) S Convert hexadecimal escapes for the three low bytes in big- endian order (e.g. \x00\x00\xE9) T Convert decimal escapes for the three low bytes in big-endian order (e.g. \d000\d000\d233) U Convert \u-escaped hexadecimal numbers (e.g. \u00E9). V Convert \u-escaped decimal numbers (e.g. \u00233). X Convert standard hexadecimal numbers (e.g. 0x00E9). Y Convert all three types of HTML escape: hexadecimal and decimal character references and character entities. 0 Convert hexadecimal UTF-8 with each byte's hex enclosed within angle brackets (e.g. <C3><A9>). 1 Convert Common Lisp format hexadecimal numbers (e.g. #x00E9). 2 Convert Perl format decimal numbers with prefix v (e.g. v233). 3 Convert hexadecimal numbers with prefix $ (e.g. $00E9). 4 Convert Postscript format hexadecimal numbers with prefix 16# (e.g. 16#00E9). 5 Convert Common Lisp format hexadecimal numbers with prefix #16r (e.g. #16r00E9). 6 Convert ADA format hexadecimal numbers with prefix 16# and suf‐ fix # (e.g. 16#00E9#). 7 Convert Apache log format hexadecimal UTF-8 with each byte's hex preceded by a backslash-x (e.g. \xC3\xA9). 8 Convert Microsoft OOXML format hexadecimal numbers with prefix _x and suffix _ (e.g. _x00E9_). 9 Convert %\u-escaped hexadecimal numbers (e.g. %\u00E9). -h Help. Print the usage message and exit. -v Print program version information and exit. -m Accept deprecated HTML entities lacking final semicolon, e.g. "é" in place of "é". -p Pure. Assume that the input consists entirely of escapes except for arbitrary (but non-null) amounts of separating whitespace. -q Be quiet. Do not chat unnecessarily. -Z <format> Convert input using the supplied format. The format specified will be used as the format string in a call to sscanf(3) with a single argument consisting of a pointer to an unsigned long integer. For example, to obtain the same results as with the -U flag, the for‐ mat would be: \u%04X. If the format is Quoted-Printable, although it is not strictly speaking conversion of an ASCII escape to Unicode, in accordance with RFC 2045, if an equal-sign occurs at the end of an input line, both the equal-sign and the immediately following newline are skipped. All options that accept hexadecimal input recognize both upper- and lower-case hexadecimal digits. EXIT STATUS The following values are returned on exit: 0 SUCCESS The input was successfully converted. 3 INFO The user requested information such as the version number or usage synopsis and this has been provided. 5 BAD OPTION An incorrect option flag was given on the command line. 7 OUT OF MEMORY Additional memory was unsuccessfully requested. 8 BAD RECORD An ill-formed record was detected in the input. SEE ALSO uni2ascii(1) AUTHOR Bill Poser<EMAIL_ADDRESS>LICENSE GNU General Public License December, 2010 ascii2uni(1)


The abstract operation InitializePluralRules accepts the arguments _pluralRules_ (which must be an object), _locales_, and _options_. It initializes _pluralRules_ as a PluralRules object. The following steps are taken:
When the GetOperands abstract operation is called with argument _s_, it performs the following steps:
| Internal Slot | Type | Description |
|---|---|---|
| [[Number]] | Number | Absolute value of the source number (integer and decimals) |
| [[IntegerDigits]] | Number | Number of digits of [[Number]]. |
| [[NumberOfFractionDigits]] | Number | Number of visible fraction digits in [[Number]], with trailing zeros. |
| [[NumberOfFractionDigitsWithoutTrailing]] | Number | Number of visible fraction digits in [[Number]], without trailing zeros. |
| [[FractionDigits]] | Number | Number of visible fractional digits in [[Number]], with trailing zeros. |
| [[FractionDigitsWithoutTrailing]] | Number | Number of visible fractional digits in [[Number]], without trailing zeros. |
When the PluralRuleSelect abstract operation is called with four arguments, it performs an implementation-dependent algorithm to map _n_ to the appropriate plural representation of the Plural Rules Operands Record _operands_ by selecting the rules denoted by _type_ for the corresponding _locale_, or the String value *"other"*.
When the ResolvePlural abstract operation is called with arguments _pluralRules_ (which must be an object initialized as a PluralRules) and _n_ (which must be a Number value), it returns a String value representing the plural form of _n_ according to the effective locale and the options of _pluralRules_. The following steps are taken:
The PluralRules constructor is the %PluralRules% intrinsic object and a standard built-in property of the Intl object. Behaviour common to all service constructor properties of the Intl object is specified in
When the `Intl.PluralRules` function is called with optional arguments _locales_ and _options_, the following steps are taken:
The Intl.PluralRules constructor has the following properties:
The value of `Intl.PluralRules.prototype` is %PluralRulesPrototype%.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *false* }.
When the `supportedLocalesOf` method is called with arguments _locales_ and _options_, the following steps are taken:
The value of the `length` property of the *supportedLocalesOf* method is 1.
The value of the [[AvailableLocales]] internal slot is implementation defined within the constraints described in
The value of the [[RelevantExtensionKeys]] internal slot is « ».
The value of the [[LocaleData]] internal slot is implementation defined within the constraints described in
The Intl.PluralRules prototype object is itself an ordinary object. %PluralRulesPrototype% is not an Intl.PluralRules instance and does not have an [[InitializedPluralRules]] internal slot or any of the other internal slots of Intl.PluralRules instance objects.
The initial value of `Intl.PluralRules.prototype.constructor` is the intrinsic object %PluralRules%.
The initial value of the @@toStringTag property is the String value *"Object"*.
This property has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
When the `select` method is called with an argument _value_, the following steps are taken:
This function provides access to the locale and options computed during initialization of the object.
| Internal Slot | Property |
|---|---|
| [[Locale]] | *"locale"* |
| [[Type]] | *"type"* |
| [[MinimumIntegerDigits]] | *"minimumIntegerDigits"* |
| [[MinimumFractionDigits]] | *"minimumFractionDigits"* |
| [[MaximumFractionDigits]] | *"maximumFractionDigits"* |
| [[MinimumSignificantDigits]] | *"minimumSignificantDigits"* |
| [[MaximumSignificantDigits]] | *"maximumSignificantDigits"* |
Intl.PluralRules instances are ordinary objects that inherit properties from %PluralRulesPrototype%.
Intl.PluralRules instances have an [[InitializedPluralRules]] internal slot.
Intl.PluralRules instances also have several internal slots that are computed by the constructor:


See examples here.
| Options | |||
|---|---|---|---|
| Property | Type | Description | Default |
| data | Array, Object, String |
The data for filling combobox items. The original select is used for retrieving data if no data param was given.
The data my be an array or an object with enumerated properties that is {0: {...}, 1: {...}} . Also data can be
supplied as JSON string. Each item in data expect headers and separators must contain value property, which is an equivalent of
option tag value in select. The text of an item should be stored in text property. If the item has a
separator property then it appears as a separator in the list. If it also has a header (a string supposed) property then it
appears as a header in the list. Be sure a header item has a text anyway if you use data sorting to control its position because sorting depends on text.
To use data option in a more flexible way see pMarkup and pFillFunc options.
|
null |
| disabled | Boolean | Whether to set a visible text input disabled or not. | false |
| sort | Boolean | Whether to sort data. Sorting depends on text. | true |
| sortAsc | Boolean | Whether to sort ascending (true) or descending (false). | true |
| removeDuplicates | Boolean | Whether to remove duplicates from given date. Duplicates are considered as elements with the same value properties. |
true |
| fullMatch | Boolean | Whether to filter the items not only from the beginning of the line. Anyhow, the filtering is applied only in text stored inside of
 element. See also pMarkup and pFillFunc |
false |
| highlight | Boolean, null | Whether to highlight matches in items while filtering. By default highlighting is enabled if fullMatch is enabled
(highlight is set to null by default). To use fullMatch without highlighting set highlight option
strictly to false . To turn on highlighting anyway set it to true . |
null |
| expandOnFocus | Boolean | Whether to expand combobox on focus in filter input.td | true |
| wrap | Boolean | Whether to use word wrap in items. | true |
| fillOnArrowPress | Boolean | Whether to change the text in filter input while walking up and down by arrows. If this option is turned off than text changes only
on blur (if fillOnBlur is on). |
true |
| fillOnBlur | Boolean | Whether to change combobox value on blur. In this case the current selected item will be used. This feature works when using arrow keys. | false |
| showDropDown | Boolean | Whether to display an arrow button in the right corner of a combobox. | true |
| forbidInvalid | Boolean | Whether to forbid leaving invalid value in combobox on blur. In case this feature is disabled combobox is highlighted on blur
(dproCombobox-invalid css-class). Other way, the filter text field becomes empty and the combobox value is unset.
|
false |
| maxHeight | String | Sets the items list div max height (css property). | '' |
| tabindex | Number, null | This field sets tabindex for current combobox or set of comboboxes. If set to null, tabindex is removed. | null |
| reassignId | Boolean | Whether to reattach the id from original select to created combobox. |
true |
| mode | String | Whether to use 'default' or 'checkboxes' mode of combobox. 'default' mode is a regular select with a search
field. 'checkboxes' is a mode when you can select multiple items by clicking checkboxes in it. In this mode you don't have a text field
for search and the value of combobox is an array of strings – selected values, not the single string. |
'default' |
| pMarkup | String | The paragraph markup. Each item in a list is a paragraph tag. | '${text} ${additional}' |
| pFillFunc | Function | Function which fills the items using provided data and pMarkup option. |
function(item, options) { var $p = $('
').html(options.pMarkup .replace('${text}', item.text) .replace('${additional}', item.additional ? item.additional : '') .replace('${imgsrc}', item.imgsrc || '') ); if (typeof item.imgsrc != 'string') { $p.find('img').hide(); } return $p; } |
| animation | Object | Animation options (combobox opening/closing). | { duration: 'fast', easing: 'swing' } |
| listMaxWidth | Number | Limits the list with paragraphs width. | window.screen.width / 2 |
| callback | Object | callback.func executes with arguments callback.args
after every combobox initialization finished. If the target set
contains multiple comboboxes, than callback executes each time. this refers
to the main combobox div (class dproCombobox ). |
|
| Methods | |||
| Title | Arguments | Description | Returns |
| fill | data {Array|Object|String} data | Fills the combobox with specified data. The data may be represented in the same way as data option. |
jQuery instance |
| clear | Deletes all the data and clears the combobox. | jQuery instance |
|
| disabled | b {Boolean|undefined} flag | disabled property getter and setter. |
disabled status | jQuery instance |
| options | options {Object|undefined} | Instance options getter and setter. | instance options | jQuery instance |
| val | value {String|Array} | Combobox value getter and setter. For 'default' mode use string, for 'checkboxes' use array of strings. |
Combobox value | jQuery instance |
| open | Drops the list down. | jQuery instance |
|
| close | Closes the list up. | jQuery instance |
|
| toSelect | Destroys the combobox, keeping only an original select. Returns a jQuery object with a select. | jQuery instance | |
Here are methods which help with working with listeners. To add a listener, use
$(combobox).dproCombobox('lisneter', function(){}) syntax. this will refer to different elements depending on event type.
To trigger an event use $(combobox).dproCombobox('lisneter') syntax; to trigger event with a certain namespace, use
$(combobox).dproCombobox('lisneter', 'namespace') syntax. |
|||
| Event type | this | Description | |
| change | select | On select change (hidden element). | |
| focus | <input class="dproCombobox-display" /> | On filter input focus. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field.td> | |
| blur | <input class="dproCombobox-display" /> | On filter input blur. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| keyup | <input class="dproCombobox-display" /> | On filter input keyup. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| keydown | <input class="dproCombobox-display" /> | On filter input keydown. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| keypress | <input class="dproCombobox-display" /> | On filter input keypress. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| click | <input class="dproCombobox-display" /> | On filter input click. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| mousedown | <input class="dproCombobox-display" /> | On filter input mousedown. This event does not matter when using 'checkboxes' mode, because this combobox does not have such text field. | |
| clickDropdown |
 | This event is a click on the dropdown button located in the right corner of a combobox. |


--- layout: page title: Products permalink: /Products/ feature-img: "img/sample_feature_img_2.png" ---
Choose from any item from our finest selection of gourmet canine treats.
Mr. Beefy Chewy Bits $2.75
La Francia Cheese Tabs $2.50
Captain Larry's Fresh catch $3.50
British Traditional Liver & Onions $2.75
*We currently only accept PayPal.


{% extends "admin/layout.html" %} {% block body %}
DataTables is a third party plugin that is used to generate the demo table below. For more information about DataTables, please visit the official DataTables documentation.


Teams connector token support
LoginMicrosoftOnline |
interface LoginMicrosoftOnline |
LoginResponse |
data class LoginResponse |
TokenHandler |
Handle the generation and the refresh of the token header This token is mandatory in request from bot to teams via microsoft-api class TokenHandler |


Recipe: Fall Spritz
by CBS NewsFrom Bon Appétit's November 2018 issue, a classic drink for the holidays by Molly Baz:
"No punch bowls, big-batching, or complicated mixology for your holiday cocktail. Our spritz recipe is so simple – one part amaro to four parts hard cider – that guests can make it themselves (you've got plenty to do elsewhere). Simply set out both bottles with glasses and a bucket of ice; they can handle the rest."
Fall Spritz
Recipe by Molly Baz
Makes single serving
Ingredients:
1.5 oz. Averna amaro
6 oz. Basque-style dry hard cider (such as Isastegi Sagardo)
Orange twist (for serving)
Preparation:
- Pour amaro and cider into a glass filled with ice and stir to combine; garnish with orange twist.
For more info:


Big Red Loan and Mortgage Co.
The name to trust when you're... in the red.
Agreement Date:
Name:
Address:
Principal:
Duration of Loan in Months:
Yearly Interest Rate:
Yearly Interest Rate:
Monthly Payment:
Total Payout:


This function reads the synergy biomarker files inside the given directory and merges
the results into a data.frame
which it returns. This functions should
be used when the synergy biomarker results are in separate files inside the
directory given (see biomarkers.dir
parameter).
get_synergy_biomarkers_from_dir( predicted.synergies, biomarkers.dir, models.dir = NULL, node.names = NULL )
| predicted.synergies | a character vector of the synergies (drug combination names) that were predicted by at least one of the models in the dataset. |
|---|---|
| biomarkers.dir | string. It specifies the full path name of the
directory which holds the biomarker files (without the ending character
/). The biomarker files must be formatted as:
%drug.comb%_biomarkers_active or
%drug.comb%_biomarkers_inhibited, where %drug.comb% is an element
of the |
| models.dir | string. A directory with .gitsbe files/models. It's
needed in order to call |
| node.names | a character vector which has the names of the nodes. If it's
not NULL, then it will be used instead of the |
a data.frame, whose columns represent the network nodes and the rows the predicted synergies. Possible values for each synergy-node element are either 1 (active state biomarker), -1 (inhibited state biomarker) or 0 (not a biomarker or the node is not at all present in the network or the drug combination is not a synergistic one).


A Passion For Software Development || An Advocate For Human Kindness || Insatiable Appetite For Knowledge
About Me
Education
Goals
Project Two
Project Three
Name


OSS
`Prev `__
O
`Next `__
--------------
**OSS**
Written-only acronym for “Open Source Software” (see `*open
source* `__). This is a rather ugly
`*TLA* <../T/TLA.html>`__, and the principals in the open-source
movement don't use it, but it has (perhaps inevitably) spread through
the trade press like kudzu.
--------------
+-------------------------+----------------------------+-----------------------+
| `Prev `__ | `Up <../O.html>`__ | `Next `__ |
+-------------------------+----------------------------+-----------------------+
| OS/2 | `Home <../index.html>`__ | OT |
+-------------------------+----------------------------+-----------------------+


Home
About
Community
Food & Places
Trivia!
Tools
Dashboard
Currency Converter
Emergency Contacts
Translator
Weather Forecast
Covid Stats
Covid Statistics
Total Cases
Total Deaths
Fatality Rate
Number of cases for past 7 days
Covid Cases:
Number of deaths for past 7 days
Covid deaths:


OK, relax, take a deep breath and tell us everything. Try to remember as many details as you can. Where did you see? What did it look like?  We guarantee the complete confidentiality. We will thouroughly investigate your report and let you know what we manage to find out


--- title: 'Using R Markdown and papaja with a LaTeX class to submit a conference proposal: A few notes' author: '' date: '2018-10-01' slug: using-r-markdown-with-a-latex-class-a-few-notes categories: [r] tags: [r-markdown, latex] description: Desc meta_img: /images/image.jpg ---
With my colleagues Emily Bovee (who had the idea for the project and is the first author) and John Ranellucci, I worked on a conference proposal for a conference that provided either a Word Document template or a LaTeX class. Since I had just used (that’s a generous way to put it - I really had struggled through it) LaTeX, I proposed that we see whether we could (continue to) use R and R Markdown, which we used to analyze the data, to prepare the manuscript.
It basically worked. Thus this post, which is really just a few notes - and is certainly not any authoritative source on this topic.
Here’s what we did:
install.packages()
way):install.packages("devtools")
devtools::install_github("crsh/papaja")
Using R Studio, we created a new R Markdown document (just using the File -> New File menu, and then selected “R Markdown”), and then navigated to “From Template”, where we selected “APA Article (6th edition)”. This resulted in an R Markdown document with the papaja template and in the APA format.
We downloaded the LaTeX class (i.e., the text file that ends in .cls
) file from the conference website. Then, we moved it to the same directory as the new R Markdown document we created in the prior step.
We changed the following line in the front matter of the R Markdown document from the following:
class : "man"
… to the following, where conference-template.cls
is the (renamed) name of file we downloaded in the prior step:
class : "conference-template.cls"
Of course, there were some challenges along the way - but, nothing that required a huge amount of troubleshooting. Things basically worked! So, this post is a snapshot of this experience. It’s a testimony to the creators of papaja (and R Markdown - and the LaTeX class for the conference) that things just worked and so that we could be successful on our first try.
As one sidenote, with John’s input and contributions, we wrote this entire manuscript using the tools describe here - and GitHub. There were challenges, but, it basically worked - pretty neat!


Enter a word to search for.
Searching..
Found {{ words.searchResults.length }} definitions.
{{ words.searchResults }}
-
{{ result.partOfSpeech }}
{{ result.definition }}
-
{{ words.searchWordThatAlreadyExists.partOfSpeech }}
{{ words.searchWordThatAlreadyExists.definition }}
edit
write your own definition


Add modules below
Add Another Module
Add member names below
Add Another Member
Calculate Loot Distribution


{{ macros.contactForm(
"demo",
"Tell us what you're looking for. Which features and functionality are most important to you?"
)}}
{% extends "_layouts/base.html" %} {% set id = 'demo' %} {% import "_includes/macros.html" as macros %} {% block main %}
Connect with one of our app strategists and get a walkthrough of the Ionic Pro development platform.


Section 55 CASE Statements
A CASE statement allows us to map one or more conditions to a corresponding value for each condition. You start a CASE statement with the word CASE and conclude it with an END. Between those keywords, you specify each condition with the a WHEN [condition] THEN [value].
After specifying the condition-value pairs, you can have a catch-all value to default to if none of the conditions where met, which is specified in the ELSE.
#!pip install ipython-sql
!git clone https://github.com/thomasnield/oreilly_getting_started_with_sql.git
%load_ext sql
%sql sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Cloning into 'oreilly_getting_started_with_sql'...
remote: Enumerating objects: 3, done.[K
remote: Counting objects: 100% (3/3), done.[K
remote: Compressing objects: 100% (3/3), done.[K
remote: Total 60 (delta 0), reused 0 (delta 0), pack-reused 57[K
Unpacking objects: 100% (60/60), done.
'Connected: @oreilly_getting_started_with_sql/weather_stations.db'
%%sql
SELECT report_code, year, month, day, wind_speed,
CASE
WHEN wind_speed >= 40 THEN 'HIGH'
WHEN wind_speed >= 30 AND wind_speed < 40 THEN 'MODERATE'
ELSE 'LOW'
END as wind_severity
FROM station_data
LIMIT 10;
* sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Done.
| report_code | year | month | day | wind_speed | wind_severity |
|---|---|---|---|---|---|
| 34DDA7 | 2002 | 12 | 21 | 0.2 | LOW |
| 39537B | 1998 | 10 | 1 | 6.7 | LOW |
| C3C6D5 | 2001 | 5 | 18 | 4.3 | LOW |
| 145150 | 2007 | 10 | 14 | 2.5 | LOW |
| EF616A | 1967 | 7 | 29 | 1.2 | LOW |
| 1F8A7B | 1953 | 6 | 18 | 3.6 | LOW |
| D028D8 | 1981 | 6 | 27 | 3 | LOW |
| C74611 | 1978 | 2 | 5 | 13.3 | LOW |
| 737090 | 1962 | 8 | 14 | 5.1 | LOW |
| C5C66E | 2006 | 10 | 15 | 1.7 | LOW |
55.1 Grouping CASE Statements
When you create CAST statements and group them, you can create some very powerful transformations. Converting values based on one or more conditions before aggregating them gives us even more possibilities to slice data in interesting ways.
%%sql
SELECT year,
CASE
WHEN wind_speed >= 40 THEN 'HIGHT'
WHEN wind_speed >= 40 THEN 'MODERATE'
ELSE 'LOW'
END as wind_seversity,
COUNT(*) as record_count
FROM station_data
GROUP BY 1, 2
LIMIT 10;
* sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Done.
| year | wind_seversity | record_count |
|---|---|---|
| 1930 | LOW | 5 |
| 1932 | LOW | 3 |
| 1933 | LOW | 6 |
| 1935 | LOW | 2 |
| 1936 | LOW | 18 |
| 1937 | LOW | 23 |
| 1938 | LOW | 13 |
| 1939 | LOW | 9 |
| 1940 | LOW | 26 |
| 1941 | LOW | 42 |
55.2 The “Zero/Null” CASE Trick
You can use tricks with the CASE statement. One simeple but useful pattern is the “zero/null” CASE trick. This allows you to apply different filters for different aggregate values, all in a single SELECT query.
%%sql
SELECT year, month,
round(SUM(CASE WHEN tornado = 1 THEN precipitation ELSE 0 END),2) as tornado_precipitation,
round(SUM(CASE WHEN tornado = 0 THEN precipitation ELSE 0 END),2) as non_tornado_precipitation
FROM station_data
GROUP BY year, month
LIMIT 10;
* sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Done.
| year | month | tornado_precipitation | non_tornado_precipitation |
|---|---|---|---|
| 1930 | 6 | 0.0 | 0.0 |
| 1930 | 10 | 0.0 | None |
| 1932 | 3 | 0.0 | 0.0 |
| 1933 | 3 | 0.0 | 0.0 |
| 1933 | 7 | 0.0 | None |
| 1935 | 7 | 0.0 | 0.0 |
| 1936 | 8 | 0.0 | 0.64 |
| 1936 | 9 | 0.0 | 0.0 |
| 1936 | 10 | 0.0 | 0.27 |
| 1936 | 11 | 0.0 | 0.06 |
The CASE statement can do an impressive amount of work, especially in complex aggregation task. By leverageing a condition to make a value 0 if the condition is not met, we effectively ignore that value and exclude it from the SUM (since adding 0 has no impact).
You could so a similar calculation with MIN or MAX operations, and us a null instead of 0 to make sure values with certain coinditon are never considered:
%%sql
SELECT year,
MAX(CASE WHEN tornado = 0 THEN precipitation ELSE NULL END) as max_non_tornado_precipitation,
MAX(CASE WHEN tornado = 1 THEN precipitation ELSE NULL END) as max_tornado_precipitation
FROM station_data
WHERE year >= 1990
GROUP BY year
LIMIT 10;
* sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Done.
| year | max_non_tornado_precipitation | max_tornado_precipitation |
|---|---|---|
| 1990 | 2.48 | 0.59 |
| 1991 | 2.36 | 1.93 |
| 1992 | 1.5 | 1.51 |
| 1993 | 1.18 | 2.13 |
| 1994 | 1.26 | 1.16 |
| 1995 | 0.91 | 0.35 |
| 1996 | 3.31 | 0.68 |
| 1997 | 1.18 | 0.08 |
| 1998 | 1.22 | 0.2 |
| 1999 | 2.64 | 0.25 |
Just like the WHERE statement, you can use any Boolean expression in a CASE statement, in cluding function and AND, OR, and NOT statements. The following query will find the avarage temperatures by month when rain/hail was present versus not present after the year 2000:
%%sql
SELECT month,
round(AVG(CASE WHEN rain OR hail THEN temperature ELSE null END),2) as avg_precipitation_temp,
round(AVG(CASE WHEN NOT (rain OR hail) THEN temperature ELSE null END),2) as avg_non_precipitation_temp
FROM station_data
WHERE year > 2000
GROUP BY month
LIMIT 10;
* sqlite:///oreilly_getting_started_with_sql/weather_stations.db
Done.
| month | avg_precipitation_temp | avg_non_precipitation_temp |
|---|---|---|
| 1 | 35.62 | 41.79 |
| 2 | 33.8 | 38.9 |
| 3 | 46.61 | 49.23 |
| 4 | 49.03 | 52.33 |
| 5 | 55.9 | 58.91 |
| 6 | 55.4 | 64.85 |
| 7 | 66.98 | 70.02 |
| 8 | 66.68 | 67.89 |
| 9 | 60.66 | 62.4 |
| 10 | 53.01 | 56.36 |
55.2.1 PREAMBLE
#!pip install ipython-sql
!git clone https://github.com/thomasnield/oreilly_getting_started_with_sql.git
%load_ext sql
%sql sqlite:///oreilly_getting_started_with_sql/rexon_metals.db
fatal: destination path 'oreilly_getting_started_with_sql' already exists and is not an empty directory.
The sql extension is already loaded. To reload it, use:
%reload_ext sql
'Connected: @oreilly_getting_started_with_sql/rexon_metals.db'


All npm packages have a name. Some package names also have a scope. A scope follows the usual rules for package
names (URL-safe characters, no leading dots or underscores). When used in package names, scopes are preceded by
an @
symbol and followed by a slash, e.g.
Scopes are a way of grouping related packages together, and also affect a few things about the way npm treats the package.
Each npm user/organization has their own scope, and only you can add packages in your scope. This means you don’t have to worry about someone taking your package name ahead of you. Thus it is also a good way to signal official packages for organizations.
Scoped packages can be published and installed as of npm@2
and are supported by the primary npm
registry. Unscoped packages can depend on scoped packages and vice versa. The npm client is backwards-compatible
with unscoped registries, so it can be used to work with scoped and unscoped registries at the same time.
Scoped packages are installed to a sub-folder of the regular installation folder, e.g. if your other packages are
installed in node_modules/packagename
, scoped modules will be installed in
node_modules/@myorg/packagename
. The scope folder (@myorg
) is simply the name of the
scope preceded by an @
symbol, and can contain any number of scoped packages.
A scoped package is installed by referencing it by name, preceded by an @
symbol, in npm
install
:
Or in package.json
:
Note that if the @
symbol is omitted, in either case, npm will instead attempt to install from
GitHub; see npm install
.
Because scoped packages are installed into a scope folder, you have to include the name of the scope when requiring them in your code, e.g.
There is nothing special about the way Node treats scope folders. This simply requires the mypackage
module in the folder named @myorg
.
Scoped packages can be published from the CLI as of npm@2
and can be published to any registry that
supports them, including the primary npm registry.
(As of 2015-04-19, and with npm 2.0 or better, the primary npm registry does support scoped packages.)
If you wish, you may associate a scope with a registry; see below.
To publish a public scoped package, you must specify --access public
with the initial publication.
This will publish the package and set access to public
as if you had run npm access
public
after publishing.
To publish a private scoped package to the npm registry, you must have an npm Private Modules account.
You can then publish the module with npm publish
or npm publish --access restricted
,
and it will be present in the npm registry, with restricted access. You can then change the access permissions,
if desired, with npm access
or on the npmjs.com website.
Scopes can be associated with a separate registry. This allows you to seamlessly use a mix of packages from the primary npm registry and one or more private registries, such as npm Enterprise.
You can associate a scope with a registry at login, e.g.
Scopes have a many-to-one relationship with registries: one registry can host multiple scopes, but a scope only ever points to one registry.
You can also associate a scope with a registry using npm config
:
Once a scope is associated with a registry, any npm install
for a package with that scope will
request packages from that registry instead. Any npm publish
for a package name that contains the
scope will be published to that registry instead.


Klopp hails 'focused' Liverpool after Man City win
by AFPLIVERPOOL: Liverpool boss Jurgen Klopp hailed his side’s “incredible goals” after they beat Manchester City 3-1 on Sunday to move nine points clear of the defending Premier League champions.
The European champions took a huge step towards a first top-flight title in 30 years by opening an eight-point lead at the top of the table, with Leicester City in second place.
Goals from Fabinho and Mohamed Salah gave Liverpool a dream start before Sadio Mane’s diving header early in the second half sealed City’s fate.
Bernardo Silva pulled a late goal back but a third defeat in eight league games leaves City down in fourth, nine points behind Liverpool, and with a mountain to climb if they are to claim a third straight league title.
“They (City) were good,” Klopp told the BBC. “Oh they were good and we had to defend with all we had but we scored incredible goals.
“It was so tough to play, the intensity of the game was so clear. It was all worth it, really great.”
“The boys were completely focused and concentrated,” he added. “It was so good. It is the only way we can beat City. Maybe other teams can do it a different way but this is the only way we can beat them.”
City boss Pep Guardiola said his side had shown why they were Premier League champions.
“What happened today we showed why are champion,” Guardiola told Sky Sports.
“I am so proud of my team, more than ever. We can be proud of how we played against the strongest team in Europe.”
“We played like back-to-back champions,” he added. “We cannot deny how good Liverpool are but the way we played, the personality, it was good.”


| Name | Synopsis |
|---|---|
| .. | |
| aclmgmt | |
| mocks | |
| resources | |
| admin | |
| cclifecycle | |
| mocks | Code generated by mockery v1.0.0. |
| chaincode | |
| accesscontrol | |
| fake | Code generated by counterfeiter. |
| lib | |
| cid | |
| lifecycle | |
| mock | Code generated by counterfeiter. |
| mock | Code generated by counterfeiter. |
| persistence | |
| mock | Code generated by counterfeiter. |
| platforms | |
| car | # Copyright State Street Corp. |
| ccmetadata | # Copyright State Street Corp. |
| golang | |
| java | |
| mock | Code generated by counterfeiter. |
| node | |
| util | |
| shim | Package shim provides APIs for the chaincode to access its state variables, transaction context and call other chaincodes. |
| ext | |
| attrmgr | |
| cid | |
| entities | |
| statebased | |
| comm | |
| mock | Code generated by counterfeiter. |
| committer | |
| txvalidator | |
| mocks | Code generated by mockery v1.0.0. |
| common | |
| ccpackage | |
| ccprovider | |
| privdata | |
| sysccprovider | |
| validation | |
| statebased | |
| config | |
| configtest | |
| container | |
| ccintf | |
| dockercontroller | |
| mock | Code generated by counterfeiter. |
| inproccontroller | |
| mock | Code generated by counterfeiter. |
| util | |
| deliverservice | |
| blocksprovider | |
| mocks | |
| endorser | |
| mocks | Code generated by mockery v1.0.0 |
| handlers | |
| auth | |
| filter | |
| plugin | |
| decoration | |
| decorator | |
| plugin | |
| endorsement | |
| api | |
| identities | |
| state | |
| builtin | |
| mocks | Code generated by mockery v1.0.0 |
| plugin | |
| library | |
| validation | |
| api | |
| capabilities | |
| identities | |
| policies | |
| state | |
| builtin | |
| mocks | Code generated by mockery v1.0.0. |
| v12 | |
| mocks | Code generated by mockery v1.0.0. |
| v13 | |
| mocks | Code generated by mockery v1.0.0. |
| token | |
| ledger | |
| cceventmgmt | |
| confighistory | |
| customtx | |
| kvledger | |
| bookkeeping | |
| history | |
| historydb | |
| historyleveldb | |
| fakes | Code generated by counterfeiter. |
| tests | |
| txmgmt | |
| privacyenabledstate | |
| pvtstatepurgemgmt | |
| queryutil | |
| mock | Code generated by counterfeiter. |
| rwsetutil | |
| statedb | |
| commontests | |
| mock | Code generated by counterfeiter. |
| statecouchdb | |
| msgs | |
| stateleveldb | |
| msgs | |
| storageutil | |
| txmgr | |
| lockbasedtxmgr | |
| validator | |
| statebasedval | |
| valimpl | |
| version | |
| ledgerconfig | |
| ledgermgmt | |
| ledgerstorage | |
| mock | Code generated by counterfeiter. |
| pvtdatapolicy | |
| mock | Code generated by counterfeiter. |
| testutil | |
| pvtdatastorage | |
| testutil | |
| util | |
| couchdb | |
| middleware | |
| fakes | Code generated by counterfeiter. |
| mocks | |
| ccprovider | |
| endorser | |
| peer | |
| scc | |
| lscc | |
| txvalidator | |
| validator | |
| operations | |
| fakes | Code generated by counterfeiter. |
| peer | |
| mocks | |
| policy | |
| mocks | |
| policyprovider | |
| scc | |
| cscc | Package cscc chaincode configer provides functions to manage configuration transactions as the network is being reconfigured. |
| mock | Code generated by counterfeiter. |
| lscc | |
| mock | Code generated by counterfeiter. |
| qscc | |
| testutil | |
| transientstore |


Ciao I am Cristina and I love writing code!
Here are some of the technologies I enjoy writing day-to-day:
The easiest way to contact me is via LinkedIn: @CristyTarantino


OMERO workshop
Trends in Microscopy
Düsseldorf, 13th March 2018
Petr Walczysko, Will Moore
Outline
Intro: OME
What is OMERO?
Workshop: Using OMERO
A typical microscopy workflow
OME: Interoperability
OME: What We Do
OMERO is a server with clients
Other OMERO clients
OMERO.iviewer
OMERO.figure
FPBioimage
ImageJ
http://help.openmicroscopy.org/imagej.html
CATMAID
github.com/msphan/omero-catmaid/
Cell Profiler
OMERO: Accessing images
Orbit
www.orbit.bio/omero-connection/
OMERO from your own code
Java
Python
Matlab
C++
JavaScript
Demo
outreach.openmicroscopy.org
idr.openmicroscopy.org
Thank you
openmicroscopy.org
Google: '
OMERO Demo
'
to sign-up for demo account


Projects
2048 the game
task/calendar app
unit calculator
zimmerman encoder
cse170 final project
go back


Given two concentrations, find out how fast the patient is eliminating the drug.
{{drug.drug | capitalize}} ({{Problem.C0_time | date:'yyyy-MM-dd HH:mm'}}) {{Problem.C0}} mg/L
{{drug.drug | capitalize}} ({{Problem.C_time | date:'yyyy-MM-dd HH:mm'}}) {{Problem.C}} mg/L
The patient has been receiving {{drug.drug}} {{Problem.dose}} mg every {{Problem.tau}} hours
intravenously.
The most recent dose was infused starting at {{Problem.InfusionBegin_time | date:'yyyy-MM-dd HH:mm'}}
and the
infusion was completed at {{Problem.InfusionEnd_time | date:'HH:mm' }}.
What is this patient's elimination rate constant for {{drug.drug}}?
Step 1: Draw a picture.
Use the information in the patient case to create a concentration-time plot. Show what we know so far about what the drug concentrations are doing.
Here is the information from the patient case plotted on a linear-linear graph. Both the X-axis (time) and the Y-axis (concentration) are linear. Since {{drug.drug}} is a first-order drug, we end up with a curved plot.
Let your mouse rest over the various points on the graph to see what each one represents.
Even though there are five different points plotted, we really only know the concentrations for the inner-most two (Co and C). The other points are just estimated based on what was described in the case.
Curves are difficult to work with mathematically. Straight lines are easy. Changing the Y-axis from linear to logarithmic changes the curves to straight lines. The important thing to keep in mind is that the Y-axis no longer represents 'concentration'. It now represents ln concentration. The X-axis (time) is still linear.
Step 2: Predict answer.
In the time it took us to draw the graphs, it's possible we may have forgotten what the question was asking. Go back and look at the question again. Answer these two questions:
Looking back at our question, we see that it is asking for an elimination rate constant (Kel). We know that the units for Kel is usually per hour (sometimes written as hr -1 ). If we cross out units and don't end up with per hour, we've done something wrong.
We are calculating this patient's elimination rate constant for {{drug.drug}}. We can look up the predicted value for the Kel of {{drug.drug}}. If our answer is not a number at least somewhat similar to the population average, we've probably done something wrong.
In this case, we are expecting a number that is probably between 0.01 and 0.400. If we end up with our answer being "57" or "0.00000034", we need to go back and check our calculations.
Step 3: Select your tools.
Think about what equations help describe the situation. Which one are you going to use?
Click the button to the right when you have an equation in mind.
Here is the same information from the patient case. The elimination rate constant (Kel) is going to be the slope of the line on which Co and C lie.
Slope is sometimes thought of as "rise over run". That is, it is the change in the value of the Y-axis portion of the the coordinate (ln concentration) over the value of the X-axis portion (time).
Here is our "rise over run" with the coordinates of our points filled-in. The numerator represents the difference in the ln concentrations of the points, while the denominator represents the change in time.
Step 4: Do the math.
Set up your equations and solve for the unknown (Kel).
Click the button to the right when you have a result.
We've filled in the two concentration values. It's important to remember that we have to take the natural log of each concentration before subtracting.
We add in the difference in time between the two concentrations.
We then solve for Kel. Note that since the line is sloping "down", the slope is a negative number. However, we usually express Kel in terms of it's absolute value, even though (by definition) it always represents a negative slope.
Rearranging the Kel equation gives us this version. It's the exact same equation. I tend to find this version easier to use. However, the first version makes the nature of the Kel more clear.
Just as before, we put in the values for our concentrations. In this case, we don't need to take the natural logs of the concentrations first.
Then we add in the change in time.
Both equations give us the same answer for Kel.
Step 5: Does my answer make sense?.
Go back to Step 2.
Click the button to the right for an additional tip.
It's hard to think in "per hours". It doesn't make intuitive sense to have a value with no units in the numerator.
It's also difficult to think in numbers less than one. Humans work best with numbers between about 1 and 20. It's hard for use to visualize {{PopulationParams.k}} of something.
In order to better determine if the answer we got "makes sense", it may be helpful to convert the Kel into half-life.
It's easier to think about {{PopulationParams.halflife | number:1}} hours rather than {{PopulationParams.k}} per hours. We can more easily understand that a half-life of {{PopulationParams.halflife | number:1}} hours "makes sense" for {{drug.drug}} and gives us an intuitive appreciation of how quickly the patient is eliminating {{drug.drug}}.


Home
Quiz
Results
Coding
Quiz
Please select the topics you are interested in:
Functions
Loops
Objects
DOM
Local Storage
Submit


The day when everything started.
After 4 years of studying economics and languages, I was tired of studying things that I didn't like. After several discussions with my parents, I made the choice to study "Accountancy - IT", a field of study that included both IT and economics.
On the 30th of june, I graduated from secondary school with great distinction. Changing to the study direction "Accountancy - IT" was the best choice I could make. I knew that I wanted to be a programmer.
Unlike other students, my study choice was made very quickly. From the day that I graduated (secondary school), I knew that I would study "Applied Information Technology". The curriculum fully met my wishes.
On the 25th of June 2020, I graduated Magna Cum Laude from my bachelor Applied Information Technology. This programme offered all the necessary features to start as an IT professional.
Because I still have a lot of interest in the business side of IT, I continue my studies with a Master's in “Information Management” by means of a bridging programme.
Java has been the main programming language in my education. I've been using it for more than 4 years.
Angular was given in the second year of my bachelor's degree. My experience with Angular is good enough to make an advanced web application.
I've been using JavaScript for more than 3 years. My background is good enough to create advanced web applications.
I've been using C# (.NET) for more than 4 years. My know-how in this programming language is very good.
In the last year of my bachelor, I created an iOS application to keep track of movies and series. I also used several external frameworks.
Kotlin was introduced in the last year of my bachelor. I made an app for Android (using Android Studio) with which you can manage your watched movies and series.
SQL is well known to me, I can generate advanced queries so that the database can be used optimally by an application.
Azure was uncovered during my internship. I created a smart building solution to improve efficiency on the work floor. (IoT project)


{% extends "base.html" %} {% block title %}Registration - complete{% endblock %} {% block content %}
An email has been sent to you. You need to click link in it to activate your account.


Moments from the 2019 CMAs red carpet in Nashville(13 images) Stars arrive for the 52nd Annual Country Music Association Awards at Bridgestone Arena in Nashville, Tenn., on Wednesday. 14 Nov 2019, 00:14 Left to right, Carrie Underwood, Dolly Parton and Reba McEntire are the hosts of the CMAs. Photo by John Angelillo/UPI | License Photo Jennifer Nettles. Photo by John Angelillo/UPI | License Photo Dolly Parton (L) and Zach Williams. Photo by John Angelillo/UPI | License Photo Martina McBride. Photo by John Angelillo/UPI | License Photo Happily Grey. Photo by John Angelillo/UPI | License Photo The Stereotypes. Photo by John Angelillo/UPI | License Photo Joe Diffie (L) and his wife, Tara. Photo by John Angelillo/UPI | License Photo Pam Tillis. Photo by John Angelillo/UPI | License Photo Madison Marlow (L) and Taylor Dye of the group Maddie and Tae. Photo by John Angelillo/UPI | License Photo Carrie Underwood. Photo by John Angelillo/UPI | License Photo McEntire. Photo by John Angelillo/UPI | License Photo Parton. Photo by John Angelillo/UPI | License Photo Nettles wears a dress reading "Equal Play." Photo by John Angelillo/UPI | License Photo


Cert III - Weekday Day 1
- Start Date: Mon, Feb 29 2016
- End Date: Mon, Feb 29 2016
- Time: 8:00 AM - 4:00 AM
- Location: Rowville
Traffic Management Course at Rowville
- Start Date: Wed, Mar 2 2016
- End Date: Wed, Mar 2 2016
- Time: 8:00 AM - 4:00 PM
- Location: Rowville
Forklift Course at Rowville - Day 1
- Start Date: Wed, Mar 2 2016
- End Date: Wed, Mar 2 2016
- Time: 8:00 AM - 4:00 PM
- Location: Rowville


In this vignette, we will look for gender-associated words We will do this by looking for words that follow the pronoun “she” more often than “he”, or vice-versa. The vignette is based on Julia Silge’s blog post, “Gender roles with text mining and n-grams”.
We will use the corpus package, but not rely on any other external dependencies. The set-up is as follows.
library("corpus")
# colors from RColorBrewer::brewer.pal(6, "Set1")
palette(c("#E41A1C", "#377EB8", "#4DAF4A", "#984EA3", "#FF7F00", "#FFFF33"))
# ensure consistent runs
set.seed(0)
We will be studying gender in the context of Jane Austen’s completed novels, downloaded from Project Gutenberg.
# Gutenberg IDs gotten from gutenbergr::gutenberg_works(author == "Austen, Jane")
(austen <- gutenberg_corpus(c(161, 1342, 141, 158, 121, 105)))
Determining mirror for Project Gutenberg from https://www.gutenberg.org/MIRRORS.ALL
Using mirror http://aleph.gutenberg.org/
Converting text from declared encoding "ISO-8859-1" to UTF-8
title author language text
1 Sense and Sensibility Jane Austen English SENSE AND SENSIBILITY\n\nby Jane Austen\n\n(1811)…
2 Pride and Prejudice Jane Austen English PRIDE AND PREJUDICE\n\nBy Jane Austen\n\n\n\nChap…
3 Mansfield Park Jane Austen English MANSFIELD PARK\n\n(1814)\n\n\nBy Jane Austen\n\n…
4 Emma Jane Austen English EMMA\n\nBy Jane Austen\n\n\n\n\nVOLUME I\n\n\n\nC…
5 Northanger Abbey Jane Austen English NORTHANGER ABBEY\n\n\nby\n\nJane Austen (1803)\n…
6 Persuasion Jane Austen English Persuasion\n\n\nby\n\nJane Austen\n\n(1818)\n\n\n…
For tokens, we will be using the lower-cased non-punctuation words
text_filter(austen)$drop_punct <- TRUE
Specifically, we will look at the bigrams from these novels where the first type is a pronoun.
pronouns <- c("he", "she")
bigram_counts <- term_stats(austen, ngrams = 2, types = TRUE,
subset = type1 %in% pronouns)
print(bigram_counts)
term type1 type2 count support
1 she had she had 1472 6
2 she was she was 1377 6
3 he had he had 1023 6
4 he was he was 889 6
5 she could she could 817 6
6 he is he is 399 6
7 she would she would 383 6
8 she is she is 330 6
9 he could he could 307 6
10 he would he would 264 6
11 she did she did 227 6
12 he has he has 222 6
13 he did he did 195 6
14 she felt she felt 189 6
15 she must she must 184 6
16 she might she might 173 6
17 he should he should 158 6
18 she has she has 149 6
19 he must he must 143 6
20 he might he might 137 6
⋮ (1573 rows total)
Above, we can see the most common bigrams with gendered pronouns as their first types.
Next, we rearrange the data into tabular form, with one row for each term and one column for each pronoun:
terms <- with(bigram_counts,
tapply(count, list(type2, type1), identity, default = 0))
head(terms)
he she
_did_ 4 1
_had 1 0
_had_ 2 4
_is_ 0 1
_may_ 1 0
_meant_ 0 1
It looks like some terms get emphasized in the text by underscores. We can investigate some of these:
# inspect a random sample of the occurrences
text_sample(austen, c("_did_", "_had", "_meant_"))
text before instance after
1 3 …rprise to herself. And the\nnext day _did_ bring a surprise to her. Henry had sa…
2 2 …ome,” cried Elizabeth; “perhaps she\n _meant_ well, but, under such a misfortune as…
3 2 …ad been brought on by himself. If he _had another_\nmotive, I am sure it would …
4 2 … would never come back again. People _did_ say\nyou meant to quit the place enti…
5 3 … he\nis Henry, for a time.”\n\nJulia _did_ suffer, however, though Mrs. Grant di…
6 2 …red her--indeed I rather believe he\n _did_ --I heard something about it--but I ha…
7 2 …humour encouraged, yet, whenever she _did_ speak, she must be vulgar.\nNor was h…
8 3 …he others prepared to begin.\n\nThey _did_ begin; and being too much engaged in …
9 4 …in her own mind, determined that he _did_ know what he was talking\nabout, and …
10 2 …the\nfirst, you may remember.”\n\n“I _did_ hear, too, that there was a time, whe…
11 2 …ced with her twice. To be\nsure that _did_ seem as if he admired her--indeed I r…
12 3 …found, from Edmund’s manner, that he _did_ mean to\ngo with her. He too was taki…
13 2 …y evident whenever they met, that he _did_ admire her and\nto _her_ it was equal…
14 3 …e\nheard of beyond themselves. Julia _did_ seem inclined to admit that\nMaria’s …
Let’s clean the terms by removing underscores, and recompute the counts:
terms <- with(bigram_counts,
tapply(count, list(gsub("_", "", type2), type1),
sum, default = 0))
head(terms)
he she
a 5 6
able 0 1
abominates 1 0
absented 0 1
absolutely 3 1
abstained 0 1
Here, we changed the aggregation function from identity()
to sum()
to sum the counts over all types that are equal after removing underscores.
We want to find terms that are associated with particular gendered pronouns. As an example, take term “loves”:
term <- "loves"
i <- match(term, rownames(terms))
tab <- cbind(terms[i,], colSums(terms[-i,]))
colnames(tab) <- c(term, paste0("\u00ac", term))
print(tab)
loves ¬loves
he 5 7287
she 7 10130
When the first type in a bigram is “he”, it is followed by “loves” in 5 instances and another type in 6988 instances. Here are the relative rates of “loves”, conditional on the first type in the bigram:
(rates <- tab[,"loves"] / rowSums(tab))
he she
0.0006856829 0.0006905396
The ratio of these rates is very close to one:
rates[["she"]] / rates[["he"]]
[1] 1.007083
The log (base-2) ratio of the rates is close to zero:
log2(rates[["she"]]) - log2(rates[["he"]])
[1] 0.01018254
This log ratio is a good measure of the strength of association. When the value is close to zero, there is no meaningful association. For large absolute log ratios, we would say that there is a meaningful difference in usage between the genders.
We compute the log ratios for all types. To avoid dividing by zero, and to smooth the estimates when the counts are small, we add 0.5 to the count when estimating the rate. (Many people smooth by adding 1, but I prefer 0.5 since that value has stronger theoretical justification.)
Some terms only appear once in the corpus. The rate estimates for these terms will be unreliable, so we discard them.
tot <- colSums(terms)
common_terms <- terms[rowSums(terms) > 1,]
he <- (common_terms[,"he"] + 0.5) / (tot[["he"]] + 1)
she <- ((common_terms[,"she"] + 0.5) / (tot[["she"]] + 1))
log2_ratio <- log2(she) - log2(he)
Here are a histogram and normal probability plot of the estimates for the remaining terms.
par(mfrow = c(1, 2))
hist(log2_ratio, breaks = "Scott", col = 2, border = "white")
qqnorm(log2_ratio, col = 2)
qqline(log2_ratio, col = 1, lty = 2)
This doesn’t quite look like a normal, but the distribution is symmetric, and the tails are about as heavy as those of a normal. So, the z-score will be a reasonable measure of how typical or unusual each log rate is.
z <- (log2_ratio - mean(log2_ratio)) / sd(log2_ratio)
Here are the words more than two standard deviations away from the mean log ratio:
sort(log2_ratio[abs(z) > 2])
gravely smiling no indeed turning addressing believes bowed
-4.382079 -4.382079 -3.934620 -3.645114 -3.645114 -3.282544 -3.282544 -3.282544
intends next perhaps quite sought won't beheld lay
-3.282544 -3.282544 -3.282544 -3.282544 -3.282544 -3.282544 3.225251 3.225251
looks refused yet checked dreaded eagerly seized hurried
3.225251 3.225251 3.225251 3.431702 3.431702 3.431702 3.431702 3.612274
remembered
4.569205
The terms “remembered”, “hurried”, and “seized” have more “she” usages; the terms “gravely”, “believes”, and “bowed” have more “he” usages.
It’s hard to know which of these differences are meaningful without quantifying the error associated with the estimates. Some words are common, and we have reliable estimates of the log ratios. Other words are rare, and the estimates are based on a small number of occurrences. In the rare case, the estimates of the log ratios will be unreliable.
We need standard errors of our estimates. We can get these by starting with the proportion estimates he
and she
, and then applying the delta method.
The he
and she
rates are proportions. We get their standard errors by using the usual formula for the standard error of a proportion, based on the Binomial variance formula:
he_se <- sqrt(he * (1 - he) / tot[["he"]])
she_se <- sqrt(she * (1 - she) / tot[["she"]])
To find the standard errors for the logarithms of these quantities, we use the delta method. We multiply the standard error by the absolute value of the derivative of the logarithm function evaluated at the estimate:
log2_he_se <- abs(1 / (log(2) * he)) * he_se
log2_she_se <- abs(1 / (log(2) * she)) * she_se
These formulas follow from using a Taylor expansion of log2
around the estimate, using that the derivative of log2(x)
is 1 / (log(2) * x)
.
Finally, for the standard error of log2_ratio
, we assume that the log2_he
and log2_she
estimates are approximately independent, so that the variance of their difference is the sum of their variances. This gives a formula for the standard error of the log ratio:
log2_ratio_se <- sqrt(log2_he_se^2 + log2_she_se^2)
Here are all of the estimated log ratios, along, with error bars for those that are statistically significantly different from zero.
# put the estimates in increasing order
r <- rank(log2_ratio, ties.method = "first")
# find the statistically significant cases
signif <- (abs(log2_ratio) / log2_ratio_se > 2)
i <- signif
# set up the plot
xlim <- xlim <- range(r)
ylim <- range(log2_ratio,
(log2_ratio - log2_ratio_se)[i],
(log2_ratio + log2_ratio_se)[i])
plot(xlim, ylim, type = "n", xlab = "Rank",
ylab = expression(paste(Log[2], " (She / He) Usage Rate")))
# horizontal line at zero
abline(h = 0, col = "gray", lty = 2)
# standard error around interesting points
segments(r[i], (log2_ratio - log2_ratio_se)[i],
r[i], (log2_ratio + log2_ratio_se)[i])
segments((r - 0.4)[i], (log2_ratio - log2_ratio_se)[i],
(r + 0.4)[i], (log2_ratio - log2_ratio_se)[i])
segments((r - 0.4)[i], (log2_ratio + log2_ratio_se)[i],
(r + 0.4)[i], (log2_ratio + log2_ratio_se)[i])
# points at the estimates
points(r, log2_ratio, col = 2, cex = 0.5)
Notice that many of the more extreme estimates are not statistically significant. One word with a large estimate not deemed statistically significant is the word “expressed”. Here are the counts for that word, along with the log ratio estimate and standard error:
print(terms["expressed",])
he she
9 5
print(log2_ratio[["expressed"]])
[1] -1.263685
print(log2_ratio_se[["expressed"]])
[1] 0.7727217
This is a word with a large imbalance, but only in a relatively small number of samples. Due to the lack of data for the word “expressed”, we deem this imbalance to not be statistically significant. Compare this to the word “felt”:
print(terms["felt",])
he she
36 189
print(log2_ratio[["felt"]])
[1] 1.901041
print(log2_ratio_se[["felt"]])
[1] 0.2598566
This has an effect size estimate on the same order as “stopped”, but the estimate is much more reliable given the larger number of appearances of the word “felt”. We judge “felt” both to have a practically significant difference and a statistically significant difference.
The word “was” exhibits one other extreme:
print(terms["was",])
he she
891 1378
print(log2_ratio[["was"]])
[1] 0.1536038
print(log2_ratio_se[["was"]])
[1] 0.0579161
This word has only a minor difference between “he” and “she”, but it shows up often enough for us to get a reliable estimate of the difference. The word “was” has a statistically significant difference between the genders, but probably not a practically significant difference.
In the context of our application, a word is practically significance if the absolute value of its estimate is large. This difference is statistically significant if the estimate is large relative to its standard error. If we only care about Austen’s writing in these six novels, we may not care about statistical significance. If, however, we want to make a statement about Austen’s writing style in general, then we want to generalize beyond our data set, and we should only do so for words we can get reliable estimates for.
Here are the estimates for the words with statistically significant gender imbalances, defined s having an estimated log ratio more than two standard errors away from zero.
# order by log ratio, then name
o <- order(log2_ratio, names(log2_ratio))
est <- log2_ratio[o]
se <- log2_ratio_se[o]
# only keep statistically significant cases
signif <- (abs(est) / se > 2)
est <- est[signif]
se <- se[signif]
# find practically significant cases
pract <- abs(est) > 1
# get the terms
term <- names(est)
i <- seq_along(term)
# set up the plot
par(mar = c(5, 6, 2, 2) + 0.1)
xlim <- range(est - se, est + se)
ylim <- range(i)
plot(xlim, ylim, type = "n",
xlab = "Relative appearance after 'she' compared to 'he'",
ylab = "", axes = FALSE)
# x-axis
ticks <- seq(-3, 6)
labels = paste0(2 ^ ticks, "x")
labels[ticks == 0] <- "Same"
axis(1, at = ticks, labels = labels)
abline(v = ticks, col = "gray", lwd = 0.5)
# y-axis, with term labels
axis(2, at = i, labels = term, las = 1)
abline(h = i, lty = 3, col = "gray")
# frame the plot
box()
# standard errors
col <- ifelse(est > 0, 3, 4)
segments(est - se, i, est + se, i, lwd = 1.5, col = col)
segments(est - se, i - 0.2, est - se, i + 0.2, lwd = 1.5, col = col)
segments(est + se, i - 0.2, est + se, i + 0.2, lwd = 1.5, col = col)
# estimates
points(est, i, pch = 16, cex = 0.75, col = col)
Not all of these are practically significant. Words like “should”, “will”, and “was” show up because they are common, and it is possible to get precise estimates of their gender imbalances. Still, we can see many examples of words that have both statistically and practically meaningful gender imbalances, especially “she”-slanted words like “remembered”, “read”, “resolved”, and “felt”.
In Silge’s original analysis, she used an ad-hoc filter of statistical significance, considering only words that appeared more than 10 times in the corpus. Her filter does a reasonable job of removing spurious results. Indeed, her list of the most gender-associated words mostly agrees with those reported here. There are, however, some notable differences. Silge’s list of “he” words does not include “begged”, but it does include “stopt”, “shook”, “expressed”, and “wants”. Similarly, Silge’s list of top “she” words includes some words that are excluded here: “longed”, “instantly”, “expected”, “ran” and “caught”.
I suspect that many of the words here have gender imbalances simply because the protagonists are female. The novels give us insights into the protagonists’ emotional states, but not into those of the supporting characters. It would be nice if we could get more balanced comparison by adjusting for the genders of the protagonists. Until we do that, it’s hard to know if there’s anything meaningful in these differences.


The operator can view and export audit log data on all kinds of user operations related to subscriptions and marketable services including their price models. This may be useful, for example, to check when and by whom a price model was changed, when subscriptions were created, when and by whom a license description was changed.
Single entries of the audit log consist of a header and a message, separated by a comma.
The header consists of the following elements, separated by a blank:
MM/DD/YYYY_hh:mm:ss.SSS: The local server date and time.
FSP_SW/CT-MG_CTMG-BSS: The predefined log label for log entries resulting from user operations on your platform. This label cannot be changed.
INFO: The default log level. This level cannot be changed.
3<nnnn>: The ID of the operation that was logged. This is a number between 30000 and 39999. The ID is unique for each operation. For example, the ID of the Define service operation is 30090, the ID of the Subscribe to service operation is 30000.
<operation>: The operation that was logged, for example, Define service.
Following the header, the detailed log message is appended. It consists of name-value pairs with additional information, separated by vertical bars (|).
Every message starts with the following name-value pairs:
userId=<user ID>: The ID of the user who executed the operation.
orgId=<organization ID>: The ID of the organization the user belongs to.
orgName=<organization name>: The name of the organization the user belongs to.
<additional name-value pairs>: Additional name-value pairs specific to the logged operation, separated by vertical bars (|).
The log entries show the information as stored in the database. If there are updated values, the initial values are not contained in the audit log file.