2020-02-27 12:28:16
<COMMAND/CTRL>I
to reindent lines<SHIFT><COMMAND/CTRL>A
to reformat codedev
)Open Project...
command in File
menu*.Rproj
to .gitignore
.gitignore
| .Rproj.user |
| .Rhistory |
| .RData |
| .Ruserdata |
| psy-525-reproducible-research-2020.Rproj |
| psy-525-spring-2020.csv |
| .databrary.RData |
| hw |
This talk was produced on 2020-02-27 in RStudio using R Markdown. The code and materials used to generate the slides may be found at https://github.com/psu-psychology/psy-525-reproducible-research-2020. Information about the R Session that produced the code is as follows:
## R version 3.6.2 (2019-12-12) ## Platform: x86_64-apple-darwin15.6.0 (64-bit) ## Running under: macOS Mojave 10.14.6 ## ## Matrix products: default ## BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib ## LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib ## ## locale: ## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 ## ## attached base packages: ## [1] stats graphics grDevices utils datasets ## [6] methods base ## ## other attached packages: ## [1] DiagrammeR_1.0.5 forcats_0.4.0 stringr_1.4.0 ## [4] dplyr_0.8.3 purrr_0.3.3 readr_1.3.1 ## [7] tidyr_1.0.0 tibble_2.1.3 ggplot2_3.2.1 ## [10] tidyverse_1.3.0 seriation_1.2-8 ## ## loaded via a namespace (and not attached): ## [1] viridis_0.5.1 httr_1.4.1 ## [3] tufte_0.5 jsonlite_1.6 ## [5] viridisLite_0.3.0 foreach_1.4.8 ## [7] modelr_0.1.5 gtools_3.8.1 ## [9] assertthat_0.2.1 highr_0.8 ## [11] cellranger_1.1.0 yaml_2.2.0 ## [13] pillar_1.4.3 backports_1.1.5 ## [15] lattice_0.20-38 glue_1.3.1 ## [17] digest_0.6.23 RColorBrewer_1.1-2 ## [19] rvest_0.3.5 colorspace_1.4-1 ## [21] htmltools_0.4.0 pkgconfig_2.0.3 ## [23] broom_0.5.3 haven_2.2.0 ## [25] scales_1.1.0 gdata_2.18.0 ## [27] farver_2.0.3 generics_0.0.2 ## [29] withr_2.1.2 lazyeval_0.2.2 ## [31] cli_2.0.1 magrittr_1.5 ## [33] crayon_1.3.4 readxl_1.3.1 ## [35] evaluate_0.14 fs_1.3.1 ## [37] fansi_0.4.1 nlme_3.1-142 ## [39] MASS_7.3-51.5 gplots_<IP_ADDRESS> ## [41] xml2_1.2.2 tools_3.6.2 ## [43] registry_0.5-1 hms_0.5.3 ## [45] lifecycle_0.1.0 munsell_0.5.0 ## [47] reprex_0.3.0 cluster_2.1.0 ## [49] packrat_0.5.0 compiler_3.6.2 ## [51] caTools_1.18.0 rlang_0.4.4 ## [53] grid_3.6.2 iterators_1.0.12 ## [55] rstudioapi_0.10 visNetwork_2.0.9 ## [57] htmlwidgets_1.5.1 labeling_0.3 ## [59] bitops_1.0-6 rmarkdown_2.1 ## [61] gtable_0.3.0 codetools_0.2-16 ## [63] DBI_1.1.0 TSP_1.1-8 ## [65] R6_2.4.1 gridExtra_2.3 ## [67] lubridate_1.7.4 knitr_1.27 ## [69] pwr_1.2-2 utf8_1.1.4 ## [71] KernSmooth_2.23-16 dendextend_1.13.3 ## [73] stringi_1.4.5 Rcpp_1.0.3 ## [75] vctrs_0.2.2 gclus_1.3.2 ## [77] dbplyr_1.4.2 tidyselect_1.0.0 ## [79] xfun_0.12


--- layout: stats title: Alex Dzurick Statistics permalink: "/stats/players/alex-dzurick.html" ---
| Year | Team | Finish | G | 10 | -5 | Pts | PPG |
|---|---|---|---|---|---|---|---|
| 2009 | Missouri | 14 | 15 | 3 | 0 | 30 | 2 |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2009 | 1 (Prelims) | Alex Dzurick | Missouri | Minnesota B | Win | 0 | 0 | 0 | Brown |
| 2009 | 2 (Prelims) | Alex Dzurick | Missouri | Illinois A | Loss | 0 | 0 | 0 | Brandeis |
| 2009 | 3 (Prelims) | Alex Dzurick | Missouri | Hunter College | Win | 1 | 0 | 10 | Chicago B + Harvard |
| 2009 | 4 (Prelims) | Alex Dzurick | Missouri | UCLA | Win | 0 | 0 | 0 | VCU |
| 2009 | 5 (Prelims) | Alex Dzurick | Missouri | Missouri S&T | Win | 0 | 0 | 0 | Illinois + Maryland |
| 2009 | 6 (Prelims) | Alex Dzurick | Missouri | Chicago A | Loss | 0 | 0 | 0 | Minnesota A |
| 2009 | 7 (Prelims) | Alex Dzurick | Missouri | Harvard A | Loss | 0 | 0 | 0 | MIT |
| 2009 | 8 (Prelims) | Alex Dzurick | Missouri | VCU A | Loss | 1 | 0 | 10 | Missouri State + UCSD |
| 2009 | 9 (Prelims) | Alex Dzurick | Missouri | Carnegie Mellon | Loss | 1 | 0 | 10 | UCLA + South Carolina |
| 2009 | 10 (Prelims) | Alex Dzurick | Missouri | Missouri State | Win | 0 | 0 | 0 | Truman State + Dartmouth |
| 2009 | 11 (Prelims) | Alex Dzurick | Missouri | Dartmouth A | Loss | 0 | 0 | 0 | Stanford |
| 2009 | 14 (Playoffs) | Alex Dzurick | Missouri | South Carolina | Loss | 0 | 0 | 0 | No Packet Recorded |
| 2009 | 15 (Playoffs) | Alex Dzurick | Missouri | Chicago B | Loss | 0 | 0 | 0 | No Packet Recorded |
| 2009 | 16 (Playoffs) | Alex Dzurick | Missouri | Maryland A | Loss | 0 | 0 | 0 | No Packet Recorded |
| 2009 | 17 (Playoffs) | Alex Dzurick | Missouri | UCSD A | Win | 0 | 0 | 0 | No Packet Recorded |


Welcome to the about page of my website! This is where you will hopefully get to know more about me outside of just my list of technical skills and projects. I am sure you have read the little introduction on the home page, but if you haven’t, my name is Lam Nguyen and I am currently a Computer Science student at Texas A&M University. Class of 2023. Whoop! I am from Round Rock, TX but I have lived in Seattle, WA and Vietnam for several years each.
With the introduction out of the way, outside of computing I really enjoy sneakers! Name a shoe or your grail, I have likely owned them. Unfortunately I have sold a grand majority of them due to not being able to wear them as much as I wanted, and I am shifting my focus towards tech more, but I have been trying to build it back up and am gravitating towards shoes that suit me personally such as shoes that are simple but yet have a strong flair and details. On the right (if you are desktop) are some of my shoes starting off with my favorite, the JJJJound New Balance 992, and then the Union Jordan 4 and 1, respectively.
Ok Lam, that is cool, bragging about shoes, what else do you do? Well I also enjoy being outdoors and doing any sort of physical activity at the gym or hiking, which is what draws me to being in the Pacific Northwest area. I have been fortunate enough to make many trips to Seattle, WA and Vancouver, BC where I love visiting places like Mt. Rainier and going up north to Whistler. I find that nature is so diverse that there is always something new I will encounter up north, and it motivates me to keep going.
© Lam Nguyen | All Rights Reserved
Toggle Theme


I am a postgraduate student, studying MSc Energy, Trade & Finance at Cass Business School.
Originally from Malaysia, I've been living in the UK for the past 3 amazing months and have travelled to a couple of places and attended some exclusive events which I have shared here!
Below are some latest events that happened within last month..
On 1st December, my friends and I planted almost 12,000 trees at Ilford with Trees for Cities who is aiming to plant a total of 25,000 trees across London this weekend🌲 Glad to have met the Mayor of London himself, Sadiq Khan who led the way for cleaner and greener city by joining us to plant trees too! We planted variety of trees ranging from cherry to fur tree. It was amazing teamwork!
Women of the Future Summit was held on 14th of November with the objective of recognizing the achievement of women across industry and acts as a platform for collaboration to empower more young and emerging female leaders. I was very humbled to be given the opportunity to participate as a delegate representing Malaysia and Chevening. The most amazing moment was realising that there are so many role models who are striving for SIGNIFICANCE than SUCCESS alone.
The "Gender Equality" panel discussion which was held at the Foreign and Commonwealth Office gave us an insight on UK's initiatives in bridging the gender gap.


{% extends "base.html" %} {% block page_title %}{{ block.super }}: Password Reset{% endblock %} {% block breadcrumbs %}
{% endblock %} {% block content %}Forgotten your password? Enter your email address below, and we'll email instructions for setting a new one.


--- layout: post title: Faster Testing with Rails 1.0 categories: - documentation author: admin published: true date: 2005-10-26 18:41:48.000000000 +01:00 ---
Mike Clark has written a very thorough guide and explanation for the change in testing defaults we arrived at with Rails 1.0. It goes through what to change and why you should care. Great stuff.


| Accepted Offer | Miss Kirsty Jones | £106,000 | 22nd Aug 2015 | ||
| Test | Test | Test | Test | Test | Test |
| Rejected Offer | Miss Kirsty Jones | £104,000 | 21st Aug 2015 | ||
| Withdrawn | Mr Graham Exley | £99,900 | 4th Aug 2015 | ||
| Rejected Offer | Mr Graham Exley | £99,000 | 30th July 2015 | ||
| Rejected Offer | Mr Graham Exley | £97,000 | 23rd April 2015 |


Iraq PM Adel Abdul Mahdi says he will resign
by ReutersIraqi Prime Minister Adel Abdul Mahdi said on Friday he would present his resignation to parliament so lawmakers could choose a new government, according to a statement from his office.
Abdul Mahdi's decision came in response to a call for a change of leadership on Friday by Iraq's top Shi'ite Muslim cleric Grand Ayatollah Ali al-Sistani, the statement said.


| < Day Day Up > |
7.2 Disk Space WatermarksThe cache_swap_low and cache_swap_high directives control the replacement of objects stored on disk. Their values are a percentage of the maximum cache size, which comes from the sum of all cache_dir sizes. For example: cache_swap_low 90 cache_swap_high 95 As long as the total disk usage is below cache_swap_low, Squid doesn't remove cached objects. As the cache size increases, Squid becomes more aggressive about removing objects. Under steady-state conditions, you should find that disk usage stays relatively close to the cache_swap_low value. You can see the current disk usage by requesting the storedir page from the cache manager (see Section <IP_ADDRESS>).  In earlier versions of Squid, this parameter played a more important role; now, however, it doesn't. |
| < Day Day Up > |


If the file /etc/nologin exists and is readable, login(1) will
allow access only to root. Other users will be shown the contents of this file
and their logins will be refused. This provides a simple way of temporarily
disabling all unprivileged logins.
This page is part of release 5.05 of the Linux man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at https://www.kernel.org/doc/man-pages/.


About:
This "Password Grid Generator" is nothing but a tool to help users
maintain secure (complex) passwords without having to remember
them. As with all tools, the effectiveness of this tool depends on
how the user handles it. Below are two examples of possible uses for the
grid. These methods are merely suggestions. Please feel free to
mix and match. The posiblities are endless!
Pass phrase + pass code + grid => secure password
Examples:
- Example 1
- Choose a simple passphrase (such as 'doggyName')
- Choose a passcode (such as '123')
- Find the first letter of the passphrase in the grid.
- Select the character at the n-th position in the sequence
of characters located below the letter, where n corresponds
to the first digit of the pass code. This character is the first
letter of the password.
- For the next letter of the password, select the next letter of the
passphrase ('o' in this case) and the next digit of the pass code
(2) in this case. Locate the 'o' box and the 2nd character of this box.
This character is the second character of the password.
- Repeat for the other letters of the passphrase.
- Upon using the last digit of the passcode, if there are uncoded
letters left in the passphrase, begin with the first digit of the
passcode and continue as before.
- Example 2
- Choose a shape by looking at the grid and
drawing a shape in your mind.
- Follow steps 2-7 in Method 1.


IFF
Welcome to Infofabrica Hub. Please vote for your favorite cloud provider!
For cloud comparisons,
click here.
AWS
Powering Customer Innovation
, Engineered for the Most Demanding Requirements!

Google
One Cloud
, endless possibilities!
IBM Cloud
This is not just any cloud
, This is the IBM Cloud.
Number of page views so far:
{{stats.pageviews}}
System serving the request:
{{stats.hostname}}
Common Cloud Experiences Patterns and Libraries
Clarity Design System


FULL
PSEUDO
Runner 1
Runner 2
Runner 3
Runner 4
Pseudo:
Light:
(
)
(
)
(
)
(
)
Dark:
(
)
(
)
(
)
(
)
RTMP
RTMP
RTMP
RTMP
Actions
CARDS
Hide cards
Update PBs
Commentators
Update


GRUMPY OLD MEN A film review by James Berardinelli Copyright 1993 James Berardinelli
Rating (Linear 0 to 10): 7.6
Date Released: 12/25/93 Running Length: 1:43 Rated: PG-13 (Language, mature themes)
Starring: Jack Lemmon, Walter Matthau, Ann-Margaret, Burgess Meredith, Ossie Davis, Kevin Pollack, Daryl Hannah Director: Donald Petrie Producers: John Davis and Richard C. Berman Screenplay: Mark Steven Johnson Music: Alan Silvestri Released by Warner Brothers
Sometimes the films I enjoy the most aren't the ones I give a 9 to. For example, while FAREWELL MY CONCUBINE (to which I gave a 9.5) is an example of superior, powerful film making, this isn't a movie to be enjoyed for the pure magic of the entertainment that it brings. GRUMPY OLD MEN, on the other hand, is such a film, and while it won't come close to my top 10 best list for 1993, it will be right up there among the pictures that I had the most fun watching.
John Gustafson (Jack Lemmon) and Max Goldman (Walter Matthau) have been neighbors since they were kids, and the feud between them has lasted almost as long. A state of uneasy coexistence is in place, with namecalling and practical jokes being common activities. Their rivalry turns more serious, however, when both of them become interested in the new neighbor across the street. Ariel (Ann-Margaret) is vivacious, beautiful, and alluring, and both John and Max find themselves smitten.
While not without its problems (some of which are readily apparent), GRUMPY OLD MEN works more often than it doesn't. It's an example of a frothy, good-natured holiday picture that adults can relax and enjoy. As a comedy, the movie is an unqualified success, with enough fresh humor to keep the laughs coming. Dramatically, however, things aren't as impressive. The attempts of GRUMPY OLD MEN to tackle a few serious themes come across as inoffensive but trite. There are formulas at work here, and anyone admitting to be surprised by the "plot twists" should hang his or her head in shame.
Fortunately, drama always plays second fiddle to comedy, and this is a very funny motion picture--surely one of the most consistently amusing of the year. There's everything from slapstick to puns, with a lot of clever audio and visual gags. Witness Jack Lemmon and Walter Matthau's "performances" to the song "I'm too Sexy", Lemmon's send-up of Macaulay Culkin's aftershave scream from HOME ALONE, and the little dance number Lemmon does in his underwear.
The most amusing part of the film arrives at the least expected moment: during the end credits, which appear over a series of outtakes. These are real gems, especially the final one (which features Walter Matthau in a bathtub and occurs at the very end of the credits). This is one time when it's worth staying for the entire film.
Lemmon and Matthau are perfect for their roles as lifelong sparring partners, and while the development of John and Max as individuals is lacking, their relationship is brought into sharp focus. Of course, the pair are no strangers to this sort of interplay, having done it several times before, most memorably in THE ODD COUPLE. This is an example of perfect casting, as is the choice of Burgess Meredith as the tough- talking, dirty-minded patriarch of the Gustafson family.
Ann-Margaret is adequate as the catalyst of the newest phase in the Gustafson/Goldman feud, giving an energetic but not particularly memorable performance. Likewise, Kevin Pollack and Daryl Hannah are kept in the background and saddled with poorly-written characters whose functions are minimal (to her credit, Ms. Hannah does a pretty decent job with her material, and her unexpected competence caught me off guard). Ossie Davis, consummate professional that he is, takes a minor role and turns it into something special.
Most of those that attend a showing of GRUMPY OLD MEN will leave the theater with a smile on their face, which is basically what the movie is going for. The relatively unsuccessful dramatic elements, which are overly-sentimental and hamstrung by a too-pat resolution, are a small price to pay for everything else. This film joins recent productions such as THE CEMETERY CLUB and USED PEOPLE in delivering a more "mature" romantic comedy (i.e., one featuring older actors). However, where both of those films came across as rather hollow efforts, GRUMPY OLD MEN has enough vitality to see it through the thin spots.
I can't think of many better ways to spend the holiday season than with John Gustafson and Max Goldman. They may be irascible and stubborn, but they're a lot of fun--as long as you don't have to eat dinner with them.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Team Lead for Design Systems & DesignOps at Fiserv
Client Project
Role UX Design & Prototyping
Client CVS
MinuteClinic Team
James Dyson - UX Researcher
Chris Gioranino - UX Designer
Elizabth Whittemore - UX Digital Producer
Jessica Toussaint - Product Manager
Rio SEO Team
Penny Phaneuf - Project Manager
Jim Gassmann - Front-End Developer
Heather Larsen - UX Designer
Scope Redesign MinuteClinic's most visited webpages, the locator and the clinic details pages
Considerations
MinuteClinic's design system, business requirements, and prior research
WCAG 2.0 Level AA compliance
Effectively communicate when a user can go to a clinic and how long they should expect to wait
Led by CVS's UX team
In October 2018, the CVS UX team performed usability testing on their previous locator website.
Before beginning on wireframes, I performed a competitive analysis and found that the majority of their competitors' websites emphasized scheduling over walk-ins, limited messaging, and used plain language. None of them communicated an approximate wait time.
We recieved a document including 20 vendor requirements for the redesign,
which added to the 19 previous requirements we obtained after the client signed with Rio SEO.
Example Requirements
The CVS team provided us with access to their Brand Center where we were able to collect and download UI Kits, icon guidelines, branding guidelines, etc. This allowed us to know what design limitations we were working within and what common design patterns looked like for the CVS team.
Led by CVS's UX team
CVS's UX team provided us with their notes from the first round of usability tests.
Participants between the ages of 18 and 65
Rio SEO
CVS
Overall users found the Rio SEO designs easy to use, but preferred the bright visual aspects of the CVS designs.
As such, the CVS UX team worked through iterations on those designs internally and
once finalized they provided them to the Rio SEO development team for implementation.
Shortly after the usability tests wrapped up, I moved on to a new role outside of Rio SEO and was unable to see this project through to launch.
As a 3rd party, there were a few challenges we faced when working through this project with the client, most of which were surrounding differences in procedures.
This project allowed me to work with a very talented UX team with the same end goal as my own; simplify the messaging and alleviate confusion for their users about when they can come in to a clinic. I'm proud of the process we worked through as a team and hope our blended ideas will serve the user well and that Rio SEO and CVS will continue to partner to improve this offering.


PENTECOST SUNDAY
Vigil Mass (Mass during the Day)
ENTRANCE ANTIPHON
The love of God has been poured into our hearts through the Spirit of God dwelling within us, alleluia.
The GLORIA is said. (English, Latin)
COLLECT
Almighty
ever-living God, who willed the Paschal Mystery to be encompassed as a sign in
fifty days, grant that from out of the scattered nations the confusion of many
tongues may be gathered by heavenly grace into one great confession of your
name. Through our Lord Jesus Christ, your Son, who lives and reigns with you in
the unity of the Holy Spirit, one God, for ever and ever.
Or:
Grant, we
pray, almighty God, that the splendour of your glory may shine forth upon us
and that, by the bright rays of the Holy Spirit, the light of your light may
confirm the hearts of those born again by your grace. Through our Lord Jesus
Christ, your Son, who lives and reigns with you in the unity of the Holy
Spirit, one God, for ever and ever.
The
PROFESSION OF FAITH (Creed) is
said. (English, Latin)
PRAYER OVER THE OFFERINGS
Pour out upon these gifts the blessing of your Spirit, we pray, O Lord, so that through them your Church may be imbued with such love that the truth of your saving mystery may shine forth for the whole world. Through Christ our Lord.
When
Eucharistic Prayer I is used, the special Pentecost form of In communion with those is said.
COMMUNION ANTIPHON
On the last day of the festival, Jesus stood and cried out: If anyone is thirsty, let him come to me and drink, alleluia.
PRAYER AFTER COMMUNION
May these
gifts we have consumed benefit us, O Lord, that we may always be aflame with
the same Spirit, whom you wondrously poured out on your Apostles. Through
Christ our Lord.
ENTRANCE ANTIPHON
The Spirit
of the Lord has filled the whole world and that which contains all things
understands what is said, alleluia.
Or:
The love of
God has been poured into our hearts through the Spirit of God dwelling within
us, alleluia.
The GLORIA is said. (English, Latin)
COLLECT
O God, who
by the mystery of today’s great feast sanctify your whole Church in every
people and nation, pour out, we pray, the gifts of the Holy Spirit across the
face of the earth and, with the divine grace that was at work when the Gospel
was first proclaimed, fill now once more the hearts of believers. Through our
Lord Jesus Christ, your Son, who lives and reigns with you in the unity of the
Holy Spirit, one God, for ever and ever.
The
PROFESSION OF FAITH (Creed) is
said. (English, Latin)
PRAYER OVER THE OFFERINGS
Grant, we pray, O Lord, that, as promised by your Son, the Holy Spirit may reveal to us more abundantly the hidden mystery of this sacrifice and graciously lead us into all truth. Through Christ our Lord.
When
Eucharistic Prayer I is used, the special Pentecost form of In communion with those is said.
COMMUNION ANTIPHON
They were all filled with the Holy Spirit and spoke of the marvels of God, alleluia.
PRAYER AFTER COMMUNION
O God, who bestow heavenly gifts upon your Church, safeguard, we pray, the grace you have given, that the gift of the Holy Spirit poured out upon her may retain all its force and that this spiritual food may gain her abundance of eternal redemption. Through Christ our Lord.
A
formula of Solemn Blessing may be used:
May God, the Father of lights, who was pleased to enlighten the disciples’ minds by the outpouring of the Spirit, the Paraclete, grant you gladness by his blessing and make you always abound with the gifts of the same Spirit. R. Amen.
May the wondrous flame that appeared above the disciples, powerfully cleanse your hearts from every evil and pervade them with its purifying light. R. Amen.
And
may God, who has been pleased to unite many tongues in the profession of one
faith, give you perseverance in that same faith and, by believing, may you
journey from hope to clear vision. R. Amen.
And
may the blessing of almighty God, the Father, and the Son, and the Holy Spirit,
come down on you and remain with you for ever. R. Amen.


|
Generated by JDiff |
|||||||
| PREV PACKAGE NEXT PACKAGE FRAMES NO FRAMES | DETAIL: REMOVED | ADDED | CHANGED |
| Removed Classes and Interfaces | |
|
|
This interface is used to implement classes that can perform both Load and Store functionalities in a symmetric fashion (thus reversible). |
|
|
A grouping of data on that can be processed individually by Pig. |
|
|
Produces independent slices of data from a given location to be processed in parallel by Pig. |
|
|
A Class which will encapsulate metadata information that a OutputFormat (or possibly StoreFunc) may want to know about the data that needs to be stored. |
| Added Classes and Interfaces | |
|
|
|
|
|
This interface implemented by LoadFunc implementations indicates to Pig that it has the capability to load data such that all instances of a key will occur in same split. |
|
|
A class to communicate Filter expressions to LoadFuncs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This class provides an implementation of OrderedLoadFunc interface which can be optionally re-used by LoadFuncs that use FileInputFormat by having this as a super class |
|
|
This class can be used to represent a relative position in a file. |
|
|
This class is intended for use by LoadFunc implementations which have an internal index for sorted data and can use the index to support merge join in pig. |
|
|
|
|
|
This interface defines how to retrieve metadata related to data to be loaded. |
|
|
This interface defines how to communicate to Pig what functionality can be pushed into the loader. |
|
|
Set of possible operations that Pig can push down to a loader. |
|
|
|
|
|
|
|
|
|
|
|
Implementing this interface indicates to Pig that a given loader can be used for MergeJoin. |
|
|
The following enum will contain the general counters that pig uses. |
|
|
|
|
|
The interface used for the custom mapping of a Tuple to a byte array. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A class representing information about a sort column in SortInfo |
|
|
|
|
|
Class to communicate sort column information based on order by statment's sort columns and schema |
|
|
This interface is used to implement functions to write records from a dataset. |
|
|
This interface defines how to write metadata related to data to be loaded. |
|
|
The interface used for the custom mapping of a byte array received from the stdout of the streaming process to a Tuple This interface together with PigToStream is designed to provide a common protocol for data exchange between Pig runtime and streaming executables. |
| Changed Classes | |
|
|
Class to represent a UDF specification - essentially encapsulates the class name and the arguments to the constructor |
|
|
LoadFunc provides functions directly associated with reading records from data set. |
|
|
This class is the program's connection to Pig. |
|
|
An enum to enumerate the warning types in Pig |
|
|
This abstract class is used to implement functions to write records from a dataset. |
|
||||||||
| PREV PACKAGE NEXT PACKAGE FRAMES NO FRAMES |


A paragraph with bold text with italic words plus some using both.
A paragraph with bold text with italic words plus some using both.
A paragraph with bold text with italic words
plus some using both.
A paragraph with bold text with italic words plus some using both.
A paragraph with bold text with bold italic text and italic words plus some using both.
Some preformatted how it'll do with this, plus some line breaks
| one | two |
| one | two |


@!attribute [r] #full_name
@return [String] The fully qualified module name
# File lib/r10k/module/forge.rb, line 15 def self.implement?(name, args) !!(name.match %r[\w+/\w+]) end
# File lib/r10k/module/forge.rb, line 35 def initialize(full_name, basedir, args) @full_name = full_name @basedir = basedir @author, @name = full_name.split('/') @full_path = Pathname.new(File.join(@basedir, @name)) @metadata = R10K::Module::Metadata.new(@full_path + 'metadata.json') if args.is_a? String @expected_version = R10K::SemVer.new(args) elsif args.is_a? Symbol and args == :latest @expected_version = args end end
@return [R10K::SemVer] The version of the currently installed module
# File lib/r10k/module/forge.rb, line 73 def current_version @metadata.version end
# File lib/r10k/module/forge.rb, line 79 def exist? @full_path.exist? end
@return [R10K::SemVer] The expected version that the module
# File lib/r10k/module/forge.rb, line 64 def expected_version if @expected_version == :latest set_version_from_forge end @expected_version end
# File lib/r10k/module/forge.rb, line 83 def insync? status == :insync end
@deprecated
# File lib/r10k/module/forge.rb, line 26 def owner logger.warn "#{self.inspect}#owner is deprecated; use #author instead" @author end
Determine the status of the forge module.
@return [Symbol] :absent If the directory doesn't exist @return [Symbol] :mismatched If the module is not a forge module, or
isn't the right forge module
@return [Symbol] :outdated If the installed module is older than expected @return [Symbol] :insync If the module is in the desired state
# File lib/r10k/module/forge.rb, line 94 def status if not self.exist? # The module is not installed return :absent elsif not @metadata.exist? # The directory exists but doesn't have a metadata file; it probably # isn't a forge module. return :mismatched end # The module is present and has a metadata file, read the metadata to # determine the state of the module. @metadata.read if not @author == @metadata.author # This is a forge module but the installed module is a different author # than the expected author. return :mismatched end if expected_version && (expected_version != @metadata.version) return :outdated end return :insync end
# File lib/r10k/module/forge.rb, line 52 def sync(options = {}) case status when :absent install when :outdated upgrade when :mismatched reinstall end end
# File lib/r10k/module/forge.rb, line 123 def install FileUtils.mkdir @basedir unless File.directory? @basedir cmd = [] cmd << 'install' cmd << "--version=#{expected_version}" if expected_version cmd << "--force" cmd << @full_name pmt cmd end
Wrap puppet module commands
@param argv [Array<String>]
@return [String] The stdout from the executed command
# File lib/r10k/module/forge.rb, line 156 def pmt(argv) argv = ['puppet', 'module', '--modulepath', @basedir] + argv subproc = R10K::Util::Subprocess.new(argv) subproc.raise_on_fail = true subproc.logger = self.logger result = subproc.execute result.stdout end
# File lib/r10k/module/forge.rb, line 146 def reinstall uninstall install end
# File lib/r10k/module/forge.rb, line 168 def set_version_from_forge repo = R10K::ModuleRepository::Forge.new expected = repo.latest_version(@full_name) @expected_version = R10K::SemVer.new(expected) end
# File lib/r10k/module/forge.rb, line 142 def uninstall FileUtils.rm_rf full_path end
# File lib/r10k/module/forge.rb, line 133 def upgrade cmd = [] cmd << 'upgrade' cmd << "--version=#{expected_version}" if expected_version cmd << "--force" cmd << @full_name pmt cmd end


4.118 Creative Computation
Instructor: Axel Kilian
Spring 2020
How can we make unfamiliar spaces more comfortable for people? The vast majority of architecture is immobile, blind, deaf, and mute. But what if it starts to sense things and move? Technological advances in motors, controls, sensing, computational power, and digital memory enable architecture to expand beyond its traditional limits. Architecture can begin to take an active role in shaping people’s conception of space. Space is no longer indifferent to the people who inhabit it.
The agenda of these objects was to bring joy and a sense of ownership to a person in an unfamiliar situation, through a sequence of human and object interactions. First, physical prototypes explored formal and material characteristics that would precipitate comfort, and then actuation using motors allowed the objects to respond physically to human input. Lastly, a computer simulation of a larger scale door that incorporated time and memory abilities was made based on lessons from the physical prototypes.
A computer simulation of a spiky door was created using the Kangaroo plugin for Grasshopper, which approximated the elastic properties of silicone rubber. The spiky door was oval and two meters tall. It was covered in spikes that were twenty centimeters long. In the simulation, the actuation force was a changing gravity load on the mesh in the y-direction.
The computer simulation approached the agenda of creating joy and comfort in an unfamiliar space differently than the physical prototypes. It aimed to incorporate more varied behavior and memory.
This resulted in a simulated elastic door that first thrashed menacingly at the person when they entered the activation zone but then rewarded the person for remaining within that zone by calming down and opening so they can pass. The key component here is that investment in time and risk taking can build trust once behavior patterns are understood.
The door had three states: (1) State 1 “neutral” where the door was closed and still; (2) State 2 “agitated” where the door would continuously lunge toward the person; (3) State 3 “open” where the door would open to let the person pass. (Figure 6).


Parse and Analyze Crawl Logs in a Dataframe (experimental)¶
While crawling with the crawl()
function, the process produces logs for
every page crawled, scraped, redirected, and even blocked by robots.txt rules.
By default, those logs are can be seen on the command line as their default destination is stdout.
A good practice is to set a LOG_FILE
so you can save those logs to a text
file, and review them later. There are several reasons why you might want to do
that:
Blocked URLs: The crawler obeys robots.txt rules by default, and when it encounters pages that it shouldn't crawl, it doesn't. However, this is logged as an event, and you can easily extract a list of blocked URLs from the logs.
Crawl errors: You might also get some errors while crawling, and it can be interesting to know which URLs generated errors.
Filtered pages: Those are pages that were discovered but weren't crawled because they are not a sub-domain of the provided url_list, or happen to be on external domains altogether.
This can simply be done by specifying a file name through the optional
custom_settings parameter of crawl
:
>>> import advertools as adv
>>> adv.crawl('https://example.com',
output_file='example.jl',
follow_links=True,
custom_settings={'LOG_FILE': 'example.log'})
If you run it this way, all logs will be saved to the file you chose, example.log in this case.
Now, you can use the crawllogs_to_df()
function to open the logs in a
DataFrame:
>>> import pandas as pd
>>> logs_df = pd.read_csv('example.log')
The DataFrame might contain the following columns:
time: The timestamp for the process
middleware: The middleware responsible for this process, whether it is the core engine, the scraper, error handler and so on.
level: The logging level (DEBUG, INFO, etc.)
message: A single word summarizing what this row represents, "Crawled", "Scraped", "Filtered", and so on.
domain: The domain name of filtered (not crawled pages) typically for URLs outside the current website.
method: The HTTP method used in this process (GET, PUT, etc.)
url: The URL currently under process.
status: HTTP status code, 200, 404, etc.
referer: The referring URL, where applicable.
method_to: In redirect rows the HTTP method used to crawl the URL going to.
redirect_to: The URL redirected to.
method_from: In redirect rows the HTTP method used to crawl the URL coming from.
redirect_from: The URL redirected from.
blocked_urls: The URLs that were not crawled due to robots.txt rules.
-
crawllogs_to_df
(logs_file_path)[source]¶ Convert a crawl logs file to a DataFrame.
An interesting option while using the
crawl
function, is to specify a destination file to save the logs of the crawl process itself. This contains additional information about each crawled, scraped, blocked, or redirected URL.What you would most likely use this for is to get a list of URLs blocked by robots.txt rules. These can be found und the column
blocked_urls
. Crawling errors are also interesting, and can be found in rows wheremessage
is equal to "error".>>> import advertools as adv >>> adv.crawl('https://example.com', output_file='example.jl', follow_links=True, custom_settings={'LOG_FILE': 'example.log'}) >>> logs_df = adv.crawl_logs_to_df('example.log')
- Parameters
logs_file_path (str) -- The path to the logs file.
- Returns DataFrame crawl_logs_df
A DataFrame summarizing the logs.


Red-yellow - Hydroxy ion or Nucleophile...
Pink - Leaving group
Structure - Electrophile
The SN2 reaction - A Nucleophilic Substitution in which the Rate Determining Step involves 2 components.
-SN2 reactions are bimolecular with simultaneous bond-making and bond-breaking steps.
-SN2 reactions do not proceed via an intermediate.
-SN2 reactions give inversion of stereochemistry at the reaction centre.
-Steric effects are particularly important in SN2 reactions.


@@include('includes/code-examples/content/signup.html')
By creating an account you agree to the Terms of use.
Already have an account? Sign in


Only Kejriwal will ensure regularisation, says AAP
BJP, Congress accused of falsehood
by Staff ReporterReacting to accusations launched by Housing and Urban Affairs Minister Hardeep Singh Puri on Saturday, AAP national spokesperson Raghav Chadha said that Chief Minister Arvind Kejriwal alone wants the regularisation of unauthorised colonies.
Before the 2008 election, Congress had distributed provisional certificates to residents of unauthorised colonies, said Mr. Chadha. Following the footsteps of Congress, the BJP is now distributing website addresses to residents. Both these steps were fraudulent and taken just to cheat people, he added.
“It is our promise to the people that Mr. Kejriwal will not stop making efforts till regularisation is done. The falsehood and the fraud of the BJP with the residents of unauthorised colonies will not be entertained any further. Only Mr. Kejriwal can get regularisation of unauthorised colonies done and people know it,” said Mr. Chadha.


Review of: LONE STAR (1996)
Review written: 1/25/98 Copyright 1998 Afterburner Email me at<EMAIL_ADDRESS>Rating (out of 10): 8
-----
I had trouble watching LONE STAR (1996), but it was through no fault of the movie. Rather, I discovered that I've been conditioned by Hollywood to expect a more-or-less direct line between the introduction of the conflict and the resolution of that conflict.
But LONE STAR doesn't take a direct line from beginning to end. It meanders. John Sayles doesn't want to just tell you the story of a skeleton dug up in the desert; he wants to give you a slice of life of the town in which the story takes place. And he does so masterfully.
The primary plot involves Sheriff Sam Deeds (Chris Cooper) trying to unravel the mystery of a skeleton found buried in the desert near Frontera, Texas. The skeleton is that of Charlie Wade (Kris Kristofferson), a brutal and corrupt Sheriff of the same county who disappeared over 30 years ago. The disappearance happened the same night Wade was threatened by a new deputy, Buddy Deeds (Matthew MacConaughey), who refused to partake of the Sheriff's corrupt activities. Buddy then went on to become a wildly popular Sheriff in his own right, and Sam lives under the long shadow cast by his father.
Intermingled with the main story arc are several subplots. A young Mexican worker attempts to get his relatives illegally across the border; a by-the-book Colonel of a nearby Army base attempts to come to grips with the fact that his estranged father lives in Frontera; a shooting at a nearby bar leads the Colonel to increase the frequency of random drug tests, which may put a young private at risk. These stories and more are weaved skillfully into the fabric of the movie, and many are never resolved. In the hands of a lesser writer/director, these segments would be distracting. Sayles, however, manages to give them purpose despite their irrelevancy to the central plot, and we find ourselves engrossed in the lives of this small Texas border town.
Solid acting is seen throughout the movie. Kristofferson exudes malignancy as the corrupt Wade. Frances McDormand makes a brief but wonderful appearance as Sam Deeds' "tightly-wound," football-crazed ex-wife. And Cooper is perfectly understated as the not-quite-sure-of-himself Sheriff, trying to escape his father's legendary status.
To be fair, there are some flaws in the movie. For instance, as the payoff was building to its climax, I found myself thinking "If Buddy Deeds *did* kill Charlie Wade, I'm going to be disappointed because it was so obviously him. And if he didn't, I'm going to be disappointed because it's so obviously him that it *couldn't* be him." A more subtle approach could have heightened the mystery (and thus the enjoyment of the movie) that much more.
Also, the cutaways between the present and the past are done seamlessly. Instead of a fade, or other traditional flashback sequences, the camera simply pans across the scene. When the pan starts, the action is in one time frame, and when it ends, the action is in another. While this was a novelty at first, I confess to being distracted by it later in the movie.
Finally, throughout the movie, Sam Deeds' desire to prove that his father was a murderer seems completely out of proportion to any indications of Buddy Deeds' personality. Buddy Deeds seems to be a genuinely honest and caring man, well deserving of his reputation. Aside from the resentment at having a legend for a father, we're given no motivation for Sam's exceptionally hostile attitude towards Buddy, and I found myself increasingly confused by this hostility as the movie progressed.
But these are ultimately minor points. The movie is well worth watching, and I highly recommend it. Especially to those folks like myself who need to wean ourselves away from more conventional Hollywood fare.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Date: 04/22/20
From: Human Resources
Subject: Washable and Preventive Masks
In the likelihood that our various States and/or Counties may require the use of personal preventive masks
while out in public, RTP Company sought out a local manufacturer to make
personal, washable, preventive masks as a benefit for each of our employees.
These masks are non-medical grade and are not personal protective equipment (PPE) and cannot replace the
required N95 masks or respirators when working in areas that require such.
The masks are reusable and launderable with general laundry detergent (no bleach). The material is tightly
woven with a high-end anti-microbial material and an elastic band to firmly
fit the mask around one’s face and nose.
These masks should arrive by Monday, April 27, 2020 and we will begin distribution to the various US
facilities and departments upon arrival. Employees are welcome to pick up a
courtesy mask from their plant manager or department manager. Employees may also choose to make their own masks.
Please see attached flyer from CDC on how to make your own
masks with t-shirt or bandana material.
Thank you and please continue to adhere to social distancing efforts as we fight this pandemic.


Since we first opened in 1985, our ovens have been baking fresh cookies all day every day. We now have over 90 stores across the UK and in each of our kitchens you'll find a wide range of cookie treats, all made with Millie’s know-how by our friendly team.
22 years ago, I started Internet Marketing Ninjas and today we employ nearly 50 Ninjas totaling 450 years experience across the team. We specialize in creating and marketing content that earns trusted backlinks, better rankings, and more SEO traffic for our clients.


There were no results found for your search.
Please check that you have entered the correct application reference and that a booking has been made.
You can't rekey this test as it has already been submitted.
Please check and try again.


Structurex
Home
Sorting
Searching
Path Finding
Graph
MORE
Sieve Of Eratosthenes
JavaScript Based Data Structure & Algorithm Visualizer
Algorithm Visualizer is an interactive online platform that visualizes algorithms from the code. Making your work way more easier
Sorting
Bubble Sort
Insertion Sort
Selection Sort
Merge Sort
Quick Sort
Searching
Linear Search
Binary Search


{% extends "registration/registration_base.html" %} {% load i18n %}{% load bootstrap %} {% block title %}{% trans "Register for an account" %}{% endblock %} {% block content %}
{% trans "You can easily test the service and see what you get." %}
{% trans "Just directly log in as:" %}
{% blocktrans trimmed %} Note: if that doesn't work, the service administrator did not set up the test account yet or discontinued offering it. In that case, you can still just register a new account. {% endblocktrans %}
{% blocktrans trimmed %} Any data (hosts, domains, ...) entered using the test account might be removed at any time and without prior notice. {% endblocktrans %}
{% blocktrans trimmed %} So if you'ld like your stuff to stay, please register for a regular account after finishing your initial evaluation. {% endblocktrans %}
{% blocktrans trimmed %}
Username: should be related to your person or organisation
(not: to the host(s) you want to register).
E-Mail address: must be a working one, we'll send you an activation E-Mail there.
Password: please use a sane one, we trust you.
{% endblocktrans %}


| Figure 1 |
Study design: Experimental crosses plus selection to test fo ... |
| Figure 2 |
Median lethal temperatures ( LT 50) for male and female Tigr ... |
| Figure 3 |
Median lethal temperatures ( LT 50) for male and female Tigr ... |
| Figure 4 |
Mean fecundity (larvae per day, ± SE) for female Tigriopus c ... |
| Figure 5 |
Per‐day mortality rates for adult female Tigriopus californi ... |
| Figure 6 |
Venn diagram showing number of differentially expressed tran ... |


Within the journey of this research I realized that there are many different approaches on the emotion of fear and I came to understand the complexity of it. In the beginning I struggled to grasp the various points of views from academic writings and scientists and I got lost within these complex ideas. I decided that the academic point of views on this topic become quickly too complicated and therefore more unimportant. So I managed to keep this part of my thesis rather short and tried to write about more personal and raw ideas on the topic, which came mainly from my findings of the broad visual research. I am very happy that the children’s drawings and ideas became such a big part of this piece of writing and that I could give them their deserved space within this thesis.
“As an artist you can say that something means this and something
means that, so what is real? If nothing is true, everything is true.”
(J. Hedva, personal communication, December 10, 2020)
The older you get, the more experience you have, the more abstract and untouchable your fears become. There is the four year old child who is afraid of the big dog or the bee that stings. But there is the senior who is afraid of loneliness and loss, complex untouchable stages of life.
Fear has many different shapes. Fear takes multiple forms. Fear has no boundaries. Fear is real and illusion at the same time.
Within the course of this thesis I came to understand that there is not one true meaning of fear, more-so there are many. These ideas on fears have each been constructed within their specific context, traditions, cultures, places and people. Different people can be afraid or unafraid of the same thing, depending on their context, personality and background, seeing that fear is such a subjective and personal emotion. As they are developed they are being formed or unformed by those conditions and imposed power structures.
As Plato correctly stated: “ignorance is the root of misfortune” 31 , and as long as we remain naive towards the evidence that those who claim and assure us that they are protecting us, are actually using this powerful emotion of fear for their own benefit, then we continue to be a part of our world through our ignorant conformity.


| 1 | /* | |
| 2 | * Copyright 2001-2010 Stephen Colebourne | |
| 3 | * | |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | * you may not use this file except in compliance with the License. | |
| 6 | * You may obtain a copy of the License at | |
| 7 | * | |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | * | |
| 10 | * Unless required by applicable law or agreed to in writing, software | |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | * See the License for the specific language governing permissions and | |
| 14 | * limitations under the License. | |
| 15 | */ | |
| 16 | package org.joda.time; | |
| 17 | ||
| 18 | import org.joda.convert.FromString; | |
| 19 | import org.joda.convert.ToString; | |
| 20 | import org.joda.time.base.BaseSingleFieldPeriod; | |
| 21 | import org.joda.time.field.FieldUtils; | |
| 22 | import org.joda.time.format.ISOPeriodFormat; | |
| 23 | import org.joda.time.format.PeriodFormatter; | |
| 24 | ||
| 25 | /** | |
| 26 | * An immutable time period representing a number of months. | |
| 27 | *
 | |
| 28 | * Months is an immutable period that can only store months. | |
| 29 | * It does not store years, days or hours for example. As such it is a | |
| 30 | * type-safe way of representing a number of months in an application. | |
| 31 | *
 | |
| 32 | * The number of months is set in the constructor, and may be queried using | |
| 33 | * getMonths(). Basic mathematical operations are provided - | |
| 34 | * plus(), minus(), multipliedBy() and | |
| 35 | * dividedBy(). | |
| 36 | *
 | |
| 37 | * Months is thread-safe and immutable. | |
| 38 | * | |
| 39 | * @author Stephen Colebourne | |
| 40 | * @since 1.4 | |
| 41 | */ | |
| 42 | public final class Months extends BaseSingleFieldPeriod { | |
| 43 | ||
| 44 | /** Constant representing zero months. */ | |
| 45 | public static final Months ZERO = new Months(0); | |
| 46 | /** Constant representing one month. */ | |
| 47 | public static final Months ONE = new Months(1); | |
| 48 | /** Constant representing two months. */ | |
| 49 | public static final Months TWO = new Months(2); | |
| 50 | /** Constant representing three months. */ | |
| 51 | public static final Months THREE = new Months(3); | |
| 52 | /** Constant representing four months. */ | |
| 53 | public static final Months FOUR = new Months(4); | |
| 54 | /** Constant representing five months. */ | |
| 55 | public static final Months FIVE = new Months(5); | |
| 56 | /** Constant representing six months. */ | |
| 57 | public static final Months SIX = new Months(6); | |
| 58 | /** Constant representing seven months. */ | |
| 59 | public static final Months SEVEN = new Months(7); | |
| 60 | /** Constant representing eight months. */ | |
| 61 | public static final Months EIGHT = new Months(8); | |
| 62 | /** Constant representing nine months. */ | |
| 63 | public static final Months NINE = new Months(9); | |
| 64 | /** Constant representing ten months. */ | |
| 65 | public static final Months TEN = new Months(10); | |
| 66 | /** Constant representing eleven months. */ | |
| 67 | public static final Months ELEVEN = new Months(11); | |
| 68 | /** Constant representing twelve months. */ | |
| 69 | public static final Months TWELVE = new Months(12); | |
| 70 | /** Constant representing the maximum number of months that can be stored in this object. */ | |
| 71 | public static final Months MAX_VALUE = new Months(Integer.MAX_VALUE); | |
| 72 | /** Constant representing the minimum number of months that can be stored in this object. */ | |
| 73 | public static final Months MIN_VALUE = new Months(Integer.MIN_VALUE); | |
| 74 | ||
| 75 | /** The parser to use for this class. */ | |
| 76 | private static final PeriodFormatter PARSER = ISOPeriodFormat.standard().withParseType(PeriodType.months()); | |
| 77 | /** Serialization version. */ | |
| 78 | private static final long serialVersionUID =<PHONE_NUMBER>7380867L; | |
| 79 | ||
| 80 | //----------------------------------------------------------------------- | |
| 81 | /** | |
| 82 | * Obtains an instance of Months that may be cached. | |
| 83 | * Months is immutable, so instances can be cached and shared. | |
| 84 | * This factory method provides access to shared instances. | |
| 85 | * | |
| 86 | * @param months the number of months to obtain an instance for | |
| 87 | * @return the instance of Months | |
| 88 | */ | |
| 89 | public static Months months(int months) { | |
| 90 | switch (months) { | |
| 91 | case 0: | |
| 92 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return ZERO; |
| 93 | case 1: | |
| 94 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return ONE; |
| 95 | case 2: | |
| 96 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return TWO; |
| 97 | case 3: | |
| 98 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return THREE; |
| 99 | case 4: | |
| 100 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return FOUR; |
| 101 | case 5: | |
| 102 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return FIVE; |
| 103 | case 6: | |
| 104 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return SIX; |
| 105 | case 7: | |
| 106 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return SEVEN; |
| 107 | case 8: | |
| 108 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return EIGHT; |
| 109 | case 9: | |
| 110 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return NINE; |
| 111 | case 10: | |
| 112 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return TEN; |
| 113 | case 11: | |
| 114 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return ELEVEN; |
| 115 | case 12: | |
| 116 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return TWELVE; |
| 117 | case Integer.MAX_VALUE: | |
| 118 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return MAX_VALUE; |
| 119 | case Integer.MIN_VALUE: | |
| 120 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return MIN_VALUE; |
| 121 | default: | |
| 122 |
1
1. months : mutated return of Object value for org/joda/time/Months::months to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return new Months(months); |
| 123 | } | |
| 124 | } | |
| 125 | ||
| 126 | //----------------------------------------------------------------------- | |
| 127 | /** | |
| 128 | * Creates a Months representing the number of whole months | |
| 129 | * between the two specified datetimes. This method corectly handles | |
| 130 | * any daylight savings time changes that may occur during the interval. | |
| 131 | * | |
| 132 | * @param start the start instant, must not be null | |
| 133 | * @param end the end instant, must not be null | |
| 134 | * @return the period in months | |
| 135 | * @throws IllegalArgumentException if the instants are null or invalid | |
| 136 | */ | |
| 137 | public static Months monthsBetween(ReadableInstant start, ReadableInstant end) { | |
| 138 | int amount = BaseSingleFieldPeriod.between(start, end, DurationFieldType.months()); | |
| 139 |
1
1. monthsBetween : mutated return of Object value for org/joda/time/Months::monthsBetween to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(amount); |
| 140 | } | |
| 141 | ||
| 142 | /** | |
| 143 | * Creates a Months representing the number of whole months | |
| 144 | * between the two specified partial datetimes. | |
| 145 | *
 | |
| 146 | * The two partials must contain the same fields, for example you can specify | |
| 147 | * two LocalDate objects. | |
| 148 | * | |
| 149 | * @param start the start partial date, must not be null | |
| 150 | * @param end the end partial date, must not be null | |
| 151 | * @return the period in months | |
| 152 | * @throws IllegalArgumentException if the partials are null or invalid | |
| 153 | */ | |
| 154 | public static Months monthsBetween(ReadablePartial start, ReadablePartial end) { | |
| 155 |
2
1. monthsBetween : negated conditional → NO_COVERAGE 2. monthsBetween : negated conditional → NO_COVERAGE |
if (start instanceof LocalDate && end instanceof LocalDate) { |
| 156 | Chronology chrono = DateTimeUtils.getChronology(start.getChronology()); | |
| 157 | int months = chrono.months().getDifference( | |
| 158 | ((LocalDate) end).getLocalMillis(), ((LocalDate) start).getLocalMillis()); | |
| 159 |
1
1. monthsBetween : mutated return of Object value for org/joda/time/Months::monthsBetween to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(months); |
| 160 | } | |
| 161 | int amount = BaseSingleFieldPeriod.between(start, end, ZERO); | |
| 162 |
1
1. monthsBetween : mutated return of Object value for org/joda/time/Months::monthsBetween to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(amount); |
| 163 | } | |
| 164 | ||
| 165 | /** | |
| 166 | * Creates a Months representing the number of whole months | |
| 167 | * in the specified interval. This method corectly handles any daylight | |
| 168 | * savings time changes that may occur during the interval. | |
| 169 | * | |
| 170 | * @param interval the interval to extract months from, null returns zero | |
| 171 | * @return the period in months | |
| 172 | * @throws IllegalArgumentException if the partials are null or invalid | |
| 173 | */ | |
| 174 | public static Months monthsIn(ReadableInterval interval) { | |
| 175 |
1
1. monthsIn : negated conditional → NO_COVERAGE |
if (interval == null) { |
| 176 |
1
1. monthsIn : mutated return of Object value for org/joda/time/Months::monthsIn to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.ZERO; |
| 177 | } | |
| 178 | int amount = BaseSingleFieldPeriod.between(interval.getStart(), interval.getEnd(), DurationFieldType.months()); | |
| 179 |
1
1. monthsIn : mutated return of Object value for org/joda/time/Months::monthsIn to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(amount); |
| 180 | } | |
| 181 | ||
| 182 | /** | |
| 183 | * Creates a new Months by parsing a string in the ISO8601 format 'PnM'. | |
| 184 | *
 | |
| 185 | * The parse will accept the full ISO syntax of PnYnMnWnDTnHnMnS however only the | |
| 186 | * months component may be non-zero. If any other component is non-zero, an exception | |
| 187 | * will be thrown. | |
| 188 | * | |
| 189 | * @param periodStr the period string, null returns zero | |
| 190 | * @return the period in months | |
| 191 | * @throws IllegalArgumentException if the string format is invalid | |
| 192 | */ | |
| 193 | @FromString | |
| 194 | public static Months parseMonths(String periodStr) { | |
| 195 |
1
1. parseMonths : negated conditional → NO_COVERAGE |
if (periodStr == null) { |
| 196 |
1
1. parseMonths : mutated return of Object value for org/joda/time/Months::parseMonths to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.ZERO; |
| 197 | } | |
| 198 | Period p = PARSER.parsePeriod(periodStr); | |
| 199 |
1
1. parseMonths : mutated return of Object value for org/joda/time/Months::parseMonths to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(p.getMonths()); |
| 200 | } | |
| 201 | ||
| 202 | //----------------------------------------------------------------------- | |
| 203 | /** | |
| 204 | * Creates a new instance representing a number of months. | |
| 205 | * You should consider using the factory method {@link #months(int)} | |
| 206 | * instead of the constructor. | |
| 207 | * | |
| 208 | * @param months the number of months to represent | |
| 209 | */ | |
| 210 | private Months(int months) { | |
| 211 | super(months); | |
| 212 | } | |
| 213 | ||
| 214 | /** | |
| 215 | * Resolves singletons. | |
| 216 | * | |
| 217 | * @return the singleton instance | |
| 218 | */ | |
| 219 | private Object readResolve() { | |
| 220 |
1
1. readResolve : mutated return of Object value for org/joda/time/Months::readResolve to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(getValue()); |
| 221 | } | |
| 222 | ||
| 223 | //----------------------------------------------------------------------- | |
| 224 | /** | |
| 225 | * Gets the duration field type, which is months. | |
| 226 | * | |
| 227 | * @return the period type | |
| 228 | */ | |
| 229 | public DurationFieldType getFieldType() { | |
| 230 |
1
1. getFieldType : mutated return of Object value for org/joda/time/Months::getFieldType to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return DurationFieldType.months(); |
| 231 | } | |
| 232 | ||
| 233 | /** | |
| 234 | * Gets the period type, which is months. | |
| 235 | * | |
| 236 | * @return the period type | |
| 237 | */ | |
| 238 | public PeriodType getPeriodType() { | |
| 239 |
1
1. getPeriodType : mutated return of Object value for org/joda/time/Months::getPeriodType to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return PeriodType.months(); |
| 240 | } | |
| 241 | ||
| 242 | //----------------------------------------------------------------------- | |
| 243 | /** | |
| 244 | * Gets the number of months that this period represents. | |
| 245 | * | |
| 246 | * @return the number of months in the period | |
| 247 | */ | |
| 248 | public int getMonths() { | |
| 249 |
1
1. getMonths : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return getValue(); |
| 250 | } | |
| 251 | ||
| 252 | //----------------------------------------------------------------------- | |
| 253 | /** | |
| 254 | * Returns a new instance with the specified number of months added. | |
| 255 | *
 | |
| 256 | * This instance is immutable and unaffected by this method call. | |
| 257 | * | |
| 258 | * @param months the amount of months to add, may be negative | |
| 259 | * @return the new period plus the specified number of months | |
| 260 | * @throws ArithmeticException if the result overflows an int | |
| 261 | */ | |
| 262 | public Months plus(int months) { | |
| 263 |
1
1. plus : negated conditional → NO_COVERAGE |
if (months == 0) { |
| 264 |
1
1. plus : mutated return of Object value for org/joda/time/Months::plus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this; |
| 265 | } | |
| 266 |
1
1. plus : mutated return of Object value for org/joda/time/Months::plus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(FieldUtils.safeAdd(getValue(), months)); |
| 267 | } | |
| 268 | ||
| 269 | /** | |
| 270 | * Returns a new instance with the specified number of months added. | |
| 271 | *
 | |
| 272 | * This instance is immutable and unaffected by this method call. | |
| 273 | * | |
| 274 | * @param months the amount of months to add, may be negative, null means zero | |
| 275 | * @return the new period plus the specified number of months | |
| 276 | * @throws ArithmeticException if the result overflows an int | |
| 277 | */ | |
| 278 | public Months plus(Months months) { | |
| 279 |
1
1. plus : negated conditional → NO_COVERAGE |
if (months == null) { |
| 280 |
1
1. plus : mutated return of Object value for org/joda/time/Months::plus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this; |
| 281 | } | |
| 282 |
1
1. plus : mutated return of Object value for org/joda/time/Months::plus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return plus(months.getValue()); |
| 283 | } | |
| 284 | ||
| 285 | //----------------------------------------------------------------------- | |
| 286 | /** | |
| 287 | * Returns a new instance with the specified number of months taken away. | |
| 288 | *
 | |
| 289 | * This instance is immutable and unaffected by this method call. | |
| 290 | * | |
| 291 | * @param months the amount of months to take away, may be negative | |
| 292 | * @return the new period minus the specified number of months | |
| 293 | * @throws ArithmeticException if the result overflows an int | |
| 294 | */ | |
| 295 | public Months minus(int months) { | |
| 296 |
1
1. minus : mutated return of Object value for org/joda/time/Months::minus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return plus(FieldUtils.safeNegate(months)); |
| 297 | } | |
| 298 | ||
| 299 | /** | |
| 300 | * Returns a new instance with the specified number of months taken away. | |
| 301 | *
 | |
| 302 | * This instance is immutable and unaffected by this method call. | |
| 303 | * | |
| 304 | * @param months the amount of months to take away, may be negative, null means zero | |
| 305 | * @return the new period minus the specified number of months | |
| 306 | * @throws ArithmeticException if the result overflows an int | |
| 307 | */ | |
| 308 | public Months minus(Months months) { | |
| 309 |
1
1. minus : negated conditional → NO_COVERAGE |
if (months == null) { |
| 310 |
1
1. minus : mutated return of Object value for org/joda/time/Months::minus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this; |
| 311 | } | |
| 312 |
1
1. minus : mutated return of Object value for org/joda/time/Months::minus to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return minus(months.getValue()); |
| 313 | } | |
| 314 | ||
| 315 | //----------------------------------------------------------------------- | |
| 316 | /** | |
| 317 | * Returns a new instance with the months multiplied by the specified scalar. | |
| 318 | *
 | |
| 319 | * This instance is immutable and unaffected by this method call. | |
| 320 | * | |
| 321 | * @param scalar the amount to multiply by, may be negative | |
| 322 | * @return the new period multiplied by the specified scalar | |
| 323 | * @throws ArithmeticException if the result overflows an int | |
| 324 | */ | |
| 325 | public Months multipliedBy(int scalar) { | |
| 326 |
1
1. multipliedBy : mutated return of Object value for org/joda/time/Months::multipliedBy to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(FieldUtils.safeMultiply(getValue(), scalar)); |
| 327 | } | |
| 328 | ||
| 329 | /** | |
| 330 | * Returns a new instance with the months divided by the specified divisor. | |
| 331 | * The calculation uses integer division, thus 3 divided by 2 is 1. | |
| 332 | *
 | |
| 333 | * This instance is immutable and unaffected by this method call. | |
| 334 | * | |
| 335 | * @param divisor the amount to divide by, may be negative | |
| 336 | * @return the new period divided by the specified divisor | |
| 337 | * @throws ArithmeticException if the divisor is zero | |
| 338 | */ | |
| 339 | public Months dividedBy(int divisor) { | |
| 340 |
1
1. dividedBy : negated conditional → NO_COVERAGE |
if (divisor == 1) { |
| 341 |
1
1. dividedBy : mutated return of Object value for org/joda/time/Months::dividedBy to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return this; |
| 342 | } | |
| 343 |
2
1. dividedBy : Replaced integer division with multiplication → NO_COVERAGE 2. dividedBy : mutated return of Object value for org/joda/time/Months::dividedBy to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(getValue() / divisor); |
| 344 | } | |
| 345 | ||
| 346 | //----------------------------------------------------------------------- | |
| 347 | /** | |
| 348 | * Returns a new instance with the months value negated. | |
| 349 | * | |
| 350 | * @return the new period with a negated value | |
| 351 | * @throws ArithmeticException if the result overflows an int | |
| 352 | */ | |
| 353 | public Months negated() { | |
| 354 |
1
1. negated : mutated return of Object value for org/joda/time/Months::negated to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return Months.months(FieldUtils.safeNegate(getValue())); |
| 355 | } | |
| 356 | ||
| 357 | //----------------------------------------------------------------------- | |
| 358 | /** | |
| 359 | * Is this months instance greater than the specified number of months. | |
| 360 | * | |
| 361 | * @param other the other period, null means zero | |
| 362 | * @return true if this months instance is greater than the specified one | |
| 363 | */ | |
| 364 | public boolean isGreaterThan(Months other) { | |
| 365 |
1
1. isGreaterThan : negated conditional → NO_COVERAGE |
if (other == null) { |
| 366 |
3
1. isGreaterThan : changed conditional boundary → NO_COVERAGE 2. isGreaterThan : negated conditional → NO_COVERAGE 3. isGreaterThan : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return getValue() > 0; |
| 367 | } | |
| 368 |
3
1. isGreaterThan : changed conditional boundary → NO_COVERAGE 2. isGreaterThan : negated conditional → NO_COVERAGE 3. isGreaterThan : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return getValue() > other.getValue(); |
| 369 | } | |
| 370 | ||
| 371 | /** | |
| 372 | * Is this months instance less than the specified number of months. | |
| 373 | * | |
| 374 | * @param other the other period, null means zero | |
| 375 | * @return true if this months instance is less than the specified one | |
| 376 | */ | |
| 377 | public boolean isLessThan(Months other) { | |
| 378 |
1
1. isLessThan : negated conditional → NO_COVERAGE |
if (other == null) { |
| 379 |
3
1. isLessThan : changed conditional boundary → NO_COVERAGE 2. isLessThan : negated conditional → NO_COVERAGE 3. isLessThan : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return getValue() < 0; |
| 380 | } | |
| 381 |
3
1. isLessThan : changed conditional boundary → NO_COVERAGE 2. isLessThan : negated conditional → NO_COVERAGE 3. isLessThan : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return getValue() < other.getValue(); |
| 382 | } | |
| 383 | ||
| 384 | //----------------------------------------------------------------------- | |
| 385 | /** | |
| 386 | * Gets this instance as a String in the ISO8601 duration format. | |
| 387 | *
 | |
| 388 | * For example, "P4M" represents 4 months. | |
| 389 | * | |
| 390 | * @return the value as an ISO8601 string | |
| 391 | */ | |
| 392 | @ToString | |
| 393 | public String toString() { | |
| 394 |
1
1. toString : mutated return of Object value for org/joda/time/Months::toString to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return "P" + String.valueOf(getValue()) + "M"; |
| 395 | } | |
| 396 | ||
| 397 | } | |
Mutations | ||
| 92 |
1.1 |
|
| 94 |
1.1 |
|
| 96 |
1.1 |
|
| 98 |
1.1 |
|
| 100 |
1.1 |
|
| 102 |
1.1 |
|
| 104 |
1.1 |
|
| 106 |
1.1 |
|
| 108 |
1.1 |
|
| 110 |
1.1 |
|
| 112 |
1.1 |
|
| 114 |
1.1 |
|
| 116 |
1.1 |
|
| 118 |
1.1 |
|
| 120 |
1.1 |
|
| 122 |
1.1 |
|
| 139 |
1.1 |
|
| 155 |
1.1 2.2 |
|
| 159 |
1.1 |
|
| 162 |
1.1 |
|
| 175 |
1.1 |
|
| 176 |
1.1 |
|
| 179 |
1.1 |
|
| 195 |
1.1 |
|
| 196 |
1.1 |
|
| 199 |
1.1 |
|
| 220 |
1.1 |
|
| 230 |
1.1 |
|
| 239 |
1.1 |
|
| 249 |
1.1 |
|
| 263 |
1.1 |
|
| 264 |
1.1 |
|
| 266 |
1.1 |
|
| 279 |
1.1 |
|
| 280 |
1.1 |
|
| 282 |
1.1 |
|
| 296 |
1.1 |
|
| 309 |
1.1 |
|
| 310 |
1.1 |
|
| 312 |
1.1 |
|
| 326 |
1.1 |
|
| 340 |
1.1 |
|
| 341 |
1.1 |
|
| 343 |
1.1 2.2 |
|
| 354 |
1.1 |
|
| 365 |
1.1 |
|
| 366 |
1.1 2.2 3.3 |
|
| 368 |
1.1 2.2 3.3 |
|
| 378 |
1.1 |
|
| 379 |
1.1 2.2 3.3 |
|
| 381 |
1.1 2.2 3.3 |
|
| 394 |
1.1 |


Installing OpenID plugin for MediaWiki
This post is about setting up your wiki such that their users access the wiki only via an OpenID provider login (e.g. Google or Facebook login). This post assumes MediaWiki is already installed.
Assumptions, prerequisites and requirements
All of what this blogpost says has been tried on an Ubuntu machine, but it
should work well on other Linux distros too (except for the apt-get
package
installs, for which you'll need to find alternatives on your favourite distro).
$IP
is assumed to be the root of your wiki directory (which in my case is
/var/www/wikis/<my_wiki>/
.
Install all the required packages for the plugin to work
sudo apt-get install php5-mcrypt php5-gmp
Installing the plugin
Get the source code for the extension into $IP/extensions
directory
cd extensions
git clone http://gerrit.wikimedia.org/r/p/mediawiki/extensions/OpenID.git
Check your mediawiki version by going to <your_wiki_URL>/index.php?title=Special:Version
. Say your version is 1.19.x.
Check out branch for the same version of OpenID code
git branch -a
git checkout -b stable_REL1_19 origin/REL1_19
Add this line at the end of LocalSettings.php file
require_once "$IP/extensions/OpenID/OpenID.php";
Now install Auth subdirectory as following:
cd $IP/extensions/OpenID
git clone http://github.com/openid/php-openid.git
mv php-openid/Auth Auth
rm -r php-openid
cd $IP
php maintenance/update.php --conf LocalSettings.php
Restart apache server
/etc/init.d/apache2 restart
Editing ‘Login required’ page.
By default, the main page of the wiki is not editable. Generally we would like to give some information to a user, e.g. what this wiki is all about, how to log into it, which OpenIDs are permitted, etc.
Now we'll give any registered user the ability to edit the protected pages and the
‘interface’ pages, of which our special login page is a part of. Add these lines
to $IP/LocalSettings.php
:
$wgGroupPermissions['user']['editprotected'] = true;
$wgGroupPermissions['user']['editinterface'] = true;
Now you can edit the <your_wiki_URL>/jiocloud/index.phpmediawiki:loginreqpagetext
page which is presented when the user is not logged in.
Other settings
Below you can see a snip of LocalSettings.php file, which contains many other fields which I used to customize my wiki. I allowed only the registered user an edit permission (which most of you would also want I guess). Also, I have disabled regular login, and made it mandatory users to login via only OpenID, and that too, only using their launchpad.net accounts (an issue tracking software from Canonical).
If you want to get more information regarding these (and more) configuration options, see this link.
# Disable reading by anonymous users
$wgGroupPermissions['*']['read'] = false;
# Disable anonymous editing too
$wgGroupPermissions['*']['edit'] = false;
# But allow them to access the OpenID login page or else there will be no way to log in!
$wgWhitelistRead = array ("Special:OpenIDLogin", "Special:OpenIDFinish",
"MediaWiki:Common.css", "MediaWiki:Common.js", "MediaWiki:Monobook.css",
"MediaWiki:Monobook.js", "-");
# For registered users, allow editing protected pages
$wgGroupPermissions['user']['editprotected'] = true;
$wgGroupPermissions['user']['editinterface'] = true;
# Only allow OpenIDs for login
$wgOpenIDLoginOnly = true;
$wgOpenIDOnly = true; # a value used with older versions. Optional
# Your wiki web URL
$wgOpenIDTrustRoot = "http://your.wiki.url.com/";
# By default, deny all OpenID
$wgOpenIDConsumerDenyByDefault = true;
# Then allow only launchpad.net OpenID (with and without HTTPS both)
$wgOpenIDConsumerAllow = array("@^(https://)?launchpad.net/@");
Troubleshooting
If there are troubles uploading a file via the MediaWiki web interface, go to the wiki directory on the server and chown the images
folder.
sudo chown -R www-data:www-data images/
Don't forget to comment if you find the information presented here is outdated, or is not working for you.
Cheers, Rushi


jQuery plugin to create a text box which can auto-complete and pull-down-select.
Type search words.
Shortcut key: Down
Shortcut key: Left, Right


$ARRR!!!
New #CRYPTO Approaching!
Keep an eye out (literally) for this SALE & you'll get to "Unlock This Chest" using #PirateChain !
To participate simply retweet!
Starting next week we will begin selecting winners!
Sail on @PirateChain!
*See store for details


You are in the right place to find all info about voting process
Congradulations on turning 18, are you ready to start voting?
Its great that you are being proactive, but lets celebrate you 18-year birthday first. Here you can find more info about voting:


Short description for file.
Long description for file
PHP versions 4 and 5
CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite> Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
Licensed under The Open Group Test Suite License Redistributions of files must retain the above copyright notice.
Documentation generated on Fri, 06 Nov 2009 10:53:59 +0900 by phpDocumentor 1.4.3


jquery.floatThead.js
-
test
for issue:
https://github.com/mkoryak/floatThead/issues/117
Issue #117
Safari + viewport + Twitter Bootstrap 2 CSS = truncated header. Cannot reproduce
Edit in JSFiddle
Result
Result


---
layout: page
title: "Real World Haskell, 1st Edition"
prev: escapes_escape.html
next: colophon_split_001.html
book_path: books/real-world-haskell-_oeb/
---
{% include JB/setup %}
{% raw %}
Safari IT Books Language Constructs Functional Programming Haskell Safari IT Books Programming Programming Programming Bryan O'Sullivan Donald Bruce Stewart John Goerzen O'Reilly Media, Inc. Real World Haskell, 1st Edition


-
feet on the earth
-
a Gamer
-
a guitarist and bassist
-
My 1st love
-
a tennis player (I feel HEAD is much better than Wilson)
-
SICAU, BSc
-
My 2nd love
-
SYSU and CUHK, Mphil
-
a coder, bioinformatician and genomicist (Python, Java and front-end)
-
LMU Munich, PhD
-
a state-owned big data enterprise with a focus on transportation and logistics.
-
My thesis defense is around the corner.
-
certified by Sichuan Provincial Economy and Information Department.