@doncat and his team are testing this on staging now. Hopefully we should hear back soon.
This isn't what we asked for. Our "dream" was to be able to provide a text file of barcodes and sizes, for processing. Entering barcodes one by one in a form and selecting a size for each one is pretty dysfunctional. It's not impossible, but not what we would choose. Isn't there a way to get the same barcode/size input for your process via uploading a text file? Alternately, redesign so that the operator can declare or select a size and then sequentially scan barcodes for that size. When finished with it, select the next size and scan. (Our end-processing shelves are size-sorted.) If barcodes are duplicated in a batch, take the last one and its size. That's what we are planning to do separately to make that text file we want to upload. If something like that could be provided it would fit our conditions better.
Isn't there a way to get the same barcode/size input for your process via uploading a text file?
Yeah, it's possible. The thing I'm concerned about is that a text file inherently has no sets of checks for if a prefix is valid and doesn't have a clear way to fix things. Further, it means changing your workflow is disconnected from changing the application and will inevitably lead to silent workarounds or cases where we have to parse if the file is okay or not.
Alternately, redesign so that the operator can declare or select a size and then sequentially scan barcodes for that size. When finished with it, select the next size and scan. (Our end-processing shelves are size-sorted.) If barcodes are duplicated in a batch, take the last one and its size.
This is great! I can look into making the form respond with the assumption that items are often of the same size.
If barcodes are duplicated in a batch, take the last one and its size.
@doncat One more thing - what in the workflow leads to barcodes being duplicated?
Text file is produced via Macro Express. Easy as anything. Size values are controlled. Barcodes are checked for "32101" and length=14. Everything is done via little forms. We are used to this. That's why I was able to describe it so clearly. Barcodes are duplicated, maybe, because the operator forgot to change the size code. Or, the cataloger put it on the wrong shelf. Human beings. It happened in old AbID too. So, assuming the last is the right one. The text file macro makes this barcode duplication check at some point and retains only the last one for further processing. We intended to provide a clean text file to serve as input, created with minimal task load on the operator. Looking forward to the in-app equivalent.
@doncat The "size-first" workflow is up on the staging site and a demo video is here:
mentioned
by Don Thornbury at 2021-08-31 16:29:33.subscribed
by Don Thornbury at 2021-08-31 16:29:33.mentioned
by Don Thornbury at 2021-08-31 19:59:42.subscribed
by Don Thornbury at 2021-08-31 19:59:42.deployed
by None at 2021-08-31 21:44:24.mentioned
by Don Thornbury at 2021-08-31 21:54:48.subscribed
by Don Thornbury at 2021-08-31 21:54:48.Another example: https://catalog.princeton.edu/catalog/9975711613506421
The problem is that bibdata is raising error "Multiple items found under the same key" from this part of the code: https://github.com/pulibrary/bibdata/blob/main/app/adapters/alma_adapter/availability_status.rb#L25-L39 for these records.
I took a quick look at the data that comes from Alma for one of the offending records (mms id:<PHONE_NUMBER>6706421
) and it has two holdings and each holding with two items. It is strange that the holding information for one of the holdings<PHONE_NUMBER>0006421
) is different depending on where it comes in the response, in one instance it has information about a temp location for reserves whereas in the other it does not...for the exact same holding.
More to come.
The culprit is that we return the availability information grouped by mms_id
+ holding_id
and in this case there are multiple items for the same the mms_id
+ holding_id
combination. In hindsight this is an expected scenario but the code explicitly throws and exception when it happens because we had not decided what to do in this case (e.g. what is the availability of holding X if item X1 is available but item X2 is unavailable).
Another thing in common for these bib records is that all of them have at least one holding marked as a temporary location. That's really what forces bib data to try to calculate availability from the items (rather than using the data from the holding) and while aggregating the data from the items it bumps into the problem described in the previous paragraph.
I'll submit a PR with some ideas.
labeled
by Kevin Reiss at 2021-08-31 02:27:08.assigned
by Hector Correa at 2021-08-31 15:38:22.labeled
by None at 2021-08-31 16:58:28.labeled
by None at 2021-08-31 16:58:28.head_ref_force_pushed
by None at 2021-08-31 16:58:28.We've deployed it to staging, next step is add systemd to auto-start it in the background and figure out why one of the collections errored about description.
closed
by Kevin Reiss at 2021-08-31 21:43:20.assigned
by James R. Griffin III at 2021-08-31 19:07:01.labeled
by None at 2021-09-01 00:46:41.labeled
by None at 2021-09-01 00:46:41.Record<PHONE_NUMBER>3506421
(Zhonghua jing dian gu ji ku) has no AVA/AVE data from Alma but there is one 856
which is why it shows Available Online in the Show page, but evidently we are not taking this into account in the Search page and therefore it shows "No holdings available for this record" in the Search results.
On the other hand, record<PHONE_NUMBER>0006421
(Liang jing xin ji ji jiao) has information in the AVA/AVE fields from Alma and also it has two 856
fields. The search results for this record displays Online, very likely because it picks up the information from the AVA/AVE fields.
Coverage remained the same at 97.062% when pulling 4c7a6304b821156432e0a60ff751128df8d695d6 on issue2659marquand into 39afa95afdf8f3c91d1745f0b15c7fd8615a6eb1 on main.
@hectorcorrea can you add a screenshot in the PR?
A new screenshot :)
@christinach done - same display applies for the show page.
Thank you @hectorcorrea !
rcppj -> marquand$pj, https://bibdata.princeton.edu/locations/holding_locations/marquand$pj (https://github.com/pulibrary/bibdata/blob/main/voyager_alma_mapping.csv#L245) sa -> marquand$stacks, (this is done) https://github.com/pulibrary/bibdata/blob/main/voyager_alma_mapping.csv#L291
mentioned
by Hector Correa at 2021-08-31 13:40:46.subscribed
by Hector Correa at 2021-08-31 13:40:46.mentioned
by Christina Chortaria at 2021-08-31 13:55:46.subscribed
by Christina Chortaria at 2021-08-31 13:55:46.mentioned
by Hector Correa at 2021-08-31 13:59:57.subscribed
by Hector Correa at 2021-08-31 13:59:57.review_requested
by Christina Chortaria at 2021-08-31 14:00:03.deployed
by None at 2021-08-31 14:21:29.closed
by Christina Chortaria at 2021-08-31 16:38:20.In the past we displayed for cdl item status: 'Reserved for digital lending'. https://github.com/pulibrary/orangelight/blob/a1a88135b5331b30b087d97263c32da2fba208ac/app/javascript/orangelight/availability.es6#L22 https://github.com/pulibrary/orangelight/blob/a1a88135b5331b30b087d97263c32da2fba208ac/app/javascript/orangelight/availability.es6#L330 @kevinreiss, @kelynch do we want to display this status again instead of 'Online'?
I approve of making this change where if I understand it the user will never see a request button for these items at any point no matter how slow the extra availability checks take.
@kevinreiss The current implementation will initially show the Request button for a few seconds (4-5 seconds) like it does for Reserves and then, after Alma comes back with CDL info we hide them. This is not ideal.
We could try to implement this the other way around: Initially hide the Request button and only show if after the Alma slow API comes back. But this will be a more complicated and riskier change so I would vote to do that separately so that we can test it extensively...because if we mess that one up the Request button won't show up if there is an Alma error or bug in our code.
mentioned
by Kevin Reiss at 2021-08-31 15:36:59.subscribed
by Kevin Reiss at 2021-08-31 15:37:00.mentioned
by Kate Lynch at 2021-08-31 15:37:00.subscribed
by Kate Lynch at 2021-08-31 15:37:00.mentioned
by Kevin Reiss at 2021-08-31 16:22:21.subscribed
by Kevin Reiss at 2021-08-31 16:22:21.deployed
by None at 2021-08-31 16:28:02.referenced
by Christina Chortaria at 2021-08-31 16:38:20.merged
by Christina Chortaria at 2021-08-31 16:38:20.closed
by Christina Chortaria at 2021-08-31 16:38:20.head_ref_deleted
by Christina Chortaria at 2021-08-31 16:38:21.Coverage remained the same at 97.062% when pulling ecefaf2842e16e18fa43791c7b2b5b6c3dec11de on dependabot/npmandyarn/hosted-git-info-2.8.9 into 39afa95afdf8f3c91d1745f0b15c7fd8615a6eb1 on main.
Coverage remained the same at 97.062% when pulling e5b7d782703d6aef708011527a91712545af1dfb on dependabot/npmandyarn/browserslist-4.16.8 into 9aaf48345dd560e3740913d0d344c076e60c36a8 on main.
Coverage remained the same at 97.062% when pulling 55bbd1880f6f892c1cc43dfee76d14718c8fff9d on dependabot/npmandyarn/ws-6.2.2 into 783756e31ec27806c64eb061dc0055692b45380e on main.
Coverage remained the same at 97.062% when pulling 5226246aae7276e2c16fab8da7188302516f665c on dependabot/npmandyarn/lodash-4.17.21 into 783756e31ec27806c64eb061dc0055692b45380e on main.
Coverage remained the same at 97.062% when pulling d0d2fd391e765cb032202bdf1704ea6c1b2313ab on dependabot/npmandyarn/color-string-1.6.0 into 783756e31ec27806c64eb061dc0055692b45380e on main.
Coverage remained the same at 97.062% when pulling dd7fd478ba9facd5220504a25422107fdfedd59a on dependabot/npmandyarn/dns-packet-1.3.4 into 783756e31ec27806c64eb061dc0055692b45380e on main.
I can't reproduce this. I exported the csv while logged in and not logged in:
ID,Title,Title (Original Script),Author,Author (Original Script),Format,Language,Published/Created,Date,Description,Series,Location,Call Number,Notes
9912140633506421,Cats,"","","",Book,English,New York: G. P. Putnam's Sons,1974,108 p. illus. (part col.) 33 cm.,Animal world series,Stacks,Oversize QL737.C23C36.1974q,""
@escowles is there more info on this issue?
@christinach I think the issue is really with Excel. That was the default app for handling CSV files for me, and it treats the long numeric IDs as numbers. It renders as 9.91214E+15
and when I look at the cell, I see the off-by-one value. So maybe there is some weird floating-point rounding going on? I'm not sure what we can do, but I think it will be pretty common to open the CSV files in Excel. I checked and Google Spreadsheets handles them just fine.
I understand @escowles . I will see what we can do.
labeled
by Esmé Cowles at 2021-08-31 14:57:06.mentioned
by Esmé Cowles at 2021-08-31 15:43:53.subscribed
by Esmé Cowles at 2021-08-31 15:43:53.mentioned
by Christina Chortaria at 2021-08-31 17:34:28.subscribed
by Christina Chortaria at 2021-08-31 17:34:28.mentioned
by Esmé Cowles at 2021-08-31 18:08:07.subscribed
by Esmé Cowles at 2021-08-31 18:08:07.assigned
by Christina Chortaria at 2021-08-31 18:46:54.closed
by None at 2021-08-31 20:29:16.If this approach looks like a good solution I'll go ahead and add tests to the PR but for now I am just seeing what others think of the approach.
Coverage decreased (-0.03%) to 97.028% when pulling 19cc20aae7b81df28e23235e54be278619eccf7e on issue2668online_holdings into 7f4bbc230f63282b1760a94ca4267d48bb8efa7c on main.
Coverage remained the same at 97.062% when pulling a3f8619732c3d37e6474606ebfa20e4861e004e8 on request_harvard into aeb61aae69d7f97cb1e5aff494d25c6aa64af834 on main.
deployed
by None at 2021-08-31 19:17:17.@christinach I deployed it, but I am still seeing the error.
@carolyncole yes I just checked and opened https://github.com/pulibrary/princeton_ansible/issues/2453 I need to change it in princeton_ansible as well
Coverage remained the same at 97.062% when pulling 7d7a1ea0c421989f922d51ec42f0de8e9cadbf68 on 2698-alma-qa-bibdata-prod into aeb61aae69d7f97cb1e5aff494d25c6aa64af834 on main.
deployed
by None at 2021-08-31 20:04:53.mentioned
by Christina Chortaria at 2021-08-31 20:17:05.subscribed
by Christina Chortaria at 2021-08-31 20:17:05.mentioned
by None at 2021-08-31 20:18:27.subscribed
by None at 2021-08-31 20:18:27.referenced
by None at 2021-08-31 20:29:16.merged
by None at 2021-08-31 20:29:16.closed
by None at 2021-08-31 20:29:16.head_ref_deleted
by None at 2021-08-31 20:29:17.Deprecated by https://github.com/pulibrary/ouranos/pull/18
closed
by James R. Griffin III at 2021-08-31 13:22:01.head_ref_deleted
by James R. Griffin III at 2021-08-31 13:25:58.ready_for_review
by James R. Griffin III at 2021-08-31 13:25:23.renamed
by James R. Griffin III at 2021-08-31 15:19:12.referenced
by Kevin Reiss at 2021-08-31 14:45:53.merged
by Kevin Reiss at 2021-08-31 14:45:53.closed
by Kevin Reiss at 2021-08-31 14:45:53.head_ref_deleted
by Kevin Reiss at 2021-08-31 14:45:53.referenced
by None at 2021-08-31 20:45:46.merged
by None at 2021-08-31 20:45:46.closed
by None at 2021-08-31 20:45:46.head_ref_deleted
by None at 2021-08-31 20:45:47.closed by https://github.com/pulibrary/princeton_ansible/pull/2454
labeled
by Christina Chortaria at 2021-08-31 20:17:21.unlabeled
by Christina Chortaria at 2021-08-31 20:17:30.renamed
by Christina Chortaria at 2021-08-31 21:03:30.closed
by Christina Chortaria at 2021-08-31 21:03:59.@jrgriffiniii This is great, can you also increment the version here? https://github.com/pulibrary/princeton_ead_exporter/blob/main/plugin_info.txt#L2
mentioned
by James R. Griffin III at 2021-08-31 17:24:13.subscribed
by James R. Griffin III at 2021-08-31 17:24:13.referenced
by Trey Pendragon at 2021-08-31 17:48:48.merged
by Trey Pendragon at 2021-08-31 17:48:48.closed
by Trey Pendragon at 2021-08-31 17:48:48.head_ref_deleted
by Trey Pendragon at 2021-08-31 17:48:51.deployed
by None at 2021-08-31 14:59:26.referenced
by Kevin Reiss at 2021-08-31 15:07:11.merged
by Kevin Reiss at 2021-08-31 15:07:11.closed
by Kevin Reiss at 2021-08-31 15:07:11.head_ref_deleted
by Kevin Reiss at 2021-08-31 15:07:12.referenced
by Kevin Reiss at 2021-08-31 18:17:03.merged
by Kevin Reiss at 2021-08-31 18:17:03.closed
by Kevin Reiss at 2021-08-31 18:17:03.head_ref_deleted
by Kevin Reiss at 2021-08-31 18:17:03.assigned
by Bess Sadler at 2021-08-31 15:46:48.I think I removed the suggest component while trying to debug our nodes crashing. A deploy of pul_solr to lib-solr8-prod will probably fix this.
referenced
by Bess Sadler at 2021-08-31 15:42:52.referenced
by Bess Sadler at 2021-08-31 15:42:52.closed
by James R. Griffin III at 2021-08-31 17:14:29.referenced
by James R. Griffin III at 2021-08-31 17:14:29.merged
by James R. Griffin III at 2021-08-31 17:14:29.closed
by James R. Griffin III at 2021-08-31 17:14:29.head_ref_deleted
by James R. Griffin III at 2021-08-31 17:14:30.assigned
by Trey Pendragon at 2021-08-31 16:37:46.referenced
by Trey Pendragon at 2021-08-31 17:05:05.referenced
by Trey Pendragon at 2021-08-31 17:06:16.closed
by Bess Sadler at 2021-08-31 17:15:00.referenced
by Bess Sadler at 2021-08-31 17:15:01.referenced
by Bess Sadler at 2021-08-31 17:14:59.merged
by Bess Sadler at 2021-08-31 17:14:59.closed
by Bess Sadler at 2021-08-31 17:15:00.head_ref_deleted
by Bess Sadler at 2021-08-31 17:15:01.assigned
by James R. Griffin III at 2021-08-31 17:31:10.referenced
by Trey Pendragon at 2021-08-31 17:49:16.merged
by Trey Pendragon at 2021-08-31 17:49:16.closed
by Trey Pendragon at 2021-08-31 17:49:16.head_ref_deleted
by Trey Pendragon at 2021-08-31 17:49:17.head_ref_force_pushed
by James R. Griffin III at 2021-08-31 17:38:53.head_ref_force_pushed
by James R. Griffin III at 2021-08-31 17:41:09.ready_for_review
by James R. Griffin III at 2021-08-31 17:41:45.unassigned
by Trey Pendragon at 2021-08-31 18:18:15.closed
by Trey Pendragon at 2021-08-31 18:35:53.closed
by Trey Pendragon at 2021-08-31 18:36:29.@ccleeton confirmed this is fixed.
closed
by Trey Pendragon at 2021-08-31 18:43:48.mentioned
by Christa Cleeton at 2021-08-31 18:43:48.subscribed
by Christa Cleeton at 2021-08-31 18:43:49.assigned
by Trey Pendragon at 2021-08-31 18:23:24.unassigned
by Trey Pendragon at 2021-08-31 18:44:39.labeled
by Christa Cleeton at 2021-08-31 18:48:04.@ccleeton Confirmed we can close this.
labeled
by Christa Cleeton at 2021-08-31 18:38:59.closed
by Trey Pendragon at 2021-08-31 18:49:47.mentioned
by Christa Cleeton at 2021-08-31 18:49:47.subscribed
by Christa Cleeton at 2021-08-31 18:49:47.I'm going to close this for now as the issue hasn't been able to be replicated.
closed
by None at 2021-08-31 19:51:33.labeled
by None at 2021-08-31 20:19:05.labeled
by Christa Cleeton at 2021-08-31 18:37:53.assigned
by James R. Griffin III at 2021-08-31 20:19:43.labeled
by None at 2021-08-31 20:19:49.labeled
by Christa Cleeton at 2021-08-31 18:37:13.assigned
by Trey Pendragon at 2021-08-31 18:46:36.referenced
by Trey Pendragon at 2021-08-31 20:16:24.closed
by James R. Griffin III at 2021-08-31 20:20:41.referenced
by James R. Griffin III at 2021-08-31 20:20:40.merged
by James R. Griffin III at 2021-08-31 20:20:40.closed
by James R. Griffin III at 2021-08-31 20:20:41.head_ref_deleted
by James R. Griffin III at 2021-08-31 20:20:41.labeled
by None at 2021-08-31 20:21:44.This might relate to #632?
labeled
by None at 2021-08-31 20:20:51.Remove:
If you are an undergraduate requesting to pick up books from a Library location other than Firestone, please be sure that you have access to the building. Access can be requested through your academic department.
Remove: When picking up and/or dropping off your books
Please do so promptly | Please do so promptly | Remain only in the designated pick-up area | Remain only in the designated pick-up area
Remove references to hours at the pick-up location. Spoke with Joan and she said we no longer need this as pick-up hours are the same as normal open/close hours at all locations.
assigned
by None at 2021-08-31 16:28:47.closed
by Kevin Reiss at 2021-08-31 21:43:57.referenced
by Kevin Reiss at 2021-08-31 21:43:57.merged
by Kevin Reiss at 2021-08-31 21:43:57.closed
by Kevin Reiss at 2021-08-31 21:43:57.head_ref_deleted
by Kevin Reiss at 2021-08-31 21:43:58.referenced
by Kevin Reiss at 2021-08-31 21:44:48.merged
by Kevin Reiss at 2021-08-31 21:44:48.closed
by Kevin Reiss at 2021-08-31 21:44:48.head_ref_deleted
by Kevin Reiss at 2021-08-31 21:44:48.Resolved: OAR is back up in 986289d
.
closed
by Francis Kayiwa at 2021-08-30 22:00:42.


Upon startup, the parable language consists of one function and the functionality exposed by the parser. The initial function is define. The standard libary is provided to make Parable into a useful language.
define is used to attach a name to a pointer.
pointer string --
This is a primitive corresponding to a byte code.
Convert a value to a number.
value -- number
This is a primitive corresponding to a byte code.
Convert a value to a string.
value -- string
This is a primitive corresponding to a byte code.
Convert a value to a character.
value -- character
This is a primitive corresponding to a byte code.
Convert a value to a pointer.
value -- pointer
This is a primitive corresponding to a byte code.
Convert a value to a flag.
value -- flag
This is a primitive corresponding to a byte code.
Return a number indicating the type of the top value on the stack. This will correspond to NUMBER, CHARACTER, STRING, POINTER, or FLAG.
value -- value number
This is a primitive corresponding to a byte code.
Add A to B, returning the result.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Subtract B from A, returning the result.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Multiply A by B, returning a result.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Divide A by B, returning the result.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Divide A by B, returning the remainder.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Return the largest integer value less than or equal to number.
number -- number
This is a primitive corresponding to a byte code.
math.pow(x, y)
Return A raised to the power of B.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Return the natural logarithm of number (to base e).
number -- number
This is a primitive corresponding to a byte code.
Return the base 10 logarithm of number.
number -- number
This is a primitive corresponding to a byte code.
Return the logarithm of a to the given base, calculated as log(a)/log(b)
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Perform a bitwise shift of A by B bits. If B is negative, shift left, otherwise shift right.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Perform a bitwise AND operation on the two values provided.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Perform a bitwise OR operation on the two values provided.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Perform a bitwise XOR operation on the two values provided.
number:a number:b -- number:result
This is a primitive corresponding to a byte code.
Return a random number between zero and one.
-- number
This is a primitive corresponding to a byte code.
Calculate and return the square root of a number.
number -- number
This is a primitive corresponding to a byte code.
Compare two values for less than. Returns a flag.
number:a number:b -- flag
This is a primitive corresponding to a byte code.
Compare two values for greater than. Returns a flag.
number:a number:b -- flag
This is a primitive corresponding to a byte code.
Compare two values for less than or equal to. Returns a flag.
number:a number:b -- flag
This is a primitive corresponding to a byte code.
Compare two values for greater than or equal to. Returns a flag.
number:a number:b -- flag
This is a primitive corresponding to a byte code.
Compare two values for equality. Returns a flag.
value value -- flag
This is a primitive corresponding to a byte code.
Compare two values for inequality. Returns a flag.
value value -- flag
This is a primitive corresponding to a byte code.
If flag is true, execute pointer:true. Otherwise, execute pointer:false.
flag pointer:true pointer:false --
This is a primitive corresponding to a byte code.
Execute the code in pointer repeatedly, until the code returns a flag of false. The code must return a flag after each execution cycle.
pointer --
This is a primitive corresponding to a byte code.
Execute the code in pointer repeatedly, until the code returns a flag of true. The code must return a flag after each execution cycle.
pointer --
This is a primitive corresponding to a byte code.
Execute the code at pointer the specified number of times.
number pointer --
This is a primitive corresponding to a byte code.
Execute the code at pointer.
pointer --
This is a primitive corresponding to a byte code.
Remove value from the stack, and execute pointer. After execution is complete, restore the value to the stack.
value pointer -- value
This is a primitive corresponding to a byte code.
Execute pointer with a copy of value on the stack. Restores value to the stack after execution completes.
value pointer -- value
This is a primitive corresponding to a byte code.
Apply each quotation to a copy of value.
value pointer:a pointer:b -- ?
This is a primitive corresponding to a byte code.
Apply each quotation to a copy of value.
value pointer:a pointer:b pointer:c -- ?
This is a primitive corresponding to a byte code.
Copy the contents of the source slice into the destination slice.
pointer:source pointer:dest --
This is a primitive corresponding to a byte code.
Fetch a value from the specified offset in a slice.
pointer number:offset -- number
This is a primitive corresponding to a byte code.
Store a value into a slice at a specified offset.
value pointer number:offset --
This is a primitive corresponding to a byte code.
Allocate a new slice and return a pointer to it.
-- pointer
This is a primitive corresponding to a byte code.
Release an allocated slice.

--
This is a primitive corresponding to a byte code.
Return the last index in a slice.
pointer -- number
This is a primitive corresponding to a byte code.
Set the last index of a slice.
number pointer --
This is a primitive corresponding to a byte code.
Duplicate the top value on the stack.
value -- value value
This is a primitive corresponding to a byte code.
Remove a value from the stack.
value --
This is a primitive corresponding to a byte code.
Switch the positions of the top two items on the stack.
value:a value:b -- value:b value:a
This is a primitive corresponding to a byte code.
Put a copy of the second item on the stack over the first item.
value:a value:b -- value:a value:b value:a
This is a primitive corresponding to a byte code.
Put a copy of the first item on the stack under the second item.
value:a value:b -- value:b value:a value:b
This is a primitive corresponding to a byte code.
Remove the second item on the stack.
value:a value:b -- value:b
This is a primitive corresponding to a byte code.
Return the number of items on the stack.
-- number
This is a primitive corresponding to a byte code.
Remove all items from the stack.
... --
This is a primitive corresponding to a byte code.
Given a string containing a function name, returns true if the function exists or false if it does not.
string -- flag
This is a primitive corresponding to a byte code.
Given a string, return a pointer to the or data under that name. If the function does not exist, returns a pointer to -1 (a guaranteed invalid slice).
string -- pointer
This is a primitive corresponding to a byte code.
Given a string, remove the header corresponding to the name. This does not remove the definition, just disassociates the name from the slice.
string --
This is a primitive corresponding to a byte code.
Find substring needle in string haystack. Returns the starting offset, or -1 if no match is found.
string:haystack string:needle -- number
This is a primitive corresponding to a byte code.
Return a new slice containing the contents of the slice at pointer, starting from the specified offset, and ending at (but not including) the ending offset.
pointer number:start number:end -- pointer:result
This is a primitive corresponding to a byte code.
Given a string, returns true if the string is a valid number, or false otherwise.
string -- flag
This is a primitive corresponding to a byte code.
Convert a CHARACTER or STRING to uppercase.
value -- value
This is a primitive corresponding to a byte code.
Convert a CHARACTER or STRING to lowercase.
value -- value
This is a primitive corresponding to a byte code.
Add the specified string to the system error log.
string --
This is a primitive corresponding to a byte code.
Calculate the sine of a number, with the result in radians.
number -- number
This is a primitive corresponding to a byte code.
Calculate the cosine of a number, with the result in radians.
number -- number
This is a primitive corresponding to a byte code.
Calculate the tangent of a number, with the result in radians.
number -- number
This is a primitive corresponding to a byte code.
Calculate the arcsine of a number, with the result in radians.
number -- number
This is a primitive corresponding to a byte code.
Calculate the arccosine of a number, with the result in radians.
number -- number
This is a primitive corresponding to a byte code.
Calculate the arctangent of a number, with the result in radians.
number -- number
Return atan(y / x), in radians
number:x number:y -- number
This is a primitive corresponding to a byte code.
Constant; value for the NUMBER data type.
-- number
Constant; value for the STRING data type.
-- number
Constant; value for the CHARACTER data type.
-- number
Constant; value for the POINTER data type.
-- number
Constant; value for the FLAG data type.
-- number
Apply pointer:a to value:a and pointer:b to value:b. Returns the results.
value:a value:b pointer:a pointer:b -- ?
Apply pointer:a to value:a, pointer:b to value:b, and pointer:c to value:c. Returns the results.
value:a value:b value:c pointer:a pointer:b pointer:c -- ?
Apply code at pointer to a value:a and value:b. Returns the results.
value:a value:b pointer -- ?
Apply code at pointer to a value:a, value:b, and value:c. Returns the results.
value:a value:b value:c pointer -- ?
Duplicate the top two values on the stack.
value:a value:b -- value:a value:b value:a value:b
Drop two values off the stack.
value value --
Return a true flag.
-- flag
Return a false flag.
-- flag
Invert the flag on the stack.
flag -- flag
Execute the code at pointer if flag is true.
flag pointer --
Execute the code at pointer if flag is false.
flag pointer --
Returns true if the number is equal to zero, or false if not.
number -- flag
Returns true if the value can be converted to a true flag, or false otherwise.
value -- flag
Returns true if the value can be converted to a false flag, or false otherwise.
value -- flag
Return true if number is even, or false otherwise.
number -- flag
Return true if number is odd, or false otherwise.
number -- flag
Return true if number is negative, or false otherwise.
number -- flag
Return true if number is positive, or false otherwise.
number -- flag
Execute the code in pointer if value is a CHARACTER
value pointer --
Execute the code in pointer if value is a STRING
value pointer --
Execute the code in pointer if value is a NUMBER
value pointer --
Execute the code in pointer if value is a POINTER
value pointer --
Execute the code in pointer if value is a FLAG
value pointer --
Return true if A is between B and C, inclusive. Or false otherwise.
number:a number:b number:c -- flag
Create a simple named variable
string --
Create a simple named variable with an initial value.
value string --
Fetch the value stored in a simple variable.
pointer -- number
Store value into a simple variable.
value pointer --
Set a simple variable to a value of -1.
pointer --
Set a simple variable to a value of 0.
pointer --
Increment the value of a simple variable by 1.
pointer --
Decrement the value of a simple variable by 1.
pointer --
Set a slice to a length of zero and wipe out any stored values in the process.
pointer --
Execute code in pointer:code, preserving and restoring the data in the pointer:data.
pointer:data pointer:code --
Return a numeric range starting with lower and ending with upper, inclusive. All values are placed on the stack.
number:lower number:upper -- ...
Add number values on the stack.
... number -- number
Return the last index in a slice. This preserves the pointer.
pointer -- pointer number
Return the length of a slice.
pointer -- number
Return the length of a slice. Unlike get-slice-length this does not consume the pointer.
pointer -- pointer number
Adjust the length of a slice. You can use this to shrink or grow slices as needed.
number pointer --
Execute the code at pointer, and return the results of execution, and a value indicating the number of items returned (or consumed) as a result.
pointer -- ? number
Execute the code at pointer, and return the results of execution, and a value indicating the number of items returned (or consumed) as a result. Adds number to the results.
pointer number -- ? number
Drop the specified number of values from the stack.
... number -- ?
Execute code at pointer, and remove the function names it pushes to the stack.
pointer --
Remove the old header for a function and attach the new one to it.
string:old string:new --
Execute code at pointer, and create a simple variable for each name that it returns.
pointer --
Returns true if value is found in the specified string, or false otherwise.
value string -- flag
Return true if value is a numeric digit, or false otherwise.
value -- flag
Return true if value is an ASCII symbol, or false otherwise.
value -- flag
Return true if value is a letter, or false otherwise.
value -- flag
Return true if value is a letter or numeric digit, or false otherwise.
value -- flag
Return true if the value is a consonant, or false otherwise.
value -- flag
Return true if the value is a vowel, or false otherwise.
value -- flag
Return true if the value is a lowercase character, or false otherwise.
value -- flag
Return true if the value is an uppercase character, or false otherwise.
value -- flag
Execute the code in the specified slice, and construct a string from the returned values.
pointer -- string
Trim leading white space from a string.
string -- string
Trim trailing white space from a string.
string -- string
Trim all leading and trailing white space from a string.
string -- string
Return the absolute value of a number.
number -- number
Return the lesser of two numbers.
number number -- number
Return the greater of two numbers.
number number -- number
Return the factorial of a number.
number -- number
Variable.
Variable holding the current buffer slice number.
-- pointer
Variable.
Variable holding the current offset into the current buffer.
-- pointer
Return a pointer to the current buffer.
-- pointer
Returns the current buffer and offset pair.
-- pointer number
Increment the current buffer offset.
--
Decrement the current buffer offset.
--
Store a value into the current location in the buffer.
value --
Fetch the value at the current location in the buffer.
-- number
Store a value into the current location in the buffer, and then increment to the next offset.
value --
Fetch a value from the current location in the buffer, and then increment to the next offset.
-- number
Store a value into the current location in the buffer, and then decrement to the next offset.
value --
Fetch a value from the current location in the buffer, and then decrement to the next offset.
-- number
Set pointer as the active buffer.
pointer --
Store the specified number of values into the buffer.
... number --
Allocate a new buffer and set it as the active one.
--
Execute the code at pointer, while preserving and restoring the current buffer and offset. (This allows the code in the slice to allocate a new buffer, and restores the old settings when done.)
pointer --
Create a new buffer, and attach a name to it.
string --
Make a copy of a slice.
pointer:original -- pointer:copy
Push a value to the end of an array.
value pointer --
Pop a value off of an array.
pointer -- number
Return the length of an array.
pointer -- number
Reduce an array to a single value.
pointer:array number pointer:code -- number
Example:
[ #1 #2 #3 ] array-from-quote
#0 [ + ] array-reduce
Execute code in slice, and return an array constructed from the values in it.
pointer -- pointer
Reverse the order of values in an array.
pointer -- pointer
Execute code in slice, and return an array constructed from the values in it. Like array-from-pointer
pointer -- pointer
Execute code in pointer:code once for each element in the array.
pointer:data pointer:code -- ?
[ "pv-f" swap needs-remap? [ swap dup set-buffer array-length #0 swap [ over buffer-fetch array
[ "pp-p" prepare [ &source @ array-pop dup &filter @ invoke [ &results array-push ] [ drop ] if ] repeat &results request [ copy ] sip ] 'array-filter' define
[ "pp-p" prepare [ &source @ array-pop &filter @ invoke &results array-push ] repeat &results request [ copy ] sip ] 'array-map' define
[ "pp-f" dup-pair [ array-length ] bi@ = [ dup array-length true swap [ [ dup-pair [ array-pop ] bi@ = ] dip and ] repeat [ drop-pair ] dip :f ] [ drop-pair false ] if ] 'array-compare' define
[ "pointer:array number:type - string" #100 / #1 - &array:conversions swap fetch :p invoke ] 'array-to-string' define
Convert string into a number using the current base.
string number -- number
Convert a string containing a binary value into a number.
string -- number
Convert a string containing a octal value into a number.
string -- number
Convert a string containing a decimal value into a number.
string -- number
Convert a string containing a hexadecimal value into a number.
string -- number
Given a value and a quotation, return a new quotation that applies the original to the value.
value pointer -- pointer
Set a flag so that the next value will update it's stored value rather than returing it.
--
Create a new value.
string --
Create a new value with an initial value.
value string --
Execute code in pointer, creating a new value for each name. The code should return a series of strings.
pointer --
Convert an array of values into a string. The number identifies the data type in the array.
pointer number -- string
Return the offset of the specified value in the array.
value pointer -- number
Push the strings in the text output buffer to the stack.
-- ...
Remove all items from the text output buffer.
--
Append a value to the text output buffer.
value --
Hash a string using the DJB2 algo.
string -- number
Hash a string using the SDBM algo.
string -- number
Hash a string using the LRC algo.
string -- number
Hash a string using the XOR algo.
string -- number
This should be set to the preferred hash function. Defaults to hash:djb2.
string -- number
Constant, prime number for hash functionality
-- number
Invoke chosen-hash, then modulus against the hash-prime.
string -- number
Constant, value of PI (3.14159...)
-- number
Constant, value of Tau. (6.28318...)
-- number
Constant, value of E (2.71828...)
-- number
Constant, value of golden ratio (1.61803...)
-- number
Constant, value of Euler-Mascheroni (0.57721...)
-- number
Constant, value of Pythagora (1.414213...)
-- number
Constant, value of inverse golden ratio (0.61803...)
-- number
Constant, value of silver ration / mean (2.41421...)
-- number
Constant, value of seconds per minute
-- number
Constant, value of minutes per hour
-- number
Constant, value of hours per day
-- number
Constant, value of days per week
-- number
Constant, value of weeks per year
-- number
Constant, value of months per year
-- number
Constant, value of days per year
-- number
Constant, value of days per julian year
-- number
Constant, value of days per greagorian year
-- number


---
layout: post
title: Fedora 8, part 2
date: '2008-02-26T09:58:00.002+01:00'
author: Steven Van Acker
tags:
- English
modified_time: '2008-02-26T10:02:11.515+01:00'
blogger_id: tag:blogger.com,1999:blog-5513234137363262204.post-6587426461093620283
blogger_orig_url: http://www.singularity.be/2008/02/fedora-8-part-2.html
---
Someone mentioned that the "Core" part in "Fedora Core" was dropped a long time ago. That's good, because I have no idea what it was doing there anyway.
After yesterdays disaster trying to install Fedora 8 (F8), I gave up onn qemu and switched to Virtualbox. It installed without problems.
I then looked into KickStart to automate the installation process (because I'm lazy and a good system administrator). KickStart is pretty easy to setup: everything can be done over network.
Now I have automated the installation process. It's time to look into making packages for Fedora and see if I can create a nice server template without too much effort.


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| folder-walk.js | 94.29% | 99/105 | 83.87% | 52/62 | 96.55% | 28/29 | 94.17% | 97/103 | |
| global-reporter.js | 45.95% | 68/148 | 24.66% | 18/73 | 65.85% | 27/41 | 45.95% | 68/148 | |
| process-listener.js | 40.43% | 19/47 | 33.33% | 5/15 | 33.33% | 6/18 | 41.3% | 19/46 | |
| runner.js | 90% | 36/40 | 84% | 21/25 | 88.89% | 8/9 | 90% | 36/40 | |
| test-source.js | 90.63% | 58/64 | 86.96% | 40/46 | 93.75% | 15/16 | 91.94% | 57/62 | |
| webdriver-server.js | 58.62% | 34/58 | 52% | 13/25 | 50% | 8/16 | 58.62% | 34/58 |


This intention converts selected double or float literal written in
engineering
notation into
plain
notation.


Unfortunately I could not find any documents matching that id, of that type, in that index. I tried really hard. I wanted it to be there. Sometimes I swear documents grow legs and just walk out of the index. Sneaky. I wish I could offer some advice here, something to make you feel better


respiratory human virus viral CNS coronavirus infection viruses associated infections neurological acute Infect. []. encephalitis nervous HCoV different cells influenza central severe mice syndrome Respiratory long-term patients Virol../JVI.- [,]. infected tract cell clinical disease multiple {border-style HCoV-OC [], Human Med. cases neuronal px;} syncytial #ffffff;} infect East Virus cause neuroinvasive new diseases types neurons Coronavirus brain including olfactory potentially represent upper Clin. Middle [,,]. coronaviruses data lower novel observed MERS-CoV Microbiol. Opin. [,,,,]. [,], children humans individuals induce use RNA Viral [,] common disorders factors infectious possible reach spread Cell and/or important neuroinvasion pathogenesis pathogens propagation route sclerosis sequelae strains CNS, Engl. Nervous Nipah RSV Syndrome Viruses [,,,]. agents barrier caused causes death der encephalitis, evidence immune invade lead model murine potential px; represents shown transmission type {font-family Acute Central Dis. Dis../ Dis../eid. Furthermore, However, Influenza Respir. access animal axonal causing chronic described encephalopathy etiological febrile flaccid fluid font-size hematogenous high host imaging like natural neurotropic paralysis presence protein reported response susceptible symptoms that, transport using years Associated Med../NEJMoa Neurol. Neurol../ana. SARS agent brains diseases. dissemination double; emerging encephalomyelitis gene highly indicate induction intranasal neurologic panel prevalent regions related resident review right role specific (including CNS. Exp. Infection Infections Moreover, Potential SARS-CoV Saudi Sci. USA Virol../JVI...-. [,,,,,,,]. [,,,,,]. able blood blood-brain body border-color border-width detected disseminated encephalitis: enteroviruses expression glycoprotein hand, herpes humans, immunity immunocompromised induces infants infection, loss mechanisms meningitis metapneumovirus neurovirulent outbreak possibly present proteins rare recent replication significant simplex solid; spinal suggest suggested tract, viruses, vulnerable {font-style {font-weight Acad. Biol. Coronaviruses Death Figure Hendra Like Natl. Neurol../j.pediatrneurol... Neuropathologies OCJ. Pathog.e./journal.ppat. Pathogens Possible Recent Res../j.virusres... Role SARS-CoV, South Virol../j.jcv... [,,], affect age assembled association bold bulb case cells, cellular clearly complete complications consequences courier; critical cytomegalovirus damage demonstrated den development diseases, distress efficient em; encephalitisJ. endemic enter entry epithelial especially etiology evaluate exacerbation help humans. illnesses, immune-compromised infection. infection: innate invasion involved link mainly mouse nasal nerve neurodegenerative neurovirulence occur opportunistic outcome pandemic pathologies patient peripheral persist persistence pneumonia pneumonia, portrait production pt;} remains reminiscent result short- showed species syndrome, tropism underestimated virulence vivo year zoonotic


FOR the good of the public health, it is highly desirable that all predjudice against beer should be removed. This prejudice is held exclusively by people who do not drink beer — AND IT IS FOR THEM ESPECIALLY THAT THIS ADVERTISEMENT HAS BEEN PREPARED. Beer is the mainstay of practical temperance and provides a mild and wholesome beverage.
It contains an immense amount of nourishment in a delightfully refreshing form.
It is not only most palatable, but is a wonderful aid to digestion.
It is a type of food which is very rapidly absorbed into the circulation and requires preliminary digestion, but is easily oxidized in the tissues, thus affording a valuable source of energy.
The greatest Physicians and Scientists the world over advocate the moderate use of beer. Prof. Chas. Fred'k Chandler, Chemistry Expert of Columbia University, on Octber 5th, 1914, said...
"Beer is one of the few foods that is free from bacteria. BEER and BREAD are both made from. Bread contains water and is solid. Beer contains water and is liquid. Yeast makes both more palatable and digestable. And only when taken in large quantities is beer intoxicating.
Dr. Henry Davy, Pres. British Medical Society, London, Eng:...
"Beer, bread, and cheese for a meal is infinitely more scientific than the American meal of bread, tea, and jam."
Prof. Aldolph Struempel, Vienna, Austria:...
"Because his brain was starving his body from overactivity I prescribed beer and bread for Mr. E. H. Harrbman, to give him added energy, build tissue and give more strength. "
RUPPERT'S
Knickerbocker
The Beer That Satisfies
Is absolutely PURE because it is brewed under conditions which have reached the highest degree of perfection. The very best quality ingredients are used; the most sanitary conditions prevail in every department of the Brewery assuring a WHOLESOME and NUTRITIOUS beer of unsurpassed quality. Every bottle is absolutely pure when it leaves the Brewery and must be absolutely pure when it reaches you.
The public is cordially invited to call and inquest our Brewery and Bottling Department any day (Saturday and Sunday excepted) between the hours of 10 A.M. and 1 P.M.
In Bottles and on Draught On Sale Everywhere
Bottled at the Brewery Exclusively
THE JACOB RUPPERT BREWERY
Third Avenue, 90th to 92nd Street, New York Copyrighted —Jacob Ruppert— 1914


--- layout: stats title: Mike Sorice Statistics permalink: "/stats/players/mike-sorice.html" ---
| Year | Team | Finish | G | 10 | -5 | Pts | PPG |
|---|---|---|---|---|---|---|---|
| 2006 | Illinois A | 4 | 12 | 53 | 14 | 460 | 38.33 |
| 2007 | Illinois A | 5 | 12 | 104 | 12 | 980 | 81.67 |
| 2008 | Illinois A | 4 | 12 | 89 | 19 | 795 | 66.25 |
| 2009 | Illinois A | 5 | 16 | 96 | 11 | 905 | 56.56 |
| 2010 | Illinois A | 7 | 18 | 114 | 34 | 970 | 53.89 |
| 2011 | Illinois A | 3 | 12 | 78 | 17 | 695 | 57.92 |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2006 | 1 (Prelims) | Mike Sorice | Illinois A | Carnegie Mellon | Win | 4 | 0 | 40 | Texas A+M |
| 2006 | 2 (Prelims) | Mike Sorice | Illinois A | Athens State B | Win | 2 | 0 | 20 | UCLA + CMU |
| 2006 | 3 (Prelims) | Mike Sorice | Illinois A | Chicago B | Win | 3 | 0 | 30 | Brown |
| 2006 | 4 (Prelims) | Mike Sorice | Illinois A | Virginia A | Win | 8 | 0 | 80 | Rutgers |
| 2006 | 5 (Prelims) | Mike Sorice | Illinois A | Illinois-Chicago | Win | 8 | 0 | 80 | Torch in my Moon Pie |
| 2006 | 6 (Prelims) | Mike Sorice | Illinois A | Princeton | Loss | 4 | 2 | 30 | VCU |
| 2006 | 9 (Playoffs) | Mike Sorice | Illinois A | Michigan A | Win | 5 | 3 | 35 | Princeton |
| 2006 | 10 (Playoffs) | Mike Sorice | Illinois A | Chicago B | Win | 3 | 2 | 20 | Michigan |
| 2006 | 11 (Playoffs) | Mike Sorice | Illinois A | Texas A&M | Loss | 5 | 1 | 45 | Chicago A |
| 2006 | 12 (Playoffs) | Mike Sorice | Illinois A | Princeton | Win | 7 | 2 | 60 | Editors 1 |
| 2006 | 13 (Playoffs) | Mike Sorice | Illinois A | Chicago A | Loss | 2 | 2 | 10 | Editors 2 |
| 2006 | 14 (Playoffs) | Mike Sorice | Illinois A | UCLA | Win | 2 | 2 | 10 | Editors 3 |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2007 | 1 (Prelims) | Mike Sorice | Illinois A | Rutgers | Win | 11 | 1 | 105 | No Packet Recorded |
| 2007 | 2 (Prelims) | Mike Sorice | Illinois A | Texas A&M | Win | 9 | 0 | 90 | No Packet Recorded |
| 2007 | 3 (Prelims) | Mike Sorice | Illinois A | Chicago B | Loss | 5 | 1 | 45 | No Packet Recorded |
| 2007 | 4 (Prelims) | Mike Sorice | Illinois A | South Carolina | Win | 7 | 2 | 60 | No Packet Recorded |
| 2007 | 5 (Prelims) | Mike Sorice | Illinois A | Virginia A | Win | 6 | 2 | 50 | No Packet Recorded |
| 2007 | 6 (Prelims) | Mike Sorice | Illinois A | Tennessee-Chattanooga | Win | 15 | 1 | 145 | No Packet Recorded |
| 2007 | 7 (Prelims) | Mike Sorice | Illinois A | UCLA | Win | 10 | 2 | 90 | No Packet Recorded |
| 2007 | 9 (Prelims) | Mike Sorice | Illinois A | Brandeis | Win | 14 | 0 | 140 | No Packet Recorded |
| 2007 | 10 (Playoffs) | Mike Sorice | Illinois A | VCU A | Loss | 9 | 0 | 90 | No Packet Recorded |
| 2007 | 11 (Playoffs) | Mike Sorice | Illinois A | Chicago A | Loss | 4 | 1 | 35 | No Packet Recorded |
| 2007 | 12 (Playoffs) | Mike Sorice | Illinois A | Brown A | Win | 6 | 1 | 55 | No Packet Recorded |
| 2007 | 13 (Playoffs) | Mike Sorice | Illinois A | Carleton | Loss | 8 | 1 | 75 | No Packet Recorded |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2008 | 1 (Prelims) | Mike Sorice | Illinois A | Dartmouth B | Win | 9 | 0 | 90 | No Packet Recorded |
| 2008 | 2 (Prelims) | Mike Sorice | Illinois A | UCLA | Win | 7 | 3 | 55 | No Packet Recorded |
| 2008 | 3 (Prelims) | Mike Sorice | Illinois A | Brandeis | Win | 10 | 2 | 90 | No Packet Recorded |
| 2008 | 5 (Prelims) | Mike Sorice | Illinois A | Brown A | Win | 5 | 1 | 45 | No Packet Recorded |
| 2008 | 6 (Prelims) | Mike Sorice | Illinois A | VCU A | Win | 10 | 2 | 90 | No Packet Recorded |
| 2008 | 7 (Prelims) | Mike Sorice | Illinois A | Rutgers | Win | 7 | 2 | 60 | No Packet Recorded |
| 2008 | 9 (Playoffs) | Mike Sorice | Illinois A | Stanford A | Win | 7 | 1 | 65 | No Packet Recorded |
| 2008 | 10 (Playoffs) | Mike Sorice | Illinois A | Dartmouth A | Win | 10 | 3 | 85 | No Packet Recorded |
| 2008 | 11 (Playoffs) | Mike Sorice | Illinois A | Minnesota A | Win | 9 | 0 | 90 | No Packet Recorded |
| 2008 | 12 (Playoffs) | Mike Sorice | Illinois A | Chicago A | Loss | 6 | 3 | 45 | No Packet Recorded |
| 2008 | 13 (Playoffs) | Mike Sorice | Illinois A | Brown A | Loss | 7 | 0 | 70 | No Packet Recorded |
| 2008 | 14 (Playoffs) | Mike Sorice | Illinois A | Maryland A | Loss | 2 | 2 | 10 | No Packet Recorded |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2009 | 1 (Prelims) | Mike Sorice | Illinois A | UCLA | Win | 6 | 0 | 60 | Brown |
| 2009 | 2 (Prelims) | Mike Sorice | Illinois A | Missouri | Win | 3 | 1 | 25 | Brandeis |
| 2009 | 3 (Prelims) | Mike Sorice | Illinois A | Ike Jose | Win | 7 | 0 | 70 | Chicago B + Harvard |
| 2009 | 4 (Prelims) | Mike Sorice | Illinois A | Harvard A | Win | 7 | 2 | 60 | VCU |
| 2009 | 6 (Prelims) | Mike Sorice | Illinois A | Hunter College | Win | 6 | 0 | 60 | Minnesota A |
| 2009 | 7 (Prelims) | Mike Sorice | Illinois A | Dartmouth A | Win | 6 | 0 | 60 | MIT |
| 2009 | 8 (Prelims) | Mike Sorice | Illinois A | Missouri S&T | Win | 9 | 0 | 90 | Missouri State + UCSD |
| 2009 | 9 (Prelims) | Mike Sorice | Illinois A | Chicago A | Loss | 5 | 0 | 50 | UCLA + South Carolina |
| 2009 | 10 (Prelims) | Mike Sorice | Illinois A | Minnesota B | Win | 9 | 0 | 90 | Truman State + Dartmouth |
| 2009 | 11 (Prelims) | Mike Sorice | Illinois A | VCU A | Win | 3 | 0 | 30 | Stanford |
| 2009 | 12 (Prelims) | Mike Sorice | Illinois A | Carnegie Mellon | Win | 6 | 1 | 55 | Rutgers |
| 2009 | 13 (Prelims) | Mike Sorice | Illinois A | Missouri State | Win | 5 | 3 | 35 | Chicago A |
| 2009 | 14 (Playoffs) | Mike Sorice | Illinois A | Brown A | Loss | 6 | 1 | 55 | No Packet Recorded |
| 2009 | 15 (Playoffs) | Mike Sorice | Illinois A | MIT A | Win | 7 | 1 | 65 | No Packet Recorded |
| 2009 | 16 (Playoffs) | Mike Sorice | Illinois A | Stanford A | Loss | 7 | 1 | 65 | No Packet Recorded |
| 2009 | 17 (Playoffs) | Mike Sorice | Illinois A | Minnesota A | Loss | 4 | 1 | 35 | No Packet Recorded |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2010 | 1 (Prelims) | Mike Sorice | Illinois A | Maryland A | Win | 8 | 1 | 75 | Chicago A |
| 2010 | 2 (Prelims) | Mike Sorice | Illinois A | UCSD A | Win | 8 | 3 | 65 | South Carolina + CMU |
| 2010 | 3 (Prelims) | Mike Sorice | Illinois A | Chicago C | Win | 6 | 2 | 50 | Minnesota A + Chicago B |
| 2010 | 4 (Prelims) | Mike Sorice | Illinois A | Virginia A | Win | 9 | 2 | 80 | Carleton + UCLA |
| 2010 | 5 (Prelims) | Mike Sorice | Illinois A | Columbia A | Win | 10 | 0 | 100 | Maryland A + Illinois B |
| 2010 | 6 (Prelims) | Mike Sorice | Illinois A | VCU B | Win | 6 | 0 | 60 | Stanford |
| 2010 | 8 (Prelims) | Mike Sorice | Illinois A | UCLA | Win | 6 | 1 | 55 | Michigan + Minnesota B |
| 2010 | 9 (Prelims) | Mike Sorice | Illinois A | Minnesota B | Win | 7 | 1 | 65 | Editors |
| 2010 | 10 (Prelims) | Mike Sorice | Illinois A | South Carolina | Win | 10 | 2 | 90 | Harvard |
| 2010 | 11 (Prelims) | Mike Sorice | Illinois A | State College A | Win | 8 | 1 | 75 | VCU |
| 2010 | 13 (Prelims) | Mike Sorice | Illinois A | Brown A | Loss | 4 | 3 | 25 | Editors |
| 2010 | 14 (Prelims) | Mike Sorice | Illinois A | Chicago A | Loss | 3 | 2 | 20 | Brown A |
| 2010 | 15 (Prelims) | Mike Sorice | Illinois A | Rutgers | Win | 7 | 3 | 55 | UCSD |
| 2010 | 16 (Playoffs) | Mike Sorice | Illinois A | Harvard A | Win | 4 | 2 | 30 | No Packet Recorded |
| 2010 | 17 (Playoffs) | Mike Sorice | Illinois A | Penn A | Loss | 3 | 2 | 20 | No Packet Recorded |
| 2010 | 18 (Playoffs) | Mike Sorice | Illinois A | Stanford A | Loss | 5 | 2 | 40 | No Packet Recorded |
| 2010 | 19 (Playoffs) | Mike Sorice | Illinois A | Minnesota A | Loss | 4 | 4 | 20 | No Packet Recorded |
| 2010 | 20 (Playoffs) | Mike Sorice | Illinois A | VCU A | Win | 6 | 3 | 45 | No Packet Recorded |
| Year | Round | Player | Team | Opponent | Result | 10 | -5 | Pts | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2011 | 1 (Prelims) | Mike Sorice | Illinois A | Chicago C | Win | 10 | 1 | 95 | No Packet Recorded |
| 2011 | 2 (Prelims) | Mike Sorice | Illinois A | UCSD A | Win | 5 | 3 | 35 | No Packet Recorded |
| 2011 | 3 (Prelims) | Mike Sorice | Illinois A | Berkeley A | Win | 6 | 1 | 55 | No Packet Recorded |
| 2011 | 3 (Prelims) | Mike Sorice | Illinois A | Arizona | Win | 7 | 1 | 65 | No Packet Recorded |
| 2011 | 5 (Prelims) | Mike Sorice | Illinois A | Brown A | Loss | 8 | 1 | 75 | No Packet Recorded |
| 2011 | 7 (Prelims) | Mike Sorice | Illinois A | Toronto A | Win | 4 | 2 | 30 | No Packet Recorded |
| 2011 | 8 (Playoffs) | Mike Sorice | Illinois A | UCSD A | Win | 6 | 2 | 50 | No Packet Recorded |
| 2011 | 9 (Playoffs) | Mike Sorice | Illinois A | Michigan A | Win | 3 | 0 | 30 | No Packet Recorded |
| 2011 | 12 (Playoffs) | Mike Sorice | Illinois A | Yale A | Win | 8 | 2 | 70 | No Packet Recorded |
| 2011 | 12 (Playoffs) | Mike Sorice | Illinois A | Ohio State | Win | 7 | 0 | 70 | No Packet Recorded |
| 2011 | 13 (Playoffs) | Mike Sorice | Illinois A | Chicago A | Win | 8 | 1 | 75 | No Packet Recorded |
| 2011 | 14 (Playoffs) | Mike Sorice | Illinois A | Rice | Win | 6 | 3 | 45 | No Packet Recorded |


|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |
Tuple.values
array to get it value.
BigTupleList
use user defined comparator, if any.
Dataset
, the returned Dataset
has no state at all (no paths, constraints...etc.)
Dataset
, the returned Dataset
has no state at all (no paths, constraints...etc.)
SeqFileDatasetBuilder
to build a dataset
which is stored as Hadoop sequence file.
TSVDatasetBuilder
to build
a text based dataset.
fullClassName
.
Column.setNewName(String)
column
that is NOT
presented in the given file
The assumption of the file is that, it's single column and one to many
line text file.
TupleCriterion
that only accepts
tuples with the value of the given column
is not null nor empty string.
- notWithinNumber(String, ArrayList<Double>) -
Static method in class com.ebay.erl.mobius.core.criterion.TupleRestrictions
- Create a
TupleCriterion
that only accept tuples with
the value of the specified column
is not
within the provide list
.
- notWithinString(String, ArrayList<String>) -
Static method in class com.ebay.erl.mobius.core.criterion.TupleRestrictions
- Create a
TupleCriterion
that only accept tuples with
the value of the specified column
is not
within the provide list
.
- NULL -
Static variable in class com.ebay.erl.mobius.core.model.Tuple
- An immutable
Tuple
which contains only single Column
NULL with null value.
- NULL_REPLACEMENT -
Static variable in class com.ebay.erl.mobius.core.ConfigureConstants
- To locate the object to be used to represents a null value.
- NULL_REPLACEMENT_TYPE -
Static variable in class com.ebay.erl.mobius.core.ConfigureConstants
- the type of the null replacement object.
- NULL_TYPE -
Static variable in class com.ebay.erl.mobius.core.model.Tuple
- Represents java
null
.
- NULL_WRITABLE_TYPE -
Static variable in class com.ebay.erl.mobius.core.model.Tuple
- represents org.apache.hadoop.io.NullWritable
- nullReplacement -
Variable in class com.ebay.erl.mobius.core.mapred.DefaultMobiusReducer
- the replacement specified by user to replace
the null columns for outer-join job.
|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |


Landing Page
Our Story
Cars
News Update
TSA
Contacts
ELECTRON
EST 2017
ELECTRON
HOVER ME!!
XY Series
ELECTRIC SERIES


You have gone through steps 1 - #{step-1}.
The following claims were obtained after consultation of UserInfo Endpoint:
#{flow.userInfoReponseAsJson}
The set of claims in the response depends on the access privileges associated to the Access Token obtained
in step 5. This can be configured by specifying additional scopes when the site registration occurs in oxd.
The sub claim is an identifier for the End-User which is intended to be consumed by the Client.
Press the button below to trigger step #{step +1}.


Secret Menu
Hot "Dogs"
"Cat" Nips
"Frog" Legs
Hover over image back and forth to see Will do the Harlem Shake! Find Will's Special Menu.


123
Will return the following nodes:
[div, 1, span, 2, span, 3, div]
With the following states:
[START, OTHER, START, OTHER, END, OTHER, END]
And the following depths
[1, 1, 2, 2, 1, 1, 0]
Imagining |
represents iterator position, the traversal stops at
each of the following locations:

|1||2||3|
|The iterator can also be used in reverse mode, which will return the nodes and states in the opposite order. The depths will be slightly different since, like in normal mode, the depth is computed *after* the given node. Lastly, it is possible to create an iterator that is unconstrained, meaning that it will continue iterating until the end of the document instead of until exiting the start node.
| goog.iter.Iterator | |
| goog.dom.TagIterator | goog.iter.Iterator |
|
opt_node
: Node=
The start node. If unspecified or null, defaults to an empty iterator.
|
|
opt_reversed
: boolean=
Whether to traverse the tree in reverse.
|
|
opt_unconstrained
: boolean=
Whether the iterator is not constrained to the starting node and its children.
|
|
opt_tagType
: goog.dom.TagWalkType?=
The type of the position. Defaults to the start of the given node for forward iterators, and the end of the node for reverse iterators.
|
|
opt_depth
: number=
The starting tree depth.
|
|
clone()
⇒
No description.
Returns:
A copy of this iterator.
|
code » | ||||
|
copyFrom(other)
Replace this iterator's values with values from another.
Arguments:
|
code » | ||||
|
equals(other)
⇒
Test if two iterators are at the same position - i.e. if the node and tagType
is the same. This will still return true if the two iterators are moving in
opposite directions or have different constraints.
Arguments:
Returns:
Whether the two iterators are at the same position.
|
code » | ||||
|
isEndTag()
⇒
No description.
Returns:
Whether this iterator's position is an end tag position.
|
code » | ||||
|
isNonElement()
⇒
No description.
Returns:
Whether this iterator's position is not at an element node.
|
code » | ||||
|
isStartTag()
⇒
No description.
Returns:
Whether this iterator's position is a start tag position.
|
code » | ||||
|
isStarted()
⇒
No description.
Returns:
Whether next has ever been called on this iterator.
|
code » | ||||
|
next()
⇒
Move to the next position in the DOM tree.
Returns:
Returns the next node, or throws a goog.iter.StopIteration exception if the end of the iterator's range has been reached.
|
code » | ||||
|
restartTag()
No description.
|
code » | ||||
|
setPosition(node, opt_tagType, opt_depth)
Set the position of the iterator. Overwrite the tree node and the position
type which can be one of the goog.dom.TagWalkType token types.
Only overwrites the tree depth when the parameter is specified.
Arguments:
|
code » | ||||
|
skipTag()
No description.
|
code » | ||||
|
splice(var_args)
Replace the current node with the list of nodes. Reset the iterator so that
it visits the first of the nodes next.
Arguments:
|
code » |
|
__iterator__(opt_keys)
⇒
Returns the
Iterator object itself. This is used to implement
the iterator protocol in JavaScript 1.7
Arguments:
Returns:
The object itself.
|
code » | ||
|
next()
⇒
*
Returns the next value of the iteration. This will throw the object
goog.iter#StopIteration when the iteration passes the end.
Returns:
*
Any object or value.
|
code » |


Tired of filling in the same information again and again for different college applications? Autofill+ saves you time in the college app process by sending your profile to multiple college websites automatically, in a matter of seconds. Get Auto-filling now!
By following these steps below you will be able to set up Autofill+ for your use:
The detailed instructions on how to navigate and use each tab will be provided at the top of that page.
Autofill+ delivers your information to college app websites by opening a tab in your browser and simulating user actions such as going to a URL, clicking a button, and typing. For each college app, Autofill+ is given a tailored set of instructions to help it navigate through the respective website and fill in user information efficiently and securely. The process of delivering your data is performed locally, on your computer, inside your browser, as Autofill+ is a verified chrome extension. Below are the steps a typical user goes through while using Autofill+:
And that's how Autofill+ saves your time -- with it, you only need to fill out certain information once, and Autofill+ will handle the delivery of those information for you. For guided instructions on how to performs these above steps, see "getting started" guide. Autofill+ is still quite limited in a few areas, and improvements are being made to address these limitations. Examples include:
Autofill+ is still starting out, and as a result it is still quite limited in a few areas. However, we are currently working hard and making improvements to address these limitations. As a token of honesty, we have listed these limitations below:
To see the ongoing efforts and future updates to improve Autofill+, visit the Autofill+ website.
Visit the Autofill+ website to see the current state of Autofill+ as well as its upcoming updates.
If for any reason you would like to opt-out of Autofill+ and erase all your data, you can do that in the "My Account" tab. Note that once you delete your data or account, you cannot go back.


|
Fig. 1
|
Geographical Distribution of SHUE Cities by WHO Region |
|
Fig. 2
|
Histograms of (A) City Populations and (B) per capita GDP fo ... |
|
Fig.3
|
Increase in the Mean of Daily Mean Temperatures for the Hott ... |
|
Fig.4
|
(A), (B), (C) and (D) City Annual Mean Particle Air Pollutio ... |
|
Fig. 5
|
Multiple Environmental Hazards for WHO European Region Citie ... |


|
MegaMimes
1.0
A C Mime Type Library.
|
Go to the source code of this file.
Classes | |
| struct | MegaFileInfo |
Functions | |
| char * | getMegaMimeType (const char *pFileName) |
| Get The Mime Type Of A File Or A File Extension. More... | |
| char ** | getMegaMimeExtensions (const char *pMimeType) |
| Get The Extensions associated with Mime Types. More... | |
| MegaFileInfo * | getMegaFileInformation (const char *pFilePath) |
| Get information about a file. More... | |
| bool | isTextFile (const char *path) |
| Determines if a file is a text file. More... | |
| bool | isBinaryFile (const char *path) |
| Determines if ia file is a binary file. More... | |
| const char * | getMegaTextFileEncoding (const char *path) |
| Gets the encoding for a text file. More... | |
| void | freeMegaFileInfo (MegaFileInfo *pData) |
| Frees a MegaFileInfo structure. More... | |
| void | freeMegaString (char *pData) |
| Frees a string. More... | |
| void | freeMegaStringArray (char **pData) |
| Frees an array of strings. More... | |
| void freeMegaFileInfo | ( | MegaFileInfo * | pData | ) |
Frees a MegaFileInfo structure.
The function deallocates and destroys a MegaFileInfo structure. If the structure is NULL, the function simply and does nothing.
| pData | The MegaFileInfo structure to be freed |
| void freeMegaString | ( | char * | pData | ) |
Frees a string.
The function deallocates and frees a string returned by any of the functions. The difference between this function and the std library free , is that this function does nothing if its argument is NULL
| pData | The string to be freed |
| void freeMegaStringArray | ( | char ** | pData | ) |
Frees an array of strings.
The function frees the dynamically allocated array of dynamically allocated strings returned by getMegaMimeExtensions. The function simply does nothing if its argument is NULL
| pData | The string array to be freed. |
| MegaFileInfo* getMegaFileInformation | ( | const char * | pFilePath | ) |
Get information about a file.
Gets information about the file, such as the encoding, the mime name the mime type and the the file size.
| pFilePath | The name of the file whose information is to be determined. |
| char** getMegaMimeExtensions | ( | const char * | pMimeType | ) |
Get The Extensions associated with Mime Types.
The function gets the file extensions for the mimetype. The mimetype should be in the form type/sub-type, otherwise it is invalid. An optional version can be added to the string. Any other trailing details are ignored. * character can be used to match everything. Eg video/
returns all video file extensions and *
returns all file extensions
| pMimeType | The mimetype whose extension is to be determined |
| char* getMegaMimeType | ( | const char * | pFileName | ) |
Get The Mime Type Of A File Or A File Extension.
The function gets the mime type of the file specified by the path. The function does not check if the file exists or not. It just uses the file's basename including the extension to lookup the mime type. The filename can also be an extension only, which is preceeded by a ".". Example (.mp3, mega.mp3, /usr/lib/mega.mp3 ) will all return the same thing.
| pFileName | The name of the file whose mime type should be determined |
| const char* getMegaTextFileEncoding | ( | const char * | path | ) |
Gets the encoding for a text file.
The function gets the encoding of the file. The string can be UTF-8, UTF-8, UTF-16LE, UTF-16 UTF-32, UTF-32BE, UTF-32LE. The function does not check if the file is binary file or a text file. It is assumend that you are really sure that it is a binary file. You can use isTextFile() to first check if it is a text file, before using the function.
| path | The path name for the file |
| bool isBinaryFile | ( | const char * | path | ) |
Determines if ia file is a binary file.
Returns whether the file is a binary file or not
| path | The path name for the file. |
| bool isTextFile | ( | const char * | path | ) |
Determines if a file is a text file.
Returns whether the file is a text file or not. The function is a really slow function, as it scans through every byte, checking to see if it is a control character or not. The encoding is taken into consideration.
| path | The path name for the file. If the file des not exist, false is returned. |


|
alphaTorrent
|
Contains all tracker method and structures. More...
Classes | |
| struct | TParameter |
| Struct contains all param to send to the tracker. More... | |
Typedefs | |
| typedef vector< string > | TList |
Enumerations | |
| enum | event_type { STARTED, STOPPED } |
Functions | |
| int | start_tracker_request (TParameter *param, const TList &tracker_list, pwp::PeerList peer_list) |
| Send request to each tracker in tracker_list. More... | |
| uint | remove_duplicate_peers (pwp::PeerList &peer_list) |
| Remove duplicate peers from a peer_list. More... | |
| void | process_tracker_request (const string &tracker_url, const TParameter *param, pwp::PeerList peer_list) |
| Main http tracker manager. More... | |
| int | urlencode_paramenter (TParameter *param, CURL *curl) |
| shared_ptr< string > | url_builder (const string &tracker_url, const TParameter &t_param, event_type event, const string &tracker_key, CURL *curl, bool tls) |
| Create the tracker GET request. More... | |
| size_t | writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data) |
| Manage the curl response. More... | |
| int | tracker_send_request (shared_ptr< string > url, string *response, CURL *curl) |
| Execute the http(s) request and print the response. More... | |
| bool | check_url (const string &url, CURL *curl) |
| Checks if the url is valid. More... | |
| int | process_tracker_response (string *response, pwp::PeerList peer_list) |
| Parse tracker response and extract peers. More... | |
| int | scrape_request (string &url, const TParameter ¶m, string *response, CURL *curl) |
| Generate a scrape request from a tracker url. More... | |
| shared_ptr< string > | get_scrape_url (const string &url) |
| Get tracker url and return the scraped version of it. More... | |
| string | create_tracker_key () |
| Create the key needed for tracker protocol. More... | |
| int | parse_dict_peer (be_node *node, pwp::PeerList peer_list) |
| Parse a non compact tracker response. More... | |
| void | parse_binary_peers (const string &resp, pwp::PeerList peer_list) |
| Parse a binary tracker response. More... | |
| bool | is_compact_response (const string *response) |
| Check if a response is in a compact format. More... | |
| int | scrape_request (string &url, string *response, CURL *curl=NULL) |
Variables | |
| boost::mutex | peer_list_mutex |
Contains all tracker method and structures.
| bool tracker::check_url | ( | const string & | url, |
| CURL * | curl | ||
| ) |
Checks if the url is valid.
| *url | : URL to check |
| *curl | : (Optional) instance of curl library |
| string tracker::create_tracker_key | ( | ) |
Create the key needed for tracker protocol.
| shared_ptr< string > tracker::get_scrape_url | ( | const string & | url | ) |
Get tracker url and return the scraped version of it.
| url | : the url(annouunce version) of the tracker |
| bool tracker::is_compact_response | ( | const string * | response | ) |
Check if a response is in a compact format.
| *response | : the response to check |
| void tracker::parse_binary_peers | ( | const string & | resp, |
| pwp::PeerList | peer_list | ||
| ) |
Parse a binary tracker response.
This function parse a compact tracker's response according to the following protocol
peers: (binary model) Instead of using the dictionary model described above, the peers value may be a string consisting of multiples of 6 bytes. First 4 bytes are the IP address and last 2 bytes are the port number. All in network (big endian) notation.
| resp | the response to parse |
| peer_list | the structure where to store extracted peers |
| int tracker::parse_dict_peer | ( | be_node * | node, |
| pwp::PeerList | peer_list | ||
| ) |
Parse a non compact tracker response.
This function parse a non compact tracker's response according to the following protocol
peers: (dictionary model) The value is a list of dictionaries, each with the following keys:
peer id: peer's self-selected ID, as described above for the tracker request (string)
ip: peer's IP address either IPv6 (hexed) or IPv4 (dotted quad) or DNS name (string)
port: peer's port number (integer)
| node | the bencoded node containing the list of dictionaries |
| void tracker::process_tracker_request | ( | const string & | tracker_url, |
| const TParameter * | param, | ||
| pwp::PeerList | peer_list | ||
| ) |
Main http tracker manager.
Manage the entire tracker request : it craft the "announce" request and parse the response to extract peers data, that subsequently is pushed inside peer_list
| tracker_url | : the url of the tracker to contact |
| param | : the torrent file param |
| peer_list | : a pointer to the vector where to store peers |
| int tracker::process_tracker_response | ( | string * | response, |
| pwp::PeerList | peer_list | ||
| ) |
Parse tracker response and extract peers.
Decode the bencoded tracker response and detect if the response is "compact" of "dictionary" After calling the appropriate function the PeerList is populated with extracted peers.
| response | |
| peer_list |
| uint tracker::remove_duplicate_peers | ( | pwp::PeerList & | peer_list | ) |
Remove duplicate peers from a peer_list.
Take a PeerList and delete al duplicate elements. Following this response (https://stackoverflow.com/questions/1041620/whats-the-most-efficient-way-to-erase-duplicates-and-sort-a-vector) is better to convert the vector to a set and then convert back if the number element is low
/warning Unimplemented function
| peer_list |
| int tracker::scrape_request | ( | string & | url, |
| const TParameter & | param, | ||
| string * | response, | ||
| CURL * | curl | ||
| ) |
Generate a scrape request from a tracker url.
| url | tracker url |
| param | |
| response | reference to a buffer that will store the response |
| curl | (Optional) instance of the curl library |
| int tracker::start_tracker_request | ( | TParameter * | param, |
| const TList & | tracker_list, | ||
| pwp::PeerList | peer_list | ||
| ) |
Send request to each tracker in tracker_list.
Read from config file (to implement) the port. Then analize the files and fill the tracker parameter structure.
The appropriate tracker protocol is then choosed and executed; the parsed peers are added to the peer_list (passed by argument).
The config file and the "uploaded" and "downloaded" param are still unimplemented.
| *param | the struct containing the tracker parameter |
| peer_id | the client generated id |
| peer_list | vector where to store received peers |
| int tracker::tracker_send_request | ( | shared_ptr< string > | url, |
| string * | response, | ||
| CURL * | curl | ||
| ) |
Execute the http(s) request and print the response.
| *url | : the url to contact (with the GET parameter) |
| curl | : (Optional) the instance of the curl lib |
| shared_ptr< string > tracker::url_builder | ( | const string & | tracker_url, |
| const TParameter & | t_param, | ||
| event_type | event, | ||
| const string & | tracker_key, | ||
| CURL * | curl, | ||
| bool | tls | ||
| ) |
Create the tracker GET request.
An HTTP GET request is crafted using tracker's url and request parameters
In case of error the request is equal to ""
Improve this function parmeters, since trakcer_url is already inside TParameter
Check if tracker_url is a proper url by validating it with regex
Manage errors
| tracker_url | tracker's url |
| param | param to send to the tracker |
| curl | : (Optional) curl library instance |
| tls | : (Optional) specify if https should be used; default = false |
| int tracker::urlencode_paramenter | ( | TParameter * | param, |
| CURL * | curl | ||
| ) |
This function take the tracker's param and urlencode the info_hash and the peer_id, the other parameters are left untouched
| *param | pointer to a struct containing parameters |
| *curl | (Optional) instance of curl library |
| size_t tracker::writeFunction | ( | void * | ptr, |
| size_t | size, | ||
| size_t | nmemb, | ||
| std::string * | data | ||
| ) |
Manage the curl response.
Default function (take from curl example) that write the response into "data"


Source code for pyate.term_extraction
# term_extraction.py
import collections.abc
from collections import defaultdict
from multiprocessing import Pool
from typing import Callable, Iterable, Sequence, Union, Tuple, Any, Dict
import warnings
import ahocorasick
import numpy as np
import pandas as pd
import pkg_resources
from tqdm import tqdm
import spacy
from spacy.matcher import Matcher
start_ = 0
tmp = 0
doctime, matchertime = 0, 0
Corpus = Union[str, Sequence[str]]
[docs]class TermExtraction:
# Utility function for defining patterns
noun, adj, prep = (
{"POS": "NOUN", "IS_PUNCT": False},
{"POS": "ADJ", "IS_PUNCT": False},
{"POS": "DET", "IS_PUNCT": False},
)
# Global settings for all instances of TermExtraction
config = {
"spacy_model": "en_core_web_sm",
"language": "en",
"MAX_WORD_LENGTH": 6,
"DEFAULT_GENERAL_DOMAIN_SIZE": 300,
"dtype": np.int16,
}
# Resources, will get more if necessary
nlps: Dict[str, Any] = {}
DEFAULT_GENERAL_DOMAINS: Dict[Tuple[str, int], Any] = {}
patterns = [
[adj],
[{"POS": {"IN": ["ADJ", "NOUN"]}, "OP": "*", "IS_PUNCT": False}, noun],
[
{"POS": {"IN": ["ADJ", "NOUN"]}, "OP": "*", "IS_PUNCT": False},
noun,
prep,
{"POS": {"IN": ["ADJ", "NOUN"]}, "OP": "*", "IS_PUNCT": False},
noun,
],
]
[docs] @staticmethod
def get_nlp(language: str = None):
"""
For getting the spaCy nlp.
"""
if language is None:
language = TermExtraction.language
if language not in TermExtraction.nlps:
TermExtraction.nlps[language] = spacy.load(
TermExtraction.config["spacy_model"], parser=False, entity=False
)
return TermExtraction.nlps[language]
[docs] @staticmethod
def get_general_domain(language: str = None, size: int = None):
"""
For getting a pandas Series of domains.
"""
if language is None:
language = TermExtraction.config["language"]
if size is None:
size = TermExtraction.config["DEFAULT_GENERAL_DOMAIN_SIZE"]
if (language, size) not in TermExtraction.DEFAULT_GENERAL_DOMAINS:
TermExtraction.DEFAULT_GENERAL_DOMAINS[(language, size)] = pd.read_csv(
pkg_resources.resource_stream(
__name__, f"default_general_domain.{language}.zip"
),
nrows=size,
)
return TermExtraction.DEFAULT_GENERAL_DOMAINS[(language, size)]
[docs] @staticmethod
def clear_resouces():
"""
Clears cached spaCy nlp's and general domain documents.
"""
TermExtraction.nlps = {}
TermExtraction.DEFAULT_GENERAL_DOMAINS = {}
def __init__(
self,
corpus: Union[str, Iterable[str]],
vocab: Sequence[str] = None,
patterns=patterns,
do_parallelize: bool = True,
language="en",
nlp=None,
default_domain=None,
default_domain_size: int = None,
max_word_length: int = None,
dtype: np.dtype = None,
):
"""
If corpus is a string, then find vocab sequentially, but if the corpus is an iterator, compute through each of them, performing in parallel if do_parallel is set to true. If there is a vocab list, only search for frequencies from the vocab list, otherwise search using the patterns.
"""
# TODO: find a way to cache counts for general domain
self.corpus = corpus
self.vocab = vocab
self.patterns = patterns
self.do_parallelize = do_parallelize
self.language = language
self.nlp = nlp
self.default_domain = default_domain
self.default_domain_size = default_domain_size
self.max_word_length = max_word_length
self.dtype = dtype
if self.default_domain_size is None:
self.default_domain_size = TermExtraction.config[
"DEFAULT_GENERAL_DOMAIN_SIZE"
]
if self.nlp is None:
self.nlp = TermExtraction.get_nlp(self.language)
if self.default_domain is None:
self.default_domain = TermExtraction.get_general_domain(self.language)
if self.max_word_length is None:
self.max_word_length = TermExtraction.config["MAX_WORD_LENGTH"]
if self.dtype is None:
self.dtype = TermExtraction.config["dtype"]
[docs] @staticmethod
def set_language(language: str, model_name: str = None):
"""
For changing the language. Currently, the DEFAULT_GENERAL_DOMAIN is still in English and Italian only. If you have a good dataset in another language please put it in an issue on Github.
"""
if model_name is None:
model_name = language
if not model_name.startswith(language):
warnings.warn(
f"Model '{model_name}' and language '{language}' may not be compatible."
)
TermExtraction.config["language"] = language
[docs] @staticmethod
def configure(new_settings: Dict[str, Any]):
"""
Updates config settings, which include:
- `spacy_model`: str = "en_core_web_sm" (for changing the spacy model name to be used),
- "language": str = "en" (this is the default language),
- "MAX_WORD_LENGTH": int = 6 (this is the maximum word length to be considered a phrase),
- "DEFAULT_GENERAL_DOMAIN_SIZE": int = 300 (this is the number of sentences to be taken from the general domain file),
- "dtype": np.int16 (this is the date type for max Pandas series int size which are used as counters),
"""
TermExtraction.config.update(new_settings)
if not TermExtraction.config["model_name"].startswith(
TermExtraction.config["language"]
):
warnings.warn(
f"Model '{TermExtraction.config['model_name']}' and language '{TermExtraction.config['language']}' may not be compatible."
)
[docs] @staticmethod
def word_length(string: str):
"""
Utility function for quickly computing the number of words in a string.
"""
return string.count(" ") + 1
@property
def trie(self):
"""
Returns an automaton using the Aho–Corasick algorithm using the pyachocorasick library (https://pypi.org/project/pyahocorasick/).
This method builds the automaton the first time and caches it for future use.
"""
if not hasattr(self, "_TermExtraction__trie"):
self.__trie = ahocorasick.Automaton()
for idx, key in enumerate(self.vocab):
self.__trie.add_word(key, (idx, key))
self.__trie.make_automaton()
assert isinstance(self.__trie, ahocorasick.Automaton)
return self.__trie
[docs] def count_terms_from_document(self, document: str):
"""
Counts the frequency of each term in the class and returns it as a default dict mapping each string to the number of occurences of the phrase, for each phrase in vocab.
"""
term_counter: defaultdict = defaultdict(int)
if self.vocab is None:
# initialize a Matcher here - not at the class level
# addressed in: https://github.com/kevinlu1248/pyate/issues/20
new_matcher = Matcher(self.nlp.vocab)
def add_to_counter(matcher, doc, i, matches):
match_id, start, end = matches[i]
candidate = str(doc[start:end])
if TermExtraction.word_length(candidate) <= self.max_word_length:
term_counter[candidate] += 1
for i, pattern in enumerate(self.patterns):
new_matcher.add("term{}".format(i), add_to_counter, pattern)
doc = self.nlp(document.lower(), disable=["parser", "ner"])
new_matcher(doc)
else:
for end_index, (insert_order, original_value) in self.trie.iter(
document.lower()
):
term_counter[original_value] += 1
return term_counter
[docs] def count_terms_from_documents(self, seperate: bool = False, verbose: bool = False):
"""
This is the main purpose of this class. Counts terms from the documents and returns a pandas Series.
If self.corpus is a string, then it is identical to count_terms_from_document.
If the corpus is an iterable (more specifically, collections.abc.Iterable) of strings, then it will perform the same thing but for each string in the iterable. If `seperate` is set to true, then it will return an iterable of default dicts; otherwise, it will return a single default dict with the sum of frequencies among all strings.
"""
# TODO: further optimize
# TODO: add type annotations
if hasattr(self, "_TermExtraction__term_counts"):
return self.__term_counts
if type(self.corpus) is str:
self.__term_counts = pd.Series(
self.count_terms_from_document(self.corpus), dtype=self.dtype
)
return self.__term_counts
elif isinstance(self.corpus, collections.abc.Iterable):
if seperate:
term_counters = []
else:
term_counter = defaultdict(int)
if verbose:
pbar = tqdm(total=len(self.corpus))
def callback(counter_dict):
if verbose:
pbar.update(1)
if seperate:
term_counters.append(
(tuple(counter_dict.keys()), tuple(counter_dict.values()))
)
else:
nonlocal term_counter
# update the cumulative/overall term_counter
for term, frequency in counter_dict.items():
term_counter[term] += frequency
def error_callback(e):
print(e)
P = Pool()
for document in self.corpus:
P.apply_async(
self.count_terms_from_document,
[document],
callback=callback,
error_callback=error_callback,
)
P.close()
P.join()
P.terminate()
if verbose:
pbar.close()
else:
raise TypeError()
if seperate:
def counter_to_series(counter):
return pd.Series(data=counter[1], index=counter[0], dtype=self.dtype)
self.__term_counter = (
pd.DataFrame(data=map(counter_to_series, term_counters))
.fillna(0)
.astype(self.dtype)
.T
)
return self.__term_counter
else:
self.__term_counter = pd.Series(
index=tuple(term_counter.keys()),
data=tuple(term_counter.values()),
dtype=self.dtype,
)
return self.__term_counter
[docs]def add_term_extraction_method(extractor: Callable[..., pd.Series]):
def term_extraction_decorated(self, *args, **kwargs):
return extractor(
self.corpus,
technical_counts=self.count_terms_from_documents(),
*args,
**kwargs,
)
setattr(TermExtraction, extractor.__name__, term_extraction_decorated)
return extractor
if __name__ == "__main__":
PATH_TO_GENERAL_DOMAIN = "../data/wiki_testing.pkl"
PATH_TO_TECHNICAL_DOMAIN = "../data/pmc_testing.pkl"
wiki = pd.read_pickle(PATH_TO_GENERAL_DOMAIN)
pmc = pd.read_pickle(PATH_TO_TECHNICAL_DOMAIN)
print(
TermExtraction(pmc[:100]).count_terms_from_documents(
seperate=True, verbose=True
)
)


sphinx.ext.intersphinx
– Link to other projects’ documentation¶
New in version 0.5.
This extension can generate automatic links to the documentation of objects in other projects.
Usage is simple: whenever Sphinx encounters a cross-reference that has no
matching target in the current documentation set, it looks for targets in the
documentation sets configured in :confval:`intersphinx_mapping`. A reference
like :py:class:`zipfile.ZipFile`
can then link to the Python documentation
for the ZipFile class, without you having to specify where it is located
exactly.
When using the “new” format (see below), you can even force lookup in a foreign
set by prefixing the link target appropriately. A link like :ref:`comparison
manual <python:comparisons>`
will then link to the label “comparisons” in the
doc set “python”, if it exists.
Behind the scenes, this works as follows:
Each Sphinx HTML build creates a file named
objects.inv
that contains a mapping from object names to URIs relative to the HTML set’s root.Projects using the Intersphinx extension can specify the location of such mapping files in the :confval:`intersphinx_mapping` config value. The mapping will then be used to resolve otherwise missing references to objects into links to the other documentation.
By default, the mapping file is assumed to be at the same location as the rest of the documentation; however, the location of the mapping file can also be specified individually, e.g. if the docs should be buildable without Internet access.
Configuration¶
To use Intersphinx linking, add 'sphinx.ext.intersphinx'
to your
:confval:`extensions` config value, and use these config values to activate
linking:
Showing all links of an Intersphinx mapping file¶
To show all Intersphinx links and their targets of an Intersphinx mapping file,
run python -msphinx.ext.intersphinx url-or-path
. This is helpful when
searching for the root cause of a broken Intersphinx link in a documentation
project. The following example prints the Intersphinx mapping of the Python 3
documentation:
$ python -msphinx.ext.intersphinx https://docs.python.org/3/objects.inv
Using Intersphinx with inventory file under Basic Authorization¶
Intersphinx supports Basic Authorization like this:
intersphinx_mapping = {'python'<EMAIL_ADDRESS>None)}
The user and password will be stripped from the URL when generating the links.


This page makes an XMLHttpRequest after five consecutive setTimeout(..., 9)s fire,
which is set up in the window's onload handler. The requested
resource takes 4 seconds to load.
Results observed 2010-06-30:
For countdown=2 and timeout=0, Safari 5.0 (Win) does not spin 90% of the time, even if you clicked the reload icon. The other 10%, it spins 4 seconds.
For countdown=5 and timeout=9, Safari 5.0 (Win) does not spin.


ETC_complex_III
A multisubunit enzyme complex that contains CYTOCHROME B GROUP; CYTOCHROME C1; and iron-sulfur centers. It catalyzes the oxidation of ubiquinol to UBIQUINONE, and transfers the electrons to CYTOCHROME C. In MITOCHONDRIA the redox reaction is coupled to the transport of PROTONS across the inner mitochondrial membrane.
(mesh:D014450)
Cross-references
Synonyms
| Synonym |
Reference |
Specificity |
| cytochrome bc1 complex |
|
Exact
|
| complex III |
|
Exact
|
Incoming Relations
Outgoing Relations
None available.


Scan a string from the input using a similar form to C's scanf
and std.format.
An argument of type string is interpreted as a format string.
All other arguments must be pointer types.
If a format string is not present a default will be supplied computed from
the base type of the pointer type. An argument of type string* is filled
(possibly with appending characters) and a slice of the result is assigned
back into the argument. For example the following readf statements
are equivalent:
int x;
double y;
string s;
file.readf(&x, " hello ", &y, &s);
file.readf("%d hello %f %s", &x, &y, &s);
file.readf("%d hello %f", &x, &y, "%s", &s);


This report is based
The IDR failed in [% failed_idrs.size %] instances.
| Experiment | Epigenome | Type | Error message |
|---|---|---|---|
| [% failed_idr.get_Experiment.name %] | [% failed_idr.get_Experiment.epigenome.short_name %] | [% failed_idr.type %] | [% failed_idr.failed_idr_pairs %] |
Peak calling failed in [% failed_peak_callings.size %] instances.
| Name | Feature type | Broad peaks | Epigenome | Error message |
|---|---|---|---|---|
| [% failed_peak_calling.name %] | [% failed_peak_calling.get_FeatureType.name %] | [% boolean_to_yes_no( failed_peak_calling.get_FeatureType._creates_broad_peaks ) %] | [% failed_peak_calling.get_Epigenome.short_name %] | [% failed_peak_calling.error_message%] |
If the [% current_feature_type.name %] peaks from all epigenomes were projected to the genome, they would cover [% round_percent( peak_calling_statistic_adaptor .fetch_coverage_percent_by_FeatureType( current_feature_type ).value ) %]% of the genome.
To compute the proportion of genome in peaks, a genome length of [% format_number( genome_size_in_bp ) %] base pairs was used.
| Epigenome | Feature type | Proportion of genome in peaks | Number of peaks | Average length |
|---|---|---|---|---|
| [% peak_calling.get_Epigenome.short_name %] | [% peak_calling.get_FeatureType.name %] | [% round_percent( length_to_percent( peak_calling_statistic_adaptor .fetch_by_PeakCalling_total_length( peak_calling, 'total_length' ).value ) ) %] | [% format_number( peak_calling_statistic_adaptor .fetch_by_PeakCalling_total_length( peak_calling, 'num_peaks' ).value ) %] | [% format_number( peak_calling_statistic_adaptor .fetch_by_PeakCalling_total_length( peak_calling, 'average_length' ).value ) %] |
| Experiment | Feature type | Read type | Replicate configurations | Number of reads | Sum of read file sizes in GB | Ratio of read counts: signal/control | IDR type | Max peaks | Failed IDR pairs |
|---|---|---|---|---|---|---|---|---|---|
| [% experiment.name %] | [% experiment.feature_type.name %] | [% experiment.summarise_read_types %] | [% experiment.summarise_replicate_configurations %] | [% format_number( experiment.sum_number_of_reads ) %] | [% format_number( bytes_to_gb ( experiment.sum_read_file_sizes ) ) %] | [% round_num( experiment.signal_to_control_read_file_ratio ) %] | [% idr.type %] | [% format_number( idr.max_peaks ) %] | [% idr.failed_idr_pairs %] |
| Experiment | Feature type | Read type | Replicate configurations | Number of reads | Sum of read file sizes in GB |
|---|---|---|---|---|---|
| [% experiment.name %] | [% experiment.feature_type.name %] | [% experiment.summarise_read_types %] | [% experiment.summarise_replicate_configurations %] | [% format_number( experiment.sum_number_of_reads ) %] | [% format_number( bytes_to_gb ( experiment.sum_read_file_sizes ) ) %] |


| |
iluColoursUsed creates a copy of the image data, quicksorts it and counts the number of unique colours in the image. This value is returned without affecting the original image.
| | ILboolean iluColoursUsed( ILvoid );
|
Parameters
Errors| | - ILU_ILLEGAL_OPERATION
- The operation attempted is not allowable in the current state. The function returns with no ill side effects. Generally there is currently no image bound or it has been deleted via ilDeleteImages. You should use ilGenImages and ilBindImage before calling the function.
- ILU_OUT_OF_MEMORY
- Could not allocate enough memory in an operation
|
See Also
|


Reset Password
Email Address
Please enter a valid email address.
Send Password Reset Email
Back to login


Verify that the appearance of each popup dialog is correct, and that each color appears exactly once. Verify that all dialogs are exactly the same size and shape. Verify that each arrow is positioned uniquely relative to the dialog's body.


{% set seq3 = [
{"id":"delivery","value":"Scan and email"},
{"id":"delivery","value":"Photograph then email"},
{"id":"delivery", "value":"Post","showPanel":"postToAddress"}
] %}
{{ elements.radioSelect('delivery',question.question3,"",answers.delivery,seq3) }}
Write your National Insurance number on everything you send, and post to:
{% for item in page.address %}
- {{item}}
{% endfor %}