Building Apps: Packaging (tcpackage)¶
Summary¶
This CLI tool provides a simple interface to package the App so that it can easily be deployed to the ThreatConnect platform.
Running tcpackage
will build a zip package of an App that can be installed directly in the ThreatConnect platform. For App packages that contain multiple Apps using separate install.json files, add the --bundle
argument to build a bundle. When using multiple install.json files, the prefix of the filename is the App name (e.g., MyApp.install.json will have an App name of MyApp). During the build process, validation of the install.json file will be handled automatically.
Note
Typically, the tcpackage
command is run with no arguments, or using the --bundle
flag for packages with multiple install.json files.
Usage¶
usage: tcpackage [-h] [--bundle] [--exclude EXCLUDE] [--config CONFIG]
[--install_json INSTALL_JSON] [--outdir OUTDIR]
optional arguments:
-h, --help Show this help message and exit
--bundle Build a bundle file.
--exclude EXCLUDE File and directories to exclude from build
--config CONFIG (Advanced) Build configuration file. (Default: tcex.json)
--install_json INSTALL_JSON
The install.json file name for the App that should be
built.
--outdir OUTDIR (Advanced) Directory to write the outfile. (Default: target)
Common Usage¶
The following command will build the app in the target directory of the project with and extension of .tcx.
tcpackage
Configuration Options¶
By default, the tcex.json
file will be loaded by tcpackage
. The following is an example of additional configuration that can be provided for the tcpackage
command.
Single App¶
<..snipped>
"package": {
"app_name": "MyApp",
"app_version": "v1.0",
"bundle": false,
"excludes": [
"log",
"requirements.txt",
"tcex.d"
],
"outdir": "target"
},
<snipped..>
Multiple Bundles¶
<..snipped>
"package": {
"bundle": true,
"bundle_name": "TCPB_-_Palo_Alto",
"bundle_packages": [{
"name": "TCPB_-_My_Bundle_Create",
"patterns": [
".*Create.*"
]
},
{
"name": "TCPB_-_My_Bundle_Delete",
"patterns": [
".*Delete.*"
]
}],
"excludes": [
"log",
"requirements.txt",
"tcex.d"
],
"outdir": "target"
},
<snipped..>


Aluminium
Element Name:
Aluminium
Latin Name:
Aluminium
Atomic Number:
13
Atomic Weight:
26.9815 u
Is a:
Post-Transition-Metal
State of the element:
Solid
About:
Aluminium (aluminum in American and Canadian English) is a chemical element with the symbol Al and atomic number 13. It is a silvery-white, soft, non-magnetic and ductile metal in the boron group. By mass, aluminium makes up about 8% of the Earth's crust; it is the third most abundant element after oxygen and silicon and the most abundant metal in the crust, though it is less common in the mantle below. The chief ore of aluminium is bauxite. Aluminium metal is so chemically reactive that native specimens are rare and limited to extreme reducing environments. Instead, it is found combined in over 270 different minerals.
Electrons
13
Protons
13
Neutrons
14
Discoverer:
Hans Christian Orsted
Discovered in:
1825


I was looking for a way to center the pagination on my main page. I am currently using bootstrap 3, and I have integrated it in my app using will_paginate-bootstrap. To center this, I wrapped the section for pagination into a div.
<div class="center">
<%= will_paginate @models, renderer: BootstrapPagination::Rails, inner_window: 1, outer_window: 1, previous_label: "«" , next_label: "»" %>
</div>
Please note that the will_paginate part will be transformed into ul
. I managed to center the ul
block which contains the page numbers by specifying the width, then setting margin to ‘0 auto’
.center {
width: 275px;
margin: 0 auto;
}
This worked for me.


This is the blurb about bluebeam. This is where copy about the bluebeam rally will go. La dea da.
The Bluebeam Rally Team is one of the newest and most talked about competitors on the Swedish Rally Circuit.
15th of November, 2012
Event #1
January 1, 2012


FF[4] property index
This is an alphabetical index to all properties defined in FF[4].
New properties are marked with '*', changed properties are marked with '!'.
ID Description property type property value
---- --------------- --------------- --------------------------------------
AB Add Black setup list of stone
AE Add Empty setup list of point
AN Annotation game-info simpletext
*AP Application root composed simpletext ':' simpletext
*AR Arrow - list of composed point ':' point
*AS Who adds stones - (LOA) simpletext
AW Add White setup list of stone
B Black move move
BL Black time left move real
BM Bad move move double
BR Black rank game-info simpletext
BT Black team game-info simpletext
C Comment - text
*CA Charset root simpletext
CP Copyright game-info simpletext
CR Circle - list of point
*DD Dim points - (inherit) elist of point
DM Even position - double
DO Doubtful move none
!DT Date game-info simpletext
EV Event game-info simpletext
FF Fileformat root number (range: 1-4)
!FG Figure - none | composed number ":" simpletext
GB Good for Black - double
GC Game comment game-info text
GM Game root number (range: 1-5,7-16)
GN Game name game-info simpletext
GW Good for White - double
HA Handicap game-info (Go) number
HO Hotspot - double
*IP Initial pos. game-info (LOA) simpletext
IT Interesting move none
*IY Invert Y-axis game-info (LOA) simpletext
KM Komi game-info (Go) real
KO Ko move none
!LB Label - list of composed point ':' simpletext
*LN Line - list of composed point ':' point
MA Mark - list of point
MN set move number move number
N Nodename - simpletext
OB OtStones Black move number
ON Opening game-info simpletext
*OT Overtime game-info simpletext
OW OtStones White move number
PB Player Black game-info simpletext
PC Place game-info simpletext
PL Player to play setup color
*PM Print move mode - (inherit) number
PW Player White game-info simpletext
!RE Result game-info simpletext
RO Round game-info simpletext
!RU Rules game-info simpletext
*SE Markup - (LOA) point
SL Selected - list of point
SO Source game-info simpletext
*SQ Square - list of point
*ST Style root number (range: 0-3)
*SU Setup type game-info (LOA) simpletext
!SZ Size root (number | composed number ':' number)
TB Territory Black - (Go) elist of point
TE Tesuji move double
TM Timelimit game-info real
TR Triangle - list of point
TW Territory White - (Go) elist of point
UC Unclear pos - double
US User game-info simpletext
V Value - real
*VW View - (inherit) elist of point
W White move move
WL White time left move real
WR White rank game-info simpletext
WT White team game-info simpletext


2019 Fall
IT Consulting @Deloitte
Constructed PeopleSoft ( human resource management system) system environment and debugged system; submitted bug reports and updated testing cases
Wrote test scripts and used the scripts as templates to conduct system test training for the client personnel department
Performed data migration, modified software permission settings, assisted customers in troubleshooting various problems encountered during use


spherical conformal map
Spherical Conformal Map of a closed genus-0 surface. Methodology details please refer to [1]. Some code is derived from Gary Choi.
- K.C. Lam, P.T. Choi and L.M. Lui, FLASH: Fast landmark aligned spherical harmonic parameterization for genus-0 closed brain surfaces, UCLA CAM Report, ftp://ftp.math.ucla.edu/pub/camreport/cam13-79.pdf?
Contents
Syntax
uvw = spherical_conformal_map(face,vertex)
Description
face : double array, nf x 3, connectivity of mesh vertex: double array, nv x 3, vertex of mesh
uvw: double array, nv x 3, spherical uvw coordinates of vertex on 3D unit sphere
Contribution
Author : Wen Cheng Feng Created: 2014/03/27 Revised: 2014/03/28 by Wen, add doc
Copyright 2014 Computational Geometry Group Department of Mathematics, CUHK http://www.math.cuhk.edu.hk/~lmlui
function uvw = spherical_conformal_map(face,vertex) dv1 = vertex(face(:,2),:) - vertex(face(:,3),:); e1 = sqrt(dot(dv1,dv1,2)); dv2 = vertex(face(:,3),:) - vertex(face(:,1),:); e2 = sqrt(dot(dv2,dv2,2)); dv3 = vertex(face(:,1),:) - vertex(face(:,2),:); e3 = sqrt(dot(dv3,dv3,2)); e123 = e1+e2+e3; regularity = abs(e1./e123-1/3)+abs(e2./e123-1/3)+abs(e3./e123-1/3); % choose vertex bi as the big triangle [~,bi] = min(regularity); nv = size(vertex,1); A = laplace_beltrami(face,vertex); fi = face(bi,:); [I,J,V] = find(A(fi,:)); A = A - sparse(fi(I),J,V,nv,nv) + sparse(fi,fi,[1,1,1],nv,nv); % Set boundary condition for big triangle x1 = 0; y1 = 0; x2 = 100; y2 = 0; a = vertex(fi(2),:) - vertex(fi(1),:); b = vertex(fi(3),:) - vertex(fi(1),:); ratio = norm([x1-x2,y1-y2])/norm(a); y3 = norm([x1-x2,y1-y2])*norm(cross(a,b))/norm(a)^2; x3 = sqrt(norm(b)^2*ratio^2-y3^2); % Solve matrix equation % d = complex(zeros(nv,1)); % d(fi) = [x1+1i*y1;x2+1i*y2;x3+1i*y3]; % z = A\d; d = zeros(nv,2); d(fi,:) = [x1,y1;x2,y2;x3,y3]; uv = A\d; z = uv(:,1) + 1i*uv(:,2); z = z - mean(z); dz2 = abs(z).^2; vertex_new = [2*real(z)./(1+dz2), 2*imag(z)./(1+dz2), (-1+dz2)./(1+dz2)]; % Find optimal big triangle size % Reason: the distribution will be the best % if the southmost triangle has similar size of the northmost one w = complex(vertex_new(:,1)./(1+vertex_new(:,3)), vertex_new(:,2)./(1+vertex_new(:,3))); [~, index] = sort(abs(z(face(:,1)))+abs(z(face(:,2)))+abs(z(face(:,3)))); ni = index(2); % since index(1) must be bi, not really ns = sum(abs(z(face(bi,[1 2 3]))-z(face(bi,[2 3 1]))))/3; ss = sum(abs(w(face(ni,[1 2 3]))-w(face(ni,[2 3 1]))))/3; z = z*(sqrt(ns*ss))/ns; dz2 = abs(z).^2; vertex_new = [2*real(z)./(1+dz2), 2*imag(z)./(1+dz2), (-1+dz2)./(1+dz2)]; % south pole stereographic projection uv = [vertex_new(:,1)./(1+vertex_new(:,3)),vertex_new(:,2)./(1+vertex_new(:,3))]; mu = compute_bc(face,uv,vertex); % find the south pole [~,ind] = sort(vertex_new(:,3)); nv = size(vertex,1); fixed = ind(1:min(nv,50)); % reconstruct map with given mu and some fixed point [fuv,fmu] = linear_beltrami_solver(face,uv,mu,fixed,uv(fixed,:)); fz = complex(fuv(:,1),fuv(:,2)); dfz2 = abs(fz).^2; uvw = [2*real(fz)./(1+dfz2), 2*imag(fz)./(1+dfz2), -(-1+dfz2)./(1+dfz2)];


PART I. GENERAL PROVISIONS
[§431C -1] Short title. This chapter may be cited as the Life Settlements Act. [L 2012, c 256, pt of §1]


MOBILE PHONES
We provide various models and various brands of mobile phones
Samsung M51
(6GB RAM, 128 GB Storage)
Price : ₹22,999
Samsung A71
(8GB RAM,128GB Storage)
₹29,499
Samsung M31s
(6GB RAM,128GB Storage)
₹18,899
Samsung Note 20 Ultra
(12GB RAM, 256GB Storage)
₹1,05,019
Samsung S20 Ultra
(8GB RAM, 128GB Storage)
₹89,999
Samsung f41
(6GB RAM, 64GB Storage)
₹15,500
Samsung S20 FE
(8GB RAM, 128GB Storage)
₹49,935
Samsung M11
(3GB RAM,32GB Storage)
₹9,999
Samsung M01
(1GB RAM,16GB Storage)
₹5,169
Samsung S20
(8GB RAM,128GB Storage)
₹45,169
Samsung Galaxy Note 10+
(12GB RAM, 256GB Storage)
₹22,999
Samsung Galaxy Note20
(8GB RAM,256GB)
₹77,990
Samsung Note10
(12GB RAM,256GB)
₹49,999
Samsung Galaxy Z Fold2 5G
(12GB RAM,256GB)
₹1,49,999


/**
* Backbone localStorage Adapter
* Version 1.1.0
*
* https://github.com/jeromegn/Backbone.localStorage
*/
(function (root, factory) {
if (typeof define === "function" && define.amd) {
/**
* Backbone localStorage Adapter
* Version 1.1.0
*
* https://github.com/jeromegn/Backbone.localStorage
*/
(function (root, factory) {
if (typeof define === "function" && define.amd) {
AMD. Register as an anonymous module.
define(["underscore","backbone"], function(_, Backbone) {
Use global variables if the locals are undefined.
return factory(_ || root._, Backbone || root.Backbone);
});
} else {
RequireJS isn’t being used. Assume underscore and backbone are loaded in script tags
factory(_, Backbone);
}
}(this, function(_, Backbone) {
A simple module to replace Backbone.sync
with localStorage-based
persistence. Models are given GUIDS, and saved into a JSON object. Simple
as that.
Hold reference to Underscore.js and Backbone.js in the closure in order to make things work even if they are removed from the global namespace
Generate four random hex digits.
function S4() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
};
Generate a pseudo-GUID by concatenating random hexadecimal.
function guid() {
return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
};
Our Store is represented by a single JS object in localStorage. Create it with a meaningful name, like the name you’d give a table. window.Store is deprecated, use Backbone.LocalStorage instead
Backbone.LocalStorage = window.Store = function(name) {
this.name = name;
var store = this.localStorage().getItem(this.name);
this.records = (store && store.split(",")) || [];
};
_.extend(Backbone.LocalStorage.prototype, {
Save the current state of the Store to localStorage.
save: function() {
this.localStorage().setItem(this.name, this.records.join(","));
},
Add a model, giving it a (hopefully)-unique GUID, if it doesn’t already have an id of it’s own.
create: function(model) {
if (!model.id) {
model.id = guid();
model.set(model.idAttribute, model.id);
}
this.localStorage().setItem(this.name+"-"+model.id, JSON.stringify(model));
this.records.push(model.id.toString());
this.save();
return this.find(model);
},
Update a model by replacing its copy in this.data
.
update: function(model) {
this.localStorage().setItem(this.name+"-"+model.id, JSON.stringify(model));
if (!_.include(this.records, model.id.toString()))
this.records.push(model.id.toString()); this.save();
return this.find(model);
},
Retrieve a model from this.data
by id.
find: function(model) {
return this.jsonData(this.localStorage().getItem(this.name+"-"+model.id));
},
Return the array of all models currently in storage.
findAll: function() {
return _(this.records).chain()
.map(function(id){
return this.jsonData(this.localStorage().getItem(this.name+"-"+id));
}, this)
.compact()
.value();
},
Delete a model from this.data
, returning it.
destroy: function(model) {
if (model.isNew())
return false
this.localStorage().removeItem(this.name+"-"+model.id);
this.records = _.reject(this.records, function(id){
return id === model.id.toString();
});
this.save();
return model;
},
localStorage: function() {
return localStorage;
},
fix for “illegal access” error on Android when JSON.parse is passed null
jsonData: function (data) {
return data && JSON.parse(data);
}
});
localSync delegate to the model or collection’s
localStorage property, which should be an instance of Store
.
window.Store.sync and Backbone.localSync is deprecated, use Backbone.LocalStorage.sync instead
Backbone.LocalStorage.sync = window.Store.sync = Backbone.localSync = function(method, model, options) {
var store = model.localStorage || model.collection.localStorage;
var resp, errorMessage, syncDfd = $.Deferred && $.Deferred(); //If $ is having Deferred - use it.
try {
switch (method) {
case "read":
resp = model.id != undefined ? store.find(model) : store.findAll();
break;
case "create":
resp = store.create(model);
break;
case "update":
resp = store.update(model);
break;
case "delete":
resp = store.destroy(model);
break;
}
} catch(error) {
if (error.code === DOMException.QUOTA_EXCEEDED_ERR && window.localStorage.length === 0)
errorMessage = "Private browsing is unsupported";
else
errorMessage = error.message;
}
if (resp) {
model.trigger("sync", model, resp, options);
if (options && options.success)
options.success(resp);
if (syncDfd)
syncDfd.resolve(resp);
} else {
errorMessage = errorMessage ? errorMessage
: "Record Not Found";
if (options && options.error)
options.error(errorMessage);
if (syncDfd)
syncDfd.reject(errorMessage);
}
add compatibility with $.ajax always execute callback for success and error
if (options && options.complete) options.complete(resp);
return syncDfd && syncDfd.promise();
};
Backbone.ajaxSync = Backbone.sync;
Backbone.getSyncMethod = function(model) {
if(model.localStorage || (model.collection && model.collection.localStorage)) {
return Backbone.localSync;
}
return Backbone.ajaxSync;
};
Override ‘Backbone.sync’ to default to localSync, the original ‘Backbone.sync’ is still available in ‘Backbone.ajaxSync’
Backbone.sync = function(method, model, options) {
return Backbone.getSyncMethod(model).apply(this, [method, model, options]);
};
return Backbone.LocalStorage;
}));


MagnaDB is intended to provide high-end ORM functionalities while providing a certain
degree of freedom to the developer. It's intended to be malleable, while remaining
safe to use.
MagnaDB is also designed to use as fewer resources as possible, while also remaining
fast and reliable at any given time.
This project started years ago, it was originally a smaller and private library, and it
didn't have many of the functionalities that it now has, but then set out to be a public
framework since it proved to be quite useful.
The MagnaDB Framework for .NET is licensed under MIT.


This chart demonstrates how custom chart types can be plugged into
`ng2-charts`. Check out the Typescript source code below. This custom chart
type depends on a package called
[`chartjs-chart-financial`](https://github.com/chartjs/chartjs-chart-financial).
This also demonstrates using a different date/time adapter than
[`moment`](https://www.npmjs.com/package/moment). This demo uses
[`date-fns`](https://www.npmjs.com/package/date-fns) instead, plugged into the
`chart.js` module using the
[`chartjs-adapter-date-fns`](https://www.npmjs.com/package/chartjs-adapter-date-fns)
package.


--- layout: post title: JOpt Simple 2.2 released published: 1 category: - Programming ---
JOpt Simple is a Java library for parsing command line options, supporting GNU getopt_long() and POSIX getopt(). See the changes here.


A sample application that demonstrates Android's search framework.
This application includes a dictionary of words. By invoking the Android search dialog inside the app (via the device search button or Menu > Search), you can perform a search across the dictionary. As you type, suggestions will appear, which you can select to view the complete definition. You can also execute the search to view all word definitions that match the entered text. The application also allows Quick Search Box (Android's system-wide search) to provide dictionary suggestions.
The code in this application demonstrates how to:
SimpleCursorAdapter
to
bind data from a Cursor to a ListView.Revisions:
SearchView
widget as an action item.
(Available in the Samples for SDK API 11.)See also:
Note: For the original version of Searchable Dictionary, which
reads words from a file instead of a database and uses a custom BaseAdapter
, see the SDK
samples included with the platforms for API Level 4-6.


Football: Klopp says Gomez 'better than good' after Sterling clash
LONDON: Liverpool manager Jurgen Klopp said on Friday (Nov 22) that defender Joe Gomez was "better than good" after his altercation with England teammate Raheem Sterling earlier this month.
Manchester City forward Sterling initially clashed with Reds defender Gomez towards the end of the Premier League match between the sides on Nov 10 at Anfield.
The pair were then involved in a fracas the following day on England duty, with Sterling later apologising at a team meeting and on social media.
Sterling subsequently sat out England's Euro 2020 qualifier against Montenegro as punishment but returned to the starting line-up in the 4-0 victory over Kosovo on Sunday.
Klopp said Gomez, who was left with a scratch on his face following the clash, was fine and the German had no issues with how the situation was handled.
"He is good, better than good," Klopp said at his pre-match press conference, anxious to downplay the incident.
"The people involved were fine pretty quick," he added. "Things like this happen in a football environment, that's how it is.
"(England manager) Gareth (Southgate) and the English FA (Football Association) dealt with it in a way they thought was right and I cannot judge that because I was not in the situation but the most important thing is that the players are absolutely OK."
Manchester City boss Pep Guardiola, speaking at his own press conference later, said Sterling was "good" after the incident.
"I spoke with him and he's fine and he says Joe is an excellent guy and they have a good relationship," he said.
Klopp said it was good to see Jose Mourinho back in the Premier League after he replaced Mauricio Pochettino in the Tottenham hot seat but had warm words for the Argentine.
"Welcome back Jose," said Klopp. "It's nice to have him back. He was desperate you could see (to return) in the time when he was not in.
"But on the other side of course Mauricio is not there any more and that shows how quick things change nowadays. That's how it is. I think it was only around about five months ago we played each other in the Champions League final.
"And now he's on holiday and I hope he can enjoy it to be honest. He did a brilliant job at Tottenham. Nobody doubts that."
Liverpool are eight points clear of second-placed Leicester at the top of the Premier League and nine ahead of defending champions Manchester City but Klopp played down the notion of title talk.
"We don't think about the title race," he said. "The biggest challenge is facing constant questions about it.
"Apart from that so far it's a normal season."
"We play as good as we can, we try to get as many points as we can and the challenges are the... games we have to play and the next one is Crystal Palace."


GREAT FOOD FROM PLACES BEST CHEFS ($$$$+)
GREAT FOOD - GREAT PLACE - GREAT VALUE($$+)
CAFÉ / BAR($$$+)


Form test 4 Buttons must have a valid value and text
Group 1: Buttons with value and text
Button Group 1
Button 11
Button 12
Button 13
Button 16
Group 2: Buttons with value and no text
Group 3: Buttons with text but no value
Button 31
Button 32
Button 33
Button 34
Button 35
Group 4: Buttons with no value and no text
Group 5: Hidden buttons
button 53


GSLP
Section: Ghostscript (1)Updated: 31 July 2009
Index Return to Main Contents
NAME
gslp - Format and print text using ghostscriptgsbj - Format and print text for BubbleJet printer using ghostscript
gsdj - Format and print text for DeskJet printer using ghostscript
gsdj500 - Format and print text for DeskJet 500 BubbleJet using ghostscript
gslj - Format and print text for LaserJet printer using ghostscript
SYNOPSIS
gslp -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile> -T<n> --add-to-space <units> --add-to-width <units> --columns <n> --detect --first-page <n> --kern <file.afm> --last-page <n> --(heading|footing)-(left|center|right) <string> --margin-(top|bottom|left|right) <inches> --no-eject-(file|formfeed) --spacing <n> [gs options] [files]gsbj [options] [files]
gsdj [options] [files]
gsdj500 [options] [files]
gslj [options] [files]
DESCRIPTION
This utility provides functionality approximately equivalent to the Unix enscript(1) program. It prints plain text files using a single font. It currently handles tabs and formfeeds, but not backspaces. It will line-wrap when using fixed-pitch fonts. It will also do kerning and width adjustment.The default device (-sDEVICE=) and resolution (-r) are as follows:
gslp epson 180 gsbj bj10e 180 gsdj deskjet 300 gsdj500 djet500 300 gslj laserjet 300By default the current date is formatted as the center header.
OPTIONS
- Standard switches implemented:
- -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>
- Sun switches implemented:
-
-T<n> set tab width
- Switches ignored:
- -GghKkmow -# -C -d -J -n -P -S -s -t -v
- Switches added:
-
-
- --add-to-space <units>
- add the given number of 1/72" units to the width of each space (may be negative)
- --add-to-width <units>
- add the given number of 1/72" units to the width of each character (may be negative)
- --columns <n>
- print in <n> columns
- --detect
- treat the file as PostScript if it starts with %!
- --first-page <n>
- start printing at page <n>
- --kern <file.afm>
- kern using information from the given .AFM file
- --last-page <n>
- stop printing after page <n>
- --(heading|footing)-(left|center|right) <string>
- set the heading/footing fields; use -B first to clear
- --margin-(top|bottom|left|right) <inches>
- set a margin
- --no-eject-(file|formfeed)
- end-of-file/FF only starts a new column, not a new sheet
- --spacing <n>
- use double (n=2), triple (n=3), etc. spacing
-
SEE ALSO
gs(1)VERSION
This document was last revised for Ghostscript version 8.70.AUTHOR
Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.
Index
This document was created by man2html, using the manual pages.
Time: 05:29:04 GMT, December 24, 2015


dotSpace
Select a painting. Left mouse - orbit, right mouse - pan, mouse scroll - zoom, 'R' - reset view, 'S' - toggle auto rotate.


Pre-Black Friday bargain: Save up to 63% on Ultimate Ears bluetooth speakers
by https://www.facebook.com/LouderPosts/Get in on the Black Friday action early by saving a huge amount on this range of Ultimate Ears portable bluetooth speakers
Black Friday and Cyber Monday are just a couple of weeks away – but the discounts and bargains have already started.
Music fans can save a bundle right now on turntables, headphones, vinyl, instruments and more – and now Amazon have lopped off a whopping amount of cash on a range of Ultimate Ears bluetooth speakers.
The Ultimate Ears Megablast bluetooth portable speaker, which boasts Amazon Alexa voice control, is currently available for £99.99 – 63% down on its RRP of £269.99.
Meanwhile, the Ultimate Ears Boom 2 bluetooth speaker has 50% off – down to just £59.99, while more bargain are up for grabs.
Check out further details and even more great deals below.
- These are the best smart speakers for every budget
- The best Black Friday 2019 record player deals
- Check out the best Black Friday 2019 vinyl deals
- Explore the best Black Friday headphones deals
- Gifts for music lovers: killer Christmas gifts for music fans
- Amazon Echo devices: everything music fans need to know
Ultimate Ears Bluetooth Speaker Deals
Ultimate Ears Megablast speaker: Was £269.99 - now £99.99
Enjoy your favourite sounds on the go with this Ultimate Ears Megablast bluetooth portable speaker featuring Amazon Alexa voice control. View Deal
Ultimate Ears Boom 2 speaker: Was £119 - now £59.99
Offering wireless, 360-degree immersive surround sound and deep bass, this waterproof speaker has a 30 metre range and a play time of 15 hours View Deal
Ultimate Ears Blast speaker: Was £169.99 - now £69.99
This Ultimate Ears Blast bluetooth speaker is available in graphite black, is waterproof and features Amazon Alexa voice control - and there's 595 off its RRP. View Deal
Ultimate Ears Wonderboom speaker: Was £89.99 - now £52.88
This ideally-sized bluetooth speaker is waterproof, it floats, has a battery charge of 10 hours, and packs a big sound. It's now available in Phantom Black. View Deal


class CommentsController
Public Instance Methods
new()
click to toggle source
:method: new Common Name Post a
new Comment
Short Description Creates a new
Comment
Endpoints Web
Request
Type POST
Route /comments/
Authentication Required Public
Request
Format
{ "paragraph_id": 2 "body": "That makes no sense at all" }
Response Format A json array containing list of society
objects
{ "status": "OK", "message": "success", "result": { "id": 1, "title": "First Post Ever", "paras": [{ "id": 1, "body": "This is the first post ever." }, { "id": 2, "body": "It's a great post because it has multiple paragraphs." }, { "id": 3, "body": "Most of them are separated by 2 newlines.\nBut some are not." }, { "id": 4, "body": "Some are separated by more." }, { "id": 5, "body": "Enough of this.\n" }], "comments": [{ "id": 2, "body": "That makes no sense at all", "para_id": 2 }] } }
Revision history
# File app/controllers/comments_controller.rb, line 51 def new para = Posts::Paragraph.find_by(id:params[:paragraph_id]) if para.present? body = params[:body] comment = Posts::Paragraphs::Comment.new(body:body,posts_paragraph_id:para.id) if comment.save result = comment.paragraph.post.compact status = 200 else result = { message: "Error. Invalid comment." } status = 400 end else result = { message: "Error. Invalid paragraph." } status = 400 end process_response(result, status, params) end


Nyzo version 472 (commit on GitHub) is a minor update that increases resiliency of individual verifiers to intermittent network issues.
Under ideal conditions, all verifiers in the mesh receive all votes from all other verifiers. If a node has temporary network connection issues, it might miss some votes. A verifier only sends a vote when that vote is for a new height or when it has changed its vote for a height. So a verifier with connection issue must request any missing
This update is in response to an issue that arose with several verifiers, most acutely affecting Bushido_Brown (326b7c2478610c2b-413ea139d32906c3-eb15d57a2842bba6-f7b7a61f636af9d9), which was the only verifier forced out of the cycle due to the issue.
The requestMissingVotes() method of the BlockVoteManager class is called once per iteration of the main verifier loop. The previous implementation of this method was quite naïve: if a block had not been frozen in more than 15 seconds, and a missing-vote request had not been performed in more than 15 seconds, all verifiers in the cycle from whom the current verifier did not have votes would be queried.
This logic was problematic for two reasons, only one of which was causing problems so far. The first concern, which had not yet manifested itself as a problem in the mesh, was the limitation of requests only to verifiers from whom votes had not yet been received. The second concern, which had caused problems for some verifiers, is that the 15-second wait made catching up to the frozen edge difficult for verifiers with network connection issues. In the case of Bushido_Brown, the slow rate of this process caused the verifier's frozen edge to fall behind the retention edge of all other verifiers in the mesh. As verifiers typically respond with null responses to block requests for blocks behind their retention edges, this meant that Bushido_Brown was unable to catch up at all.
The new code has multiple advantages: it reduces the minimum interval between missing-vote requests to 2 seconds, and it also looks for a more specific situation that arises when a temporary network issue causes some votes to be lost, thus eliminating some unnecessary vote requests when the preferred verifier has failed to produce a block. When a verifier has many votes more than one height past the frozen edge, it is reasonable to assume that some earlier votes were missed. So, if a verifier has registered more than 50% of votes for a height more than one block past the frozen edge, it will request missing votes.
One additional condition is present to keep the mesh processing in the case of a temporary but wide-ranging loss of communication: if a block has not been frozen in more than 120 seconds (2 minutes) and a missing-vote request has not been performed in 60 seconds (1 minute), then votes are requested.
Also, to account for votes that may have changed, all verifiers in the current cycle are now queried, not just those from whom votes are missing.


Extended Image Loaders
The standard Java image loaders that come with the JDK are terrible. The ones from the NIO package aren't much
better.  A problem since JDK 1.1, and still
an issue with Java 8, these libraries plug into the bottom of the image loading framework and use the native
libraries provided by the platform to improve speed and memory usage.


Header Fields
Signature Algorithm:
JSON Type:
Payload Fields
Name:
Subject:
Token ID:
Generate Token
Already have JSON data or want to define your own fields?
Try the user-defined token generator here...
Token Payload:
Token Header:
Token Payload:
Token Signature:
Full JWT Token:
T+:


Information about your rights
Find out today.
Congress Representatives
Voter ID Laws
Voter Turnout
Primaries in each State
Places to Vote
Does your state allow paid time off to vote? Click here to find out


|
The
Cranberries
|
|
|
Wake
Up And Smell
The Coffee |
1.
Never Grow Old
2. Analyse 3. Time Is Ticking Out 4. Dying Inside 5. This Is The Day 6. The Concept 7. Wake Up And Smell The Coffee 8. Pretty Eyes 9. I Really Hope 10. Every Morning 11. Do You Know 12. Carry On 13. Chocolate Brown 14. Cape Town - (hidden track) |
|
|
|
|
Bury
The Hatchet
|
1.
Animal Instinct
2. Lound And Clear 3. Promises 4. You And Me 5. Just My Imagination 6. Shattered 7. Desperate Andy 8. Saving Grace 9. Copycat 10. What's On My Mind 11. Delilah 12. Fee Fi Fo 13. Dying In The Sun 14. Sorry Son |
|
|
|
|
No
Need To Argue
|
1.
Ode To My Family
2. I Can't Be With You 3. Twenty One 4. Zombie 5. Empty 6. Everything I Said 7. The Icicle Melts 8. Disappointment 9. Ridiculous Thoughts 10. Dreaming My Dreams 11. Yeat's Grave 12. Daffodil Lament 13. No Need to Argue |
|
|
|
|
Everybody
Else Is
Doing It, So Why Can't We |
1.
I Still Do
2. Dreams 3. Sunday 4. Pretty 5. Waltzing Back 6. Not Sorry 7. Linger 8. Wanted 9. I Will Always 10. How 11. Put Me Down |


{% extends 'base.html' %} {% block content %}
We accept dataset submissions for the integration of the Bio2Vec platform. Please contact us at<EMAIL_ADDRESS>for data preparation and submission or any questions relevant to Bio2vec.


Filter
Options
Settings you can change (these are the defaults).
// Overrideable options
Shuffle.options = {
buffer: 0, // Useful for percentage based heights when they might not always be exactly the same (in pixels).
columnThreshold: 0.01, // Reading the width of elements isn't precise enough and can cause columns to jump between values.
columnWidth: 0, // A static number or function that returns a number which tells the plugin how wide the columns are (in pixels).
delimiter: null, // If your group is not json, and is comma delimeted, you could set delimiter to ','.
easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)', // CSS easing function to use.
filterMode: Shuffle.FilterMode.ANY, // When using an array with filter(), the element passes the test if any of its groups are in the array. With "all", the element only passes if all groups are in the array.
group: Shuffle.ALL_ITEMS, // Initial filter group.
gutterWidth: 0, // A static number or function that tells the plugin how wide the gutters between columns are (in pixels).
initialSort: null, // Shuffle can be initialized with a sort object. It is the same object given to the sort method.
isCentered: false, // Attempt to center grid items in each row.
itemSelector: '*', // e.g. '.picture-item'.
roundTransforms: true, // Whether to round pixel values used in translate(x, y). This usually avoids blurriness.
sizer: null, // Element or selector string. Use an element to determine the size of columns and gutters.
speed: 250, // Transition/animation speed (milliseconds).
staggerAmount: 15, // Transition delay offset for each item in milliseconds.
staggerAmountMax: 150, // Maximum stagger delay in milliseconds.
throttle: throttle, // By default, shuffle will throttle resize events. This can be changed or removed.
throttleTime: 300, // How often shuffle can be called on resize (in milliseconds).
useTransforms: true, // Whether to use transforms or absolute positioning.
};
No options need to be specified, but itemSelector
should be used. Other common options to change are speed
and sizer
.
Usage
The HTML Structure
The only real important thing here is the data-groups
attribute. It has to be a valid JSON array of strings. It can also be a string delimeted by a value you provide with the delimiter
option.
This example is using this site's grid. Each item would be 4 columns at the "sm" breakpoint (768px).
Images
Images are wrapped in .aspect
elements to take up the same amount of space the image will when it loads. For details, check out the images demo.

Crocodile

Crossroads

Central Park

How column widths work
There are 4 options for defining the width of the columns:
- Use a sizer element. This is the easiest way to specify column and gutter widths. Add the sizer element and make it 1 column wide. Shuffle will measure the
width
andmargin-left
of thissizer
element each time the grid resizes. This is awesome for responsive or fluid grids where the width of a column is a percentage. - Use a function. When a function is used, its first parameter will be the width of the shuffle element. You need to return the column width for shuffle to use (in pixels).
- A number. This will explicitly set the column width to your number (in pixels).
- By default, shuffle will use the width of the first item to calculate the column width.
A basic setup example
If you want functional buttons, check out the js file.
Shuffle uses a UMD definition so that you can use it with globals, AMD, or CommonJS.
var Shuffle = window.Shuffle;
var element = document.querySelector('.my-shuffle-container');
var sizer = element.querySelector('.my-sizer-element');
var shuffleInstance = new Shuffle(element, {
itemSelector: '.picture-item',
sizer: sizer // could also be a selector: '.my-sizer-element'
});
Filters
Filter by a group
Use the filter()
method. If, for example, you wanted to show only items that match "space"
, you would do this:
shuffleInstance.filter('space');
Filter by multiple groups
Show multiple groups at once by using an array.
shuffleInstance.filter(['space', 'nature']);
By default, this will show items that match space
or nature
. To show only groups that match space
and nature
, set the filterMode
option to Shuffle.FilterMode.ALL
.
Show all items
To go back to having no items filtered, you can call filter()
without a parameter, or use Shuffle.ALL_ITEMS
(which by default is the string "all"
).
shuffleInstance.filter(Shuffle.ALL_ITEMS); // or .filter()
Overrides
You can override both Shuffle.ALL_ITEMS
and Shuffle.FILTER_ATTRIBUTE_KEY
if you want.
// Defaults
Shuffle.ALL_ITEMS = 'all';
Shuffle.FILTER_ATTRIBUTE_KEY = 'groups';
// You can change them to something else.
Shuffle.ALL_ITEMS = 'any';
Shuffle.FILTER_ATTRIBUTE_KEY = 'categories';
Then you would have to use data-categories
attribute on your items instead of data-groups
.
Advanced Filters
By passing a function to filter
, you can fully customize filtering items. Shuffle will iterate over each item and give your function the element and the shuffle instance. Return true
to keep the element or false
to hide it.
Example
// Filters elements with a data-title attribute with less than 10 characters
shuffleInstance.filter(function (element) {
return element.getAttribute('data-title').length < 10;
});
Searching
// Advanced filtering
Demo.prototype.addSearchFilter = function () {
document.querySelector('.js-shuffle-search').addEventListener('keyup', this._handleSearchKeyup.bind(this));
};
// Filter the shuffle instance by items with a title that matches the search input.
Demo.prototype._handleSearchKeyup = function (evt) {
var searchText = evt.target.value.toLowerCase();
this.shuffle.filter(function (element, shuffle) {
var titleElement = element.querySelector('.picture-item__title');
var titleText = titleElement.textContent.toLowerCase().trim();
return titleText.indexOf(searchText) !== -1;
});
};
Check out the compounded filters demo.
Sorting
You can order the elements with a function you supply. In the demo above, each item has a data-date-created
and data-title
attribute which are used for sorting.

…

<select class="sort-options">
<option value="">Default</option>
<option value="title">Title</option>
<option value="date-created">Date Created</option>
</select>
Demo.prototype.addSorting = function () {
document.querySelector('.sort-options').addEventListener('change', this._handleSortChange.bind(this));
};
Demo.prototype._handleSortChange = function (evt) {
var value = evt.target.value;
function sortByDate(element) {
return element.getAttribute('data-created');
}
function sortByTitle(element) {
return element.getAttribute('data-title').toLowerCase();
}
var options;
if (value === 'date-created') {
options = {
reverse: true,
by: sortByDate,
};
} else if (value === 'title') {
options = {
by: sortByTitle,
};
} else {
options = {};
}
this.shuffle.sort(options);
};
The options
object can contain three properties:
reverse
: a boolean which will reverse the resulting order.by
: a function with an element as the parameter. Above, we’re returning the value of thedata-date-created
ordata-title
attribute.randomize
: Make the order random.
Returning undefined
from the by
function will reset the order to DOM order.
Calling sort with an empty object will reset the elements to DOM order.
Check out the demo.
Filter and sort
You can filter and sort at the same time by passing a sort object as the second parameter.
shuffleInstance.filter('space', {
by: function (element) {
return element.getAttribute('data-title').toLowerCase();
},
});
Advanced sorting
You can provide the entire sort compare function if you need more control.
The parameters (a
, b
) are ShuffleItem
instances and you'll probably only use the element
property. The reverse
option still works with the compare
function if you need it.
For example, if you wanted to sort by the first group in data-groups
, then by data-age
, you could do this:
shuffleInstance.sort({
compare: function (a, b) {
// Sort by first group, then by age.
var groupA = JSON.parse(a.element.getAttribute('data-groups'))[0];
var groupB = JSON.parse(b.element.getAttribute('data-groups'))[0];
if (groupA > groupB) {
return 1;
}
if (groupA < groupB) {
return -1;
}
// At this point, the group strings are the exact same. Test the age.
var ageA = parseInt(a.element.getAttribute('data-age'), 10);
var ageB = parseInt(b.element.getAttribute('data-age'), 10);
return ageA - ageB;
},
});
Events
Shuffle is a subclass of TinyEmitter. It emits an event when a layout happens and when elements are removed. The event names are Shuffle.EventType.LAYOUT
and Shuffle.EventType.REMOVED
.
Get notified when a layout happens
shuffleInstance.on(Shuffle.EventType.LAYOUT, function () {
console.log('Things finished moving!');
});
Do something when an item is removed
shuffleInstance.on(Shuffle.EventType.REMOVED, function (data) {
console.log(this, data, data.collection, data.shuffle);
});
Check out the demo at the top of the page, or its JavaScript file.
Adding and Removing Items
You can add and remove elements from shuffle after it has been created. This also works for infinite scrolling.
Adding elements
Wherever you add the element in the DOM is where it will show up in the grid (assuming you’re using the default sort-by-dom-order). With this in mind, you can append, prepend, or insert elements wherever you need to get them to show up in the right order.
/**
* Create some DOM elements, append them to the shuffle container, then notify
* shuffle about the new items. You could also insert the HTML as a string.
*/
Demo.prototype.onAppendBoxes = function () {
var elements = this._getArrayOfElementsToAdd();
elements.forEach(function (element) {
this.shuffle.element.appendChild(element);
}, this);
// Tell shuffle elements have been appended.
// It expects an array of elements as the parameter.
this.shuffle.add(elements);
};
Removing elements
Shuffle will animate the element away and then remove it from the DOM once it's finished. It will then emit the Shuffle.EventType.REMOVED
event with the array of elements in event.collection
.
this.shuffle.remove([element1, element2]);
Check out the adding and removing demo.
Public Methods
A list of the methods available to you and what they do.
filter(category, sortObject)
- Filters all the shuffle items and then sorts them.category
can be a string, array of strings, or a function. The sort object is optional and will use the last-used sort object.sort(sortObject)
- Sorts the currently filtered shuffle items.update()
- Repositions everything. Useful for when dimensions (like the window size) change.layout()
- Use this instead ofupdate()
if you don't need the columns and gutters updated. Maybe an image loaded and now has a height.add(newItems)
- New items have been appended to the shuffle container.newItems
is an array of elements.disable()
- Disables Shuffle from updating dimensions and layout on resize.enable()
- Enables Shuffle again.remove()
- Remove one or more shuffle items.getItemByElement(element)
- Retrieve aShuffleItem
by its element.destroy()
- Destroys Shuffle, removes events, styles, classes, and references.
Customizing Styles
You can customize the default styles which are applied to Shuffle items upon initialization, before layout, after layout, before hiding, and after hidden.
Here are the defaults:
ShuffleItem.Css = {
INITIAL: {
position: 'absolute',
top: 0,
left: 0,
visibility: 'visible',
'will-change': 'transform',
},
VISIBLE: {
before: {
opacity: 1,
visibility: 'visible',
},
after: {
transitionDelay: '',
},
},
HIDDEN: {
before: {
opacity: 0,
},
after: {
visibility: 'hidden',
transitionDelay: '',
},
},
};
ShuffleItem.Scale = {
VISIBLE: 1,
HIDDEN: 0.001,
};
If you wanted to add a 50% red background to every item when they initialize, you could do this:
Shuffle.ShuffleItem.Css.INITIAL.backgroundColor = 'rgba(255, 0, 0, 0.5)';
To set the text color to teal
after the item has finished moving:
Shuffle.ShuffleItem.Css.VISIBLE.after.color = 'teal';
You can also customize the scaling effect with visible or hidden items.
Shuffle.ShuffleItem.Scale.HIDDEN = 0.5;
Dependencies
Shuffle's dependencies are bundled with the dist file.
Shuffle does, however, expect the following ES6/7 features: Set
, Array.from
, Object.assign
, Array.prototype.find
, and Array.prototype.includes
. In order to support browsers like IE11 and Safari 8, you must include a polyfill for these features. You can use a service like polyfill.io to only load the polyfills that specific browser needs, or a polyfill script like babel-polyfill (which uses core-js
internally).
Supported Browsers
- Chrome
- Firefox
- Edge
- IE 11
- Safari
Depending on what browsers you support, you may need to polyfill features used by Shuffle.
Changelog
For a more detailed changelog, visit the latest releases on GitHub.
v5.1.2
3/26/18 - Fix misspelleddelimiter
option. Both "delimiter" and "delimeter" will continue to work for v5.v5.1.1
3/2/18 - Fix new item animation when there is an active filter.v5.1.0
2/20/18 - Addcompare
option to sorter. Addes
build to package and"module"
field topackage.json
.v5.0.3
10/30/17 - Fix rounding error.v5.0.2
9/23/17 - Update type definitions. Upgrade dev dependencies.v5.0.1
7/18/17 - AddroundTransforms
option.v5.0.0
7/18/17 - Change global export fromshuffle
toShuffle
. Remove bower support. Expect ES6 environment. Make Shuffle instances Event Emitters instead of dispatchingCustomEvent
.v4.2.0
5/10/17 - Replacewebpack
build withrollup
. Replacejshint
andjscs
witheslint
. AddfilterMode
option.v4.1.1
3/21/17 - thebefore
styles for aShuffleItem
were not applied if the item didn’t move.v4.1.0
1/30/17 - Use webpack-2 to bundle Shuffle.v4.0.2
9/15/16 - Updatecustom-event-polyfill
dependency.v4.0.1
7/30/16 - Fixdelimiter
option.v4.0.0
4/20/16 - Rewrite in ES6 with babel. Remove jQuery and Modernizr dependencies. Remove support for IE<11. Docs improvements. Switch to gulp build system with webpack.v3.1.0
3/23/15 - Allow zero speed option (#64) and cancel previous animations instead of ignoring new ones (#69). Handle non-integer columns better (#46)v3.0.4
2/16/15 - Publish to NPM.v3.0.2
1/21/15 - Remove from jQuery plugins directory.v3.0.1
12/29/14 - Add CommonJS support.v3.0.0
10/6/14 - Refactored with improvements, added unit tests, more documentation. Removed some triggered events.v2.1.2
6/1/14 - Usewindow.jQuery
instead ofwindow.$
to work better with noConflict. Fixed #25.v2.1.1
4/16/14 - Fix items with zero opacity overlapping visible ones in IE<10.v2.1.0
4/12/14 - Register with bower asshufflejs
.- 4/10/14 - Add AMD support.
- 4/8/14 - Separate Modernizr into its own file and custom Shuffle build.
- 3/8/14 - Add Bootstrap 3 demo. Fixed issue with percentage width items.
- 10/4/13 - Moved some Shuffle instance properties to constants. Converted from 4 to 2 space indentation. Added events enum and pulled out some strings to constants.
- 8/30/13 - Added animate-in demo.
v2.0.0
7/5/13 - Shuffle 2.0 with masonry, adding and removing, and more.- 11/3/12 - Replaced layout system with masonry. Items can now be different sizes! Added addtional examples.
- 10/24/12 - Better handling of grid item dimensions. Added a minimal markup page.
- 9/20/12 - Added
destroy
method - 9/18/12 - Added sorting ability and made plugin responsive. Updated to Modernizr 2.6.2
- 7/21/12 - Rewrote plugin in more object oriented structure. Added custom events. Updated to Modernizr 2.6.1
- 7/3/12 - Removed dependency on the css file and now apply the css with javascript


Unusual Volume Scanner
Get alerted when a stock's volume exceeds 10 standard deviations from the mean
within the last 3 days. Dynamic Version.
| Ticker |
Date |
Volume |
|
CANG
|
2020-11-24 |
1,179,900 |
|
GRN
|
2020-11-24 |
10,083 |
|
GV
|
2020-11-24 |
6,905,100 |
|
WYY
|
2020-11-25 |
6,695,900 |
|
APXT
|
2020-11-27 |
36,222,219 |
|
ENG
|
2020-11-24 |
53,605,200 |
|
GEOS
|
2020-11-27 |
673,410 |
|
JG
|
2020-11-27 |
10,207,460 |
|
MOHO
|
2020-11-24 |
32,414,800 |
|
MTC
|
2020-11-25 |
142,220,700 |
|
NBAC
|
2020-11-25 |
24,414,100 |
|
ORMP
|
2020-11-27 |
7,105,521 |
|
PIH
|
2020-11-24 |
715,200 |
|
RAIL
|
2020-11-27 |
33,145,635 |
|
RELV
|
2020-11-24 |
348,400 |
Made by Sam Pomerantz and contributors.
GitHub
•
LinkedIn
•
Donate
Thank you for visiting


The Orcod Podcast
Episodes
Episode #1: The First Episode -- it's just a test
Marcin and J. talk about various things
Your browser cannot play this audio -- just download it.


This rather simple library was built to speed up some calculations in Hamiltonian Markov Chain sampling of functions. By building it in a separate library, I can re-use this rather fast code in many projects. Nice, because C++ doesn't have any good (standard) libraries. And it's fun to write!
Right now, I've implemented some rather basic methods. C++ is new to me, and I still often run into unexpected behaviour. Nevertheless, the speed improvement is already quite large over my previous lubrary, based on the STL vectors.
Most of the speed gain here is made by not storing zero values of matrices, but instead relying on a nested map to store non-zero entries. In many of the associated functions, this sparsity is exploited by only looping over non-zero functions. However, column access is still rather slow for complex matrices; as this index is contained in the nested map. Therefore, to retrieve one column (with possibly only one entry) one has to loop over all non-zero rows. A possibility would be to use a single map with a pair as index. But then retrieval is more complicated, by matching only one of the pairs.
In the future, I will merge this library with another non-sparse library. This will hopefully result in performance gains were required, but still the full functionality of a complete set of linear algebra tools.
I suggest to start browsing at SparseAlgebra.hpp, as it contains many common linear algebra routines. The parallel files are more of a development challenge right now than an actual working (and reliable) implementation.


{% for book in book_list %}
{{ book.title }}
{{ book.authors }}
{{ book.publisher }}
{{ book.publication_date | date }}
{% endfor %}


Problem
I'd like the master node to act as a proxy - to access some service hosts such as BitBucket server. I've added some lines to the /var/jenkins_home/.ssh/config file. But the SSHLauncher does not seem to parse the .ssh/config file and the tunnel is not opened as the slave agent is launched via SSH
Solution
Related articles


Compliment. How are you doing. Hope you have not forgotten me, I am Dr/Mr.MIKE LARRY the man from Nigeria who contacted you some time ago to assist me secure the release of some money accrued from the over invoicing of a contract/inheritance that was awarded by my government some time ago during the military regime. Though you were not able to assist me conclude the transaction, I'm happy to inform you about my success in getting those funds transfered under the assistance and cooperation of a new partner from Brazil.Presently I'm in London-United Kingdom for investment projects with my own share of the total sum. meanwhile, i didn't forget your past efforts and attempts to assist me in transferring those funds, I made sure you are not left out the benefit of the transaction hence I kept aside for you sum of Five Hundred Thousand United States Dollars.($500,000.00)Draft. I and my new partner agreed to compensate you with that amount for all your past efforts and attempts to assist me in this matter. I appreciated your efforts at that time very much,so feel free and get in touch with my secretary Mr.Eric Moore and instruct him on how to send the Bank draft to you. Please do let me know immediately you receive the Draft so that we can share the joy together after all the sufferings at that time. In the moment, I'm very busy here because of the investment projects which me and my partner are having at hand. finally,remember that i had left instruction to my secretary so as soon as you contact him, he will send the Draft to you,so feel free to get in touch with MY SECRETARY NOW. Below is the contact of my secretary: Mr. ERIC MOORE<EMAIL_ADDRESS>With Best Regards, Dr. MIKE LARRY.


Hawaii health officials confirm 2 more vaping illness cases
HONOLULU (AP) - Two additional cases of vaping-related lung injury were confirmed in Hawaii, bringing the number of cases to four in the state, health officials said.
The cases were related to the use of e-cigarette or vaping products and advised everyone “to stop vaping, no matter the substance or source, until current nationwide investigations are complete,” state Department of Health officials said in a news release Friday.
All four patients, including two adolescents, reported vaping THC before developing symptoms including shortness of breath, gastrointestinal problems, fever and chest pains, health officials said. All were hospitalized and have recovered.
TOP STORIES
Justice Department clears Trump of wrongdoing on Ukraine call
Wisc. county becomes a Second Amendment sanctuary: 'We like our guns'
Trump pardons two military service members accused of war crimes, restores rank of Navy SEAL
Investigations are ongoing into at least a half-dozen more reports in the state, officials said.
“The public should refrain from using these products, regardless of whether they contain nicotine or THC,” said state Director of Health Bruce Anderson. “Those are probably not all that we’re concerned about. There may be other sources that’s also hazardous.”
As of Wednesday, health officials have confirmed 42 deaths and 2,172 cases of vaping-related illness and probable related injuries in 49 states, the District of Columbia, Puerto Rico and the Virgin Islands, according to the U.S. Centers for Disease Control.
According to state Health Department statistics, Hawaii ranks second in the nation for e-cigarette use among high school students, with an estimated 25.5% currently vaping, twice the national average, the Star-Advertiser reported. E-cigarettes are even more prevalent on the neighbor islands, with as many as 34% of high school students using the devices, according to the statistics.
“It’s a serious problem, but you’ve got to look at the root of the problem. It’s not coming from our stores,” Irie Hawaii owner Mariner Revell told Hawaii Tribune-Herald. “I haven’t seen one case where one legitimate vaping manufacturer is to blame. They’re blaming it on flavors. And it’s not the flavors. It’s the illegal manufacturers on the street.”
His business and others that sell e-cigarettes and vaping products are affected by media reports of lung injuries caused by vaping, Revell said.
“It’s really unfortunate that the press reports that vaping is bad,” he said. “It’s not the stuff you’re buying in stores from professional vape manufacturers.”
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


I was a Software Development Engineering Intern at Bluebeam, a software company that provides smart and efficient solutions for the Architectural, Engineering, and Construction industry.
I worked on the Studio Enterprise Team, a development team of 8 people: 6 interns and 2 software engineers, who were the mentors.
The team worked on production code for the development of a new release of Studio Enterprise: a real-time, document collaboration platform that supports organizations who want to work within a controlled environment.
I got to experience what it's like to work in the software industry. I gained new technical skills as well as soft skills. I established great relationships with my fellow intern co-workers and thoroughly enjoyed our nightly marathons of HIMYM!
As a Bluebeam intern for 10 weeks, I was placed on the Studio Enterprise Team and got to work with production code to help with the development of a new release of Studio Enterprise.
My team and I worked on and collaborated on a new release of Studio Enterprise: a paid server-based software for organizations to use to work in a controlled environment. I touched upon a mix of both back-end and front-end development.
I utilized many development tools and technologies during my time at Bluebeam. I worked with C#, Visual Studio, SQL Server Management Studio, GIT, JIRA, and Agile Development Process (SCRUM).
I worked on a variety of tasks involving back-end and front-end development. Some things I worked on include tracking user information and accessing databases. I resolved many issues through coding, debugging, and testing to improve the server-based software.
For just 10 weeks, I had got to feel what it's like to work in the software industry, let alone dive into production code on my first day. I learned how to apply the skills and knowledge I know and learned in school to develop real-life applications.
A truly rewarding and humbling experience.
My internship at Bluebeam was my first internship, so it was definitely a nerve-wrecking and challenging experience. All I really knew about Computer Science was through classes I took in school. But after 10 weeks spent at Bluebeam, I had learned a lot and gained new technical skills. I learned new technologies used by development teams, such as C#, Visual Studio, and SSMS. I got to experience what it's like to work in an Agile Development environment, a concept that I learned in school, by attending daily stand-ups and sprint meetings and utilizing JIRA. The tasks that I worked on gave me a variety to work with and helped me develop my interpersonal skills by having me reach out to teammates for help and asking questions when I needed to.
My internship was also a challenging one. I had no prior internship or working experience before coming to Bluebeam. I had no side projects to display. I had no experience with the technologies Bluebeam used. All I ever really knew about Computer Science was from the classroom. So with the tasks I took on at Bluebeam, every single one was something new. However, I made it goal to take on every task one-by-one and learn new things along the way. By the end of the internship, I had accomplished several tasks that I never thought I could from day one. My experience at Bluebeam has really given me the confidence in my technical abilities and I carried that confidence into my last year of college. So that is what I meant by defining my summer as a humbling experience. My internship was a challenging one, but mostly a humbling one.


--- layout: post title: Learn Mercurial basics with Logan Turner categories: [] status: publish type: post published: true author: logan ---
In this cast, Logan Turner and Jeffrey Palermo discuss Mercurial basics. Logan Turner is a Headspring intern and a student at LeTourneau University. Logan has recently learned Mercurial, and he has helped another new employee come up to speed with this distributed version control system.
You might be interested in these Mercurial resources:


Bread and Tulips is a film about a woman named Rosalba and her journey to find herself. It starts with her being stranded at a rest stop during a family vacation.
Instead of waiting, she decides to visit Venezia because she has always wanted to go there but never got the chance. While there, she finds her independence from her family,
and true love. After her return home in Pescara, her lover from Venezia comes and convinces her to return with him. The film ends with a free-style dance scene over a tango tune,
which symbolizes her choice of happiness and love.
Historical Context
Italy's second republic started in 1992 and goes up until today. Much of the changes had to do with the implosion of the corrupted political system that governed the first
republic. Many of the old parties dissolved, such as the Democrat Christian or Socialist parties. The years after the big cultural revolution of the 1960s-1970s provided a
new perspective in the women, which manifests in a character such as Rosalba, who finds her new life away from the Italian patriarchy.
Preferisco il rumore del mare (I Prefer the Sound of the Sea) is a film about a boy from the South, Rosario, who moves to the north after the mafia kills his mother. A successful
cousin emigrated to the north, Luigi, wants to help Rosario become successful and escape his crime-ridden village in the south. Rosario forms an unlikely friendship with Luigi's son,
Matteo and learns to tolerate the life in the north. However, in the north, Rosario finds many differences from his life in the south mostly having to deal with prejudice. In the end,
Rosario decides that he “prefers the sound of the sea” and that the life in the south amongst his people is worth the fight.
Punk Dancing
One scene in the film focuses on giving some background to Matteo and showing his rebellion through the music he listens to which is punk music. From the late 1970s to the early
2000s, Punk music and danced reached Europe and Italy in a very impactful way. This music has a long history of captivating youth who feel disenfranchised, like Matteo.
Based in "moshing" movement, the punk fans dance it mainly during concerts. Often these "moshes" involve people, who jump up and down and ram their shoulders into each other.
In the above film clip dances around his room and finishes his dance by ramming into his door.
Loose Cannons is a film about an upper class family who finds out one of their sons is homosexual. In reality, both sons are homosexual, but after the news about the oldest,
the father has a stroke thus forcing the younger son, Tommaso, to keep hiding his identity. He wishes to be a writer however, as that the older brother has left his post, is
obliged to work for the family pasta business. Overall, this comedy aims to shed light and make a satirical commentary on the issues LGBTQ+ community suffer in Italy. There is
no particular dance in this film, but the scene shown here shows how dancing beings family together and can span decades (the scene starts at the grandmothers wedding and moves
into her funeral). It can make people happy even in the saddest of times, and brings families together even in sad times.
Historical Context
In Italy, the LGBTQ+ is still fighting prejudice. Today the government has granted homosexual civil unions, but not marriage. The law, in discussion in the Parliament for years,
in 2016 was finally approved. Many people at the time were still not happy with this legislation, as this "victory" was heavily conditioned. (Winfield).
With this in mind, one can see in the film how the father would react as he did.
La Pazza Gioia (Like Crazy) is a film about two women, Beatrice and Donatella, who run away from a psychiatric facility. They become fast friends before their escape.
Beatrice is a very loud and exuberant women while Donatella is quiet and brooding. During their escape, they both realize they need help with their mental conditions. Overall,
both women find kinship in each other and form an unexpected bond and sisterhood.
Discoteca (Club)
This film features a scene from a club that gives us a peak into the electronic dance scene of Italy that is currently captivating many. In the film,
Donatella used to work for this club before having her son and her spiral of depression and loss. The punk scene of Italy seemed to flow easily into an
electronic club scene that many people enjoyed. The scene in Italy is not as big as London’s electronic scene. Italy, itself, has a very different type of
scene than most electronic scenes around the world. The Italian electronic dance scene started in the 1980s known as "Italo Disco." This was due to its unique style,
common only in Italy during this time. One can tell this still has some influence on the times. In this scene from the film, it shows the continued influence of the 1980s
style on the contemporary Italian clubs.


You can call me Vickee, I am a New Jersey native who has been living in Michigan since graduating from Michigan State in 2014.
For the last 5 years, I worked in marketing representing major spirits brands throughout Detroit.
I decided to make a career change this year and have started my next adventure in web development with the help of Michigan State's Full Stack Boot Camp.
During the summer months, I try my hardest to get to the water - whether exploring the Great Lakes in our pop-up camper or enjoying the Atlantic ocean.
I am snack advocate, gadget enthusiast and eager to please on behalf of my clients. Head to my contact page so we can talk more!


BLUE SANDS
Blue mornings, easy breathing, and copious indulgence in hallucinogens.
Home Page
Lodging
Activities
Travel Arrangements
Pictures
Contact Us
GUEST PICTURES


{% set page = { section: 'Diary', title: 'Interview - Office' } %} {% extends currentApp.filePaths.layoutsDir + "default.html" %} {% block main_content %}
Which form of identity is the suspect providing?


SHPE is the Source for Quality Hispanic Engineers and Technical Talent. National: The Society of Hispanic Professional Engineers (SHPE) was founded in Los Angeles, California, in 1974 by a group of engineers employed by the city of Los Angeles. Their objective was to form a national organization of professional engineers to serve as role models in the Hispanic community. The concept of Networking was the key basis for the organization. SHPE quickly established two student chapters to begin the network that would grow to encompass the nation as well as reach countries outside the United States. Today, SHPE enjoys a strong but independent network of professional and student chapters throughout the nation.
Get To Know Our Officers
National/Regional Conference
National Conference and Regional conferences with talks, job fairs, and academic competitions
Mentorship
Shpe Jr. and other community involvement
Meetings | Socials
At general body meetings there are talks from guest speakers, a good lunch, and plenty of networking opportunities. Get to know other members through fun social events too
Intramural Sports
Whats a healthy mind without a healthy body? In intramural sports you can get up and get active through volleyball, soccer, and basketball games
Have any questions, comments , or concerns?
Phone :<PHONE_NUMBER>
Other :<PHONE_NUMBER>


Join Us
We All Code wouldn't exist without your support! Our instructors, volunteers, and sponsors make it possible for kids to explore their curiosity through coding.
Make a difference
- Free classes are open to kids across Chicago
- Highly-trained instructors and mentors teach coding skills
- Students are encouraged to show what they know with real working projects
- Kids work collaboratively, respect their peers, and have fun
Donate to make a difference
Your generous financial support makes coding accessible to kids across Chicago. Every donation makes a difference!
Our classes are FREE whenever possible.
Sponsorship
Help support us in our mission to inspire, support, and teach kids STEM skills through corporate and organizational sponsorship. This can take many forms, and help provide even more opportunities to our kids. To get involved, email us at<EMAIL_ADDRESS>Volunteer
Volunteer as individuals or a group to help with classes, programs, or events that benefit kids.
Locations
Provide locations for events or classes so kids around the city have access to education.
Equipment
Donate equipment or other resources to expose more kids to different technologies.
Financial
100% of funding goes towards equipment and food for youth, attendees, and mentors.
Contact Us
No matter the reason for contacting us, we care about you and connecting you with the information you need to get involved or learn more about us and what we are doing. If you prefer to email us, feel free to reach out at hello@weallcode.org


Sheet Compare Report a Bug
Drop an .xlsx file here to compare.... or click here to select a file Advanced Options: Use Web Workers: (when available) Use readAsBinaryString: (when available) Case Sensitive Check:
- {{file.name}}
| Coordinates | {{title}} |
|---|---|
| {{cells.y + " " + cells.x}} | {{cell}} |


Our imaginative team set out to create an engaging, story driven 2D game with Spectrum. Overwhelmed with the nostalgia of our neighborhood games as children, we were inspired to capture the limitless, playful imagination of youth. Spectrum takes players back to their own childhoods as they play as Grey, the young character, who uses his imagination to change the environment, solve problems, and complete levels.
I was the engine developer creating all of the internals and rules for interactions. I created a workflow inside Flash so our artist could design levels applying art to parallax layers and using collision volumes for camera control. Since the engine worked with bitmap collisions, there was also a collision layer that could be customized visually, allowing complex landscape. Projectile collisions were included as well, along with in-game asset and item swapping.


filmcritic.com presents a review from staff member Max Messier. You can find the review with full credits at http://www.filmcritic.com/misc/emporium.nsf/2a460f93626cd4678625624c007f2b46/6de7368c8c0e0a258825690d0006428c?OpenDocument
Trixie A film review by Max Messier Copyright 2000 fimcritic.com
It's a damn shame when a bad movie happens to a great actor. It's even worse when you try to enjoy their performance in the film while being distracted by a terrible wasteland of a script. Such is the sad case of Alan Rudolph's latest "screwball noir" farce, Trixie, a misguided attempt at expanding the noir genre by giving it a comedic twist.
Everything seemed to be in place to make a good film out of Trixie, starting with a great cast of Nick Nolte, Will Patton, Dermot Mulrooney, newcomer Brittany Murphy, Nathan Lane, and the wonderfully versatile actress Emily Watson. The story follows a misunderstood girl named Trixie, who has an annoying habit of mixing up her metaphors - with such memorable lines as "life is no bed of gravy" and "it's like looking through a needle for hay." Trixie holds dead-end jobs as a security guard for low-rent department stores but yearns for something better in her life. Don't we all. Eventually she takes a job at a casino resort as an undercover cop and gets involved in a tangled mess of a political sex scandal/murder mystery. Don't you just hate when that happens?!
A slew of characters that seem drawn from the well of mediocrity and melodrama entertain and challenge Trixie as she searches for the truth in a sea of misplaced plot points.  Nick Nolte.
The one bright light in the film is Watson, proving she can go from a depressed Irish mother of a million kids in last year's Angela's Ashes to a wisecracking working class Chicago chick who knows how to hold her own. The film starts off with a bang by giving the audience a strange look at Trixie's life and the way she interacts with the things and people around her. It seems she strives to remain true to her beliefs and her actions despite her failure at communicating with others.
Director Alan Rudolph speaks of this film as an examination of communication and how people interact with one another, yet never seem to understand each other completely. The main problem is that he never succeeds in delivering an interesting product for review. The first half-hour is solid and moves with purpose. The last hour and half simply sink under the movie's, and Rudolph's, pretentious voice.
Writer/Director: Alan Rudolph Producers: Robert Altman, James McLindon Starring: Emily Watson, Nick Nolte, Brittany Murphy, Will Patton, Nathan Lane, Dermot Mulroney, Lesley Ann Warren, Stephen Lang Rating: R
Rating: 2.5 stars
">http://www.amazon.com/exec/obidos/redirect?tag=filmcriticcom&path=subst/video/sellers/amazon-top-100-dvd.html"> Movie Fiends: Check out Amazon.com's Top 100 Hot DVDs!
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends 'base.html' %} {% block title %}
It seems that we could not understand your address. Currently, this application only accepts US addresses in the form: [number] [street name] [city][state], optional [zipcode]. Please try entering your address again. We really want you to try one of our burgers.


public interface ConstraintValidatorContext
ConstraintViolation
must be defined (either the default one,
of if the default ConstraintViolation
is disabled, a custom one).| Modifier and Type | Interface and Description |
|---|---|
static interface |
ConstraintValidatorContext.ConstraintViolationBuilder
ConstraintViolation builder allowing to optionally associate
the violation report to a sub path. |
| Modifier and Type | Method and Description |
|---|---|
ConstraintValidatorContext.ConstraintViolationBuilder |
buildConstraintViolationWithTemplate(java.lang.String messageTemplate)
Returns a constraint violation builder building a violation report
allowing to optionally associate it to a sub path.
|
void |
disableDefaultConstraintViolation()
Disables the default
ConstraintViolation object generation (which
is using the message template declared on the constraint). |
ClockProvider |
getClockProvider()
Returns the provider for obtaining the current time in the form of a
Clock ,
e.g. |
java.lang.String |
getDefaultConstraintMessageTemplate() |
<T> T |
unwrap(java.lang.Class<T> type)
Returns an instance of the specified type allowing access to
provider-specific APIs.
|
void disableDefaultConstraintViolation()
ConstraintViolation
object generation (which
is using the message template declared on the constraint).
Useful to set a different violation message or generate a ConstraintViolation
based on a different property.
java.lang.String getDefaultConstraintMessageTemplate()
ClockProvider getClockProvider()
Clock
,
e.g. when validating the Future
and Past
constraints.null
. If no
specific provider has been configured during bootstrap, a default implementation using
the current system time and the current default time zone as returned by
Clock.systemDefaultZone()
will be returned.ConstraintValidatorContext.ConstraintViolationBuilder buildConstraintViolationWithTemplate(java.lang.String messageTemplate)
To create the ConstraintViolation
, one must call either one of
the addConstraintViolation()
methods available in one of the
interfaces of the fluent API.
If another method is called after addConstraintViolation()
on
ConstraintViolationBuilder
or any of its associated nested interfaces
an IllegalStateException
is raised.
If ConstraintValidator.isValid(Object, ConstraintValidatorContext)
returns
false
, a ConstraintViolation
object will be built per constraint
violation report including the default one (unless
disableDefaultConstraintViolation()
has been called).
ConstraintViolation
objects generated from such a call
contain the same contextual information (root bean, path and so on) unless
the path has been overridden.
To create a different ConstraintViolation
, a new constraint violation builder
has to be retrieved from ConstraintValidatorContext
Here are a few usage examples:
//assuming the following domain model public class User { public Map<String,Address> getAddresses() { ... } } public class Address { public String getStreet() { ... } public Country getCountry() { ... } } public class Country { public String getName() { ... } } //From a property-level constraint on User.addresses //Build a constraint violation on the default path - i.e. the "addresses" property context.buildConstraintViolationWithTemplate( "this detail is wrong" ) .addConstraintViolation(); //From a class level constraint on Address //Build a constraint violation on the default path + "street" //i.e. the street property of Address context.buildConstraintViolationWithTemplate( "this detail is wrong" ) .addPropertyNode( "street" ) .addConstraintViolation(); //From a property-level constraint on User.addresses //Build a constraint violation on the default path + the bean stored //under the "home" key in the map context.buildConstraintViolationWithTemplate( "Incorrect home address" ) .addBeanNode() .inContainer( Map.class, 1 ) .inIterable().atKey( "home" ) .addConstraintViolation(); //From a class level constraint on User //Build a constraint violation on the default path + addresses["home"].country.name //i.e. property "country.name" on the object stored under "home" in the map context.buildConstraintViolationWithTemplate( "this detail is wrong" ) .addPropertyNode( "addresses" ) .addPropertyNode( "country" ) .inContainer( Map.class, 1 ) .inIterable().atKey( "home" ) .addPropertyNode( "name" ) .addConstraintViolation(); //From a class level constraint on User //Build a constraint violation on the default path + addresses["home"].<map key> //i.e. a container element constraint violation for the map key context.buildConstraintViolationWithTemplate( "the map key is invalid" ) .addPropertyNode( "addresses" ) .addContainerElementNode( "<map key>", Map.class, 0 ) .inIterable().atKey( "invalid" ) .addConstraintViolation();
Cross-parameter constraints on a method can create a node specific to a particular parameter if required. Let's explore a few examples:
//Cross-parameter constraint on method //createUser(String password, String passwordRepeat) //Build a constraint violation on the default path + "passwordRepeat" context.buildConstraintViolationWithTemplate("Passwords do not match") .addParameterNode(1) .addConstraintViolation(); //Cross-parameter constraint on a method //mergeAddresses(Map<String,Address> addresses, // Map<String,Address> otherAddresses) //Build a constraint violation on the default path + "otherAddresses["home"] //i.e. the Address bean hosted in the "home" key of the "otherAddresses" map parameter context.buildConstraintViolationWithTemplate( "Map entry home present in both and does not match") .addParameterNode(1) .addBeanNode() .inContainer( Map.class, 1 ) .inIterable().atKey("home") .addConstraintViolation(); //Cross-parameter constraint on a method //mergeAddresses(Map<String,Address> addresses, // Map<String,Address> otherAddresses) //Build a constraint violation on the default path + "otherAddresses["home"].city //i.e. on the "city" property of the Address bean hosted in //the "home" key of the "otherAddresses" map context.buildConstraintViolationWithTemplate( "Map entry home present in both but city does not match") .addParameterNode(1) .addPropertyNode("city") .inContainer( Map.class, 1 ) .inIterable().atKey("home") .addConstraintViolation();
messageTemplate
- new un-interpolated constraint message<T> T unwrap(java.lang.Class<T> type)
ValidationException
is thrown.T
- the type of the object to be returnedtype
- the class of the object to be returnedValidationException
- if the provider does not support the call


table-one
count: false
.panel1-table-one-auto[
#<< trial
]
.panel2-table-one-auto[
# A tibble: 200 x 8
trt age marker stage grade response death ttdeath
<chr> <dbl> <dbl> <fct> <fct> <int> <int> <dbl>
1 Drug A 23 0.16 T1 II 0 0 24
2 Drug B 9 1.11 T2 I 1 0 24
3 Drug A 31 0.277 T1 II 0 0 24
4 Drug A NA 2.07 T3 III 1 1 17.6
5 Drug A 51 2.77 T4 III 1 1 16.4
6 Drug B 39 0.613 T4 I 0 1 15.6
7 Drug A 37 0.354 T1 II 0 0 24
8 Drug A 32 1.74 T1 I 0 1 18.4
9 Drug A 31 0.144 T1 II 0 0 24
10 Drug B 34 0.205 T3 I 0 1 10.5
# … with 190 more rows
]
| count: false |
| .panel1-table-one-auto[ |
r trial %>% select(trt, age, marker, stage, grade) #<<
] |
| .panel2-table-one-auto[ |
# A tibble: 200 x 5 trt age marker stage grade <chr> <dbl> <dbl> <fct> <fct> 1 Drug A 23 0.16 T1 II 2 Drug B 9 1.11 T2 I 3 Drug A 31 0.277 T1 II 4 Drug A NA 2.07 T3 III 5 Drug A 51 2.77 T4 III 6 Drug B 39 0.613 T4 I 7 Drug A 37 0.354 T1 II 8 Drug A 32 1.74 T1 I 9 Drug A 31 0.144 T1 II 10 Drug B 34 0.205 T3 I # … with 190 more rows
] |
count: false
.panel1-table-one-auto[
%>%
trial select(trt, age, marker, stage, grade) %>%
tbl_summary( #<<
by = trt, #<<
statistic = list(all_continuous() ~ "{mean} ({sd})", #<<
all_categorical() ~ "{n} / {N} ({p}%)"), #<<
digits = all_continuous() ~ 2, #<<
label = grade ~ "Tumor Grade", #<<
missing_text = "(Missing)") #<<
]
.panel2-table-one-auto[
| Characteristic | Drug A, N = 981 | Drug B, N = 1021 |
|---|---|---|
| Age | 47.01 (14.71) | 47.45 (14.01) |
| (Missing) | 7 | 4 |
| Marker Level (ng/mL) | 1.02 (0.89) | 0.82 (0.83) |
| (Missing) | 6 | 4 |
| T Stage | ||
| T1 | 28 / 98 (29%) | 25 / 102 (25%) |
| T2 | 25 / 98 (26%) | 29 / 102 (28%) |
| T3 | 22 / 98 (22%) | 21 / 102 (21%) |
| T4 | 23 / 98 (23%) | 27 / 102 (26%) |
| Tumor Grade | ||
| I | 35 / 98 (36%) | 33 / 102 (32%) |
| II | 32 / 98 (33%) | 36 / 102 (35%) |
| III | 31 / 98 (32%) | 33 / 102 (32%) |
|
1
Mean (SD); n / N (%)
|
]
count: false
.panel1-table-one-auto[
%>%
trial select(trt, age, marker, stage, grade) %>%
tbl_summary(
by = trt,
statistic = list(all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} / {N} ({p}%)"),
digits = all_continuous() ~ 2,
label = grade ~ "Tumor Grade",
missing_text = "(Missing)") %>%
add_overall() #<<
]
.panel2-table-one-auto[
| Characteristic | Overall, N = 2001 | Drug A, N = 981 | Drug B, N = 1021 |
|---|---|---|---|
| Age | 47.24 (14.31) | 47.01 (14.71) | 47.45 (14.01) |
| (Missing) | 11 | 7 | 4 |
| Marker Level (ng/mL) | 0.92 (0.86) | 1.02 (0.89) | 0.82 (0.83) |
| (Missing) | 10 | 6 | 4 |
| T Stage | |||
| T1 | 53 / 200 (26%) | 28 / 98 (29%) | 25 / 102 (25%) |
| T2 | 54 / 200 (27%) | 25 / 98 (26%) | 29 / 102 (28%) |
| T3 | 43 / 200 (22%) | 22 / 98 (22%) | 21 / 102 (21%) |
| T4 | 50 / 200 (25%) | 23 / 98 (23%) | 27 / 102 (26%) |
| Tumor Grade | |||
| I | 68 / 200 (34%) | 35 / 98 (36%) | 33 / 102 (32%) |
| II | 68 / 200 (34%) | 32 / 98 (33%) | 36 / 102 (35%) |
| III | 64 / 200 (32%) | 31 / 98 (32%) | 33 / 102 (32%) |
|
1
Mean (SD); n / N (%)
|
]
count: false
.panel1-table-one-auto[
%>%
trial select(trt, age, marker, stage, grade) %>%
tbl_summary(
by = trt,
statistic = list(all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} / {N} ({p}%)"),
digits = all_continuous() ~ 2,
label = grade ~ "Tumor Grade",
missing_text = "(Missing)") %>%
add_overall() %>%
add_n() #<<
]
.panel2-table-one-auto[
| Characteristic | N | Overall, N = 2001 | Drug A, N = 981 | Drug B, N = 1021 |
|---|---|---|---|---|
| Age | 189 | 47.24 (14.31) | 47.01 (14.71) | 47.45 (14.01) |
| (Missing) | 11 | 7 | 4 | |
| Marker Level (ng/mL) | 190 | 0.92 (0.86) | 1.02 (0.89) | 0.82 (0.83) |
| (Missing) | 10 | 6 | 4 | |
| T Stage | 200 | |||
| T1 | 53 / 200 (26%) | 28 / 98 (29%) | 25 / 102 (25%) | |
| T2 | 54 / 200 (27%) | 25 / 98 (26%) | 29 / 102 (28%) | |
| T3 | 43 / 200 (22%) | 22 / 98 (22%) | 21 / 102 (21%) | |
| T4 | 50 / 200 (25%) | 23 / 98 (23%) | 27 / 102 (26%) | |
| Tumor Grade | 200 | |||
| I | 68 / 200 (34%) | 35 / 98 (36%) | 33 / 102 (32%) | |
| II | 68 / 200 (34%) | 32 / 98 (33%) | 36 / 102 (35%) | |
| III | 64 / 200 (32%) | 31 / 98 (32%) | 33 / 102 (32%) | |
|
1
Mean (SD); n / N (%)
|
]
count: false
.panel1-table-one-auto[
%>%
trial select(trt, age, marker, stage, grade) %>%
tbl_summary(
by = trt,
statistic = list(all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} / {N} ({p}%)"),
digits = all_continuous() ~ 2,
label = grade ~ "Tumor Grade",
missing_text = "(Missing)") %>%
add_overall() %>%
add_n() %>%
add_stat_label() #<<
]
.panel2-table-one-auto[
| Characteristic | N | Overall, N = 200 | Drug A, N = 98 | Drug B, N = 102 |
|---|---|---|---|---|
| Age, Mean (SD) | 189 | 47.24 (14.31) | 47.01 (14.71) | 47.45 (14.01) |
| (Missing) | 11 | 7 | 4 | |
| Marker Level (ng/mL), Mean (SD) | 190 | 0.92 (0.86) | 1.02 (0.89) | 0.82 (0.83) |
| (Missing) | 10 | 6 | 4 | |
| T Stage, n / N (%) | 200 | |||
| T1 | 53 / 200 (26%) | 28 / 98 (29%) | 25 / 102 (25%) | |
| T2 | 54 / 200 (27%) | 25 / 98 (26%) | 29 / 102 (28%) | |
| T3 | 43 / 200 (22%) | 22 / 98 (22%) | 21 / 102 (21%) | |
| T4 | 50 / 200 (25%) | 23 / 98 (23%) | 27 / 102 (26%) | |
| Tumor Grade, n / N (%) | 200 | |||
| I | 68 / 200 (34%) | 35 / 98 (36%) | 33 / 102 (32%) | |
| II | 68 / 200 (34%) | 32 / 98 (33%) | 36 / 102 (35%) | |
| III | 64 / 200 (32%) | 31 / 98 (32%) | 33 / 102 (32%) |
]
count: false
.panel1-table-one-auto[
%>%
trial select(trt, age, marker, stage, grade) %>%
tbl_summary(
by = trt,
statistic = list(all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} / {N} ({p}%)"),
digits = all_continuous() ~ 2,
label = grade ~ "Tumor Grade",
missing_text = "(Missing)") %>%
add_overall() %>%
add_n() %>%
add_stat_label() %>%
add_p() #<<
]
.panel2-table-one-auto[
| Characteristic | N | Overall, N = 200 | Drug A, N = 98 | Drug B, N = 102 | p-value1 |
|---|---|---|---|---|---|
| Age, Mean (SD) | 189 | 47.24 (14.31) | 47.01 (14.71) | 47.45 (14.01) | 0.7 |
| (Missing) | 11 | 7 | 4 | ||
| Marker Level (ng/mL), Mean (SD) | 190 | 0.92 (0.86) | 1.02 (0.89) | 0.82 (0.83) | 0.085 |
| (Missing) | 10 | 6 | 4 | ||
| T Stage, n / N (%) | 200 | 0.9 | |||
| T1 | 53 / 200 (26%) | 28 / 98 (29%) | 25 / 102 (25%) | ||
| T2 | 54 / 200 (27%) | 25 / 98 (26%) | 29 / 102 (28%) | ||
| T3 | 43 / 200 (22%) | 22 / 98 (22%) | 21 / 102 (21%) | ||
| T4 | 50 / 200 (25%) | 23 / 98 (23%) | 27 / 102 (26%) | ||
| Tumor Grade, n / N (%) | 200 | 0.9 | |||
| I | 68 / 200 (34%) | 35 / 98 (36%) | 33 / 102 (32%) | ||
| II | 68 / 200 (34%) | 32 / 98 (33%) | 36 / 102 (35%) | ||
| III | 64 / 200 (32%) | 31 / 98 (32%) | 33 / 102 (32%) | ||
|
1
Wilcoxon rank sum test; Pearson's Chi-squared test
|
]


0 IN THE COURT OF SH. DEEPAK WASON: ACMM (SPL. ACTS): CENTRAL DISTRICT: THC: DELHI CC No. 524317/2016 DPCC Vs. Narender Kumar JUDGEMENT
(a)Date of commission of offence : 17.07.1998
(b)Name of complainant : Sh. I.K. Kapila Delhi Pollution Control Committee, (Sr.Environmental Engineer), IVth Floor, ISBT Building, Kashmere Gate, Delhi
(c)Name, parentage, residence : Sh. Narender Kumar Prop/occupier M/s NNK Leather, 26Q9, Block, Mangolpuri, New Delhi.
(d)Offence complained of/ proved : U/s 24/25/26/33A, punishable U/s 41, 42,43,44 of the water (prevention & Control of pollution)Act, 1974.
(e)Plea of accused : Pleaded not guilty.
(f)Final order : Convicted (h)Date of such order : 07.11.2016
Date of institution of complaint : 04.01.1999 Date of Reservation of Judgment : 07.11.2016 Date of Pronouncement of Judgment : 07.11.2016 CC no.524317/2016 DPCC Vs. Narender Kumar Page 0 of 9 1 Brief statement of the reasons for the decision:-
1. The complainant i.e Delhi Pollution Control Committee (in short DPCC) filed the present complaint against the accused Narender Kumar (Proprietor of M/s NNK Leather) through Sh. I.K. Kapila, the then Sr.EE.
2. It is stated in the complaint that the complainant is presently working as Senior Environmental Engineer in DPCC and is a Public Servant by virtue of section 50 of the water Act 1974 (hereinafter called "Act"). It is further stated in the complaint that the complainant is authorised to file the complaint by the Delhi Pollution Control Committee.
3. It is further stated in the complaint that on 17 th of July 1998, the official of DPCC visited the premises at Nihar Vihar, Nangloi, Delhi and found that the accused was having control over the affairs of M/s NNK Leather and the said unit was engaged in wet blue tanning an discharging trade effluent without any treatment facilities. It is further stated in the complaint that the officer of DPCC also found that the owner/occupier of the said unit has not taken any permission as required by Section 25 of the Act, 1974.
4. It is further stated in the complainant that by running a tannery unit and engaging in wet blue tanning and discharging trade effluent without proper treatment and without any consent as required under the Act, respondents / accused has violated the provisions of section 24 and 25 of the Act, which CC no.524317/2016 DPCC Vs. Narender Kumar Page 1 of 9 2 are punishable under Section 42 and 43 of the Act.
5. It is further stated in the complainant that by discharging sewage or trade effluent into a stream or well or sewer or on land, respondent/accused has violated the Provision of Section 26 of the Act and the same is punishable U/s 44 of the Water Act.
6. It is further stated in the complaint that the Hon'ble Supreme Court of India in C.W.P. No. 4677 of 85 has ordered closure of tanning activity being " H" category as per M.P.D. 2001 in NCT of Delhi and shall shift out of NCT of Delhi.
7. It is further stated in the complaint that the industry run by Sh. Narender Kumar comes under " H" category as per Master Plan 2001 and as per Central Pollution Control Board Criteria which were accepted by the Hon'ble Supreme Court of India.
8. It is further stated in the complaint that despite service of the directions issued U/s 33-A of the Act, 1974, upon the respondent/accused, he continued with his illegal activities and violating the directions U/s 33(A) accused has committed an offence U/s 41 of the Water Act, 1974. Hence, the present complaint.
9. After taking cognizance, accused Narender was summoned being the Proprietor of M/s. NNK Leather. Thereafter, matter was adjourned for arguments on charge. It CC no.524317/2016 DPCC Vs. Narender Kumar Page 2 of 9 3 is a matter of record that vide order dated 16.02.2000, a charge was framed against the accused for the offences punishable U/s 41, 42, 43 & 44 of the Act. It is also a matter of record that thereafter, matter was adjourned for CE. It is also a matter of record that vide order dated 03.10.2002, case was transferred to some other court by the order of Ld. CMM and vide order dated 08.11.2002, the matter was adjourned for pre-charge evidence. Although, the case should not have been fixed for pre-charge evidence. Even otherwise, charge also should not have been framed without leading pre-charge evidence as it is a warrant trial case. But fact remains the same that clock cannot be put back. It is also a matter of record that vide order dated 01.11.2006 again the matter was adjourned for post-charge evidence. It is also a matter of record that again case was transferred on 02.06.2012 before some other Court and vide order dated 03.07.2012, matter was again adjourned for pre-charge evidence.
10. Thereafter, one witness P.S. Pankaj was examined and discharged It is also a matter of record that vide order dated 04.04.2013, Dr. B.M.S. Reddy was substituted as AR in place of Mr. I.K. Kapila and matter was again adjourned for pre-charge evidence. Thereafter, Sh. B.M.S.Reddy was examined and discharged on 29.07.2013 and on that date, pre-charge evidence was closed and matter was adjourned for arguments on charge and on 23.08.2013, charge was again framed against the accused. Hence, there are various technical lacunas in the present case. However, none of the parties have CC no.524317/2016 DPCC Vs. Narender Kumar Page 3 of 9 4 stated that they have suffered due to these technical lacunas.
11. It is also a matter of record that vide order dated 07.02.2014, Dr. B.M.S. Reddy was examined as CW-1, cross examined and discharged in post-charge evidence and matter was again adjourned for remaining post-charge evidence.
12. Thereafter, P.S. Pankaj was examined on 27.03.2014 and he could not be cross examined by the accused and accordingly, post-charge evidence was closed and matter was adjourned for SA. Thereafter, matter went to mediation cell but could not be settled there. It is also a matter of record that vide order dated 27.01.2016, the application of the accused U/s 311 Cr.P.C. for recalling PW Sh. P.S. Pankaj was allowed. Accordingly, Sh. P.S. Pankaj was cross examined by the accused.
13. Statement of accused was recorded. In his statement accused denied all the allegations and stated that he has been falsely implicated in this case. However, accused opted not to lead any defence evidence.
14. I have given my thoughtful consideration to the submissions advanced on behalf of the parties and have gone through the relevant records. I have also gone through the relevant provisions of Water (Prevention & Control of Pollution) Act, 1974.
CC no.524317/2016 DPCC Vs. Narender Kumar Page 4 of 9 5
15. The relevant provisions of section 24/25 & 26 of the Water (Prevention & Control of Pollution) Act, 1974 are reproduced for ready reference:-
24. Prohibition on use of stream or well for disposal of polluting matter, etc.- (1) Subject to the provisions of this section, -
(a)no person shall knowingly cause or permit any poisonous, noxious or polluting matter determined in accordance with such standards as may be laid down by the State Board to enter (whether directly or indirectly) into any [stream or well or sewer or on land], or
(b)no person shall knowingly cause or permit to enter into any stream any other matter which may tend, either directly or in combination with similar matters, to impede the proper flow of the water of the stream in a manner leading or likely to lead to a substantial aggravation of pollution due to other causes or of its consequences.
25. Restrictions on new outlets and new discharge - [(1) Subject to this provisions of this section, no person shall, without the previous consent of the State Board, -
i. establish or take any steps to establish any industry, operation or process, or any treatment and disposal system or any extension or addition thereto, which is likely to discharge sewage or trade effluent into a stream or well or sewer or on land (such discharge being hereafter in this section referred to as discharge of sewage); or ii. begin to make any new discharge of sewage
26. Provision regarding existing discharge of sewage or trade effluent. - Where immediately before the commencement of this Act any person was discharging any sewage or trade effluent into a [stream or well or sewer or on land], the provisions of section 25 shall, so far as may be, apply in relation to such person as they apply in relation to the person referred to in that section subject to the CC no.524317/2016 DPCC Vs. Narender Kumar Page 5 of 9 6 notification that the application for consent to be made under sub-section (2) of that section [shall be made on or before such date as may be specified by the State Govt. by notification in this behalf in the Official Gazette].
16. Complainant has to prove that accused was engaged in wet blue tanning and discharging trade effluent without any treatment facility and accused has also not taken any permission as required in the Act. Complaint has to further prove that accused has also discharged sewage or trade effluent into a strain or well or sewage.
17. To support its case, complainant has examined two witnesses i.e. Dr. B.M.S. Reddy Senior Environment Engineer and Sh. P.S. Pankaj, Environment Engineer.
18. CW-1 Sh. B.M.S. Reddy has duly proved the inspection report dated 17.07.1998 and closer directions are Ex. CW-1/A. An inspection dated 16.09.1998 which was carried out by him is Ex. CW-1/B. This witness has also proved the complaint Ex. CW-1/C. This witness has specifically deposed that CPCB has also categorized the activity of accused unit as hazardous in the criteria for industry classification. This witness has specifically deposed that accused was engaged in the activity of tanning of leather which is highly water polluting and was placed under "H" category of Delhi Master Plan, 2001. This witness has specifically deposed that unit of accused was in operation without mandatory consent as required under the Act.
CC no.524317/2016 DPCC Vs. Narender Kumar Page 6 of 9 7
19. Another witness Sh. P.S. Pankaj has also corroborated the testimony of Dr. B.M.S. Reddy. As per his testimony, an inspection of NNK Leather was conducted on 17.07.1998 and from the inspection, it was gathered that accused was carrying on the activity of tannery and the said activity is categorized as "H" category which is not permitted in Delhi.
20. Hence, both witnesses have specifically deposed that vide inspection dated 17.07.1998, the unit of accused was found violating the provisions of the water Act. Hence, both the witnesses are corroborating each other on material facts. Both witnesses were cross-examined by the accused. Various suggestions were given in the cross-examination which were denied by the witnesses. Dr. B.M.S.Reddy has specifically deposed in his cross examination that he had inspected the unit of the accused which he found that unit was in operation. This witness has specifically deposed in his cross-examination that unit was found in operation without mandatory consent under the Act. Sh. P.S. Pankaj has also specifically deposed in his cross-examination that the unit was not having the mandatory consent which is violation of provisions of Act and unit was involved in activity of tannery which itself is highly polluting activity and which falls under "H" category. It is to be kept in mind that document speaks itself. Complainant has duly proved the inspection dated 17.07.1998 which shows that accused has violated the provisions of the water Act. Both witnesses have passed the test of cross-examination. There is no material contradictions in their testimonies. I do not find CC no.524317/2016 DPCC Vs. Narender Kumar Page 7 of 9 8 any reason to disbelieve the statement of witnesses. Both witnesses have duly supported the case of the complainant.
21. In view of the aforesaid facts and circumstances, it is held that the complainant has proved its case beyond reasonable doubt against accused. Accordingly, accused is held guilty and convicted for offences punishable under sections 41/42/43/44 of the Water Act, 1974 for the violation of Section 24/25/26 and 33(A) of Water Act, 1974.
(Deepak Wason) ACMM (Spl Acts): Central District Tis Hazari Courts: Delhi Announced in open Court today i.e 7th of November, 2016.
CC no.524317/2016 DPCC Vs. Narender Kumar Page 8 of 9 9 CC no.524317/2016 DPCC Vs. Narender Kumar Page 9 of 9