Body Class
This class handles the email Body data.
Important: All of these functions are available through the message object returned by the Peeker class. Notated here as: $e
Function Reference
get_body()
Pull in the email message body data. Returns true. The message properties are populated. This generally includes the PLAIN and HTML version of an email. If there is a parts class set this function also gets the email parts.
$e->get_body();
get_body_string()
Get the raw, undecoded body string.
$e->get_body_string();
get_plain()
Get the PLAIN part of a multipart/alternative email.
$e->get_plain();
get_html()
Get the HTML part of a multipart/alternative email.
$e->get_html()
get_html_filtered()
Specialized. If you have set up a function to manipulate the HTML, you can put the changed HTML into the html_filtered property and get it with this function. This is for specialized uses.
$e->get_html_filtered();
get_date_pulled()
Get the date the email was pulled from the server and put into this object.
$e->get_date_pulled();
Detectors - All Return TRUE or FALSE
preg_match_PLAIN($pattern)
TRUE if regular expression matches the fully-decoded PLAIN part of the email message.
$e->preg_match_PLAIN('/spamword/');
preg_match_HTML($pattern)
TRUE if regular expression matches the fully-decoded HTML part of the email message.
$e->preg_match_HTML('/spamword/');
has_PLAIN_not_HTML()
TRUE if the email has a PLAIN part but no HTML part.
$e->has_PLAIN_not_HTML();
Callback functions
fix_MIME_from_sender($from_str)
Specialized. Brute force. Sometimes a certain email sender's client will mess up some aspect of the email. This function identifies a sender and 'fixes' a common MIME problem: the parts are incompletely specified. This function looks for an html open tag in the first 25 lines and rebuilds the email object to use the html data in the HTML property.
$e->fix_MIME_from_sender('steve@aol.com');
put_PLAIN_into_HTML()
Put the PLAIN part data into the HTML property.
$e->put_PLAIN_into_HTML();
wrap_HTML_with_HTML_tags()
Specialized. Brute force. Sometimes emails that are supposed to be HTML don't have html tags. This wraps those.
$e->wrap_HTML_with_HTML_tags();


solo wireless
With up to 40 hours of battery life, Beats Solo Wireless is your perfect everyday headphone. Get the most out of your music with an award-winning, emotionally charged Beats listening experience.
powerbeats
performance. power. freedom
Powerbeats3 earphones are ready for any challenge with up to 12 hours of battery life to fuel multiple long workouts and powerful, dynamic sound to keep you pushing.
$199.95


Installation
SwiftyMocky is available through:
1. CocoaPods.
To install it, simply add the following line to your Podfile:
pod "SwiftyMocky"
Then execute pod install
2. Carthage.
To install, add following to you Cartfile:
github "MakeAWishFoundation/SwiftyMocky"
Then execute carthage update
For Carthage, few additional steps are required:
- Obtain Sourcery - used to generate mocks (specify valid path in generate mock)
- Change templates path to
Carthage/Build/iOS/SwiftyMocky.framework/
- In your test framework add to:
- Other Swift Flags:
-DMocky
- Framework Search Paths:
$(SRCROOT)/Carthage/Build/iOS
- Other Swift Flags:
3. Manually.
Include Sources in your project, and setup Sourcery
Important!!!
Main difference between how SwiftyMocky is installed, is location of sourcery binary and templates, used to generate Mocks. Whatever you choose, make sure that correct paths are setup for mocky.yml, and sourcery call.


| successes | |||||||||||
| attempted |
| 0 | 100 |
| 0 | 100 |
Please respond to the questions.
Stanford CoCoLab
You will be asked short questions about hypothetical situations. The HIT should take approximately 5 minutes. Please pay attention, thanks!
Please note: There will be multiple posted versions of this HIT (name: Language Study - Causes 319) throughout the next few days. Please attempt only one HIT this series. You will not be allowed to complete multiple HITs in this series.
Legal information: By answering the following questions, you are participating in a study being performed by cognitive scientists in the Stanford Department of Psychology. If you have questions about this research, please contact M.H. Tessler at<EMAIL_ADDRESS>or Noah Goodman, at<EMAIL_ADDRESS>You must be at least 18 years old to participate. Your participation in this research is voluntary. You may decline to answer any or all of the following questions. You may decline further participation, at any time, without adverse consequences. Your anonymity is assured; the researchers who have requested your participation will not receive any personal information about you.
You are part of group of astronaut-scientists exploring distant planets in the newly discovered Silky Bay galaxy.
Your scientist team is trying to learn about different things on each planet.
Some of them are inhabited by friendly, advanced civilzations.
Others are uninhabited.
You will visit {{}} different planets.
On each planet, you will see the results of an experiment that your team carried out on the planet.
You will then answer a few questions about what you think is happening on the planet.
Press continue to begin.
| successes | |||||||||||
| attempted |
| 0 | 100 |
| 0 | 100 |
Please respond to the questions.
Answering these questions is optional, but will help us understand your answers.
Did you read the instructions and do you think you did the HIT correctly?
Were there any problems or bugs in the experiment?
What do you think is a fair price for the work you did?
Did you enjoy the hit?
Gender:
Age:
Level Of Education:
Native Language:
Any additional comments about this experiment:
Thanks for your Time!


what are regular expressions?
Conceptually, regular expressions derive partially from the study of computers, mathematics, and language: as you might intuit, they're an approximation of a word or a phrase. Specifically, regular expressions are approximations of a string with the capacity for complex parameters in searching through and comparing strings of text.
Practically, regexes are useful tools to match patterns within a given text input. They're almost indispensible because of their flexibility in finding patterns which are similar, not merely identical to, their set patterns. Regexes harness this capability by pairing its searching pattern (e.g. the precise string) with modifiers that tersely replace a long, annoying if-else chain (for every uppercase and lowercase character, say). They're found in many programming languages, and in JavaScript, they look like this:
var regex = /ExAmPlE/i
// literal constructor = /pattern to search in text/modifier
// (i = case-insensitive)
The library of specificities you can set for your defined pattern is impressive, and w3Schools has a good starter list to get an idea of the kinds of patterns you can search for, as well as the modifiers on those patterns you can use.
Note: these are JavaScript Regexp docs, and different languages may have slightly different applications or syntactical parameters. For contrast, check out the Ruby Regexp docs.
how about a popular regular expression?
Regular expressions are quite useful in the management of a contemporary website; if the site is at all interactive, it (literally) invites the user to play with it through their mouse and keyboard— and those pesky keyboards are notoriously inaccurate (although it could be user error). For instance, to get an email address, and to be sure the address typed in is a valid, regular expressions to the rescue! A regex can scan and confirm an email is valid in one line:
Let's break it down.
-
The regex signals the start and end of input, which correspond to the characters
^
and$
, respectively. Next, the range (marked with brackets— almost like an array, no?) of possible characters in an email is A-Z, 0-9, and ._%+-. -
Next, outside the brackets, is a mandatory character— the at-sign noted by
+@
. Then there's another range of possible letters, numbers, and a period and dash, all of which are valid website addresses for an email host. -
Then there's another mandatory character outside the brackets: the period before a domain suffix. It looks like the way the at sign was added, but with one extra.
+\.
adds the period with an escape character. The escape character (\) is crucial! necessary! not optional!, since a period in a regex is a wildcard character (like *.doc for selecting all the docs in a folder from the command line). -
Finally, there's the letter range for the domain, which can only be letters (like .com, .sy, or .info), and must be no less than two characters: hence,
[A-Z]{2,}
. The curly braces define the possible length of a string to match in the regex.
bonus: regex vs. regexp?
Which is the 'correct' abbreviation? As this entertainingly incensed StackOverflow thread demonstrates, both are valid, although 'regex' is slightly more common. You'd be easily understood using either spelling.


This example will reconcile the list of 100 top universities from the Guardian data blog against organizations RDF dump from data.nytimes.com.
-
Create a Google Refine project from the CSV file that can be exported from the Google spreadsheet provided by the Guardian Data Blog. A snippet is shown in the figure below.
-
Let us define a new reconciliation service based on the RDF dump provided by the NY Times describing organizations. Select Based on RDF file... from the RDF menu as shown in the figure below.
-
Enter the details of the new service (no worries! not a lot of details are required). Pick a name for the service (in the example below we chose "NYT organizations"). Choose the file and the format. Finally, select properties that are used to label resources in the RDF data (NYT organizations dump uses
skos:prefLabel
so we selected it as shown below).
For file format, the default option "auto-detect" uses the file extension to detect the RDF format of the file.
For label properties, you can select more than one property but this will have its cost on the performance.
If the property is not one of those provided, you can select other and enter the full URI for the property (or properties) wanted.
-
Choose start reconciling... from the column drop down menu of the "University" column. Select the "NYT organizations" service that we have just added. As shown below, type guessing will suggest a list of types with
skos:Concept
.
-
Go ahead with the start reconciling button. After a while, Google Refine presents reconciliation results with factes about reconciliation decision and top candidate score (see figure below).
-
Pingo! we are almost there... now we still have the task of going through the results and confirming correct suggestions that are not automatically matched. You can preview reconciliation suggestions to inform your decision (see figure below).
For more details and technical documentation see SPARQL with fulltext search -based Reconciliation and SPARQL-based Reconciliation
To get the reconciled URIs in the RDF exporter use cell.recon.match.id
(see FAQ for more details)


Local NAPLAN Registration Pre-Validation Tool
Select a csv file containing student registrations data with the file chooser on the left. The file will be uploaded and processed by all validation engines simultaneously. The graph on the right will show the progress of the validations. Once all validations have completed click on the 'Fetch Results' button to show the validation analysis. Click on the 'Download Error Report' button to download the validation results as an excel/csv file.
The graph on the left is a schematic of your uploaded file, showing the location of validation errors within the file. Click and Drag to create a moveable window to analyse smaller groups of results if many validation errors are returned. The selected dataset is shown in the table below.
The graph on the left shows the types of validation errors found in the submitted file. Click on horizontal bars to see errors of a particular type in the table below.
The table will update automatically based on selections made in the graphs. The table will show the first 100 items that match the graph filters.
| Original Line No. | Error Type | Error Field | Error Description |
|---|
Once you are happy with the level of validation, you can convert csv files to SIF XML format. Select the file, click the 'Convert to XML' button, and the converted file will be returned to you with an .xml extension. You can convert files as many times as you require.


--- title: Merchandise and Donations layout: default ---
Have a question that is not listed on this page? See the "Direct Contact" section of the support page.
| What action bar library is used on pre-3.0 devices? |
The widget is a custom implementation that was purpose-built to mimic the API, functionality, and look of the native action bar on 3.0+ devices. The basis for the widget was work done on Johan Nilsson's Android-ActionBar library. The first two versions of ActionBarSherlock used his library directly for support on pre-3.0 devices and without his work the current version of the library would not be possible. |
|---|---|
| What API level should I target if I want to use the library? | The library itself must be built against Android 3.2 (API level 13). Your project should be built using the latest version of the SDK as possible (it is best to try and use the same version as the library). This is not a requirement, however, and you may build against any version of the SDK that is Android 3.0 (API level 11) or newer. |
| Why do I have to target at least API level 11 or newer? | Targetting API level 11 or newer will cause Android to automatically add the native action bar when run on devices using Android 3.0+. Since you will be compiling against new APIs but your app will likely be run on devices with older versions of Android extra care must be taken to either avoid using or properly check and call any methods that were introduced after your minimum SDK version. |
| Why do action modes not work on pre-3.0 devices? | Action mode support is still being worked on for pre-3.0 devices and will be released with a future version of the library. |
| Why doesn't the logo defined on the activity/application entry in the manifest get displayed? | Despite there being support for loading the logo for activities and applications since API level 9, the underlying implementation in Android is broken and does not work at all. In order to specify a logo on these platforms you should use the abLogo attribute in a custom theme. |
| List and tab navigation hide the title on pre-3.0 devices. Can this be changed? | Due to the relatively small space to display items on phones, this cannot currently be changed. Future versions of the library will behave more like the native action bar on larger displays (e.g., Nook Color, Archos 101). |
| Can you add functionality *X* to the action bar? | As a general rule, no. If the native action bar on Android 3.0+ does not support it then it will not be supported by this library. |
Why is ActionBarSherlock a library project whereas the original compatibility library is only a .jar ? |
ActionBarWatson, the custom action bar implementation within ActionBarSherlock for pre-3.0 devices, relies on styles, themes, layouts, and drawables in order to display properly. Due to the limitations of Android and .jar files, it can not be accomplished any other way. |
| I found a bug, what should I do? | See the support page and create an issue on GitHub, post to the Google Group, or contact me directly. Or do all three! The worst thing you can do is to not report it. Please try to include as much information as possible in your report. |
What causes the following error: Binary XML file line #8: You must supply a layout_height attribute ? |
You application or activity is not using a theme from the application. See the "Parent Themes" section of the theming page. |
Do I need to include the .jar file for the Android compatability library when using ActionBarSherlock? |
No. ActionBarSherlock is built on top of the Android compatability library and comes bundled with its class files. Including the .jar will result in a very large number of compile-time errors. |
| I use Proguard. Are there any lines I should include to ensure functionality of the library? |
Add the following lines:
|


2 April 2007
The Egyptian Ministry of Health and Population has announced three new human cases of avian influenza A(H5N1) virus infection. The cases have been confirmed by the Egyptian Central Public Health Laboratory and by the US Naval Medical Research Unit No.3 (NAMRU-3).
The first case, a 4-year-old boy from Qena Governorate, is the brother of the 6-year-old girl whose infection was reported on 28 March. He developed symptoms on 26 March and was admitted to hospital on 29 March. The second case, a 7-year-old boy from Sohag Governorate, developed symptoms on 26 March and was hospitalised on 29 March. The third case is a 4-year-old girl from Qalubiea Governorate. She developed symptoms on 29 March and was admitted to hospital the following day.
All three children are receiving treatment and remain in a stable condition. Investigations into the sources of exposure indicate a history of contact with dead birds in each case. Contacts of the children are under surveillance and all remain healthy.
Of the 32 cases confirmed to date in Egypt, 13 have been fatal.


How the demise of the headphone jack led to a ear buds boom
by Larry DignanEar buds, or hearables, are driving a boom in wearable devices, according to IDC data. It all started as vendors started dropping the headphone jack en masse.
The returns to technology vendors for ditching the headphone jack are becoming increasingly clear. IDC reported that global shipments of wearable devices including ear-worn buds hit 84.5 million units in the third quarter, up 94.6% from a year ago.
IDC said wearable market share gains were driven by hearables, also know as ear buds. IDC analyst Ramon Llamas noted that the hearables boom "began with multiple vendors removing the headphone jack from their smartphones, driving the move toward wireless headphones."
And now ear buds are getting new functionality and form factors to further drive sales and there's a mass market to be had.
The wearable market is dominated by earwear, a market that is enjoying a boom partly due to the end of the headphone jack on smartphones.
×
idc-q3-wearable-data.png
Now the IDC's leader data isn't that surprising. Among the moving parts:
- Apple led the wearable pack with its Apple Watch, AirPods and Beats headphones. AirPods Pro will further drive sales. AirPods Pro review: Noise cancellation and improved design are valuable additions
- Xiaomi's Mi band expanded its reach into Europe and was No. 2.
- Samsung was No. 3 as it has been able to bundle its new watches as well as hearables with its Galaxy line of smartphones. Samsung also owns JBL. Samsung relatively recently started ditching the headphone jacks on its smartphones.
- Huawei was No. 4 largely due to demand in China.
- And Fitbit, which doesn't have a hearable play, was No. 5 with its tracker and smartwatches. IDC did note that Google's acquisition of Fitibit "fills the brand's future with uncertainty."


Only one hit for query '${redirect}'
View
Entry
Plain text
FastA
source:
${db}
References:
${link}
${text}


{% extends "base.html" %} {% block content %}
He claims what they're doing in Africa is the missing piece, a template to surpass metal gear.


Welcome to the PlayAnalyzer.com markup assistant! In order to use the analyzer on this site the text of the play you want to work with has to be marked up into a format called Play Markup Language (PML). Although it's possible to convert a play to PML by hand this markup assistant helps to automate the process. Through a series of binary choices you will quickly move through the raw text and end up with a new file that the analyzer can understand.
(Or if you've already marked up a full show, make sure to create the header!)
Click the first and last words of any text portions that are not spoken to highlight them in red. Hit C to clear the selections. Forward arrow to advance, backward arrow to go back.
If characters enter or exit during this stage direction, move them appropriately. Forward arrow to advance to next stage direction, backward arrow to go back.
Offstage:
Onstage:
All done! Copy the text below into a file and analyze away.
(If you've marked up a full show, make sure to create the header!)
Copy the following into the top of your marked up file


Status
Apache & Presence/DB status coming soon...
Details
Current Deployed Version: $external_mapping['changelist']
Last Updated: $external_mapping['datetime']
Branch Details $branch
Viewing the last 5 10 50 changelists
| Changelist | Date | User | Message |
|---|---|---|---|
| $c[0] | $c[1] | $c[2] | $c[3] |


0) Welcome to ChE 696, On-Ramp to Data Science!¶
Topics for today:¶
- Motivation for this class
- What is data science?
- What we will cover in this class
- Get started with terminals and jupyter notebooks
This and all other lectures will be available here: https://team-mayes.github.io/che_696/html/index.html
They are jupyter (ipython) notebooks (more about these soon).
Some of the many reasons to learn Data Science (DS)¶
Many motivations–you each likely have them. My and the departments reasons include: - We all have greater and greater amounts of data, and thus would benefit from skills to extract meaning and advance our work - Practical consideration: there are not enough well trained people to fill the demand for jobs - We want to make learning data science accessible to engineers by condensing multiple prerequisites into one semester
From https://www.nytimes.com/2017/11/01/education/edlife/stem-jobs-industry-careers.html:
From https://www.nytimes.com/2017/11/03/education/edlife/choosing-a-college-major.html:
Specific demand for ChE’s with Data science training, as noted in the following paper, authored by employees at the Dow Chemical Company: > 88% of chemical industry executives acknowledge that data analytics will be crucial for retaining the competitive advantage in five years
Chiang, L.; Lu, B.; Castillo, I. Big Data Analytics in Chemical Engineering. Annu. Rev. Chem. Biomol. Eng. 2017, 8, 63–85 DOI: 10.1146/annurev-chembioeng-060816-101555.
The National Academies of Sciences, Engineering, and Medicine are actively calling for more data science training: > https://www.nap.edu/catalog/24886/envisioning-the-data-science-discipline-the-undergraduate-perspective-interim-report > https://www.nap.edu/catalog/25104/data-science-for-undergraduates-opportunities-and-options
Favorite metaphor from the reports:
What is Data Science?¶
Definitions vary; Big Data often defined by four “V”s (initially 3; Veracity is the newcomer) https://www.michigandaily.com/section/research/big-data-how-university-michigan-navigates-ethics-unpredictability-data-science
Data science as a multidisciplinary set of skills: http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
Data science as a process: https://medium.com/the-mission/deconstructing-data-science-breaking-the-complex-craft-into-its-simplest-parts-15b15420df21
What is the path to “Data Acumen”?¶
NAS reports inform this course and the following in the sequence. They suggest that DS curricula focus on: - Strong analytical basis - Oral and written communication - Use real, “messy” data - Show applications with broad impact - Discuss ethical implications, such as unreliable and/or biased outcomes - https://www.nature.com/news/there-is-a-blind-spot-in-ai-research-1.20805 - https://www.nature.com/articles/d41586-018-05469-3
More specifically, that they provide training in: - Mathematical foundations - Computational thinking - Statistical thinking - Data management - Data description and curation - Data modeling - Ethical problem solving - Communication and reproducibility - Domain-specific considerations
What resources are available at Michigan?¶
This course complements excellent computational and DS resources at Michigan. Under the umbrella of Advanced Research Computing (ARC, http://arc.umich.edu/). Sign up for the newsletter (form at bottom of the page) to find out about upcoming events. - Michigan Institute for Computational Discovery and Engineering (MICDE), http://micde.umich.edu/ - Offers both a certificate and PhD that can be earned in parallel to your primary grad degree, http://micde.umich.edu/academic-programs/ - Seminar series, symposia, … - CSCAR (http://cscar.research.umich.edu/) provides consulting services and training opportunities in data science, statistics, and advanced research computation. - Michigan Institute for Data Science (MIDAS, http://midas.umich.edu/) - Hosts training and activities, including a Data Science Team - Offers a Certificate in DS
Why did we add this course and what will we cover?¶
This course aims to create a new tributary in data science. Most engineering core curricula (aside from CS) do not include the following topics that are prereqs for DS and ML learning courses, including:
- Coding skills
- Example: at UMich, Matlab is taught to freshman, but many students do not continue to use it and thus do not become confident programmers. Additionally, Matlab is not generally used in industry. Python is widely used in academia and industry, and continues in grow in importance.
- Coding in python will be central to this course
- Linear algebra
- We will not (cannot) go over all the material that would be taught in a pure linear algebra class
- We will focus on how computers use linear algebra to solve problems. We will include key terms and numerical implementation.
- Probability and statistics
- The focus will not be theory but implementation and how they form the foundation for many DS techniques
We will not be able to cover all of the these topics in depth. I will introduce you to basics in each area that all of you should learn. I will point to resources for self-study that will likely be of great use to you, but you will not be responsible for knowing for this course.
Course logistics¶
- This is meant to be a practical class to provide skills to improve your productivity in future endeavors
- Please bring a laptop to each class. If you do not have one, please find a buddy with a laptop to work with
- We will be using a variety of resources, primarily free to the public or free to you via the Michigan library
- HW will be assigned approximately every week, highlighting key concepts from the in-class material and related text
- Grading will be 25% class engagement (in-class and/or piazza and/or study groups), 25% HW, 20% project, and 30% final exam. Final grades will be based on a demonstration of mastery of the material (A = formed an excellent foundation; B = good foundation with gaps in a few areas; C = some understanding with significant gaps)
- All questions should be posted to Piazza, unless they truly only relate to you (e.g. illness, conflict…; then directly email me) so everyone can benefit from the discussion.
Next up….¶
Intro to bash and vim!


Bank Accounts
Chequing Account 1
123456-1234567
$1,460.00Chequing Account 1
111111-2222222
1,460.00 $Chequing Account 2
987654-9876543
$3,605.00Open a bank account
Chequing Account
112233-1122334
3,970.00 $Piggy Banks
Car Fund
$2,001.00$10,000.00
Thailand Vacation
$3,605.00$4,100.00


Defaults to FrozenDataTableCfg
. Type of the configuration object for this widget.
Indicates whether cell editors are loaded eagerly or on-demand.
Indicates whether multiple rows or only a single row of a data table can be selected.
Indicates the resize behavior of columns.
When a row is editable: whether to save
the
current contents of the row or cancel
the row edit and discard all changes.
Indicates whether row editors are loaded eagerly or on-demand.
Indicates whether multiple columns of a data table can be expanded at the same time, or whether other expaned rows should be collapsed when a new row is expanded.
Indicates how rows of a data table
may be selected. new
always unselects other rows, add
preserves the currently selected rows, and checkbox
adds
a checkbox next to each row.
Either the 0-based index of a row, or the row
element (TR
) itself.
Indicates whether rows are selected via radio buttons or via checkboxes.
Indicates whether a data table can be sorted by multiple columns or only by a single column.
The available sort order types for the data table.
Map between the sort order names and the multiplier for the comparator.
Whether all available items were already loaded.
Localized message for sorting a column in ascending order.
The DOM element for the body part of the table.
Cache for the contents of a row. Key is the row index, value the HTML content of the row.
Number of rows to cache.
The configuration of this widget instance. Please note that
no property is guaranteed to be present, you should always check for undefined
before accessing a property.
This is partly because the value of a property is not transmitted from the server to the client when it equals
the default.
DOM element of the container with the check all
checkbox in the header.
DOM element of the check all
checkbox in the header.
Clone of the table header.
Whether column widths are fixed or may be resized.
Whether the context menu was clicked.
Widget with the context menu for the data table.
Current cell to be edited.
0-based index of row where the the cursor is located.
Localized message for sorting a column in descending order.
DOM element of the icon that indicates a column is draggable.
DOM element of the icon that indicates a column is draggable.
List of row indices to expand.
ID as returned by setTimeout
used during filtering.
DOM element of the currently focused row.
Whether the focused row includes the checkbox for selecting the row.
The DOM elements for the footer columns.
The DOM elements for the footer table.
The DOM element for the frozen body.
The DOM element for the frozen body TABLE.
The DOM element for the container of the frozen table.
The DOM element for the frozen footer.
The DOM elements for the frozen columns of the footer.
The DOM element for the frozen data table footer TABLE.
The DOM element for the frozen group resizers of the footer.
The DOM element for the frozen header.
The DOM element for the frozen layout container.
The DOM element for the header TBODY.
The DOM element for the header THEAD.
The DOM element for the clone of the frozen THEAD.
The DOM elements for the resizer button of each group.
Whether the table has any column groups.
The DOM elements for the header table.
DOM elements for the TH
headers of this data table.
The client-side ID of this widget, with all parent naming containers, such as
myForm:myWidget
. This is also the ID of the container HTML element for this widget. In case the widget needs
multiple container elements (such as Paginator), this may also be an array if IDs.
Whether a click occurred inside a table cell.
Whether the writing direction is set to right-to-left.
Whether a row toggler was clicked.
The jQuery instance of the container element of this widget. In case id is an array, it will contain multiple elements. Please note that some widgets have got not DOM elements at all, in this case this will be an empty jQuery instance.
A CSS selector for the container element (or elements, in case id is an array) of
this widget, This is usually an ID selector (that is properly escaped). You can select the container element or
elements like this: $(widget.jqId)
.
Whether live scrolling is currently active.
Whether data is currently being loaded due to the live scrolling feature.
Whether a mousedown event occurred on a row.
INPUT element storing the current column / row order.
The original row index of the row that was clicked.
When pagination is enabled: The paginator widget instance used for paging.
The current relative vertical scroll position.
The current relative horizontal scroll position.
true
if reflow is enabled, false
otherwise.
The height of the table viewport, relative to the total height, used for scrolling.
A list with the current widths for each resizable column.
INPUT element storing the current widths for each resizable column.
The set-timeout timer ID of the timer used for resizing.
The DOM element for the resize helper.
The CSS selector for the table rows.
The CSS selector for the table rows that can be clicked.
The DOM element for the scrollable body of the table.
The DOM element for the TABLE of the scrollable body.
The DOM element for the container of the scrollable body.
The DOM element for the scrollable body of the table.
The DOM element for the scrollable footer box of the table.
The DOM element for the scrollable columns of the footer.
The DOM element for the TABLE of the scrollable footer.
The DOM element for the group resizers of the scrollable body.
The DOM element for the scrollable header of the table.
The DOM element for the scrollable header box of the table.
The DOM element for the TABLE of the scrollable header.
The DOM element for the scrollable layout container.
The current scroll position.
INPUT element storing the current scroll position.
The DOM element for the scrollable TBODY.
The DOM element for the scrollable THEAD.
The DOM element for the clone of the scrollable THEAD.
The set-timeout timer ID of the timer used for scrolling.
CSS attribute for the scrollbar width, eg. 20px
.
List of row keys for the currently selected rows.
ID of the INPUT element storing the currently selected rows.
Whether live scrolling is currently enabled.
Information about how each column is sorted. Key is the column key.
DOM elements for the columns that are sortable.
The DOM element for the sticky container of the table.
DOM element of the TBODY
element of this data table, if it exists.
DOM element of the TFOOT
element of this data table, if it exists.
DOM element of the THEAD
element of this data table, if it exists.
The DOM element for the cloned table head.
Whether virtual scrolling is currently active.
The name of the widget variables of this widget. The widget variable can be used to
access a widget instance by calling PF('myWidgetVar')
.
This render method is called by this deferred widget once the widget container has become visible. You may now proceed with widget initialization.
Must be overridden, or an error will be thrown.
Adds a deferred rendering task for the given widget to the queue.
The ID of a deferred widget.
The container element that should be visible.
Callback that is invoked when the widget may possibly have become visible.
Should return true
when the widget was rendered, or false
when the widget still needs to be rendered
later.
Lets you register a listener that is called before the component is destroyed.
When an AJAX call is made and this component is updated, the DOM element is replaced with the newly rendered content. When the element is removed from the DOM by the update, the DOM element is detached from the DOM and all destroy listeners are called. This makes it possible to add listeners from outside the widget code.
If you call this method twice with the same listener, it will be registered twice and later also called twice.
Note that for this to work, you must not override the destroy
method; or if you do, call super
.
Also, after this widget was detached is done, all destroy listeners will be unregistered.
A destroy listener to be registered.
Adds and sets up an invisible row for internal purposes.
When an AJAX call is made and this component is updated, the DOM element is replaced with the newly rendered content. However, no new instance of the widget is created. Instead, after the DOM element was replaced, all refresh listeners are called. This makes it possible to add listeners from outside the widget code.
If you call this method twice with the same listener, it will be registered twice and later also called twice.
Note that for this to work, you must not override the refresh
method; or if you do, call super
.
Also, after the refresh is done, all refresh listeners will be deregistered. If you added the listeners from
within this widget, consider adding the refresh listeners not only in the init
method, but also again in
the refresh
method after calling super
.
A refresh listener to be registered.
Adds the resizers for change the width of a column of this data table.
Fetches the last row from the backend and inserts a row instead of updating the table itself.
Adjusts the height of the body of this data table for the current scrolling settings.
Adjusts the width of the header, body, and footer of this data table to fit the current settings.
Stores the row which is currently focused.
Row to set as the focused row.
Sets up the event listeners for radio buttons contained in this data table.
Callback that is invoked when the context menu is initialized. Lets the context menu provider register the appropriate event listeners for when the context menu should be shown and hidden.
The widget instance of the context menu.
The widget instance of the target widget that wants to add a context menu.
ID selector or DOM element of the target, i.e. the element the context menu belongs to.
The current configuration of the context menu.
Applies events related to row expansion in a non-obstrusive way
Sets up the event listeners for radio buttons contained in this data table.
Sets up the event listeners for hovering over a data table row.
Selector for the row elements. Any hover event that does not reach an element that matches this selector will be ignored.
Sets up the event handlers for row group events.
Each widget may have one or several behaviors attached to it. This method calls all attached behaviors for the given event name. In case no such behavior exists, this method does nothing and returns immediately.
A behavior is a way for associating client-side scripts with UI components that opens all sorts of possibilities, including client-side validation, DOM and style manipulation, keyboard handling, and more. When the behavior is triggered, the configured JavaScript gets executed.
Behaviors are often, but not necessarily, AJAX behavior. When triggered, it initiates a request the server
and processes the response once it is received. This enables several features such as updating or replacing
elements dynamically. You can add an AJAX behavior via
<p:ajax event="name" actionListener="#{...}" onstart="..." />
.
The name of an event to call.
Additional configuration that is passed to the AJAX request for the server-side callback.
When the given row is currently being edited, cancel the editing operation and discard the entered data. Use
findRow
to get a row by its index.
A row (TR
) in edit mode.
Clears all table filters and shows all rows that may have been hidden by filters.
Creates and stores a cloned copy of the table head(er) of this data table, and sets up some event handers.
Collapses all rows that are currently expanded.
Collapses the given row, if it is expandable. Use findRow
to get a row by its index. Does not update the row
expansion toggler button.
Row to collapse.
Cleans up deferred render tasks. When you extend this class and override this method, make sure to call
super
.
Display the given HTML string in the specified row. Called mainly after an AJAX request.
Row to display.
HTML string of the content to add to the row
Filters this data table. Uses the current values of the filter inputs. This will result in an AJAX request being sent.
Finds the group resizer element for the given drag event data.
Data of the drag event.
(from super type DataTable) Data for the drag event.
The resizer DOM element.
Converts a row specifier to the row element. The row specifier is either a row index or the row element itself.
In case this data table has got expandable rows, please not that a new table row is created for each expanded row. This may result in the given index not pointing to the intended row.
The row to convert.
The row, or an empty JQuery instance of no row was found.
Adjusts the width of the given columns to fit the current settings.
Each widget may have one or several behaviors attached to it. This method returns the callback function for the given event.
Note: Do not call the method directly, the recommended way to invoke a behavior is via callBehavior.
A behavior is a way for associating client-side scripts with UI components that opens all sorts of possibilities, including client-side validation, DOM and style manipulation, keyboard handling, and more. When the behavior is triggered, the configured JavaScript gets executed.
Behaviors are often, but not necessarily, AJAX behavior. When triggered, it initiates a request the server
and processes the response once it is received. This enables several features such as updating or replacing
elements dynamically. You can add an AJAX behavior via
<p:ajax event="name" actionListener="#{...}" onstart="..." />
.
The name of an event for which to retrieve the behavior.
The behavior with the given name, or null
if no such behavior
exists.
Finds the meta data for a given cell.
A cell for which to get the meta data.
The meta data of the given cell.
Finds the list of row that are currently expanded.
All rows (TR
) that are currently expanded.
Finds the body of this data table with the property that the user can focus it.
The body of this data table.
Each widget has got a container element, this method returns that container. This container element is usually also the element whose ID is the client-side ID of the JSF component.
The jQuery instance representing the main HTML container element of this widget.
Returns the paginator instance if any exists.
The paginator instance for this widget, or undefined
if
paging is not enabled.
Finds the number of rows that are selected.
The number of rows that are currently selected.
Retrieves the table body of this data table.
DOM element of the table body.
Retrieves the table footer of this data table.
DOM element of the table footer.
Retrieves the table header of this data table.
DOM element of the table header.
When row grouping is enabled, groups all rows accordingly.
Each widget may have one or several behaviors attached to it. This method checks whether this widget has got at least one behavior associated with given event name.
A behavior is a way for associating client-side scripts with UI components that opens all sorts of possibilities, including client-side validation, DOM and style manipulation, keyboard handling, and more. When the behavior is triggered, the configured JavaScript gets executed.
Behaviors are often, but not necessarily, AJAX behavior. When triggered, it initiates a request the server
and processes the response once it is received. This enables several features such as updating or replacing
elements dynamically. You can add an AJAX behavior via
<p:ajax event="name" actionListener="#{...}" onstart="..." />
.
The name of an event to check.
true
if this widget has the given behavior, false
otherwise.
Checks whether this data table has got any column groups.
true
if this data table has got any column groups, or false
otherwise.
Checks whether the body of this data table overflow vertically.
true
if any content overflow vertically, false
otherwise.
Highlights the currently focused row (if any) by adding the appropriate CSS class.
Highlights row to mark it as selected.
Row to highlight.
A widget class should not have an explicit constructor. Instead, this initialize method is called after the widget was created. You can use this method to perform any initialization that is required. For widgets that need to create custom HTML on the client-side this is also the place where you should call your render method.
Please make sure to call the super method first before adding your own custom logic to the init method:
PrimeFaces.widget.MyWidget = PrimeFaces.widget.BaseWidget.extend({
init: function(cfg) {
this._super(cfg);
// custom initialization
}
});
The widget configuration to be used for this widget instance.
This widget configuration is usually created on the server by the javax.faces.render.Renderer
for this
component.
Displays row editors in invalid format.
0-based index of the row to invalidate.
Checks whether the rows of this data table are selected via checkboxes.
true
if selection mode is set to checkbox
, or false
otherwise.
Checks if this widget is detached, ie whether the HTML element of this widget is currently contained within the DOM (the HTML body element). A widget may become detached during an AJAX update, and it may remain detached in case the update removed this component from the component tree.
true
if this widget is currently detached, or false
otherwise.
Checks whether this data table has got any rows. When there are no rows, usually the message no items found
is
shown.
true
if this data table has got no rows, false
otherwise.
Checks whether multiples rows may be selected at a time.
true
if selection mode is set to multiple
, or false
otherwise.
Checks whether the rows of this data table are selected via radio buttons.
true
if selection mode is set to radio
, or false
otherwise.
Checks whether the given row is currently selected.
The key of a row from this data table.
true
if the given row is currently selected, or false
otherwise.
Checks whether the user may select the rows of this data table.
true
is rows may be selected, or false
otherwise.
Checks whether only one row may be selected at a time.
true
if selection mode is set to single
, or false
otherwise.
Use only when live scrolling is enabled: Loads the next set of rows on-the-fly.
Called after the widget has become visible and after it was rendered. May be overridden, the default implementation is a no-op.
Used in ajax updates, reloads the widget configuration.
When an AJAX call is made and this component is updated, the DOM element is replaced with the newly rendered content. However, no new instance of the widget is created. Instead, after the DOM element was replaced, this method is called with the new widget configuration from the server. This makes it possible to persist client-side state during an update, such as the currently selected tab.
Please note that instead of overriding this method, you should consider adding a refresh listener instead via addRefreshListener. This has the advantage of letting you add multiple listeners, and makes it possible to add additional listeners from code outside this widget.
By default, this method calls all refresh listeners, then reinitializes the widget by calling the init
method.
The new widget configuration from the server.
The value as returned by the init
method, which is often undefined
.
Removes the widget's script block from the DOM. Currently, the ID of this script block consists of the
client-side ID of this widget with the prefix _s
, but this is subject to change.
The client-side ID of the widget.
This render method to check whether the widget container is visible. Do not override this method, or the deferred widget functionality may not work properly anymore.
true
if the widget container is visible, false
or
undefined
otherwise.
Resets the scroll state of the body to a non-scrolled state.
Resizes this data table, row, or columns in response to a drag event of a resizer element.
Event triggered for the drag.
Data for the drag event.
After the user is done editing a cell, saves the content of the given cell and switches back to view mode.
A cell (TD
) in edit mode.
Saves the current column order, used to preserve the state between AJAX updates etc.
When the given row is currently being edited, saves the contents of the edited row and switch back to view mode.
Use findRow
to get a row by its index.
A row (TR
) in edit mode to save.
Selects all rows of this data table so that no rows are selected. This includes all rows on all pages, irrespective of whether they are on the currently shown page.
Select all rows on the currently shown page. Compare with selectAllRows
.
Selects the given row, according to the current selection mode.
A row of this data table to select.
true
to prevent behaviors and event listeners from being invoked, or false
otherwise.
Applies the given scroll width to this data table.
Scroll width in pixels to set.
Prepares this data table for the current scrolling settings and sets up all related event handlers.
When cell editing is enabeld, shows the cell editor for the given cell that lets the user edit the cell content.
A cell (TD
) of this data table to edit.
Shows the row editor(s) for the given row (and hides the normal output display).
Row for which to show the row editor.
Switch all editable columns of the given row to their editing mode, if editing is enabled on this data table.
Use findRow
to get a row by its index.
A row (TR
) to switch to edit mode.
Toggles the selected all
checkbox in the header of this data table. When no rows are selected, this will select
all rows. When some rows are selected, this will unselect all rows.
Expands or collapses the given row, depending on whether it is currently collapsed or expanded, respectively.
A row (TR
) to expand or collapse.
Unhighlights the currently focused row (if any) by adding the appropriate CSS class.
Unhighlights row so it is no longer marked as selected.
Row to unhighlight.
Unselects all rows of this data table so that no rows are selected. This includes all rows on all pages, irrespective of whether they are on the currently shown page.
Unselect all rows on the currently shown page. Compare with unselectAllRows
.
Unselects the given row.
A row of this data table to unselect.
true
to prevent behaviors and event listeners from being invoked, or false
otherwise.
Sets the given HTML string as the content of the body of this data table. Afterwards, sets up all required event listeners etc.
HTML string to set on the body.
Whether the contents of the table body should be removed beforehand.
Updates a row with the given content
Row to update.
HTML string to set on the row.
Generated using TypeDoc
PrimeFaces DataTable with Frozen Columns Widget


vignettes/otherformats.Rmd
otherformats.Rmd
clustifyr
is aimed for general use and flexibility in various analysis pipelines. While its core code functions with matrices and dataframes, and hence has minimal package dependencies, wrapper functions are provided for further convenience of the user.
seurat
objects, v2 and v3, extracting the required data, and inserting called cell types directly into the objectslibrary(clustifyr)
# can even returning a new object with `type` added to metadata.
res <- clustify(
input = s_small,
cluster_col = "res.1",
ref_mat = pbmc_bulk_matrix,
seurat_out = T,
dr = "tsne"
)
# or return a correlation matrix, if seurat_out is set to F
res2 <- clustify_lists(
s_small,
per_cell = F,
marker = pbmc_markers,
marker_inmatrix = F,
cluster_col = "res.1",
seurat_out = F,
dr = "tsne"
)
object_loc_lookup
, currently including SCE
, URD
, CDS
, FSCE
.# location of data in object in this format
object_loc_lookup
# adding seurat3 locations
object_loc_lookup$Seurat <- c(
expr = "input@assays$RNA@data",
meta =<EMAIL_ADDRESS>var = "input<EMAIL_ADDRESS>col = "RNA_snn_res.1"
)
For example, sample code for scrunchy
is as easy as:


Ted2Go is a fork of an official Ted2 IDE.
Sources on Github | Todo on Trello | Discuss on Forum | Donate
Features
- Autocompletion List
It is based on real parsing of sources, parse all modules and user's code.
(WIP, don't parse locals yet.)
- CodeTree View
Shows code structure, gives us comfortable code jumping.
- Goto definition
Press F12 to goto definition of ident under cursor.
- Parsing on-the-fly
You can see parse errors in realtime. Point the mouse to see a hint.
- ToolBars
MainToolBar - to simplify access to actions: open/save/undo/redo/build.
EditorToolBar: find/comment/shift.
- StatusBar
You can see some useful info here:
* quick help for any (almost) code member by F1;
* cursor line number and position in line;
* building dialog moved here, so you can comfortable write code while compiling.
- Quick help
Press F1 first time and you'll see quick help in status bar.
Press F1 again and you'll see the full help for module members, or will be jumped to member declaration.
Help system find idents more accurately (in comparison with original ted2).
- "Find in files" dialog (Ctrl+Shift+F)
Allow you to find in whole project.
Quick Help
- F1 - show help for ident under cursor;
- F12 - goto ident declaration;
- Alt+Left / Alt+Right - go back / go forward through navigation stack;
- Ctrl+' - comment selected lines (macos: Ctrl+\);
- Ctrl+Shift+' - uncomment selected lines (macos: Ctrl+Shift+\);
- Ctrl+E - delete whole line under cursor (on windows).
- Ctrl+Shift+F - open "Find in files" dialog.
- Shift+F5 - stop current process (cancel building, etc).
Author
By Evgeniy Goroshkin (nerobot/engor).
Welcome to say me thanks with PayPal donation.
Enjoy coding!
Third party
Almost all icons for CodeTree were taken from Netbeans IDE.
Special Thanks
Leonardo Teixeira, Jesus Perez, Mark Sibly, Philipp Moeller, Lee Wade.


Rat Hepatitis E virus case investigated in Hong Kong
by News DeskBy NewsDesk @infectiousdiseasenews
Hong Kong health officials announced today the investigation into a case of human infection of rat Hepatitis E virus (HEV). The case involves an 82-year-old woman with underlying illnesses, who had presented with jaundice, poor appetite and tea-coloured urine since October 7. She was admitted to Queen Elizabeth Hospital on October 21 and was discharged after treatment. The patient is now in a stable condition. Her blood sample tested positive for rat HEV upon laboratory testing.
The Centre for Health Protection (CHP) of the Department of Health’s epidemiological investigations revealed that the patient resided in Kowloon City District. She could neither recall having direct contact with rodents or their excreta, nor had noticed rodents in her residence. She had no travel history during the incubation period and her home contacts have remained asymptomatic so far.
“Based on the available epidemiological information, the source and the route of infection could not be determined. The CHP’s investigation is ongoing,” a spokesman for the CHP said.


- Dashed line
- Serve
- Color: Blue
- Float serve
- Color: Green
- Jump serve
- Color: Red
- Top spin serve
- Color: Yellow
-
Underhand serve
- Solid line
- Attack
- Color: Blue
- Dump attack
- Color: Green
- Set over
- Color: Red
- Spike
- Color: Yellow
-
Tip
- •
- Hit origin
- O
- Hit destination
- Ø
- Service ace/attack kill
- •
- Hit error


Find the Circle
Given three circles (center of them are not co-linear), your job is to find a circle that is tangent with all these three circles. However, the circle might be not unique, as they can be either externally or internally tangent to each other. To make it clearer, you have to give the answer in some specific model. For example, you might be asked to give a circle which should be internally tangent with circle 1 and circle 2, while externally tangent with circle 3.
The first line of input contains an integer n, which is the number of test cases. Each case have three lines, each have four integers x, y, r, m. (0 <= x, y <= 10000 and 0 <= r <= 500), where x, y is position of one circle, and r is the radius. m represents the model of circle you should give. m = 0 means your circle should internally tangent with this circle, and m = 1 for externally case.
The first line of input contains an integer n, which is the number of test cases. Each case have three lines, each have four integers x, y, r, m. (0 <= x, y <= 10000 and 0 <= r <= 500), where x, y is position of one circle, and r is the radius. m represents the model of circle you should give. m = 0 means your circle should internally tangent with this circle, and m = 1 for externally case.
2
1 3 2 0
0 1 5 0
1 0 1 0
3 5 20 1
2 1 1 1
4 4 1 1
-0.4904 2.2264 3.6792
NO SOLUTION!
Problem Description
When people drink some tea in the teahouse, they also play some casual games. Now, inverting cups is a popular game. The meaning of the question is, now there are some cups which are upturned, we can regard the total number of the cups as a positive integer
number A , and we can invert some cups, the number is B and B is also a positive integer number. We define one retroflexion that if the original cup is upturned, one retroflexion makes it downward, and if the original cup is downward, one retroflexion makes
it upturned. So the question is if the whole original cups are upturned , can we invert these cups to make all the cups downward? And if it is possible, how many is the least of times?
Input
The input contains multiple test cases(cases<=100000). Each case one line given two numbers , the first integer A (1<=A<=2^63) and the second integer B (1<=B<=A). The input is terminated by the end of file.
Output
For each test case, you should output how many the least of times if it is possible for us to invert all the cups, and if it is impossible please output “No Solution!”
Sample Input
Sample Output
//
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
__int64 a, b, t, ans;
while (scanf("%I64d%I64d",&a,&b)==2) {
ans = 0;
if (a % 2 && b % 2 == 0) {
printf("No Solution!\n");
continue;
}
while (1) {
if (a / b >= 3) {
t = (a-2*b)/b;
ans += t;
a -= t*b;
}
if (a % b == 0)ans += a / b;
else if (a % 2 == b % 2)ans += 3;
else if (a / b >= 2)ans += 4;
else {
b = a – b;
continue;
}
break;
}
printf("%I64d\n", ans);
}
return 0;
}
版权声明：本文为博主原创文章，未经博主允许不得转载。
参考：http://blog.csdn.net/kongming_acm/article/details/6685797
(adsbygoogle = window.adsbygoogle || []).push({});
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
加油哦，我看好你
我还有个问题想请教一下，就是感觉对于新手来说，递归理解起来有些困难，不知有没有什么好的方法或者什么好的建议？
我想整理一下leetcode的题解，站长能不能给权限
不错，现在就缺少新的资料
不需要输出，只要函数返回值正确就行
很有意思，可惜我很菜啊
多谢支持！
已更新
博主的C++功底真是好
写的很好~~
We do not harbor that I couldn’t remove other individuals’ problems whenever this arrived at.
博主的C++功底真是好
网站做得很好看，内容也多，全。前段时间在博客园里看到有人说：网页的好坏看字体。觉得微软雅黑的字体很好看，然后现在这个网站也用的这个字体！nice!
第二种解法如果数组有重复元素 就不正确
方法4中使用hash表，只要用出现次数作为Value，就可以解决重复元素的问题了。


MarkLogic Data Hub Job Explorer
Harmonize
Jobs
Jobs
Job 12345
Step 12345
12345
Job ID
Step Number
Batch ID
Status
Start Time
End Time
Host Name
Request Timestamp
Request Transaction ID
Write Timestamp
Write Transaction ID
Error Name
Error Message
Error Stack
Error Stack
Document URIs (12)
/path/to/document.json
No batch document was found for batch
12345
.


How to Launch a Startup - Part 2
Second lecture by Sam Altman from YCombinator on launching a startup
This lecture discusses choosing a co-founder, how important it is to choose wisely and why co-founders should be like James Bond. Sam also discusses how not to hire employees despite how tempting it seems.
The cost of getting an early hire wrong is disastrous Sam Altman
Part 1: Starting a Startup Part 3: Before the Startup - Paul Graham
Free Trial
Sign up for an unlimited free trial of cronasaservice.com and get started running your online cron jobs straight away!


Delete query
Execute a query deleting rows.
int rows = new QContact()
<EMAIL_ADDRESS>.delete();
delete from contact where email = ?
Example 2
int rows = new QContact()
.email.startsWith("rob")
.firstName.eq("Rob")
.delete();
delete from contact where email like ? escape'|' and first_name = ?
Example 3
When a where expression is on a associated bean path like OneToMany then the sql delete uses a subquery.
int rows = new QCustomer()
.contacts.email.contains("foo.com")
.delete();
delete from customer where id in (
select distinct t0.id
from customer t0
join contact u1 on u1.customer_id = t0.id
where u1.email like ? escape'|'
)
Cascading delete
If the bean type that we are deleting has cascading delete defined by for example
@ManyToOne(cascade=CascadeType.ALL)
then the cascade will be honored.
Example
In the following example Customer cascades save and delete to billingAddress.
// setup - a customer with a billing address
Customer customer = new Customer("Bad Example");
customer.setBillingAddress(new Address("My Street", "Hopeful City"));
customer.save();
// deleting customer needs to cascade delete the billingAddress
int rows = new QCustomer()
.name.startsWith("Bad")
.delete();
The above ends up executing 4 statements in a transaction.
-- first select the ids of customers that will be deleted
select t0.id from customer t0 where t0.name like ? escape'' ; --bind(Bad%)
-- select the foreign keys that will be cascade deleted
select t0.id, t0.billing_address_id, t0.shipping_address_id from customer t0 where t0.id in (? )
-- delete the customers
delete from customer where id=?;
-- [cascade] delete the related billing addresses
delete from address where id=?;
persistCascade false
When the transaction has persist cascade turned off then the query will instead just execute the single delete statement.
try (Transaction transaction = DB.beginTransaction()) {
// turn off persist cascade
transaction.setPersistCascade(false);
int deletedRows =
new QCustomer()
.name.startsWith("Bad")
.delete();
transaction.commit();
}
delete from customer where name like ? escape'' ; --bind(Bad%)
Compare SqlUpdate
If we want to use SQL directly we can instead use SqlUpdate to execute sql delete statements.


Leaflet Vector Layers
What?
Leaflet Vector Layers allows you to easily add one or more vector layers from a number of different geo web services to a Leaflet map.
Currently there's support for ArcGIS Server, Arc2Earth, GeoIQ, CartoDB and GIS Cloud with more planned.
Check the demos to see the library in action.
How?
Leaflet Vector Layers works by listening to map events (pan and zoom) and then fetching features within the map bounds after each event. This method works great for data sets with lots of features that you want to interact with, but not load all at once.
Sound Chatty? Only have a handful of features? You can also load all of the data once, without listening to map pan and zoom events.
Help
This is an open source project so enhancements and patches are encouraged.
So grab the code, report bugs and let me know what you think.
There's also a Leaflet Vector Layers group if you're interested in joining.
Features
Multi-provider Support
Leaflet Vector Layers makes it easy to dynamically pull vector features from a number of different geo web service providers including ArcGIS Server, Arc2Earth, CartoDB and Geocommons.
If you're interested in, or know of any other providers for this library please let me know.
Easy Popup Templating
The simplest way to describe features in a Leaflet map is by using the API's Popup.
Templates can be in the form of a simple string with field names mustache-wrapped ({driver_name}
), or a function that returns HTML content for the Popup. The feature's properties are passed to this function so you can do things like analyze data or show charts and graphs.
For details on Popup templating check the documentation.
Dynamic Data Support
Leaflet Vector Layers makes it easy to visualize live data in a Leaflet map. Just mark the layer as dynamic and auto-updating when you create it and set the interval for how often you'd like to check for updated features.
For details on displaying dynamic data check the documentation.
Simple, Powerful Symbology
Creating effective map styling and symbology is key to getting your message accross to your users.
With Leaflet Vector Layers you can style your layers with a single symbology, a unique symbol for specific attribute values or set symbols to display if a feature's attributes are within a specific range.
For details on symbology options check the documentation.
Scale Dependent Rendering
You likely wouldn't want to show lots of features with complex geometies at lower zoom levels. Using the scaleRange
option allows you to set the minimum and maximum zoom levels at which a layer is visible.


Rajdhani, Shatabdi, Duronto trains to implement new catering tariff from March
Mail, express trains to implement new rates immediately
by Our BureauThe Indian Railways' revised catering tariff will be effective from March 29, 2020, on the Rajdhani, Shatabdi and Duronto trains. However, the revised prices will come into effect immediately on mail/ express trains, an official statement from the Railways said on Friday.
The revised catering tariff will raise the total ticket fare on pre-paid trains by 3-9 per cent for passengers who opt for meals, the release said.
IRCTC would progressively introduce bio-degradable packaging material and have QR codes on its meals so that they can be tracked and traced.
The delay in introducing higher food prices is because train tickets are booked almost four months in advance, and a number of people pay for their food in advance, while booking their tickets.
More to tickle the taste buds
The Railways has also widened the variety of food available by adding biryani to the menu.
On the Rajdhani Express, Duranto Express and Shatabdi Express trains, passengers in the 2-tier AC, 3-tier AC and Chair Car, who form the largest chunk of AC passengers, will have to shell out Rs 10 more for tea and Rs 60 more for lunch and dinner.
On popular demand, passengers on mail and express trains will be able to order biryani (vegetable, egg and chicken) for Rs 80 to Rs 110.
The sale of snacks such as samosa and pakoda may continue on the mail and express trains, the Indian Railways has said.
Passengers on mail and express trains will continue to get the Janta meal, comprising seven poories, aloo curry and pickle, for Rs 20.
According to the Railways, IRCTC will not get to decide the menu of catering services on the Rajdhani, Shatabdi and Duranto trains any more. However, it will be responsible for making available cleaner, better quality food and reducing complaints in catering services.
IRCTC, the Railways PSU that was recently listed, will also ensure that quantity and quality are in line with the tariff and no undue benefit is passed on to the “service provider”.
About 12 lakh meals are served every day and 24,000-25,000 meals are booked through e-catering, according to an IRCTC source.
The number of meals served excludes the food bought from unorganised vendors selling tea, coffee, idli, dosa, mudhi-mixture, chips and cold drinks, among others. Many people also carry their own food with them.


2015-10-10: Fixed syncing. Changed revealing scheme to good old end-of-day.
2015-09-03: Save to server every 5 seconds even if user hasn't stopped typing. Another attempt to fix "syncing" bug, where recently entered text could be reversed by an old sync.
2015-08-02: Going over 10,000 character limit now results in a warning. Attempt to fix bug where writing was reversed with lag.
2015-07-27: Changed revealing scheme to every Sunday, rather than on the 1st of each month.


toronto: 1 posts
neworleans: 1 posts
madison: 2 posts
newjersey: 1 posts
london: 1 posts
portland: 4 posts
orangecounty: 2 posts
dallas: 2 posts
santabarbara: 1 posts
washingtondc: 1 posts
chicago: 1 posts
sandiego: 1 posts
sfbay: 3 posts
vancouver: 1 posts
boston: 1 posts
newyork: 1 posts
milwaukee: 1 posts
memphis: 1 posts
atlanta: 2 posts
boulder: 1 posts
tampa: 1 posts
austin: 1 posts
orlando: 1 posts
reno: 1 posts
denver: 1 posts
philadelphia: 2 posts
indianapolis: 2 posts
sanantonio: 1 posts
hudsonvalley: 2 posts
sacramento: 1 posts
Sep 24 Need Help with Programming - (Ruby on Rails) MyShopify - (Santa Barbara)
Oct 31 Ruby on Rails Web app developer for early-phase team - (mountain view)
Oct 30 Ruby on Rails Developer - (Roseville)
Oct 30 Rails Developer - (Downtown) img
Oct 30 Front End Developer w/ Ruby on Rails - (Indianapolis)
Oct 28 Ruby on Rails Developer needed for site expansion, upkeep - (North Dallas)
Oct 28 Looking for Ruby on Rails Developer/Webmaster -
Oct 24 Ruby on Rails Web Developer - Full Time - (Sarasota)
Oct 24 Ruby On Rails Engineer 50K-75K - (Irvine, CA)
Oct 24 Rails Developer for Server Migration - (costa mesa)
Oct 22 Ruby on Rails web developer with eComm - (Any)
Oct 21 Jr. Ruby on Rails - (SW)
Oct 20 Ruby on Rails Developer - (Remote)
Oct 18 DEVELOPER (Ruby on Rails) - (Center City)
Oct 17 ruby on rails, perl programmer - (orange/rockland ny)
Oct 17 Ruby on Rails, Perl Programmer - (orange/rocklandNY NJ)
Oct 17 Rails Developer - (Boulder)
Oct 11 Rails Developer - PrintReleaf - (Boulder, CO)
Oct 10 Web Developer with Ruby on Rails Experience - (Beaverton)
Oct 09 Ruby on Rails, Heroku, Github - (Highland)
Oct 08 Ruby on Rails Pro - (Reno)
Oct 06 Painful problem for investors needs a Ruby on Rails developer. - (Madison, WI)
Oct 06 Need coding prefer Ruby on Rails - (Memphis)
Oct 01 Configure Ruby on Rails and Database on Cloud Host, GitHub - (Madison, WI)
Nov 05 Technical Cofounder & CTO (Rails Engineer) -
Nov 05 Technical Cofounder & CTO (Rails Engineer) -
Nov 05 Ruby on Rails front end developer - (United States)
Nov 05 Ruby on Rails Programming Development Project - (South Florida)
Nov 05 Ruby on Rails Developer - (Orlando FL)
Nov 05 Ruby on Rails Developer - (DFW)
Nov 05 Ruby on Rails Developer - (Austin)
Nov 05 Backend Ruby on Rails Developer $20 an hour - (Chicago)
Nov 03 Web, Ruby On Rails, Misc Programming - (Wilsonville)
Nov 02 Senior Ruby On Rails Developer ROR - GUST.com - (Midtown)
Nov 01 Ruby on Rails Developer needed - (New Orleans)
Nov 01 Rails & Django programmers: Sharpen your skills and help the world - (Milwaukee)
Nov 01 Rails & Django developers: Help the world & make money. Work at home. - (San Antonio)
Nov 01 Need some Ruby on Rails Help - (Acworth)
Nov 01 Developer Advertisement (Java/Grails/Intalio/Activiti) - (Northern VA)
26 Oct Ruby on Rails Developer - (Norwich, UK)
05 Nov Ruby on Rails developer needed for task - (Vancouver)


{%load static%}
{%include 'marble/base/head.html'%}
{%include 'marble/base/navbar.html'%}
{%if object.team_image%}
{%else%}
{%endif%}
{% include 'marble/base/detail_card.html' with object=object %}
{%include 'marble/base/match.html'%}
Thank you
This gaming is officially conducted by The Madpirate's.
The madpirate's
{%include 'marble/base/scripts.html'%}


Elegant: Getting Started
- Introduction
- Database Configuration
- Defining Models
- Retrieving Models
- Inserting & Updating Models
- Deletes
Introduction
Elegant is more than just a ORM. Elegant is also a database query builder, with a built-in database handler that enables an active record pattern implementation. Elegant is adaptable with any custom mvc project and could be used with many other popular php frameworks such as, Laravel and Codeigniter. By simply dropping a copy of the Elegant directory in any php mvc project you could get started on using the wonderful features of Elegant. Each database table has a corresponding "Model" that interacts with that table. Models allow you to build and execute MySQL queries.
Before getting started, be sure to configure a database connection in Elegant/dbconfig.php
. For more information on configuring your database, check out the documentation.
Database Configuration
Inside the Elegant folder, you can find the dbconfig.php file. Set the proper configurations to use with your database.
<?php /* Elegant/dbconfig.php */ define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PASS","your-password"); define("DB_NAME","your-database-name"); ?>
Defining Models
To get started, let's create an Elegant model. All Elegant models extend Elegant\Model
class.
Elegant Model Conventions
Now, let's look at an example Book
model, which we will use to retrieve and store information from our books
database table:
<?php include_once("Elegant/Model.php"); class Book extends Model { //note: Every model must have a construct and a call to parent. public __construct() { parent::__construct($this); } } ?>
Table Names
Note that we did not tell Elegant which table to use for our Book
model in the previous code snippet. By convention, table names in Elegant use the "snake case" name of the model classes, in all lower case letters unless a different table name is explicitly specified within the model Book's construct as done in the code snippet below:
<?php include_once("Elegant/Model.php"); class Book extends Model { public __construct() { /** * The table name associated with the model. * * @var string */ $this->table_name = 'books'; parent::__construct($this); } } ?>
Retrieving Models
Adding Additional Constraints
The Elegant all
method will return all of the results in the model's table. Since each Elegant model serves as a query builder, you may also add constraints to queries, and then use the get
method to retrieve the results:
Since Elegant models are query builders, you should review all of the methods available on the query builder. You may use any of these methods in your Elegant queries.
<?php $book_model = new Book(); $cols = array('title', 'author', 'description', 'genre'); $books = $book_model->where('active', '=', '1') ->orWhere('title', '=', 'Harry Potter') ->orderBy('name', 'desc') ->take(10) ->get($cols); ?>
Working with Data
For Elegant methods like all
and get
retrieve results that are stored in an Array
where each row can be reached by an integer index. Each row contains an instance of an Child Model
, where each property is the column name holding the value returned from the database. The following code snippet is an example for working with your Elegant results:
<?php /* in controller */ $this->book_model = new Book(); $books = $this->book_model->getBookList(); include 'view/templates/header.php'; include 'view/pages/booklist.php'; include 'view/templates/footer.php'; /* in view */ foreach( $books as $book) { echo $book->title."</br>"; } ?>
Inserting & Updating Models
Inserts
To create a new record in the database, simply create a new model instance, set attributes on the model, then call the save
method:
<?php include_once("Elegant/Model.php"); class Customer extends Model { public function __construct() { parent::__construct($this); } public function create ($name, $address) { $this->name = $name; $this->address = $address; return $this->save(); } } ?>
Updates
<?php include_once("Elegant/Model.php"); class Customer extends Model { public function __construct() { parent::__construct($this); } public function updateById ($id, $name, $address) { $this->name = $name; $this->address = $address; return $this->where('id', '=', $id)->save(); } } ?>
Deletes
To delete a model, specify by chaing a call to the method where
with a call to the delete
method on a model instance:
<?php include_once("Elegant/Model.php"); class Customer extends Model { public function __construct() { parent::__construct($this); } public function removeById($id) { return $this->where('id', '=', $id)->delete(); } } ?>


{% extends "base.html" %} {% block title %}
Medieval catalogues > NEW FRIARS > Oxford-Dominican > Anonymus Reginensis, early 16th cent.
{% endif %}13 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


Imports QuickFix
Public Sub fromApp(Dim message As Message, Dim sessionID As SessionID) Implements Application.fromApp
crack(message, sessionID)
End Sub
Public Overloads Overrides Sub onMessage(ByVal message As QuickFix42.NewOrderSingle, ByVal sessionID As SessionID)
Dim clOrdID As New ClOrdID()
message.get(clOrdID)
Dim clearingAccount As New ClearingAccount()
message.get(clearingAccount)
End Sum
Public Overloads Overrides onMessage(ByVal message As QuickFix42.OrderCancelRequest, ByVal sessionID As QuickFix.SessionID)
Dim clOrdID As New ClOrdID()
message.get(clOrdID)


Provides statistical methods for the design and analysis of a calibration study, which aims for calibrating measurements using two different methods. The package includes sample size calculation, sample selection, regression analysis with error-in measurements and change-point regression. The method is described in Tian, Durazo-Arvizu, Myers, et al. (2014) <doi:10.1002/sim.6235>.
| Version: | 1.0 |
| Published: | 2017-09-05 |
| Author: | Ramon Durazo-Arvizu, Chris Sempos, and Lu Tian |
| Maintainer: | Lu Tian <lutian at stanford.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL] |
| NeedsCompilation: | no |
| CRAN checks: | VDSPCalibration results |
| Reference manual: | VDSPCalibration.pdf |
| Package source: | VDSPCalibration_1.0.tar.gz |
| Windows binaries: | r-devel: VDSPCalibration_1.0.zip, r-release: VDSPCalibration_1.0.zip, r-oldrel: VDSPCalibration_1.0.zip |
| OS X binaries: | r-release: VDSPCalibration_1.0.tgz, r-oldrel: VDSPCalibration_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=VDSPCalibration to link to this page.


{% extends "base.html" %} {# {% import "bootstrap/wtf.html" as wtf %} #} {% block title %} Flasky {% endblock %} {% block page_content %}
| record_id | common_name | country | common_name_py |
|---|---|---|---|
| {{ conn.record_id }} | {{ conn.common_name }} | {{ conn.country }} | {{ conn.common_name_py }} |
The local date and time is {{ moment(current_time).format('LLL') }}.
That was {{ moment(current_time).fromNow(refresh=True) }}


Propagate various user agent characteristics on HTML element. This is useful for different styling for various devices.


I am Sid, a security and crypto lover, Free and Open Source Software (FOSS) Enthusiast, Traveller, Foodie. I blog about various aspects of security/privacy and openness of the web in the modern Internet world.


check_statistics
Downloading! Be patient, please!
outarea_aa
outarea_bb
outarea_cc
outarea_dd
outarea_ee
outarea_ff
outarea_gg
outarea_hh
GitHub
src
Software Version: Aug/07/2016 AM 08:15


{% extends "layout.html" %} {% block content %} {%include 'featured.html'%}
Before you go
Check for updates!Plan your visit
Package Deals!Our new member
Grand Opening!Learn more about Central Park Zoo’s history, animal collection, and more.
No current events!


The oxygen.
The substance. These are my tools, my powers, my agents of change to create the world I seek.
The spirit. These are my passions, my religion, my reasons for being.


| /// File Name: |
firefox-2005.html |
Description:
|
Firefox version <IP_ADDRESS>, Netscape Navigator 9, and Mozilla suffer from remote command execution vulnerabilities via improperly registered URIs.
| | Author: | Nate McFeters, Billy (BK) Rios | | Homepage: | http://xs-sniper.com/ | | File Size: | 2279 | | Last Modified: | Jul 26 06:24:47 2007 |
| MD5 Checksum: | bf533c231ed878d02a3c8c86fa1ef069 |
|


John 8:2-6
Learning someone’s name is usually the first step in getting to know that person. You probably wouldn’t ask about the person’s occupation or family until you at least knew his or her name. You certainly wouldn’t think of asking about his or her deepest hurts, wildest dreams, or closest moment to God if you had never even been properly introduced.
Somehow the Bible didn’t get the memo about the etiquette of introductions.  It feels awkward sometimes to read the stories of the intimate details of people’s lives and never learn their identity. We often know their heart’s desire, the depth of their pain, the way that Jesus changed their destiny, and yet we can’t even call them by name.
We call them things such as the blind beggar, the man lowered through the roof by his friends, the woman at the well, the rich young ruler, the woman who washed Jesus’ feet, the boy with the five loaves and two fish, Potiphar’s wife, Lot’s wife, Noah’s wife, and Job’s wife. They were important enough to make it into the Bible, but somehow, no one thought to catch their names. We’ve assigned each one a nickname based on his or her circumstances, actions, or relationships, whether good or bad.
In the following stories, what are some of the intimate details we know about the unnamed individuals? What names would you give them based on their circumstances?


Everything You Need To Know About IBM Research Internship At Bangalore
IBM Research has many internship positions available and is seeking highly motivated students ......
ReadIBM Research has many internship positions available and is seeking highly motivated students ......
ReadThe VMware Center of Excellence team is looking for a talented engineer who is a fast learner and can contribute as a Software engineer......
ReadAmazon internships are full-time (40 hours/week) for eight consecutive weeks (two months) with start dates between April and May 2021 or six months......
Read


Name
Rank
Hours Played
Rounds Played
W/L Ratio
K/D Rate
Accuracy
Longest Headshot
Last update
Other Sites
Name
Hours Played
Rounds Played
W/L Ratio
K/D Rate
Headshots
Penetration Kills
Walked Km
Last update
Other Sites


Quake II.NET in Managed C++
Here. These guys demonstrate not only a cool application of Managed C++, but also what a fabulous bridge that MC++ is between the unmanaged and managed worlds. Folks that haven't moved to VS.NET because they're doing C++ are *really* missing out.


An exchange sort is:
\Theta(n^2)
\Theta(n)
Most of the sorts that we study swap records.
Insertion Sort is not the only exchange sort.
An "exchange" means a swap of adjacent records.


Use of this tool is limited to return preparers with an invitation from AICPA to assis in testing, and a valid Preparer Tax Identification Number (PTIN) issued prior to September 10, 2013.
{{userInfo.error}}
{{ userInfo | json }}


Generate Datapoints for x days in future
Default Settings for new Datapoints
Detailed History
Create for every Timespan a extra ObjectId in Tree
Every Day (Many Datapoints)
Every week
Every month
Every quarter
Every year
Current / previous Data
-1 = no Data collected (also current), 0 = only current timespan, > 0 the timespans before
Keep previous Minutes
Keep previous Hours
Keep previous Day
Keep previous week
Keep previous month
Keep previous quarters
Keep previous year
Counter Reset Detection
Enable Counter Reset Detection
Ignore Values Lower then the Last Good Value


No Sets Selected
Select the Dominion sets that you own to start
Welcome to Kingdom
Scan a code or generate a Kingdom to start
Generate Kingdom
Press the button to start
generating a Kingdom
generating a Kingdom
New Kingdom
Randomize Sets
2
Generator Options
Potion Clustering
Ensures multiple Potion cards in games with Potions
Set Distribution
Tries to split the chosen cards across the selected sets


Set FlowSpace for Slice {{ slice.name }}
Each table below describes a class of traffic to be received by your controller. Each field is specified as a range. Empty cells mean any value. The tables are OR'ed together to produce a rule.
For example, if you want to receive packets tagged with the VLAN 2012, then you will need to set this value in both columns corresponding to the "VLAN ID" row. Or you may choose a small range of values.
If you need to define more FlowSpaces, click "Define another FlowSpace" and an additional empty table will be displayed.


{% extends "base.html" %}
{% block title %}Results for '{{ term }}'{% endblock %}
{% block content %}
{% comment %}
name - is the name/type/title of the search results (e.g. Certificate, Sample, Domain, etc)
count - is the number of results for the type of search result
url - is the django url for the search listings for the type of search
{% endcomment %}
{% for result in results %}
{% if result.count > 0 %}


????? ????????
on 2012-04-10 09:52:43
Great job here. I really enjoyed what you had to say. Keep going because you definitely bring a new voice to this subject. Not many people would say what you’ve said and still make it interesting
Theriault
on 2011-05-13 10:28:09
@Breton: I can't verify it because I don't have IE9, but my guess on a fix would be changing line 55 from...
tmpFrom.push(fr);
to...
tmpFrom.push('' + fr);
Let us know if this fixes it.
Breton
on 2011-05-10 11:24:02
Hi, there is a new bug in IE9 with the function strtr !
This line doesn't work : "if (str.substr(i, from[j].length) == from[j]) {"
Have you got any idea ?
You can see the error here : http://imageshack.us/photo/my-images/805/bugc.jpg/
Fucking IE ! ^^'
odin
on 2011-03-27 23:45:26
Hey i maid even bether one look down:
it contanis 0 loops for norma use and 1 loop for advanced use
function strtr(s,f,t)
{
core=function(str,from,to){//core function
str=str.split(from);//breake parts that we wan't to
str=str.join(to);//glue with new parts that we wan't to
return str;
};//end of core function
if(!t){//check if we use advanced option
r=s;
for(e in f){//loop
r=core(r,e,f[e]);//call our core function
}
return r;// end code and retun value
}
//normal use
return core(s,f,t); // just call normal core function and return
}
/*
example:
normal use:
strtr("This string is string.","string","text");
=This text is text.
advanced use
strtr("This string is texty.",{'texty':'text','string':'text'});
=This text is string.
advanced use WARNING!
strtr("This string is text.",{'text':'string','string':'text'});
=This text is text.
this is not switcher it's replacer!!
*/
Brett Zamir
on 2010-12-02 09:55:47
@Robert: Please try your function against the existing examples to make sure it works. Thanks...
Robert
on 2010-12-01 20:41:28
What about something more like this? I saw an example of using this for urlencode and thought it would work well for strtr.
function strtr(base, old, n){
return base.replace(/[A-Za-z0-9_.-]/g, function (s) {
for (var k = 0; k < old.length; k++) {
if (s == old.charAt(k) && k < n.length) {
return n.charAt(k);
}
}
});
}
jpfle
on 2009-12-11 16:20:54
@Brett: it works very great now. Thanks again! :-)
Brett Zamir
on 2009-12-11 12:40:42
@jpfle: Sorry, I had also needed to update krsort() recently too. Please use the version at http://github.com/kvz/phpjs/blob/master/functions/array/krsort.js
jpfle
on 2009-12-11 04:25:40
@Brett: Thanks for your answer. However, it no longer works neither on Firefox nor IE. Here's what I packaged on phpjs.org:
- `i18n_loc_get_default()`
- `i18n_loc_set_default()`
- `ini_set()`
- `krsort()`
- `strtr()`
and then I replaced `strtr()` by github's version. With the same code of my previous comment, "ça et là" is output on Firefox and IE without any translation, namely "ça et là". Firefox's Error Console is empty.
Brett Zamir
on 2009-12-10 05:42:56
@jpfle: Should now be fixed: http://github.com/kvz/phpjs/blob/master/functions/strings/strtr.js . Please note that I've needed to add a new dependency: ini_set(). Also, this will not work with IE5 as is, since I also added for-in filtering for hasOwnProperty (you can remove the check (or alter it to at least make sure from[fr] is a string) if you need to support IE5, but you risk interfering with other libraries that override the Object prototype; otherwise it's best to leave it as is).
jpfle
on 2009-12-09 22:30:16
Hi. Thanks for this useful function. I use it in a script generating a table of contents for XHTML pages. Each title in a page is transliterated ('à' => 'a', 'é' => 'e', 'î' => 'i', etc.) with strstr() to create an anchor. However, there's a bug with Internet Explorer 6. Take this code:
var texte = 'çà et là';
texte = strtr(texte, {'ç': 'c', 'à': 'a', ' ': '-'});
alert(texte);
Firefox (3.5.5) outputs "ca-et-la", as expected, but IE6 outputs "ca-undefinedundefined-undefineda".
kwemart
on 2009-11-20 12:10:58
@kevin van
yes I know my function is just for regulars expressions
it wouldn't work with ayyay but I'll update it later
cheer .
Kevin van Zonneveld
on 2009-11-07 18:50:03
@ kwemart: Thanks for sharing. However with your code, only the 3rd example produces the expected output. The other ones fail :(
kwemart
on 2009-10-31 12:25:41
hi this function is very nice but I propose an other solution , it only work with a regular expression.
function strtr(str,from,to)
{
var patt=str.split(from),str2="";
var l=patt.length,i=1;
while(i<=l-1){str=str.replace(from,to);i+=1;}
return str;
}
Kevin van Zonneveld
on 2009-07-03 13:52:01
@ Roland Hentschel: Thanks for sharing
@ Frank Forte & T.Wild: Cool, let's continue at the page suggested by T.Wild
T.Wild
on 2009-07-02 22:59:55
@Frank Forte
You may want to post your problem over at
http://phpjs.org/functions/htmlspecialchars
rather than here on strtr
Frank Forte
on 2009-07-02 15:25:46
I found the following error with the htmlspecialchars() function when doing the following:
el.innerHTML = htmlspecialchars('test 1 < 2 ');
The output (inserted into the element) was
'test 1 < 2'
The htmlspecialchars function does this:
step 1 < turns to <
step 2 < turns to <
This is because the & symbol would be converted AFTER the < character was converted (or any other character for that matter)
I fixed the problem by moving the line:
entities['38'] = '&';
near the top of the html_translation_table() function,
right above the the following line:
if (useTable === 'HTML_ENTITIES') {
This would make sure that the & characters is converted first, then the rest of the charachters would be converted.
-Frank Forte
Roland Hentschel
on 2009-06-30 08:32:41
An implementation for this script:
http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_chr/
function charmap(font) {
document.write("\n");
document.write("
\n");
for (x=0;x<16;x++) {
document.write("
\n");
for (y=0;y<16;y++) {
document.write(""+chr(16*x+y)+"	\n");
}
document.write("
\n");
}
document.write("
\n");
}
Brett Zamir
on 2009-05-30 05:37:10
Kevin fixed it in SVN...Thanks for the reports!
Jason Wang
on 2009-05-29 09:36:38
There is a bug for the function. For example, when using PHP strtr("abc","abc","cba") the result is "cba". But using this function, the result is "aba". Because the first character "a" is replaced by "c", however it became "a" when trying to replace all character "c" with "a". Maybe here we can use some array to store the status as well the chars in order to solve the problem.
Good Luck
uestla
on 2009-03-10 13:35:01
In PHP the function strtr() called with three arguments (string, from, to) replaces the characters in the whole string. Shouldn't be the global modificator 'g' in your script?
Thanks for your answer, uestla (sorry for my english).


org.apache.hivemind.examples.impl
Classes
AdderImpl
(0%)
CalculatorImpl
(0%)
DividerImpl
(0%)
MultiplierImpl
(0%)
ProxyLoggingInterceptorFactory
(0%)
ProxyLoggingInvocationHandler
(0%)
SubtracterImpl
(0%)
TargetServiceImpl
(0%)


| Weekly #1 | ||
|---|---|---|
| Place | Player Tag | Character(s) |
| 1st | Kevbot | |
| 2nd | Kenji | |
| 3rd | Zem | |
| 4th | Dana | |
| 5th | Poefire | |
| 5th | Richtit | |
| 7th | Zhyrri | |
| 7th | Lucas | |
| Full Results |
| Weekly #2 | ||
|---|---|---|
| Place | Player Tag | Character(s) |
| 1st | Kevbot | |
| 2nd | Dana | |
| 3rd | Sharkboi | |
| 4th | Poefire | |
| 5th | Mo$ | |
| 5th | Foogy | |
| 7th | Zhyrri | |
| 7th | DLuu | |
| Full Results |
| Weekly #3 | ||
|---|---|---|
| Place | Player Tag | Character(s) |
| 1st | Kevbot | |
| 2nd | Dana | |
| 3rd | Zem | |
| 4th | Kenji | |
| 5th | Aubfox | |
| 5th | BNF | |
| 7th | Poefire | |
| 7th | Luan | |
| Full Results |
| Weekly #4 | ||
|---|---|---|
| Place | Player Tag | Character(s) |
| 1st | Kevbot | |
| 2nd | Poefire | |
| 3rd | Zem | |
| 4th | Dana | |
| 5th | Mo$ | |
| 5th | Tran | |
| 7th | Zhyrri | |
| 7th | Gallon213 | |
| Full Results |
To be determined... Could be you! Come to Davis Melee Club weeklies to be considered for ranking.


BUYApplePayHelpers Class Reference
| Inherits from | NSObject |
|---|---|
| Conforms to | PKPaymentAuthorizationViewControllerDelegate |
| Declared in | BUYApplePayHelpers.h |
– initWithClient:checkout:shop:
Initializes a helper to support Apple Pay
- (instancetype)initWithClient:(BUYClient *)client checkout:(BUYCheckout *)checkout shop:(BUYShop *)shop
Parameters
client |
A configured client |
|---|---|
checkout |
The checkout which is to be completed using Apple Pay |
shop |
A shop object to alleviate the need for ApplePayHelper to retrieve it via the BUYClient |
Return Value
helper object
Declared In
BUYApplePayHelpers.h
– updateAndCompleteCheckoutWithPayment:completion:
Call this method in the PKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:completion
- (void)updateAndCompleteCheckoutWithPayment:(PKPayment *)payment completion:(void ( ^ ) ( PKPaymentAuthorizationStatus status ))completion
Parameters
payment |
the authorized payment |
|---|---|
completion |
completion block thats called after Shopify authorizes the payment |
Declared In
BUYApplePayHelpers.h
– updateCheckoutWithShippingMethod:completion:
Call this method in the PKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:completion
- (void)updateCheckoutWithShippingMethod:(PKShippingMethod *)shippingMethod completion:(void ( ^ ) ( PKPaymentAuthorizationStatus status , NSArray *methods ))completion
Parameters
shippingMethod |
The selected shipping method |
|---|---|
completion |
the completion block called after shipping method is updated on the checkout |
Declared In
BUYApplePayHelpers.h
– updateCheckoutWithAddress:completion:
Call this method in the PKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingAddress:completion
- (void)updateCheckoutWithAddress:(ABRecordRef)address completion:(void ( ^ ) ( PKPaymentAuthorizationStatus status , NSArray *shippingMethods , NSArray *summaryItems ))completion
Parameters
address |
The selected shipping address |
|---|---|
completion |
the completion block called after the shipping address is updated on the checkout |
Declared In
BUYApplePayHelpers.h
– updateCheckoutWithContact:completion:
Call this method in the PKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingAddress:completion
- (void)updateCheckoutWithContact:(PKContact *)contact completion:(void ( ^ ) ( PKPaymentAuthorizationStatus , NSArray *shippingMethods , NSArray *summaryItems ))completion
Parameters
contact |
The selected contact |
|---|---|
completion |
the completion block called after the shipping address is updated on the checkout |
Declared In
BUYApplePayHelpers.h
checkout
The current checkout
@property (nonatomic, strong, readonly) BUYCheckout *checkout
Declared In
BUYApplePayHelpers.h
client
The client used to communicate with Shopify
@property (nonatomic, strong, readonly) BUYClient *client
Declared In
BUYApplePayHelpers.h
lastError
The last error message
@property (nonatomic, strong, readonly) NSError *lastError
Declared In
BUYApplePayHelpers.h
shop
The shop object
@property (nonatomic, strong, readonly) BUYShop *shop
Declared In
BUYApplePayHelpers.h