{{ error_message }}
Congratulations on your first login to RMS!
Before you can get started, make sure all your personal information is correct. You will also need to set your password before you can continue.


{% extends 'base.html' %} {% load bootstrap_tags %} {% block page.title %}Error{% endblock %} {% block content %} 404 Something went wrong, we couldn't find that page. {% endblock %}
404
Something went wrong, we couldn't find that page.


{% if site.data.git.sha %}{% endif %}
Helpshift is an in-app mobile help desk designed to improve customer support efficiency by over 400% and reduce cost by over 70%. Our engineering team is committed to building a meticulously designed, solid SDK to improve customer retention for clients such as Flipboard, Supercell, and more . We are currently serving over 500 million app sessions weekly.
Learn more about us at Helpshift.com


This should be red.
This should be orangered.
This should be #450aad.
This should be #456aad
This should be #46d.
This should be #f6d
This should not be colored #46d.
This should be hsl(240, 75%, 75%).
This should be hsla(240, 75%, 75%, 0.5).
This should not be url.com/#3452453
This should be rgb(123, 45, 67).
This should be rgba(123, 45, 67, 0.5).
Do not color #a2d in SVG.
Do not color #4f1 in
menu[type="context"]
Do color #4f1 in
menu[type="toolbar"]
Colors in
body
should be highlighted: hsl(145, 75%, 35%).
Here is a color in
details > summary
: violet.
Here is a color in
details
violet. This is colored because GIGO.
It should be able to handle two colors next to each other:
#a45 orangered
pink


Multi Input With Simple list
This example shows default Multi Input with simple list implementation.
To open suggestions dropdown with keyboard, use combination of alt key + arrow down key
when
focusing input field.
]
Multi Input With compact list and multi Input component
This example shows compact Multi Input with simple compact list implementation.
Multi Input With Value help dialog box with complex Objects object
This example shows default Multi Input with simple list implementation.
Multi Input With Grouped list
This example shows default Multi Input with simple list implementation.
Multi Input With Decline List type
This example shows default Multi Input with simple list implementation.
Multi Input Disabled
Multi Input component can be disabled with two ways:
If used inside fdp-form-field
, set [disabled]="true"
to the
fdp-form-field
component.
If used as a standalone component, set [disabled]="true"
directly to the
fdp-multi-input
component.
Multi Input Mobile
This example shows default Multi Input with simple list implementation to support mobile interface.
Multi Input reactive
This example shows default Multi Input with simple list implementation to support mobile interface.
Loading
Multi input exposes onDataRequested
and onDataReceived
outputs, that can be used to
implement external loading logic. These events are tied to the querying process through dataSource.


1 Grammar: dplyr vs pandas & numpy
We will use the five dplyr verbs (also pandas’ guide) for comparison
select()
picks variables based on their names.mutate()
adds new variables that are functions of existing variablesfilter()
picks cases based on their values.summarise()
reduces multiple values down to a single summary.arrange()
changes the ordering of the rows.
and use the following toy data to apply the verbs.
| name | gender | grade |
|---|---|---|
| Barney | Male | 10 |
| Ted | Male | 11 |
| Marshall | Male | 13 |
| Lilly | Female | 12 |
| Robin | Female | 14 |
Create Toy Data
| dplyr | pandas |
|---|---|
|
|
Check Data Structure
| dplyr | pandas |
|---|---|
|
|
1.1 select()
1.1.1 Example: Pick the variables name
and grade
.
| dplyr | pandas |
|---|---|
|
Using positions of columns:
|
1.2 mutate()
1.2.1 Example: Generate a variable grade_p
, expressing grade out of 100.
| dplyr | pandas |
|---|---|
|
|
1.3 filter()
1.3.1 Example: Keep if the student is Barney or female.
| dplyr | pandas |
|---|---|
|
|
1.4 group_by()
and summarize()
1.4.1 Example: Grouped by gender, find mean grade.
| dplyr | pandas |
|---|---|
|
Option 1:
Option 2:
Option 3:
|
1.4.2 Example: Grouped by gender, find mean, median, minimum, and maximum grade.
| dplyr | pandas |
|---|---|
|
|
1.5 arrange()
1.5.1 Example: Arrange grade in ascending order.
| dplyr | pandas |
|---|---|
|
|
1.5.2 Example: Arrange grade in descending order.
| dplyr | pandas |
|---|---|
|
|
1.5.3 Example: Arrange gender in ascending order then arrange grade in descending order.
| dplyr | pandas |
|---|---|
|
|


{% load static %}
Have a legal document but no time to read it? Leave it to us.
Find Out MoreWe present Case Studies, a web app that accepts a legal document (preferably proceedings of a court case, terms and conditions document) IN TXT FORMAT, and using various Artificial Intelligence, Machine Learning and Natural Language Processing Algorithms,comprehends it and generates a consise summary of the document and recognises the key legal points (for instance, names and locations involved, important sentences).
The algorithms were trained by partly using our examples and partly using examples generated by Microsoft PROSE SDK which, when fed a few examples of the important points in a document, generated "catchphrases" or key words.
Our question answer bot employs the Microsoft LUIS web service to comprehend what you're asking for.
Just upload the legal proceeddings of the case IN THE FORM OF A TXT FILE (no other formats are supported as of now). Don't worry about privacy issues, we don't store the document in our servers at all.
We then provide you with the following:
We identify the key points and highlight them, making you focus more on the important things when reading a large legal document
We comprehend the document and prepare a concise summary that briefs you on the sum and substance of the document
Our Question Answer bot answers some simple queries about the document. It can list the important points, give you a very short rundown of the document or summarise it in a little more detail.
Kudos to
Startboostrap.com for their Creative Bootstrap Theme: https://startbootstrap.com/template-overviews/creative/(distributed under the MIT Licence)
João Victor for the sleek file upload template: https://codepen.io/jotavejv/pen/bRdaVJ
pablocorezzola at Bootsnipp for their jquery based chat plugin: https://bootsnipp.com/snippets/featured/simple-chat
And saving the best for last,
Microsoft for their constant support, amazing Azure cloud services, PROSE SDK, LUIS webservice and a brilliant learning platform like code.fun.do
Have any feedback, complaints, or bug reports? We're always looking to improve.Feel free to contact us!


Simple module for creating an invisible view which receives remote control events. This is useful for background audio playback. Please note that this module does not enable your application to play audio in the background. It just enables your application to receive the remote control events.
Also allows setting the "now playing" information, e.g. in the iOS 7 lock screen.
To access this module from JavaScript, you would do the following:
var MediaControls = require("de.codewave.ti.mediacontrols");
The MediaControls variable is a reference to the Module object.
Creates an invisible, full-sized view which receives remote control events. Even though the view is invisible it will receive touch events when added to your window. Please add this view to your window first. Then add all your other views and controls to the media controls view instead of the window. This makes the media controls view the parent of all other views. So no matter which view is the first responder for events, as long as the remote control events are not handled (which is true for the Titanium views and controls) the events are passed up the view hierarchy up to the media controls view. If your application has multiple windows, you have to add a media controls view to all of them to make the remote control events work in any case. The view supports the following events:
In certain situations the media control view can still lose the first responder role. For example if you have a window with a media control view and open another window with its own media control view, the new window's media control view will become the first responder. Now when you close the seconds window the media control view in the first window won't become the first responder again automatically. For such cases the MediaControlView has a method becomeFirstResponder which makes it the first responder again. Here is a small sample which calls the method. Please note that this is just a sample. You need not call the becomeFirstResponder right after creating the view since the createView method automatically makes the new view the first responder.
var MediaControls = require("de.codewave.ti.mediacontrols"); var view = MediaControls.createView({left:0,top:0,right:0,bottom:0}); view.becomeFirstResponder();
Creates a now playing information proxy. The following methods on the proxy set the now playing information on the device. You can clear the string values or the artwork by setting it to an empty string. You can clear all fields at once with the clear-method. Creating a new object or destroying the current object does not change anything in the already set information on the device. You have to call the clear-method to remove all now playing information from the device.
The "elapsedPlaybackTime" and "playbackRate" are somewhat special as iOS automatically advances the playback position according to the playback rate. If the playback rate it set to "1" (which means normal playback speed) it advances the playback position by one second each second. If you set it to "2" for example the position is advanced by two seconds each second. Since you never know if playback gets delayed, e.g. by buffering pauses if you are streaming, it is probably a good idea to set the "elapsedPlaybackTime" every now and then but not every second. If you are implementing an audio player you could for example set the "playbackRate" to "0" on pause and to "1" on play/resume.
Since iOS works with a complete block of now playing information when setting them you have to keep in mind that you always set all previously set values again when setting a single value. For example if you have set the title and then set the artist, both - the title and the artist - will be set internally. This is no problem for all static information but if you set the "playbackRate" to anything but "0" iOS will start advancing the playback position automatically. It will however not update the last set "elapsedPlaybackTime". So if you set the "elapsedPlaybackTime" to 0 and the playback rate to "1", wait 10 seconds and then set the "playbackRate" to "0", you will also set the "elapsedPlaybackTime" to "0" again. So once you start playback you should set the "elapsedPlaybackTime" whenever you change anything else.
| setTitle | Track title (set to empty string to clear). |
| setAlbumTitle | Album title (set to empty string to clear). |
| setArtist | Artist name (set to empty string to clear). |
| setAlbumArtist | Album artist name (set to empty string to clear). |
| setGenre | Genre (set to empty string to clear). |
| setComposer | Composer name (set to empty string to clear). |
| setPlaybackDuration | Playback duration in seconds. |
| setAlbumTrackNumber | Track number. |
| setAlbumTrackCount | Total track count. |
| setDiscNumber | Disc number. |
| setDiscCount | Total disc count. |
| setArtwork | Album artwork URI, TiFile or TiBlob (set to empty string to clear). |
| setElapsedPlaybackTime | The elapsed playback time in seconds. |
| setPlaybackRate | The playback rate (0 = stopped, 1 = normal, 2 = double speed, etc). |
| clear | Clears all now playing information. |
Simple example for receiving events:
var MediaControls = require("de.codewave.ti.mediacontrols"); var view = MediaControls.createView({left:0,top:0,right:0,bottom:0}); view.addEventListener("remoteControlTogglePlayPause", function() { // handle the play/pause toggle event });
Simple example for setting "now playing" info:
var MediaControls = require("de.codewave.ti.mediacontrols"); var info = MediaControls.createNowPlayingInfo(); info.setTitle("Hells Bells"); info.setAlbum("Best of Rock"); info.setArtist("AC/DC"); info.setAlbumArtist("Various Artists"); info.setPlaybackDuration(235); info.setAlbumTrackNumber(2); info.setAlbumTrackCount(14); info.setDiscNumber(1); info.setDiscCount(2);For a working sample app please see the included "app.js" file. Read the comment in the file for short documentation of how to use it.
Author
Codewave Software
<EMAIL_ADDRESS>http://www.codewave.de


Returns just a table’s primary key
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 567 567: def primary_key(table) 568: pk_and_sequence = pk_and_sequence_for(table) 569: pk_and_sequence && pk_and_sequence.first 570: end
AbstractAdapter
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 165 165: def initialize(connection, logger, connection_options, config) 166: super(connection, logger) 167: @connection_options, @config = connection_options, config 168: @quoted_column_names, @quoted_table_names = {}, {} 169: configure_connection 170: end
CONNECTION MANAGEMENT ====================================
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 240 240: def active? 241: return false unless @connection 242: @connection.query 'select 1' 243: true 244: rescue Mysql2::Error 245: false 246: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 172 172: def adapter_name 173: ADAPTER_NAME 174: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 477 477: def add_column(table_name, column_name, type, options = {}) 478: add_column_sql = "ALTER TABLE #{quote_table_name(table_name)} ADD #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}" 479: add_column_options!(add_column_sql, options) 480: add_column_position!(add_column_sql, options) 481: execute(add_column_sql) 482: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 544 544: def add_column_position!(sql, options) 545: if options[:first] 546: sql << " FIRST" 547: elsif options[:after] 548: sql << " AFTER #{quote_column_name(options[:after])}" 549: end 550: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 365 365: def add_limit_offset!(sql, options) 366: limit, offset = options[:limit], options[:offset] 367: if limit && offset 368: sql << " LIMIT #{offset.to_i}, #{sanitize_limit(limit)}" 369: elsif limit 370: sql << " LIMIT #{sanitize_limit(limit)}" 371: elsif offset 372: sql << " OFFSET #{offset.to_i}" 373: end 374: sql 375: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 335 335: def begin_db_transaction 336: execute "BEGIN" 337: rescue Exception 338: # Transactions aren't supported 339: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 572 572: def case_sensitive_equality_operator 573: "= BINARY" 574: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 499 499: def change_column(table_name, column_name, type, options = {}) 500: column = column_for(table_name, column_name) 501: 502: unless options_include_default?(options) 503: options[:default] = column.default 504: end 505: 506: unless options.has_key?(:null) 507: options[:null] = column.null 508: end 509: 510: change_column_sql = "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_column_name(column_name)} #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}" 511: add_column_options!(change_column_sql, options) 512: add_column_position!(change_column_sql, options) 513: execute(change_column_sql) 514: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 484 484: def change_column_default(table_name, column_name, default) 485: column = column_for(table_name, column_name) 486: change_column table_name, column_name, column.sql_type, :default => default 487: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 489 489: def change_column_null(table_name, column_name, null, default = nil) 490: column = column_for(table_name, column_name) 491: 492: unless null || default.nil? 493: execute("UPDATE #{quote_table_name(table_name)} SET #{quote_column_name(column_name)}=#{quote(default)} WHERE #{quote_column_name(column_name)} IS NULL") 494: end 495: 496: change_column table_name, column_name, column.sql_type, :null => null 497: end
Returns the database character set.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 421 421: def charset 422: show_variable 'character_set_database' 423: end
Returns the database collation strategy.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 426 426: def collation 427: show_variable 'collation_database' 428: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 459 459: def columns(table_name, name = nil) 460: sql = "SHOW FIELDS FROM #{quote_table_name(table_name)}" 461: columns = [] 462: result = execute(sql, :skip_logging) 463: result.each(:symbolize_keys => true, :as => :hash) { |field| 464: columns << Mysql2Column.new(field[:Field], field[:Default], field[:Type], field[:Null] == "YES") 465: } 466: columns 467: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 341 341: def commit_db_transaction 342: execute "COMMIT" 343: rescue Exception 344: # Transactions aren't supported 345: end
Create a new MySQL database with optional :charset and :collation. Charset defaults to utf8.
Example:
create_database 'charset_test', :charset => 'latin1', :collation => 'latin1_bin' create_database 'matt_development' create_database 'matt_development', :charset => :big5
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 404 404: def create_database(name, options = {}) 405: if options[:collation] 406: execute "CREATE DATABASE `#{name}` DEFAULT CHARACTER SET `#{options[:charset] || 'utf8'}` COLLATE `#{options[:collation]}`" 407: else 408: execute "CREATE DATABASE `#{name}` DEFAULT CHARACTER SET `#{options[:charset] || 'utf8'}`" 409: end 410: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 353 353: def create_savepoint 354: execute("SAVEPOINT #{current_savepoint_name}") 355: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 469 469: def create_table(table_name, options = {}) 470: super(table_name, options.reverse_merge(:options => "ENGINE=InnoDB")) 471: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 416 416: def current_database 417: select_value 'SELECT DATABASE() as db' 418: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 258 258: def disconnect! 259: unless @connection.nil? 260: @connection.close 261: @connection = nil 262: end 263: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 438 438: def drop_table(table_name, options = {}) 439: super(table_name, options) 440: end
Executes the SQL statement in the context of this connection.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 307 307: def execute(sql, name = nil) 308: # make sure we carry over any changes to ActiveRecord::Base.default_timezone that have been 309: # made since we established the connection 310: @connection.query_options[:database_timezone] = ActiveRecord::Base.default_timezone 311: if name == :skip_logging 312: @connection.query(sql) 313: else 314: log(sql, name) { @connection.query(sql) } 315: end 316: rescue ActiveRecord::StatementInvalid => exception 317: if exception.message.split(":").first =~ /Packets out of order/ 318: raise ActiveRecord::StatementInvalid, "'Packets out of order' error was received from the database. Please update your mysql bindings (gem install mysql) and read http://dev.mysql.com/doc/mysql/en/password-hashing.html for more information. If you're on Windows, use the Instant Rails installer to get the updated mysql bindings." 319: else 320: raise 321: end 322: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 442 442: def indexes(table_name, name = nil) 443: indexes = [] 444: current_index = nil 445: result = execute("SHOW KEYS FROM #{quote_table_name(table_name)}", name) 446: result.each(:symbolize_keys => true, :as => :hash) do |row| 447: if current_index != row[:Key_name] 448: next if row[:Key_name] == PRIMARY # skip the primary key 449: current_index = row[:Key_name] 450: indexes << IndexDefinition.new(row[:Table], row[:Key_name], row[:Non_unique] == 0, [], []) 451: end 452: 453: indexes.last.columns << row[:Column_name] 454: indexes.last.lengths << row[:Sub_part] 455: end 456: indexes 457: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 324 324: def insert_sql(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil) 325: super 326: id_value || @connection.last_id 327: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 576 576: def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key) 577: where_sql 578: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 188 188: def native_database_types 189: NATIVE_DATABASE_TYPES 190: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 557 557: def pk_and_sequence_for(table) 558: keys = [] 559: result = execute("describe #{quote_table_name(table)}") 560: result.each(:symbolize_keys => true, :as => :hash) do |row| 561: keys << row[:Field] if row[:Key] == "PRI" 562: end 563: keys.length == 1 ? [keys.first, nil] : nil 564: end
Returns just a table’s primary key
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 567 567: def primary_key(table) 568: pk_and_sequence = pk_and_sequence_for(table) 569: pk_and_sequence && pk_and_sequence.first 570: end
QUOTING ==================================================
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 194 194: def quote(value, column = nil) 195: if value.kind_of?(String) && column && column.type == :binary && column.class.respond_to?(:string_to_binary) 196: s = column.class.string_to_binary(value).unpack("H*")[0] 197: "x'#{s}'" 198: elsif value.kind_of?(BigDecimal) 199: value.to_s("F") 200: else 201: super 202: end 203: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 213 213: def quote_string(string) 214: @connection.escape(string) 215: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 221 221: def quoted_false 222: QUOTED_FALSE 223: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 217 217: def quoted_true 218: QUOTED_TRUE 219: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 248 248: def reconnect! 249: disconnect! 250: connect 251: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 392 392: def recreate_database(name, options = {}) 393: drop_database(name) 394: create_database(name, options) 395: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 361 361: def release_savepoint 362: execute("RELEASE SAVEPOINT #{current_savepoint_name}") 363: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 516 516: def rename_column(table_name, column_name, new_column_name) 517: options = {} 518: if column = columns(table_name).find { |c| c.name == column_name.to_s } 519: options[:default] = column.default 520: options[:null] = column.null 521: else 522: raise ActiveRecordError, "No such column: #{table_name}.#{column_name}" 523: end 524: current_type = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'")["Type"] 525: rename_column_sql = "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_column_name(column_name)} #{quote_column_name(new_column_name)} #{current_type}" 526: add_column_options!(rename_column_sql, options) 527: execute(rename_column_sql) 528: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 473 473: def rename_table(table_name, new_name) 474: execute "RENAME TABLE #{quote_table_name(table_name)} TO #{quote_table_name(new_name)}" 475: end
this is set to true in 2.3, but we don’t want it to be
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 254 254: def requires_reloading? 255: false 256: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 265 265: def reset! 266: disconnect! 267: connect 268: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 347 347: def rollback_db_transaction 348: execute "ROLLBACK" 349: rescue Exception 350: # Transactions aren't supported 351: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 357 357: def rollback_to_savepoint 358: execute("ROLLBACK TO SAVEPOINT #{current_savepoint_name}") 359: end
Returns an array of arrays containing the field values. Order is the same as that returned by columns.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 302 302: def select_rows(sql, name = nil) 303: execute(sql, name).to_a 304: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 552 552: def show_variable(name) 553: variables = select_all("SHOW VARIABLES LIKE '#{name}'") 554: variables.first['Value'] unless variables.empty? 555: end
SCHEMA STATEMENTS ========================================
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 379 379: def structure_dump 380: if supports_views? 381: sql = "SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'" 382: else 383: sql = "SHOW TABLES" 384: end 385: 386: select_all(sql).inject("") do |structure, table| 387: table.delete('Table_type') 388: structure += select_one("SHOW CREATE TABLE #{quote_table_name(table.to_a.first.last)}")["Create Table"] + ";\n\n" 389: end 390: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 176 176: def supports_migrations? 177: true 178: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 180 180: def supports_primary_key? 181: true 182: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 184 184: def supports_savepoints? 185: true 186: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 430 430: def tables(name = nil) 431: tables = [] 432: execute("SHOW TABLES", name).each do |field| 433: tables << field.first 434: end 435: tables 436: end
Maps logical Rails types to MySQL-specific data types.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 531 531: def type_to_sql(type, limit = nil, precision = nil, scale = nil) 532: return super unless type.to_s == 'integer' 533: 534: case limit 535: when 1; 'tinyint' 536: when 2; 'smallint' 537: when 3; 'mediumint' 538: when nil, 4, 11; 'int(11)' # compatibility with MySQL default 539: when 5..8; 'bigint' 540: else raise(ActiveRecordError, "No integer type has byte size #{limit}") 541: end 542: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 581 581: def quoted_columns_for_index(column_names, options = {}) 582: length = options[:length] if options.is_a?(Hash) 583: 584: quoted_column_names = case length 585: when Hash 586: column_names.map {|name| length[name] ? "#{quote_column_name(name)}(#{length[name]})" : quote_column_name(name) } 587: when Fixnum 588: column_names.map {|name| "#{quote_column_name(name)}(#{length})"} 589: else 590: column_names.map {|name| quote_column_name(name) } 591: end 592: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 594 594: def translate_exception(exception, message) 595: return super unless exception.respond_to?(:error_number) 596: 597: case exception.error_number 598: when 1062 599: RecordNotUnique.new(message, exception) 600: when 1452 601: InvalidForeignKey.new(message, exception) 602: else 603: super 604: end 605: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 646 646: def column_for(table_name, column_name) 647: unless column = columns(table_name).find { |c| c.name == column_name.to_s } 648: raise "No such column: #{table_name}.#{column_name}" 649: end 650: column 651: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 613 613: def configure_connection 614: @connection.query_options.merge!(:as => :array) 615: 616: # By default, MySQL 'where id is null' selects the last inserted id. 617: # Turn this off. http://dev.rubyonrails.org/ticket/6778 618: variable_assignments = ['SQL_AUTO_IS_NULL=0'] 619: encoding = @config[:encoding] 620: 621: # make sure we set the encoding 622: variable_assignments << "NAMES '#{encoding}'" if encoding 623: 624: # increase timeout so mysql server doesn't disconnect us 625: wait_timeout = @config[:wait_timeout] 626: wait_timeout = 2592000 unless wait_timeout.is_a?(Fixnum) 627: variable_assignments << "@@wait_timeout = #{wait_timeout}" 628: 629: execute("SET #{variable_assignments.join(', ')}", :skip_logging) 630: end
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 608 608: def connect 609: @connection = Mysql2::Client.new(@config) 610: configure_connection 611: end
Returns an array of record hashes with the column names as keys and column values as values.
# File lib/active_record/connection_adapters/mysql2_adapter.rb, line 634 634: def select(sql, name = nil) 635: execute(sql, name).each(:as => :hash) 636: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.


Area Effect Clouds
Note: Perform an update as described here before attempting this homework (thanks).
After investigating lingering potions, I found this post online:
I want to make the lingering potion particles last longer after it has been thrown.
How (if possible) can I do this?
Answer:
You can't customise the cloud of a lingering potion after it has been thrown, although you can summon custom clouds
without the lingering potion using the server command:
/summon minecraft:area_effect_cloud ~ ~ ~ {Radius:5,Duration:10000,Effects:[{Id:5,Amplifier:0,Duration:60}]}
Where the first duration is the time the cloud lasts in ticks, and the second duration is the time the potion effect lasts in ticks.
I thought about this and wondered was an area effect cloud considered a creature? Could I summon one like
I would summon a mob?
After further trial and error I added a section in Items named Area Effect Cloud.
In this section you can:
- Add Custom Effect (a potion effect)
- Set the duration of the cloud to exist
- Set the radius of the cloud
For this homework, create an area effect cloud and change the radius, duration, and effect. Its pretty cool
You can use this diagram as an example:
Note: It is also possible to set the cloud particle color (default color is black). Let me know if you would like to try this option.


The Wizards Behind The Project
S. Mahmudul Hasan
B.Sc in CSE from Bangladesh University of Engineering and Technology (BUET)
Contact: +8801521200014
Shahad Ishraq
B.Sc in CSE from Bangladesh University of Engineering and Technology (BUET)
Contact: +8801521215230


VSL // Company Culture In A Start-Up World
* LinkedIn has become a great source for keeping up with top workplace trends, like the out-of-the-box benefits
today’s Very Short List:
tech 5 May 2014
Netta Samroengraja is Chief People Officer of ZocDoc
Subscribe
* I believe that the more comfortable employees feel in an office, the more likely they are to speak up and share their opinions. Here are some cool work environments
* Companies like Zappos have proven the importance of being a values-based organization. This article explains why those company values should relate to the universal human virtues
http://link.nyobserver.com/516ca68465217dc6e1b9a3a61ka7l.bge/U0seiOYQi3UyI2S8Dcc0b very short list is a
delightful e-mail that shares
cultural gems from a
different curator every day.
If you have any problems reading this e-mail, click here
http://link.nyobserver.com/516ca68465217dc6e1b9a3a61ka7l.bge/U0seiOYQi3UyI2S8E210a
Subscribe
Forward
My Account
Unsubscribe
food 2 May 2014
Alexa Jaccarino on some high-tech kitchen things.
culture 30 Apr 2014
Nahema Mehta connects some dots.
tech 28 Apr 2014
Maxwell Neely-Cohen on maps that tell stories.
Editorial Policy
Privacy Policy
Contact Us
Press
Terms + Conditions
very fine print: ©2014
Observer VSL LLC.
321 West 44th Street, 6th Floor
New York, NY 10036 USA
All rights reserved.
Questions?<PHONE_NUMBER>.
This message was intended for<EMAIL_ADDRESS>If you believe this has been sent to you in error, please safely unsubscribe


LOCUS
Welcome, Nick Hayward
Class Cart
*Next enrollment date is April 9*
Pending enrollment:
- None
| English | Enroll | Completed | |
| Science | Enroll | Completed | |
| Math | Enroll | Completed | |
| History | Enroll | Completed | |
| Communications | Enroll | Completed | |
| Total Credits: 90/128 |
| Student Name: | Nicholas Hayward | Student ID Number: | 0001234 | Major/Minor: | Computer Science/archaeology | Address: | 500 State St, Chicago IL | Phone Number: |<PHONE_NUMBER> | Cumulative GPA: | 3.85 | Major GPA: | 3.91
|


A more secure configuration for HAProxy when setting up your Octoprint instance on a Raspberry Pi.
Setting up your own personal cloud storage hosted on your Raspberry Pi using OwnCloud.


How it works
You neeed Node.js environment to use this styleguide. because this styleguide generator load json files converted from template files (ejs/jade/haml/html). It is almost impossible to make json by manual. So You may want to use CLI or gulp to make json file. Below is the breief image how atomic-lab works.
components.json
For reference, below is the json structure that atomic-lab needs.
{
"components":[
{
"category":"atom/molecule/organism/template",
"name":"name of the component",
"html": "some HTML",
"css": "path to the css file"
}
...
]
}


TonyL
04-Mar-19 07:07 AM
I see one way of cards drawing but it need very reliable and fast response from DiceCC (now result may be void and changes on next call what is not suitiable):
Full deck
1) Making dicebet with some not significant sum like a 0.0001 on odds 52
If first bet won you draw 2 of hearts, if second you draw 3 of hearts... if only 52th - it's ace of spades
on next draw you do same but up to 51 and keep in memory that you have one card less now
Since its' without edge these "service RNG calls" will give 50/50 result
But it burns txfee on each card draw. Hope oneday someone will make a new VegasCC contract which will allow to create games (CC should combine adjustable RNG which returns random things from diapason/list + ability to create games and accept buyins / make payout)
(edited)


DeviceService
#
ID
Name
Description
Labels
Addressable
OperatingState
AdminState
Devices
Created Time
Modified Time
No Data.
Addressable
×
ID
Name
Protocol
Address
Port
Path
Created Time
Modified Time
New Profile
Device Profile
#
ID
Name
Description
Labels
Created Time
Modified Time
No Data.


--- layout: page description: "Bayesian Statistics / Computing" titleimg: comments: off --- {% for post in site.posts %}
Posted on {{ post.date | date: "%-d %b, %Y" }}


Proxy Type:
Proxy Host/IP:
Proxy Port:
Message
Proxy status: enabled disabled
This extension is primarily to be used with Puppeteer to control the proxy setting of the web browser.
But you can use it as a simple proxy extension without Puppeteer. The only requirement is a working proxy server.
Here is a code example of how to use it programatically with Pupeteer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
(async () => { // ... // Proxy Object - Replace with a working proxy // Be sure that the proxy server is working // otherwise the browser won't be able to access the internet const proxy = { type: "http", host: "<IP_ADDRESS>", port: 8888, }; // Start puppeteer const browser = await puppeteer.launch(options); // get the extension context // be sure to check with the actual extension id from managing extensions // extension id should be : 'meeohdhldndmeffgoccpgacfdigmphab' const proxyExtension = await browser.waitForTarget( (t) => t.type() === "background_page" && t.url().includes("meeohdhldndmeffgoccpgacfdigmphab") ); // set the proxy proxyExtension.evaluate((proxy) => { chrome.tabs.query({ active: true }, async (proxy) => { window.setProxy(proxy); }); }, proxy); // ... })(); |
You can use window.setProxy(proxy) to set programaticaly the proxy for the browser at any moment you want, if you want to disable the proxy use window.setProxy(disableProxy).


Definition at line 16 of file DialogFlow.cs.
◆ SendText() [1/2]
| void DialogFlow.SendText |
( |
| ) |
|
◆ SendText() [2/2]
| void DialogFlow.SendText |
( |
string |
s | ) |
|
◆ SpeechPlayback()
| void DialogFlow.SpeechPlayback |
( |
| ) |
|
◆ ACCESS_TOKEN
| string DialogFlow.ACCESS_TOKEN = "8b268a4934ed4e96a4c6bb32e39b92d9" |
|
static |
◆ entityText
| Text DialogFlow.entityText |
◆ inputFieldText
| Text DialogFlow.inputFieldText |
◆ isEnglish
| bool DialogFlow.isEnglish = true |
|
static |
◆ responseText
| Text DialogFlow.responseText |
◆ sendButton
| Button DialogFlow.sendButton |
◆ speech
The documentation for this class was generated from the following file:


#ftl output_format="HTML" auto_esc=true> <#import "layout/default.html" as layout><EMAIL_ADDRESS>Dear ${notificationTarget.name},
You have been invited to join the project ${projectName} by ${leadOrganisationName}. Sign in to accept this invitation.
If you have not used this service before you must create an account.
<EMAIL_ADDRESS>href="${inviteUrl}" text="Accept invitation" />Yours sincerely,
<EMAIL_ADDRESS>/> @layout.default>


There’s an app for everything these days, including attending college, but that doesn’t mean it’s a good app. Oohlala has changed that for hundreds of schools so far with its custom university-specific apps for students, and it’s looking to expand with a $4 million Series A round it announced today. The attraction for both students and administrators is understandable, especially if you’ve had to navigate the labyrinths of overlapping websites, services, and apps that often form the online portion of the university experience. Register classes at this site, but schedule them here, but that doesn’t work with the official app, and announcements hit Twitter an hour earlier anyway: that sort of thing. “It’s very complex and fragmented from the student perspective,” said Oohlala founder and CEO Danial Jameel in an interview with TechCrunch. During his time at the University of Toronto, he worked in the Student Life department, trying to wrangle resources for some 15,000 incoming freshmen. The problems one faces in that situation are obvious, especially if there’s no single convenient platform aimed directly at students. Some solutions, like those for handling financials or homework and professor feedback, aren’t worth reinventing just now. But what about everything else students do, from networking to finding a place to eat to checking the lost and found? Originally Oohlala focused on the social side of things, but it soon became clear that there was much more to help with. “If you think about it, for these 4 years, it’s a unique user behavior,” Jameel said. “Pretty much your whole life revolves around school.” Not only that, but nearly every student — 95 to 98 percent — has a smartphone, and they’re already using it to carve their life into categories: broader friends and family on Facebook, close friends on WhatsApp or Snapchat, dating on Tinder, etc. Oohlala aimed at being the app that fills that role for student life, and it’s found a great deal of success. Each app, tailored for each university, includes things like moderated message boards for students, faculty contacts, class info and locations, safety information and alerts, and plenty more that used to be found on half a dozen websites, apps, and third-party services. I for one would have been glad to have it when I was in school. And of course IT and administration get lots of useful data to play around with.
With more than 200 customers in 8 countries, the company is already profitable. It tripled in size last year and two thirds of its customers signed on for three years up front. So why raise? “I think we’re in a good position to be the market leader in the space — we have the numbers, we’ve been doing this profitably, and the YC partners suggested ‘you know, maybe it’s time for you guys to step up,'” said Jameel. The $4M figure isn’t an accident — Jameel suggested the company could have raised significantly more, but they considered that they’ve always done well with the bare minimum money necessary, and furthermore they’d like to retain as much equity as possible. He’s proud of the company’s start in Toronto, where VC money is comparatively scarce but living expenses are low: “We lived like cockroaches. There isn’t a lot of capital, so we had to build a business model to survive.” “Honestly the reason we took the funding is the people we took it from,” he continued. “Relationships matter too.” University Ventures led the round, alongside Joe Montana’s Liquid 2 fund and Chegg founder Osman Rashid. Oohlala also gained a board member from Macmillan’s M&A department — handy if you’re in the edtech space.
A major part of the value the investors see, however, isn’t just in letting students interact with one another or check their schedule easily. “One of the biggest challenges in education is efficacy,” said Jameel. “Does your product actually tie into student outcomes?” Universities measure this in terms of engagement, retention, things like that. Oohlala did a study with a dean’s office, looking semester by semester at people using the app versus not using the app (with controls — I asked) and found that users of the app had significantly lower dropout rates. “We’re not saying that just because you use the app, you’re not going to leave,” Jameel said, “but we’re providing them with the tools and support they need. This generation is mobile first, that’s how they operate.” With little in the way of downsides (conceivably the university might be wary of engaging yet another third party to manage its students) and an execution that puts student welfare on equal footing with improved user experience and ease of adoption, Oohlala looks to have hit the nail on the head. This funding should help offer more students the modern, mobile-first university companion app they expect — and deserve.


Meebo platform needs to come to XULRunner 2007/10/30
Today Om is reporting that Meebo is launching its own platform for third-party Meebo widgets. I could care less about the widgets, but could this be a REST API for sending IMs? No (dammit).
The Meebo API is actually an ingenious bit of Flash with a JavaScript wrapper that talks to Meebo. Once your hosted app gets some params from Meebo, you can do exciting things like listen for new messages. Through the same JavaScript-wrapped Flash object, you can also send messages. Praise be! For more, check out the Meebo JavaScript docs, which are minimal to say the least. Oh well, there's sample code.
A couple weeks back, Instantbird did a lap around the Internet. I must call failure here, because when I tried to sign into Yahoo! Messenger it crashed immediately, spectacularly and consistently (tried four times). I know what you're thinking: but Yahoo! Messenger is a closed system, of course there will be problems. Yeah, but Adium is built on the same library and pretty much always signs in happily (but never, ever shows me when Cal is online).
Seeing as Instantbird is built on XULRunner (my new life partner), a nice JavaScript way to send IMs would be just sweet. From my limited research, it seems embedding Flash in XULRunner is possible, as is opening a browser window within Instantbird to snag the authentication params from Meebo. Then it's smooth sailing. Maybe.
The glaring hole in all of this is that while you can sendMsg
to your heart's content, thus far you have no one to send to. This isn't a full-blown API, folks. It's a widget platform. There's no way to get at someone's buddy list. Back to libpurple, I suppose. But if Meebo made the rest of their service available as a REST API (to complement the far superior Flash method of sending/receiving messages), I'd be sold.
Comments (4)
"I must call failure here, because when I tried to sign into Yahoo! Messenger it crashed immediately, spectacularly and consistently (tried four times). I know what you’re thinking: but Yahoo! Messenger is a closed system, of course there will be problems."
No, you don't know what I'm thinking. I think you should file a bug report and send us a stack trace.
— Florian Quèze — 2007/10/31 12:20 pm
It seems you actually didn't know about this before, so I've put in a bug: http://bugzilla.instantbird.org/show_bug.cgi?id=31
— Richard Crowley — 2007/10/31 12:41 pm
Thank you :-).
— Florian Quèze — 2007/10/31 12:56 pm
Richard, check out SamePlace and xmpp4moz at http://sameplace.cc. As far as I can see, what I described/released at http://hyperstruct.net/2006/10/22/instant-messaging-two-point-o was roughly the same API thing, just one year earlier. :-) (Oh, and it's built on Mozilla.)
— Massimiliano Mirra — 2008/03/25 4:30 pm


Sign up for an account
Already have an account?
Login now
First Name
Last Name
Email
Password
Sign Up


## Dynamic Panel Consider `PacemPanelElement` as a general purpose `<div>`. It has the basic characteristics of a `PacemElement` (abstract **visual** class that allows css classes and inline css bindings) plus dynamic **html** content, just in case. ```html <pacem-panel><!-- content goes here --></pacem-panel> ``` ## Styling `.pacem-panel` is also a css class that eases content disposition. **Heading**, **Body** and **Footer** (also **Tools** and other stuff) can be arranged with no effort at all.
Strada Torrazza, 42
43124 - Parma (IT)
+39 0000 000000


Wines from France
French wine is produced in several regions throughout France, in quantities between 50 and 60 million hectolitres per year, or 7–8 billion bottles. France has the world's second-largest total vineyard area, behind Spain, and competes with Italy for the position of being the world's largest wine producer.[1] French wines accounted for 17.6% of world exports in 2005.[2] French wine traces its history to the 6th century BC, with many of France's regions dating their wine-making history to Roman times. The wines produced today range from expensive high-end wines sold internationally, to more modest wines usually only seen within France.
Two concepts central to higher end French wines are the notion of "terroir", which links the style of the wines to the specific locations where the grapes are grown and the wine is made, and the Appellation d'Origine Contrôlée (AOC) system. Appellation rules closely define which grape varieties and winemaking practices are allowed in each of France's several hundred geographically defined appellations, which can cover entire regions, individual villages or even specific vineyards.
Some good red wines from France
| name |
|---|
| Ch. de Pouzols Réserve Comtesse de Sodali 2001 |
| Ch. Hortevie 1999 |
| Domaine de Chevalier 1999 |
| Hautes-Côtes de Beaune La Dalignière 2000 |
| Barthod Bourgogne Rouge 2001 |
| Crozes Hermitage Cuvée Louis Belle 2000 |
| Savigny-les-Beaune 2001 |
| La Bernardine Châteauneuf-du-Pape 1999 |
| Burgaud Côte Rôtie 2000 |
| Les Grands Augustins 2002 |
| Les Forots Côtes du Rhône Vieilles Vignes 2000 |
| Crozes-Hermitage Cuvée Albéric Bouvet 2001 |
| Ch. la Nerthe 1999 |
| Côtes du Rhone Cuveé Guy Louis 2000 |
| La Crau de ma Mère 2000 |
| Les Pince Vin Bourgogne 2000 |
| Beaumes-de-Venise 2001 |
| Savigny-les-Beaune 2001 |
| Ch. le Menaudat 1997 |
| Vignes de Nicole Cabernet Sauvignon-Merlot 2002 |
| Le Midi Syrah |
| Graillot Crozes Hermitage 2002 |
| Cuvée Rochebonne 2003 |
| Savigny-les-Beaune 2001 |
| Les Pince Vin Bourgogne 2001 |
| La Cardine de Saint-Felix 1999 |
| Domaine de Chevalier 1999 |
| Gevrey-Chambertin Mes Favorites Vieilles Vignes 2001 |
| Coteaux du Tricastin Cuvée S 2003 |
| Bourgogne Cuvée de Prestige 2000 |
| Bourgogne Passetoutgrain 2001 |
| La Cardine de Saint-Felix 1999 |
| Graillot Crozes Hermitage 2002 |
| Mercurey Clos Tonnerre Premier Cru 2001 |
| Ch. La Roque Cupa Numismae 2001 |
| Ch. Jonc-Blanc Cuvée Automnale 2002 |
| Crozes Hermitage Selection Première 2003 |
| Cuvée Rochebonne 2003 |
| Ch. Fleur de Rigaud 2001 |
| Château La Lagune 1996 |
| Domaine de Chevalier 1999 |
| Aloxe Corton 1998 |
| Côte de Nuits-Villages Le Vaucrain 2000 |
| Beaune 2000 |
| Ch. Mouton Rothschild 1999 |
| Ch. Haut-Brion 1996 |
| La Buvette Merlot |
| La Dalignière Hautes-Côtes de Beaune 2003 |
| Château Jonc-Blanc Cuvée Automnale 2002 |
| Château K Rouge 2003 |
| Mercurey Clos Tonnerre Premier Cru 2002 |
| Domaine La Bastide Syrah 2003 |
| Clos Montirius Vacqueyras 2003 |
| Savigny-les-Beaune 2003 |
| Nuits-St.-Georges les Chaignots 2001 |
| Gevrey-Chambertin 2003 |
| La Vignée Pinot Noir 2003 |
| Crozes Hermitage 2004 |
| Ctte de Nuits-Villages Clos Bardot 2004 |
| Bourgogne Rouge 2003 |
| Château Fortia Cuvée du Baron 2003 |
| Gevrey-Chambertin 2003 |
| Robert Vic Cuvée Sélection 2005 |


Anonymous Facebook Google Twitter
email
password
confirm pass
Log In Register Create Account Cancel
{{err}}


--- layout: home title: Project Hub subtitle: This is where I will tell my friends way too much about me ---


This is Menu 1
Menu 2
Menu 3
Menu 4
This is Menu 2
Menu 5
Menu 6
Menu 7
This is Menu 5
Menu 8
Menu 9
Menu 10
The Bjørne Menu is a menu with app feeling!
I hope you like it!
Feel free to make feature requests!


|
Rape of NankingThe Japanese government would really appreciate it if everybody could just stop bringing up this horrific massacre committed against Chinese civilian noncombatants in December 1937. Frankly, it makes them uncomfortable. And while we're at it, let's not go anywhere near the topic of reparations.If we could just agree never to discuss the unpleasantness, and remove all traces of it from our history textbooks, and everyone goes on with their lives as though it never happened, pretty soon the event will fade from our collective memory. And when the last eyewitness finally dies, it will be as though it had never happened. Won't that be nice?
What sets World War II apart from a lot of other wars was how good all the different sides had gotten with weaponry and efficiency of killing; all the magic of the Industrial Age combined with the power of Mass Media, working together to make it that much easier to fight each other. The improvements to the Tank and the addition of the submarine into the mix ensured that things would be entirely out of hand, even for just for the enlisted personnel, who had agreed to fight in the first place. Everything was in place to ensure the Sequel would make The First World War look like a snowball fight. The problem was civillians; they got everywhere. And since war could come upon an area of countryside within hours (instead of days), an awful lot of people were caught flat-footed, and faced with armed troops whose job was to Destroy the Enemy, come what may. As a result, atrocities happened. Lots of them. In all sorts of places. We've heard a bit about that population control program we now call The Holocaust, but a lot of other events happened too. One of the biggies for Japan's part in the War was what has become known as "The Rape of Nanking", a military operation where Japanese troops descended on the capital of China, Nanking, in December of 1937 and stayed until March of 1938. In that time, somewhere between 200,000 to 300,000 prisoners of war and civilians were slaughtered, and somewhere in the range of 80,000 women and girls were raped, tortured, mutilated and otherwise defiled. There are photos, hundreds of them, of the bodies piled up, the masses being killed, the whole deal. It was another military operation to the Japanese, and they documented it like everything else. There's lots of them, and they look really damning. Just like Holocaust Revisionists, there are revisionists for Nanking as well, quoting this statistic or that, calling the stories falsified, the stories propaganda, the eyewitnesses glory-hounds looking for a quick buck. It's almost a pathological problem, like being caught stealing a cookie and denying, beyond all hope and reason that you're just not holding that cookie. Or you were putting the cookie back. But unlike Holocaust Revisionism, the painting of the Rape of Nanking as a propaganda stunt of complete fiction has been largely successful in Japan, where large segments of the society claim it never happened, or even better yet, have never heard of it.


Creates a new Android Virtual Device with no ABI specified.
Creates a new Android Virtual Device with no ABI specified. If multiple ABIs are found, default creat avd with ABI Name 1) armeabi-v7a 2) armeabi 3) x86 4) first ABI listed.
Creates a new Android Virtual Device.
Creates a new Android library project.
Creates a new Android project.
Creates a new Android project for a test package.
Creates a new UI test project.
Deletes an Android Virtual Device.
Return the available Android Virtual Devices.
Lists remote SDK repository.
List ABIs corresponding with each entry from the existing targets Vector.
get_target_index returns the target index of the specified target name or ID.
get_target_index returns the target index of the specified target name or ID. The index is in the list targetNames. If no index is found then an error message is returned.
Lists existing targets.
Moves or renames an Android Virtual Device.
Run a command, collecting the stdout, stderr and exit status
Updates adb
to support the USB devices declared in the SDK add-ons.
Updates an Android Virtual Device to match the folders of a new SDK.
Updates an Android library project.
Updates an Android library project. Must already have an
AndroidManifest.xml
.
Updates an Android project.
Updates an Android project. Must already have
an AndroidManifest.xml
.
Updates the SDK by suggesting new platforms to install if available.
Updates the Android project for a test package.
Updates the Android project for a test package. Must already
have an AndroidManifest.xml
.
Provides an interface to the
android
command line tool.This, along with other components of the Android SDK, is included in clasp.core.sdktools.sdk.


{% extends "base_layout.html" %} {% block title %} Postcard {% endblock %} {% block head %} {{ super () }} {% endblock %} {% block content %} {% include 'navbar.html' %}
...well, it would be. But this is just a proof of concept app! No actual postcards will be sent.
Take a look at the postcard that would be sent in the real app:


solidfire.adaptor package¶
Submodules¶
solidfire.adaptor.schedule_adaptor module¶
Module implements Schedule Simplification conversion logic.
-
class
solidfire.adaptor.schedule_adaptor.
ScheduleAdaptor
[source]¶ Bases:
object
This class contains the implementation of the schedule specific adaptor calls for simplifying Snapshot Scheduling.
-
static
create_schedule
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the create_schedules method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static
get_schedule
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the get_schedule method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static
list_schedules
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the list_schedules method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static
modify_schedule
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the modify_schedules method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static
to_api_schedule
(schedule)[source]¶ Converts a Schedule object into an ApiSchedule object :param schedule: the Schedule object :type schedule: Schedule
Returns: solidfire.apiactual.ApiSchedule
-
static
to_api_schedule_info
(info)[source]¶ Converts a ScheduleInfo object into an ApiScheduleInfo object
Parameters: info (ScheduleInfo) – the ScheduleInfo object Returns: solidfire.apiactual.ApiScheduleInfo
-
static
to_schedule
(api)[source]¶ Converts an ApiSchedule object into a Schedule object
Parameters: api (solidfire.apiactual.ApiSchedule) – the ApiSchedule object to be converted Returns: solidfire.models.Schedule
-
static
to_schedule_info
(api)[source]¶ Convert an ApiScheduleInfo object into a ScheduleInfo object
Parameters: api (solidfire.apiactual.ApiScheduleInfo) – the ApiScheduleInfo object Returns: solidfire.models.ScheduleInfo
-
static
to_weekdays
(api)[source]¶ Converts an ApiWeekday object array into a Weekday object array
Parameters: api (solidfire.apiactual.ApiWeekday[]) – array of ApiWeekday objects Returns: solidfire.custom.models.Weekday[]
-
static
Module contents¶
Module implements the generated adaptor calls from solidfire.Element
-
class
solidfire.adaptor.
ElementServiceAdaptor
[source]¶ Bases:
object
This class contains the implementation of the generated adaptor calls from solidfire.Element.
-
static
create_schedule
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the create_schedules method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static
get_node_stats
(element, params, since, deprecated)[source]¶ This adaptor includes the original Node ID from the request in the response object. It is returned as null from the original API call.
Parameters: - element (Element) – an instance of Element
- params (dict) – the parameters supplied to the get_node_stats call
- since (float or str or None) – service method inception version
- deprecated (float or str or None) – service method deprecation version
Returns: a response
Return type:
-
static
get_schedule
(element, params, since, deprecated)[source]¶ Calls to this static method should ONLY originate from the get_schedule method in the Element class. DO NOT CALL THIS directly. Documentation here is intentionally brief.
-
static


Important
Only when your senario is exactly same as below, you may try this method to migrate the Application Server configurations, in other word, this method can only copy the JVM configurations.
This scenario is as below:
- Your profile have the capability to create new application server. (For example, the ND cell member Node, the standard application server profile which is managed by AgentAdmin)
- You want to copy the configuration to another server with the same version WAS installed. (both server installed WAS 8.0, for example)
There are better solutions for below scenarios, I will write another essays for these situations:
- to migrate the configures from old version to the new version
- To migrate the configures for Standard / Base version WAS with only 1 Node.
Steps
For example, we’d like to migrate JVMs from server APP11 to APP15:
1. Open wsadmin with jython language on the APP11 :
cd {Profile Home}\bin
wsadmin -lang jython -username wasadmin -password "Password**"
Output should be as below:
Take Note!
Ensure you saw the information like: you have successfully connected to the profile which includes the JVMs you want to export. Do not run the command under AdminAgent/bin, this way will cause exception.
2. Export the old JVM configuration:
wsadmin>AdminTask.exportServer('[-nodeName THAIPWAPP11Node02 -serverName ams-server -archive F:/IBM/Archive/amsArchive.car]')
Here I exported 4 JVM configuration archives:
Take Noted!
The archive file path must be with /
even you are running this command in Windows environment.
3. Create the new profiles, and register the application profile into DMGR or AdminAgent.
- Create the profiles. Here I will create
AppSrv01
and will register it intoAdminAgent01
.
![alt JVMlist](http://dellyqiao.qiniudn.com/2015/01/08/profiles.png/scale)
-
Change directory to AdminAgent01 bin folder, run registerNode command:
cd F:\IBM\WebSphere\AppServer\profiles\AdminAgent01\bin registerNode -profileName AdminAgent01 -host APP15 -profilePath “F:\IBM\WebSphere\AppServer\profiles\AppSrv01” -connType SOAP -port 8877 -username wasadmin -password “Password” -nodeusername wasadmin -nodepassword “Password”
Ensure the output information dosn't contains any error.
![alt JVMlist](http://dellyqiao.qiniudn.com/2015/01/08/registernode.png/scale)
- Logon AdminAgent IBM Console to verify the result.
![alt JVMlist](http://dellyqiao.qiniudn.com/2015/01/08/nodeselect.png/scale)
4. Import the JVM into the new environment:
Now your WAS profile have the capacity to create application servers as below:
To import the configuration archive files, WAS will create the application server with the congiurations automatically.
Copy the .car files into F:\IBM\Archive\ of APP15. Then execute below commands:
cd {AppSrv01 Home}\bin
wsadmin -lang jython -username wasadmin -password "Password**"
//after logged in wsadmin tool:
AdminTask.importServer('[-archive F:\IBM\Archive\healthcareArchive.car -nodeInArchive APP11Node01 -serverInArchive HealthCare-server -nodeName APP15Node02 -serverName HealthCare-server]')
AdminConfig.save()
Here I imported 4 JVMs, and then saved the configuration with AdminConfig.save()
together:
5. Verify the result from IBM Console:
You may open Process Defination settings to verify if the configuration is same as the old JVMs.
Configurations that will not be copied
Frankly, this is not a full configuration copy, even you imported JVM via this method, some parameters still need to be changed manually. And you will still need to create JAAS/DataSource/JMS manually. Those configurations will not be copied out.
I’m not exactly know the full list of the parameters that need to be modified manually, and I will keep updating the list here once I noticed any:
-
The JVM port. You need to modify them manually.
-
Application Server Resources
You may created some resources (such as JDBC provider, DataSource) under the application server scope. For this case, the related resources should also be copied out with the application servers.
But as per my experience, sometimes some of the resources will not be exported into the archive files normally, sometimes the resources of server A will be exported into the archive of server B……
It is strange, thus we need to manually check all the resources by ourselves.
References
Here I attache the reference article from IBM and you may get more information from there:
Below attach the usage of importServer:
Parameters and return values
-archive
Specifies the fully qualified path of the configuration archive. (String, required)
-nodeInArchive
Specifies the node name of the server defined in the configuration archive. (String, optional if there is only one node defined in the configuration archive, required if there are multiple nodes defined in the configuration archive)
-serverInArchive
Specifies the name of the server defined in the configuration archive. (String, optional if there is only one server defined on the specified nodeInConfiguration archive, required if there are multiple servers defined under the specified nodeInConfiguration archive)
-nodeName
Specifies the node name where the server is imported. (String, optional if there is only one node)
-serverName
Specifies the server name where the server is imported. If the server name that you specify matches an existing server name under the node, an exception is created. (String, optional, default: serverInArchive)
-coreGroup
Specifies the core group name to which the server should belong. (String, optional)
AdminTask.importServer('[-archive c:/myServer.car -nodeInArchive node1 -serverInArchive server1]')
AdminTask.importServer('[-archive F:\IBM\Archive\iPOSArchive.car -nodeInArchive THAIPWAPP11Node01 -serverInArchive iPOSAppSrv -nodeName THAIPWAPP15Node01 -serverName iPOSAppSrv]')


Please
Drag in
or
Click
to load a video for tagging.
Tagging Job Configuration
Frame Extraction Rate (frames per a video second)
Region Type
Rectangle
Square
Point Region Size
Suggested Region Method
Tracking
Copy Last Frame
Enable Scene Change Detection
Labels
*
(Comma Seperated)
Continue


Interaction Lab
Matarić
Main Research Areas
Socially Assistive Robotics
Human-Robot Interaction
Multi-Modal Human-Machine Interaction
Activity and User Modeling
Robot Types
Socially interactive robots
Humanoids
Humanoid torsos on wheels
Table-top robots
Assistive robots
Squash-and-stretch
Mobile remote presence
Robotic Embedded Systems Lab
Sukahatme
Main Research Areas
Mobility and coordination in embedded, networked, multi-robot systems
On-body networks
Aerial robotics
Marine robotics
Robot Types
Mobile robots
Robot boats (USVs)
Robot submarines (AUVs)
Helicopters (AUVs)
Embedded systems (including cellphones)
Computational Learning and Motor Control Lab
Schaal
Main Research Areas
Motor control and statistical learning
Human and humanoid systems
Robot Types
Full-body humanoid robots
Anthropomorphic robot arms
Quadruped robots
Haptic robot
Robot heads
Automatic Coordination of Teams (ACT) Lab
Ayanian
Main Research Areas
Planning and control of Multi-robot systems
Automatic control synthesis
Coordination of teams of robots
End-to-end solutions for multi-robot coordination
Robot Types
Mobile robots
Quadrotors and ground vehicles
USC Robotics Research Lab
Sukhatme
Main Research Areas
Control and learning in multi-robot systems
Embedded systems
Humanoids
Robot Types
Mobile robots
Hoppers
Helicopters
Embedded systems
Humanoids
Robot dogs
iLab
Itti
Main Research Areas
Using computational modeling to gain insight into biological brain function
Biologically-plausible brain models and comparisons with predictions resulting from model simulations to empirical measurements from living systems
Robot Types
Mobile robots
Embedded robots
Bio-robots
Brain-Body Dynamics Laboratory
Valero-Cuevas
Main Research Areas
Neuromuscular systems
Brain-body coevolution
Sensorimotor rehabilitation
Dexterous manipulation
Intelligent Decision Making Lab
Koenig
Main Research Areas
Intelligent systems
Nondeterministic, nonstationary or only partially known domains
Decision making
Planning and learning
Speech Analysis and Interpretation Lab (SAIL)
Narayan
Main Research Areas
Speech and language processing & automatic speech recognition
Speech production modeling Articulatory acoustics and speech synthesis
Biomedical signal processing and modeling
Imaging & instrumentation for speech research
Human machine interaction
Multimodal-multimedia interfaces, devices, and systems


WELLKANG INTERNATIONAL, Import/Export Limited. Wellkang Ltd Suite B 29 Harley Street LONDON W1G 9QR England United Kingdom. Dear Joe Bobick, My name is Laura Southwell, and I am the manager of a Human Recourses department of Wellkang International Import/Export Limited. The purpose of this message is to draw Your attention to a vacant position of a financial manager for cooperation with private individuals. But first of all a few words about our company. Wellkang International Import/Export Limited was founded in 1994. Our specialists grant services of purchase and sale , privatization, brokering and dealer transactions on stock exchange. We handle financial agency on equity market, using a great variety of investment instruments. Moreover we can conduct a private survey on stock market upon client’s request. Professionalism and conscientiousness of our company enables us to attract a large number of clients. Nowadays Wellkang International firmly holds a position of a leading company on European equity market , which ensures our stable development. So today , we are glad to offer You to: become a part of our company, join a team of high qualified specialists get a prestigious part time job, earn a good deal. In order to become our financial manager for cooperation with private individuals, You ARE NOT OBLIGED TO HAVE ANY HIGHER OR PROFESSIONAL EDUCATION. You will just be supposed to: have approximately 2 free hours a day, have a bank account (or to be able to open a new one, especially for company needs) have a PC YOUR PARTICIPATION IS ESSENTIAL TO enable us to grant our clients the best service in shortest dates. YOUR RESPONSIBILITIES will be: to receive payments for the ordered stocks and bonds from the Wellkang International clients (private individuals) to Your bank account to withdraw the funds and to transfer it further to our brokers in one of the countries where the desirable stocks and bonds should be bought The transfer should be done by the means of Western Union or money Gram services to fasten the process of the delivery of the funds. Your SALARY is 10% commission out of every deposit that You receive on Your bank account. If you are interested in the vacancy offered, please get some more detailed information on the following E-mail address<EMAIL_ADDRESS>Our managers will be glad to answer any questions. We are looking forward to working with You! I am sorry if this letter has been sent to You by mistake. In that case, please be so kind to delete it. Yours faithfully, Laura Southwell.


System Architect Definitions, Encyclopedia:"D:\DATA\SYSARCH\HCM\GEN_DATA\SUBJECT\V01\CURRENT\"
source for (Association)
- From Class:
"Instantiated Activity"
- To Class:
"Activity To Be Done"
source of (Association)
- From Class:
"Agent Accepted Intention"
- To Class:
"Activity Under Consideration"
source of (Association)
- From Class:
"Subject Property"
- To Class:
"Outcome of Property"
- Redefines:
"Subject Phenomenon"."Causal Relation"."source of"
- Definitions Used:
-
source of (Association)
source of (Association)
- From Class:
"Activity State"
- To Class:
"Outcome Of Activity"
source of (Association)
- From Class:
"Subject Phenomenon"
- To Class:
"Causal Relation"
- Redefines:
"Subject Phenomenon Link".from
- Definitions Used:
-
from (Association) (undefined)
source of (Association)
- From Class:
"Involvement In Incident"
- To Class:
"Outcome Of Incident"
- Redefines:
"Subject Phenomenon"."Causal Relation"."source of"
- Definitions Used:
-
source of (Association)
source (Association)
- From Class:
"Actual Property"
- To Class:
"Property Natural Progression"
source (Association)
- From Class:
"Temporal Resource Act"
- To Class:
"Temporal Resource For Activity"
source (Association)
- From Class:
"Physical Resource"
- To Class:
"Physical Resource For Activity"


Hypopharyngeal Cancer
Location:Samsung Medical Center
Seoul, Korea, Republic of, 135-710
Ages Eligible for Study: 18 Years and older
Genders Eligible for Study: Both
Accepts Healthy Volunteers: No
ClinicalTrials.gov


flatout Test History
Index view
Examples
Feed reader
Todo list
Tree view
Tree view with models
Form to View
Comparison with React examples


There would be those who see a lot of glamour in start-ups and the whole concept of entrepreneurship. It is romanticized by the media who broadcasts million dollar valuations and billion dollar acquisitions. And for many, it is the ultimate meritocracy, appealing to those whom other cracies never appealed. The meritocracy was a guarantee that those with the smarts and know-how were adequately rewarded while those who fell short of godliness, failed. It evened the playing field for all, so much so that even the most out of place could still find a place.
And yet, almost in stark contradiction, it is easy to lament the state of the field. Social this and media that? Entire companies based on premises that any eight-bit fool could have thought of and thrown together. There seem to be millions, if not more, flowing into what seems to be nothing more than weekend projects. Add to that to the assortment of articles about founders who have questionable character and/or judgement and their follies; from the outside, you can't help but feel that there is something amiss.
Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.
At least that's how it seems when the only source of information comes from eye-catching headlines. Speaking to founders you get the sense that they're all creating products to improve some small part of the world. While optimistic, it can be difficult to believe that every product will save the world. Perhaps instead, the discussion should be towards the notion of social design. At the time of it's conceptualization, the onus of social design fell on designers. However, in a world where anyone can create, where everyone is creating, everyone has the ability to envision and give form to products that address human problems on a broad scale and contribute to social well-being.
What will your verse be?
Products that connect people who would have never connected, who give a voice to those that had none, who make humans more productive, these are the breeds that address human ills. Products that facilitate distraction, shallow connections, these are the products that create human ills. The bar should be set at a product that makes you, the user, a better human. Better as a human or better because you yourself have contributed something to the greater community.


always use the least amount of markup possible. In practice, this constantly means removing unnecessary containers. By coordinating with the SCSS, we can determine which HTML brackets and classes are unnecessary.
For example, the goal of the below code is to create a full-width section with a centered title, vertical padding, and a white background:
// css
body {background: $wht;}
.wrapper {
display:block;

Title

In this case,
this includes using as few classes or IDs as possible. It is often better simply use a parent class to define it's children, provided that this practice is maintained.
When coding:
If you're going to use a div or a span, decide first if there isn't a more meaningful HTML5 wrapper (like

or
).
--
For HTML5 and CSS3 DOCUMENTS:
// code indent as the romans do
for scanability, to keep things tidy, and to signal that a block of code is complete.
a { color: $slate; border:2px solid $slate; }
when a block of code is being worked on, open the brackets.
a {
color: $slate;
border:2px solid $slate;
background: $wht;
}
when coding within pre-existing code-blocks, adhere to the patterns in the local document, or improve them to fit the global standard (whatever we define that as).
as a general rule, whoever authored the majority of that particular section (or document) of the code sets these patterns through the act of writing the code.
Of course, this does not necessarily apply to other programing languages.
aside note: changing indent patterns or comment patterns should happen on a document-level (unify at least the document code while a universal standard is decided upon) and usually really would only ever also mean an audit, rewrite, change and/or removal of the code, so to keep it simple: just indent to convey inheritance if nesting styles.
--
#html / css3
Getting Started:
##sass
sass file structure:
/sass/
/base
/global
_global.scss
_typography.scss
/layout
_susy.scss
_vertical-rhythm.scss
_breakpoints.scss
_layout.scss
_reset.scss
_mixins.scss
_variables.scss
_helpers.scss
/components
/forms
_forms.scss
_inputs.scss
_labels.scss
_formgroups.scss
_checkboxes
_validation.scss
/nav
_backToTop.scss
_topnav.scss
/search
_pagination.scss
_search.scss
_searchResults.scss
_alerts.scss
_buttons.scss
_footer.scss
_hero.scss
_icons.scss
_loading-spinners.scss
_media-object.scss
_metadata.scss
_tables.scss
_tooltips.scss
/pages
/vendor


Block template header returned by the server.
More...
Block template header returned by the server.
◆ AccountsHash
| Hash Nimiq.BlockTemplateHeader.AccountsHash |
|
getset |
32-byte hex-encoded hash of the accounts tree.
◆ Height
| long Nimiq.BlockTemplateHeader.Height |
|
getset |
Height of the block in the block chain (also known as block number).
◆ InterlinkHash
| Hash Nimiq.BlockTemplateHeader.InterlinkHash |
|
getset |
32-byte hex-encoded hash of the interlink.
◆ NBits
| long Nimiq.BlockTemplateHeader.NBits |
|
getset |
Compact form of the hash target for this block.
◆ PrevHash
| Hash Nimiq.BlockTemplateHeader.PrevHash |
|
getset |
32-byte hex-encoded hash of the previous block.
◆ Version
| long Nimiq.BlockTemplateHeader.Version |
|
getset |
The documentation for this class was generated from the following file:
- NimiqClient/NimiqClient.cs


Height , Width , Borders , Backgrounds
here we learn about border,backgroun,color
Top-Bottom Borders
here we learn about top-bottom diff diff border,backgroun,color
Right-Left Borders
here we learn about side-border,backgroun,color
image inserting from laptop
here we learn about insertion of images from online


|
MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ch.ethz.mxquery.sms.btree.BTree
public class BTree
A simple btree implementation. (key equal or less than pivot -> go right) Has to be taylored to different key and value types manually as Generics would use Complex type (inefficent) instead of native types. We have pointers among leaves and also only store key/value mappings on the leaves. Therefore, this is a B+-tree implementation. The implementation allows us to store duplicate keys in the leaf level of the tree. However, a strict tree interval invariant is kept. To handle duplicate keys, this means that overflows due to duplication are handled by adding special overflow leaves that are not pointed to by any parent node. These leaves are created via splitting, however no pivot is promoted on such a split. The delete strategy implemented in this tree is to free at empty. Thus, there is no logic to merge at nodes at half occupation and nodes may become underutilized. This may be monitored by calculating the utilization at the leaf level.
| Field Summary | |
|---|---|
static int |
INVALID_KEY_INDEX
invalid value for atPos index returned from getFirstKeyAfter |
| Constructor Summary | |
|---|---|
BTree(int k,
int k_star)
Instantiates a new BTree. |
| Method Summary | |
|---|---|
void |
add(DeweyIdentifier key,
LinguisticToken value,
LeafCarrier leafCarrier)
Adds a mapping from key to value in the b-tree. |
BTreeNode |
bulkLoad(PhraseIterator input,
int F)
Bulkloads an empty BTree fill leaves from left to right until certain percentage. |
void |
close()
Close this b-tree. |
LinguisticToken |
get(DeweyIdentifier key,
BTreeNode currentRoot)
Gets the value currently mapped to the given key. |
DeweyIdentifier |
getFirstKey()
This method returns the first(smallest) currently in the tree. |
void |
getFirstKeyAfter(DeweyIdentifier key,
Leaf[] inLeaf,
int[] atPos)
This method takes two arrays as out parameters and inserts in them pointers to the leaf and position of the smallest key currently in tree which is either equal to key (if key is
present in btree) or smallest key larger than key (if
key is not present in btree): |
Leaf |
getFirstLeaf()
gets the first leaf of the btree |
DeweyIdentifier |
getKey(Leaf l,
int pos)
Gets the key value in the given leaf at the given position |
DeweyIdentifier |
getLastKey()
This method returns the last(largest) key present in the tree |
void |
getLastKeyBefore(DeweyIdentifier key,
Leaf[] inLeaf,
int[] atPos)
This method takes two arrays as out parameters and inserts in them pointers to the leaf and position of the largest key currently in tree which is either equal to key (if key is
present in btree) or largest key smaller than key (if
key is not present in btree): |
void |
getLastKeyBeforeLeafTraversal(DeweyIdentifier toKey,
Leaf startLeaf,
int startPos,
Leaf[] inLeaf,
int[] atPos)
This method takes two arrays as out parameters and inserts in them pointers to the leaf and position of the largest key currently in tree which is either equal to key (if key is
present in btree) or largest key smaller than key (if
key is not present in btree). |
Leaf |
getLastLeaf()
|
LinguisticToken |
getNext(DeweyIdentifier key,
BTreeNode currentRoot)
|
BTreeNode |
getRoot()
Gets the root of the btree |
java.util.Vector |
getSiblings(DeweyIdentifier from,
DeweyIdentifier parent,
BTreeNode currentRoot,
DeweyIdentifier[] ignoreId)
|
void |
printStats()
prints statistical infos about the tree |
void |
queryRange(DeweyIdentifier lowKey,
DeweyIdentifier highKey,
BtreePushOperator results)
Returns all the values mapped in the given key range through the provided push operator. |
void |
remove(DeweyIdentifier key)
Removes all mappings corresponding to the given key from the b-tree. |
void |
remove(DeweyIdentifier key,
LinguisticToken value)
Removes one instance of the given key-value mapping from the b-tree. |
int |
size()
|
java.lang.String |
toString()
Prints the root of the tree as a string. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int INVALID_KEY_INDEX
| Constructor Detail |
|---|
public BTree(int k, int k_star)
TODO remove this constructor.
k
- k_star
- | Method Detail |
|---|
public BTreeNode bulkLoad(PhraseIterator input, int F) throws MXQueryException
input
- as Pulloperator of F
- denoting the leaf usage
MXQueryException
public void add(DeweyIdentifier key, LinguisticToken value, LeafCarrier leafCarrier)
key
- value
- leafCarrier
- public LinguisticToken get(DeweyIdentifier key, BTreeNode currentRoot)
key
- currentRoot
- public LinguisticToken getNext(DeweyIdentifier key, BTreeNode currentRoot)
public java.util.Vector getSiblings(DeweyIdentifier from, DeweyIdentifier parent, BTreeNode currentRoot, DeweyIdentifier[] ignoreId)
public DeweyIdentifier getKey(Leaf l, int pos)
l
- leaf in which key is looked uppos
- position inside leaf where key is at
public void getFirstKeyAfter(DeweyIdentifier key, Leaf[] inLeaf, int[] atPos)
key
(if key
is
present in btree) or smallest key larger than key
(if
key
is not present in btree):
key
- inLeaf
- points to the leaf where to get the keyatPos
- points to the position of the key inside the leafpublic void getLastKeyBefore(DeweyIdentifier key, Leaf[] inLeaf, int[] atPos)
key
(if key
is
present in btree) or largest key smaller than key
(if
key
is not present in btree):
key
- the search keyinLeaf
- points to the leaf where to get the keyatPos
- points to the position of the key inside the leafpublic void getLastKeyBeforeLeafTraversal(DeweyIdentifier toKey, Leaf startLeaf, int startPos, Leaf[] inLeaf, int[] atPos)
key
(if key
is
present in btree) or largest key smaller than key
(if
key
is not present in btree). This method implements the
same functionality as getLastKeyBefore but uses leaf traversal to find
the position of the key.
toKey
- the search keystartLeaf
- startPos
- inLeaf
- points to the leaf where to get the keyatPos
- points to the position of the key inside the leafpublic void remove(DeweyIdentifier key)
key
- public void remove(DeweyIdentifier key, LinguisticToken value)
key
- value
- public void queryRange(DeweyIdentifier lowKey, DeweyIdentifier highKey, BtreePushOperator results)
lowKey
- highKey
- results
- PushOperator to be filled.public java.lang.String toString()
toString
in class java.lang.Object
public void close()
public void printStats()
public int size()
public BTreeNode getRoot()
public Leaf getFirstLeaf()
public Leaf getLastLeaf()
public DeweyIdentifier getLastKey()
public DeweyIdentifier getFirstKey()
|
MXQuery 0.6.0 API Documentation - Copyright 2006-2009 ETH Zurich | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


santoku is a tool for cutting numeric data into intervals. It provides
the function chop()
, which is similar to base R's cut()
or Hmisc::cut2()
.
chop(x, breaks)
takes a numeric vector x
and returns a factor of the
same length, coding which interval each element of x
falls into.
Here are some advantages of santoku:
By default, chop()
always covers the whole range of the data, so you
won't get unexpected NA
values.
Unlike cut()
or cut2()
, chop()
can handle single values as well as
intervals. For example, chop(x, breaks = c(1, 2, 2, 3))
will create a
separate factor level for values exactly equal to 2.
Flexible labelling, including easy ways to label intervals by numerals or letters.
Convenience functions for creating quantile intervals, evenly-spaced intervals or equal-sized groups.
Convenience functions for quickly tabulating chopped data.
These advantages make santoku especially useful for exploratory analysis, where you may not know the range of your data in advance.
To get started, read the vignette:
vignette("santoku")
Useful links: