A MIME type resolver's responsibility is to return on
request a given
FileObject
's
MIME content type.
A MIME type resolver can be any object implementing
MIMEResolver
.
All MIME resolvers in the system are consulted; they are found by
searching in
lookup
and conventionally should be registered in the folder
Services/MIMEResolver/ in a module's layer.
A MIME resolver would typically try to guess MIME type from characteristics of the file such as extension or first few lines of content. In the case that there is a MIME resolver recognizing Ant project files and another recognizing EJB deployment descriptors, then files with the *.xml extension would be parsed twice, at least for their root element.
To solve both of the above problems a developer should use a declarative MIME type resolver. The semantics of the MIME resolution may be specified in a simple manner and an implementation is available that will interpret the declaration as efficiently as possible.
The semantics is described in an XML document following a documented DTD. The DTD documentation provides details of the permitted syntax.
Create a valid XML document according to the MIME resolver DTD grammar and place it in a lookup-registration area (such as Services/MIMEResolver/).
A simple example follows which might be used to recognize Ant project files.
General resolver description file org/nb/modules/ant/mime-resolver.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE MIME-resolver PUBLIC "-//NetBeans//DTD MIME Resolver 1.0//EN" "http://www.netbeans.org/dtds/mime-resolver-1_0.dtd"> <MIME-resolver> <!-- Skip anything marked as definitely not ours. --> <file> <fattr name="known-ant-project-file" text="false"/> <exit/> </file> <!-- Accept immediately anything known as definitely ours. --> <file> <fattr name="known-ant-project-file" text="true"/> <resolver mime="text/x-ant+xml"/> </file> <!-- For other XML, look for <project default="..."/> --> <file> <ext name="xml"/> <resolver mime="text/x-ant+xml"> <xml-rule> <element name="project"> <attr name="default"/> </element> </xml-rule> </resolver> </file> </MIME-resolver>
First, the DOCTYPE ensures that the XML file will be recognized as
a resolver (by its public ID). The first <file/>
block is a negative template - if it matches the resolver terminates
and returns null
(meaning it made no decision about the
file). The second block automatically returns the Ant MIME type (here
an XML subtype) for files tagged as being definitely Ant scripts
(regardless of content and extension). The last block matches any XML
file (that is, *.xml) whose root element is
<project/>
and contains at least the attribute
default
(value unspecified).
Register this file using @MIMEResolver.Registration
annotation. It allows to specify nice display name and position among other resolvers in the Services/MIMEResolver
folder.
Note that an open position in the system filesystem should be specified. Smaller positions mean the resolver runs earlier, which is appropriate for commonly used file types, or resolvers which logically must take precedence over more generic resolvers.


Since the deﬁnition of the guiding-center variables (X,𝜀,μ,α) involves the macroscopic (equilibrium) ﬁelds B0 and E0, to further simplify Eq. (33), we need to separate electromagnetic ﬁeld into equilibrium and perturbation parts. Writing the electromagnetic ﬁeld as
|
| (34) |
and
|
| (35) |
then substituting these expressions into equation (33) and moving all terms involving the perturbed ﬁelds to the right-hand side, we obtain
where δR is deﬁned by Next, let us simplify the left-hand side of Eq. (36). Note that|
| (38) |
where vE0 is deﬁned by vE0 = cE0 × e∥∕B0, which is the E0 × B0 drift. Further note that
which can be combined with v ⋅ ∂fg∕∂X term, yielding v∥e∥⋅ ∂fg∕∂X. Finally note that Using Eqs. (38), (39), and (40), the left-hand side of equation (36) is written as which corresponds to Eq. (7) in Frieman-Chen’s paper[3]. [In Frieman-Chen’s equation (7), there is a term| (E − E0) ⋅ v |
where E is the macroscopic electric ﬁeld and is in general diﬀerent from the E0 introduced when deﬁning the guiding-center transformation. In my derivation E0 is chosen to be equal to the macroscopic electric ﬁeld thus the above term does not appear.]
In expression (41), Lg is often called the unperturbed Vlasov propagator in guiding-center coordinates (X,𝜀,μ,α).
Using the above results, Eq. (36) is written as
|
| (42) |
i.e.
It is instructive to consider some special cases of the above complicated equation. Consider the case that the equilibrium magnetic ﬁeld B0 is uniform and time-independent, E0 = 0, and the electrostatic limit δB = 0, then equation (43) is simpliﬁed as|
| (46) |


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.ApplicationConfig @this(gmpMain: gmp_main) @(calculationResponse:CalculationResponse)(implicit request: Request[_], context: config.GmpContext,messages: Messages,ac:ApplicationConfig) @gmpMain(title = Messages("gmp.contributions_earnings.header")+ " - " + Messages("service.title") + " - " + Messages("gov.uk"), supportLinkEnabled = false, dashboardLinkEnabled = !calculationResponse.hasErrors) { @if(calculationResponse.hasSuccessfulCalculations) { @includes.print_page() } @includes.back_link(Messages("gmp.contributions_earnings.header"))


I am an associate profesor at the Department of Computer Science at Aalborg University (Copenhagen Campus - Denmark). I have broad interests in probabilistic machine learning.
{% include head-dark.html %}
I am an associate profesor at the Department of Computer Science at Aalborg University (Copenhagen Campus - Denmark). I have broad interests in probabilistic machine learning.


When Cargo upgrades tokio-tcp to 0.1.3 the `TcpStream::split() is deprecated error happens and most of the tests start to fail:`12 14:55:07, rpc_clients:761] V4(<IP_ADDRESS>:10000) error Custom { kind: Other, error: StringError("TcpStream::split() is deprecated because it doesn\'t work as intended") }``
I get im missing info and understand MM2 is being worked on but also trying to help get other ETH clones/coins supported by the platform, so any info on if my efforts are in vain would be greatly helpful.
`1c0ed63` Merge pull request #1046 from jl777/kolo - jl777
`a77e5e4` Change NN ip - titomane
`390c60a` Merge pull request #1048 from titomane/patch-6 - jl777
`62cc77a` new ip for @dwy - himu007
`0a80cce` Merge pull request #1049 from himu007/patch-1 - jl777
Few days ago, on discord, blackjok3r said that he hopes that somebody will add a help message for -whitelistaddress=
Thank you to let me participate in your amazing project
Maybe it is better to add the help message under "Wallet options:" instead of "Connection options:" and I should put the help message in alphabetic order (that I didn't respect)
@cipig Please try to update your node(s) with the most recent commit and check that it doesn't crash anymore. You might see message Price request signature is null sometimes instead of crash, it's fine for now, MM2 will attempt to recreate the request in some time.


---
layout: post
title: links for 2007-07-24
date: 2007-07-24 00:00:00
---
-
"Recruit a party of adventurers from your household or office, and whenever one of you completes a chore, you can log it and claim XP."
-
"Men over 40 are now a minority as a constantly connected generation of 25-35 year old men and women are beginning to ignore other typical site categories in favour of virtual socialising."
-
Solid thinking from Rui, as ever.
-


Africa SDG Watch is a public platform to visualize and explore data, benchmark progress
towards the SDGs and track performance of development indicators.
Explore development data!


Windows
Windows Interactive Logon Architecture - technet
The Adventures of a KeyStroke: An in-depth look into Keyloggers on Windows
Capturing Windows 7 Credentials at Logon Using Custom Credential Provider
Collection - Empire


Landscaping gardens and outdoor spaces to exacting standards for private residential clients.
Garden maintenance for residential and commercial clients across Manchester.
Innovative and inspirational designs created for private, residential gardens, roof terraces, commercial outside spaces.
We undertake routine and specialist tasks that ensure your outside space looks its best all year round. The range of work we undertake is hugely varied and includes jet - washing and maintenance of patios and decking, installation and maintenance of irrigation systems.
For us no project it too big or too small, we can provide a service for every step of a project from planning and design to sourcing materials and installations. If you are looking for professional, local, reliable and affordable landscaping services in Manchester area, look no further.
Want to know more about our services? Or want a quote?
Make full use of your garden with a stylish patio or decking area. We offer an excellent landscape design service in Chorlton, Manchester, and surrounding areas Enjoy the outdoors with stunning, long-lasting structures that are built to last. Our experienced landscape gardeners construct decking and pergolas that transform your outdoor area into stylish, functional spaces where you can relax and entertain guests. We offer our services to domestic and commercial clients in the Greater Manchester area, The Urban Gardener offer a comprehensive range of services which include:


Two Pi radians.
The Java trigonometric functions
are static methods of the Math
.
They
take radians for their arguments
(as do such functions in most programming languages).
Here is the complete method:
private void drawStar( int x, int y, int size ) { int endX, endY ; // Six lines radiating from (x,y) for ( int i = 0; i<6; i++ ) { endX = x + (int)(size*Math.cos( (2*Math.PI/6)*i )); endY = y - (int)(size*Math.sin( (2*Math.PI/6)*i )); // Note "-" graph.drawLine( x, y, endX, endY ); } }
The circle is divided into six pieces.
The constant pi is available in Java as Math.PI
(2*Math.PI/6)
You could do the division and write this as (Math.PI/3)
The "-" sign is used for endY
because
y
increases in value going down.
Using a "+" would also work because of symmetry.


About Me
Lorem ipsum dolor sit amet, ad eam exerci persius accusamus, ipsum iudico iisque has no, id nam corrumpit sententiae. Ad sit illud labitur, scaevola maiestatis qui ei. Ex quidam facilisi pro, eu viris doming prompta vix, at delenit omittantur qui. Eos in iriure facilis forensibus. No autem populo iracundia vim, legendos praesent mel eu.
Why is art important?
Why you may ask?
How can I teach children to draw?
What students will learn?
- Drawing
- Character Development
- Commic things
- More Things
Testimonials
This is where your progarm testimonials will go.  In vel laudem aliquid quaestio, eruditi vulputate ei duo. Vis ut adhuc assentior. Mucius volutpat expetendis at est, ad possit integre aliquando vis. Est et diam zril exerci.
Packages
Package 1
Full Year Course: 25 weeks
Dates
September 1 - December 7
and January 15 - April 30
Price
$400
Package 2
Half Year Course: 12 weeks
Dates
September 1 - December 7
or January 15 - April 30
Price
$200 each
Package 3
Monthly Courses: 4 weeks
Dates
Starts monthly
Price
$150 each


Name
Page size
5
10
Name
Date of Birth
First
Previous
Next
Last
Total Count
Person Search
Name:
Date of Birth:


init needs to be the very first thing you call in your web app. It initializes the SDK with your App ID, and it also handles automatic logins when users return to your web app with an active session.
userbase.init({
appId: 'YOUR_APP_ID'
}).then((session) => {
// SDK initialized successfully
if (session.user) {
// there is a valid active session
console.log(session.user.username)
}
}).catch((e) => console.error(e))
Parameters
- appId [string] - The App ID you received when you created your Userbase app.
- sessionLength [number | optional | Unit: hours | Min: 0.084 (5 mins) | Max: 8760 (1 yr) ] - If resuming a session, this is the number of hours the user's session will extend. Defaults to 24.
- allowServerSideEncryption [boolean | optional] - If your app is set to use the Server-side encryption mode in your Admin panel, this value must be set to true.
- updateUserHandler [function | optional] - A callback that gets invoked when a user is updated. See the Advanced section below for more details.
Result
-
session [object] - Contains information about the last used session.
-
user [object] - If set, this contains information about the logged in user.
- username [string] - The user's username.
- userId [string] - The user's unique identifier.
- authToken [string] - The user's authentication token that can be used to verify the user is signed in via the Verify Auth Token endpoint in the Userbase Admin API.
- creationDate [string] - The date the user was created.
- email [string] - The user's email.
- profile [object] - The user's profile.
- protectedProfile [object] - The user's protected profile set via Update User in the Admin API.
- paymentsMode [string] - The app's payments mode set in your Admin panel. Can be 'disabled', 'test', or 'prod'.
- subscriptionStatus [string] - The user's subscription status. Can be 'active', 'incomplete', 'incomplete_expired', 'past_due', 'canceled', or 'unpaid'. Each status is explained further here.
- subscriptionPlanId [string] - The subscription plan the user is subscribed to.
- trialExpirationDate [string] - The date the user's trial expires.
- cancelSubscriptionAt [string] - The date the user's subscription is set to be canceled.
- lastUsedUsername [string] - If set, this is the username of the last user that was logged in.
Advanced
Errors
- ParamsMustBeObject
- AppIdMissing
- AppIdAlreadySet
- AppIdMustBeString
- AppIdCannotBeBlank
- AppIdNotValid
- UpdateUserHandlerMustBeFunction
- SessionLengthMustBeNumber
- SessionLengthTooShort
- SessionLengthTooLong
- UserAlreadySignedIn
- ServiceUnavailable


Archer follows the exploits of alcoholic, sex-addicted, momma’s boy and super spy Sterling Archer and his variety of coworkers. This show may be animated but it is definitely not for kids. The amount of sex, drugs and murder would definitely scar anyone who is used to watching Nickelodeon.
Each episode is for the most part independent; you can start watching anywhere and it will still be hilarious but I would recommend starting at the beginning. Archer does an amazing job of creating inside jokes with the audience that become funnier and funnier as time goes on.


Content:
Experience:
-
TEACHING ASSISTANT IN FINANCE
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
AUG 2019 – DEC 2019 • (Fixed-term contract).
Course main topics: Introduction to Corporate Finance including Efficient Market Hypothesis, bonds and stocks, portfolio theory, asset pricing models (CAPM), cost of capital under uncertainty, risk and return, capital structure.
Responsibilities: Grade the students’ tasks and exams. Monitor the students during the exams. Support the logistics management for the course activities.
-
TEACHING ASSISTANT IN ALGORITHMIC AND OBJECT-ORIENTED PROGRAMMING I
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
AUG 2018 – DEC 2018 & JAN 2019 – MAY 2019 • (Fixed-term contract).
Course main topics: Java introduction course. The goal is that the student has the capacity to build a simple Java application.
Responsibilities: Grade the students’ tasks and exams. Monitor the students during the exams and laboratories and support them by answering questions.
-
RESEARCH INTERN
HAVAS MEDIA - Bogota, Colombia.
DEC 2018 – JAN 2019 • (Fixed-term contract).
About the company: Publicity, communications and media agency with presence in more than 140 countries.
Responsibilities: Tabulate the results of multiple perception surveys about the clients’ and competitors’ products. Generate the corresponding reports.
-
TEACHING ASSISTANT IN OPTIMIZATION PRINCIPLES
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
AUG 2017 – DEC 2017 • (Fixed-term contract).
Course main topics: Mathematical modeling, linear optimization algorithms, problem formulation and implementation in specialized software.
Responsibilities: Grade the students’ tasks and exams. Monitor the students during the exams. Support and guide the students during the review sessions.
Academic Background:
-
SYSTEMS AND COMPUTING ENGINEERING • (GPA: 4.56/5.00)
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
AUG 2017 - OCT 2021 (EXPECTED)
-
INDUSTRIAL ENGINEERING • (GPA: 4.56/5.00)
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
AUG 2015 - MAR 2021 (EXPECTED)
-
ACADEMIC EXCHANGE
EINDHOVEN UNIVERSITY OF TECHNOLOGY - Eindhoven, The Netherlands.
FEB 2020 – JUL 2020
-
ENGINEERING LEADERSHIP PROGRAM
UNIVERSIDAD DE LOS ANDES - Bogota, Colombia.
JAN 2018 - NOV 2018
Languages
-
SPANISH
Native
-
ENGLISH
Advanced (C1)
-
FRENCH
Intermediate (B2)
Technology
-
Microsoft Office (Word, Advanced Excel (visual basic), PowerPoint, Access, Power BI), Java, Xpress MP (mosel), R, Python, iThink, Vensim, SQL, Simio, Auth0, JMeter, AWS, Microsoft Azure, Knime, JavaScript, HTML
Some projects I have worked on
-
Simulation of an investment portfolio
The goal of this project was to simulate the behavior of an investment portfolio containing positions in Apple, Bitcoin and Colombian Coffee. This was done using Markov chains. The final product was a tool developed in R with different analysis related to the portfolio and the different combinations, and with recommendations on when to sell/buy Bitcoin. A video explaining the tool is shown here:
-
Reciclapp
The goal of this project was to create a mobile application, for both Andorid and iOS, which allows people to recycle in an easier way. Initially it was planned to work in Bogota, Colombia. The goal is that allied companies that benefit from recycled material (either for raw material or to boost the environmental image) will give people benefits for recycling (coupons, discounts, etc). The user is able to see locations where they can recycle the different materials, learn how to recycle, earn points and redeem them, and more. An example of the user interface can be seen here:


SimpleTrack
Enter your issue in the box below.
Description
Send
Issue #
Date
Description
Options
{% for issue in issues %}
{{ issue.rowid }}
{{ issue.date }}
{{ issue.description }}
Open
Pending
Resolved
Rejected
Delete
{% endfor %}


Jupyter Notebook requires JavaScript.
Please enable it to proceed.
Logout
current mode
Menu
File
New
Save
Rename
Download
Edit
Find
Find & Replace
Key Map
Default
Sublime Text
Vim
emacs
View
Toggle Header
Toggle Line Numbers
Language


iGNU's blog
首页
分类
标签
归档
关于
Summary
Android
android-sdk-tools
android-selector-layer-list-shape
android-start-new-process
android-strong-and-weak-pointer-in-native
android-studio-install-and-config
android-studio-summary
android-studio-variants-and-types
android-understanding-binder-java-part
android-view-transform
C
non-local-jump
Clojure
clojure-layout-of-Var-and-Namespace
clojure-module-reference
clojure-sequence-seq-and-sequential
closure-vs-object
read-clojure-source-code-in-eclipse
Compiler
assembly-implementation-of-switch-statement-in-c
gcc-inline-assembly
link-procedure
position-independent-code-in-shared-library
Git
git-default-push-option-explanation
gitignore-syntax
learning-git
Gradle
create-standalone-gradle-plugin
JVM
how-stop-and-resume-the-world-in-JamVM
install-jamvm
Introduction-to-JIT
jamvm-interpreter
Linux
lposix-signal
lsoft-link-vs-hard-link
Misc
design-pattern-difference-of-proxy-decorator-and-adapter
explain-it-by-one-sentence-or-one-picture
OS
xv6-boot
xv6-init-process
xv6-process-and-scheduler
xv6-trap-and-interrupt
Programming
a-lisp-implementation-in-c
deadlock
endian-of-cpu
java-interface
radix-sort
relations-of-classes-in-uml
x86-registers
Tools
clean-unused-android-app-resource
cmd-tools-find-grep
intellij-idea-shortcut-list
my-tool-box
plantuml-tutorial
who-use-this-net-port-on-windows
Uncompleted
android-understanding-binder-native-part
bash-tips
Introduction-to-JamVM
memory-leak-on-android


DBC boot
I'm a full stack developer based in San Jose, California with a passion for all things technology.
My journey has just begun, check back in 9 weeks and be prepared to be astounded.
Or follow me on your favorite social network!


QuantConnect makes backtesting available for free and charges a small monthly fee to cover live algorithm trading. This offsets our costs and aligns our interests with yours - our client. We also work with brokerages to make your live trading free.
In 2018 driven by user demand, we launched Alpha Streams to systematically match good algorithms with hedge funds. Alpha Streams is a world first marketplace of hedge funds who compete to license your strategy. When a fund licenses your algorithm, we pass along 100% of your revenues to you and invoice the fund directly a revenue share equivalent to 30%.


RT @avdi: Dear restaurants: men change babies too. #kthxbye 11/10/2012, 4:01:06 PM Favs: 0 Retweets: 0 link


Learn Python
Session 01: Intro
Matthew Wedgwood<EMAIL_ADDRESS>Course Objectives
Language Proficiency
Python Standard Library
The Python Ecosystem
Important 3rd-party Projects
Today's Objectives
- Learn about Python
- Install Python
- Run some python scripts
Level Check
What's your Python experience level?
Python Documentation
Language Reference | Library Reference
docs.python.org
Python Package Index
pypi.python.org
Python 2 vs Python 3
What are the differences?
Which one should you start with?
Installing Python
with Homebrew
Other (lesser) options
Built-in Python | MacPython
Running Python Scripts
verbose (-v)
one-liners (-c)
Python Executables
#!/usr/bin/env python[3]
Homework
(just kidding)
(or am I?)
Next Class - Writing Python
Friday, 27 December


RJ-Actor Mantra On Working With Ashutosh Gowariker In Panipat: “A Long-Cherished Dream Is Fulfilled”
Directed by Ashutosh Gowariker, Panipat features Arjun Kapoor, Kriti Sanon and Sanjay Dutt in lead roles.
by IANSWell known Anchor-Actor-RJ Mantra, who will be seen playing the role of Najib ad-Dawlah in Ashutosh Gowariker’s upcoming historical drama “Panipat“, says it was his dream to work with the Oscar-nominated director.
“It was a long-cherished dream to work with Ashutosh sir. He is simply tremendous. We have all put our heart and soul into the film. It is a very tough character as Najib ad-Dawlah is malleable and cunning at the same time. Hoping I have done justice to the character, I am waiting for the audience’s reaction on the long-awaited spectacle,” Mantra said.
The film is based on the third battle of Panipat, which was fought between the Marathas and Ahmed Shah Abdali in 1761. “Panipat” stars Arjun Kapoor, Sanjay Dutt and Kriti Sanon in the lead roles.
Directed by Ashutosh Gowariker and backed by Ashutosh Gowariker Productions and also features seasoned actors like Zeenat Aman, Padmini Kolhapuri and Monish Bahl among others in pivotal roles.
Panipat is slated for a release on the 6th Of December 2019.


{% extends base %} {% load cms %} {% block main_content %}
{{ v.status_line }}
Cancel
There are no other versions of this item yet.


ledger
/
net.corda.v5.ledger.contracts
/
StaticPointer
/
pointer
pointer
val
pointer
:
StateRef
An identifier for the
ContractState
that this
StatePointer
points to.


DMDBase¶
Base module for the DMD: fit method must be implemented in inherited classes
DMDBase._build_lowrank_op |
Private method that computes the lowrank operator from the singular value decomposition of matrix X and the matrix Y. |
DMDBase._col_major_2darray |
Private method that takes as input the snapshots and stores them into a 2D matrix, by column. |
DMDBase._compute_amplitudes |
Compute the amplitude coefficients. |
DMDBase._compute_svd |
Truncated Singular Value Decomposition. |
DMDBase._compute_tlsq |
Compute Total Least Square. |
DMDBase._eig_from_lowrank_op |
Private method that computes eigenvalues and eigenvectors of the high-dimensional operator from the low-dimensional operator and the input matrix. |
DMDBase.atilde |
Get the reduced Koopman operator A, called A tilde. |
DMDBase.dmd_timesteps |
Get the timesteps of the reconstructed states. |
DMDBase.dynamics |
Get the time evolution of each mode. |
DMDBase.eigs |
Get the eigenvalues of A tilde. |
DMDBase.fit |
Abstract method to fit the snapshots matrices. |
DMDBase.modes |
Get the matrix containing the DMD modes, stored by column. |
DMDBase.original_timesteps |
Get the timesteps of the original snapshot. |
DMDBase.plot_eigs |
Plot the eigenvalues. |
DMDBase.plot_modes_2D |
Plot the DMD Modes. |
DMDBase.plot_snapshots_2D |
Plot the snapshots. |
DMDBase.reconstructed_data |
Get the reconstructed data. |
DMDBase.snapshots |
Get the original input data. |
-
class
DMDBase
(svd_rank=0, tlsq_rank=0, exact=False, opt=False)[source] Bases:
future.types.newobject.newobject
Dynamic Mode Decomposition base class.
Parameters: - svd_rank (int) – rank truncation in SVD. If 0, the method computes the optimal rank and uses it for truncation; if positive number, the method uses the argument for the truncation; if -1, the method does not compute truncation.
- tlsq_rank (int) – rank truncation computing Total Least Square. Default is 0, that means no truncation.
- exact (bool) – flag to compute either exact DMD or projected DMD. Default is False.
- opt (bool) – flag to compute optimized DMD. Default is False.
Variables: - original_time (dict) –
dictionary that contains information about the time window where the system is sampled:
- t0 is the time of the first input snapshot;
- tend is the time of the last input snapshot;
- dt is the delta time between the snapshots.
- dmd_time (dict) –
dictionary that contains information about the time window where the system is reconstructed:
- t0 is the time of the first approximated solution;
- tend is the time of the last approximated solution;
- dt is the delta time between the approximated solutions.
-
static
_build_lowrank_op
(U, s, V, Y)[source] Private method that computes the lowrank operator from the singular value decomposition of matrix X and the matrix Y.
Parameters: - U (numpy.ndarray) – 2D matrix that contains the left-singular vectors of X, stored by column.
- s (numpy.ndarray) – 1D array that contains the singular values of X.
- V (numpy.ndarray) – 2D matrix that contains the right-singular vectors of X, stored by row.
- Y (numpy.ndarray) – input matrix Y.
Returns: the lowrank operator
Return type:
-
static
_col_major_2darray
(X)[source] Private method that takes as input the snapshots and stores them into a 2D matrix, by column. If the input data is already formatted as 2D array, the method saves it, otherwise it also saves the original snapshots shape and reshapes the snapshots.
Parameters: X (int or numpy.ndarray) – the input snapshots. Returns: the 2D matrix that contains the flatten snapshots, the shape of original snapshots. Return type: numpy.ndarray, tuple
-
_compute_amplitudes
(modes, snapshots, eigs, opt)[source] Compute the amplitude coefficients. If opt is False the amplitudes are computed by minimizing the error between the modes and the first snapshot; if opt is True the amplitudes are computed by minimizing the error between the modes and all the snapshots, at the expense of bigger computational cost.
Parameters: - modes (numpy.ndarray) – 2D matrix that contains the modes, stored by column.
- snapshots (numpy.ndarray) – 2D matrix that contains the original snapshots, stored by column.
- eigs (numpy.ndarray) – array that contains the eigenvalues of the linear operator.
- opt (bool) – flag for computing the optimal amplitudes of the DMD modes, minimizing the error between the time evolution and all the original snapshots. If false the amplitudes are computed using only the initial condition, that is snapshots[0].
Returns: the amplitudes array
Return type: References for optimal amplitudes: Jovanovic et al. 2014, Sparsity-promoting dynamic mode decomposition, https://hal-polytechnique.archives-ouvertes.fr/hal-00995141/document
-
static
_compute_svd
(X, svd_rank)[source] Truncated Singular Value Decomposition.
Parameters: - X (numpy.ndarray) – the matrix to decompose.
- svd_rank (int or float) – the rank for the truncation; If 0, the method computes the optimal rank and uses it for truncation; if positive interger, the method uses the argument for the truncation; if float between 0 and 1, the rank is the number of the biggest singular values that are needed to reach the ‘energy’ specified by svd_rank; if -1, the method does not compute truncation.
Returns: the truncated left-singular vectors matrix, the truncated singular values array, the truncated right-singular vectors matrix.
Return type: numpy.ndarray, numpy.ndarray, numpy.ndarray
References: Gavish, Matan, and David L. Donoho, The optimal hard threshold for singular values is, IEEE Transactions on Information Theory 60.8 (2014): 5040-5053.
-
static
_compute_tlsq
(X, Y, tlsq_rank)[source] Compute Total Least Square.
Parameters: - X (numpy.ndarray) – the first matrix;
- Y (numpy.ndarray) – the second matrix;
- tlsq_rank (int) – the rank for the truncation; If 0, the method does not compute any noise reduction; if positive number, the method uses the argument for the SVD truncation used in the TLSQ method.
Returns: the denoised matrix X, the denoised matrix Y
Return type: numpy.ndarray, numpy.ndarray
References: https://arxiv.org/pdf/1703.11004.pdf https://arxiv.org/pdf/1502.03854.pdf
-
static
_eig_from_lowrank_op
(Atilde, Y, U, s, V, exact)[source] Private method that computes eigenvalues and eigenvectors of the high-dimensional operator from the low-dimensional operator and the input matrix.
Parameters: - Atilde (numpy.ndarray) – the lowrank operator.
- Y (numpy.ndarray) – input matrix Y.
- U (numpy.ndarray) – 2D matrix that contains the left-singular vectors of X, stored by column.
- s (numpy.ndarray) – 1D array that contains the singular values of X.
- V (numpy.ndarray) – 2D matrix that contains the right-singular vectors of X, stored by row.
- exact (bool) – if True, the exact modes are computed; otherwise, the projected ones are computed.
Returns: eigenvalues, eigenvectors
Return type: numpy.ndarray, numpy.ndarray
-
amplitudes
Get the coefficients that minimize the error between the original system and the reconstructed one. For futher information, see dmdbase._compute_amplitudes.
Returns: the array that contains the amplitudes coefficient. Return type: numpy.ndarray
-
atilde
Get the reduced Koopman operator A, called A tilde.
Returns: the reduced Koopman operator A. Return type: numpy.ndarray
-
dmd_timesteps
Get the timesteps of the reconstructed states.
Returns: the time intervals of the original snapshots. Return type: numpy.ndarray
-
dynamics
Get the time evolution of each mode.
Returns: the matrix that contains all the time evolution, stored by row. Return type: numpy.ndarray
-
eigs
Get the eigenvalues of A tilde.
Returns: the eigenvalues from the eigendecomposition of atilde. Return type: numpy.ndarray
-
fit
(X)[source] Abstract method to fit the snapshots matrices.
Not implemented, it has to be implemented in subclasses.
-
frequency
Get the amplitude spectrum.
Returns: the array that contains the frequencies of the eigenvalues. Return type: numpy.ndarray
-
modes
Get the matrix containing the DMD modes, stored by column.
Returns: the matrix containing the DMD modes. Return type: numpy.ndarray
-
original_timesteps
Get the timesteps of the original snapshot.
Returns: the time intervals of the original snapshots. Return type: numpy.ndarray
-
plot_eigs
(show_axes=True, show_unit_circle=True, figsize=(8, 8), title='')[source] Plot the eigenvalues.
Parameters: - show_axes (bool) – if True, the axes will be showed in the plot. Default is True.
- show_unit_circle (bool) – if True, the circle with unitary radius and center in the origin will be showed. Default is True.
- figsize (tuple(int,int)) – tuple in inches defining the figure size. Default is (8, 8).
- title (str) – title of the plot.
-
plot_modes_2D
(index_mode=None, filename=None, x=None, y=None, order='C', figsize=(8, 8))[source] Plot the DMD Modes.
Parameters: - index_mode (int or sequence(int)) – the index of the modes to plot. By default, all the modes are plotted.
- filename (str) – if specified, the plot is saved at filename.
- x (numpy.ndarray) – domain abscissa.
- y (numpy.ndarray) – domain ordinate
- order ({'C', 'F', 'A'}, default 'C'.) – read the elements of snapshots using this index order, and place the elements into the reshaped array using this index order. It has to be the same used to store the snapshot. ‘C’ means to read/ write the elements using C-like index order, with the last axis index changing fastest, back to the first axis index changing slowest. ‘F’ means to read / write the elements using Fortran-like index order, with the first index changing fastest, and the last index changing slowest. Note that the ‘C’ and ‘F’ options take no account of the memory layout of the underlying array, and only refer to the order of indexing. ‘A’ means to read / write the elements in Fortran-like index order if a is Fortran contiguous in memory, C-like order otherwise.
- figsize (tuple(int,int)) – tuple in inches defining the figure size. Default is (8, 8).
-
plot_snapshots_2D
(index_snap=None, filename=None, x=None, y=None, order='C', figsize=(8, 8))[source] Plot the snapshots.
Parameters: - index_snap (int or sequence(int)) – the index of the snapshots to plot. By default, all the snapshots are plotted.
- filename (str) – if specified, the plot is saved at filename.
- x (numpy.ndarray) – domain abscissa.
- y (numpy.ndarray) – domain ordinate
- order ({'C', 'F', 'A'}, default 'C'.) – read the elements of snapshots using this index order, and place the elements into the reshaped array using this index order. It has to be the same used to store the snapshot. ‘C’ means to read/ write the elements using C-like index order, with the last axis index changing fastest, back to the first axis index changing slowest. ‘F’ means to read / write the elements using Fortran-like index order, with the first index changing fastest, and the last index changing slowest. Note that the ‘C’ and ‘F’ options take no account of the memory layout of the underlying array, and only refer to the order of indexing. ‘A’ means to read / write the elements in Fortran-like index order if a is Fortran contiguous in memory, C-like order otherwise.
- figsize (tuple(int,int)) – tuple in inches defining the figure size. Default is (8, 8).
-
reconstructed_data
Get the reconstructed data.
Returns: the matrix that contains the reconstructed snapshots. Return type: numpy.ndarray
-
snapshots
Get the original input data.
Returns: the matrix that contains the original snapshots. Return type: numpy.ndarray


Are you sure you want to remove all attendees from the list?
Add attendees by selecting organizational units, and/or individual users. You also have the option to scan QR codes.
Are you sure you want to remove all attendees from the list?
| User Name | Full Name | Signature |
|---|


Nextract.Plugins.Core.Sort Class
Mixes in methods used to sort data
Methods
sortIn
-
propertiesToSortBy
-
ordersToSortBy
Sorts a stream of objects. Be sure to call Plugins.Core.Sort.sortOut in the pipe() immediately after the call to sortIn.
Parameters:
-
propertiesToSortBy
ArrayAn array of properties to sort by
-
ordersToSortBy
ArrayAn array of sort directions. The number of array elements must match the number of elements provided in propertiesToSortBy. The index of each element will be matched against the index of propertiesToSortBy. Valid values are "asc" & "desc".
Returns:
Retuns 1 stream object with information expected as input to sortOut
Example:
someReadableStream.pipe(transform.Core.Sort.sortIn(['user', 'age'], ['asc', 'desc'])).pipe(transform.Core.Sort.sortOut())
sortOut
-
propertiesToSortBy
-
ordersToSortBy
Outputs a stream of sorted objects. Must be used in first pipe() immediately after the call to Plugins.Core.Sort.sortIn to pickup the sorted output.
Parameters:
-
propertiesToSortBy
ArrayAn array of properties to sort by
-
ordersToSortBy
ArrayAn array of sort directions. The number of array elements must match the number of elements provided in propertiesToSortBy. The index of each element will be matched against the index of propertiesToSortBy. Valid values are "asc" & "desc".
Returns:
Sorted read/write stream transform to use in conjuction with pipe()
Example:
someReadableStream.pipe(transform.Core.Sort.sortIn(['user', 'age'], ['asc', 'desc'])).pipe(transform.Core.Sort.sortOut())


public class ConnectionManager
extends totalcross.lang.Object
|
Parameter |
Description |
apn |
The APN over which the connection will be made. |
username |
The user name to use to connect to the APN. May be omitted if not required by the specified APN. |
password |
The password to use to connect to the APN. May be omitted if not required by the specified APN. |
| Modifier and Type | Field and Description |
|---|---|
static int |
CELLULAR
This flag indicates a cellular connection.
|
static int |
CRADLE
Deprecated.
Not supported on the newer devices.
|
static int |
GPRS
Deprecated.
As of TotalCross 1.20, replaced by
CELLULAR . |
static int |
WIFI
This flag indicates a Wi-Fi connection.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
close()
Deprecated.
Not necessary anymore.
|
static String |
getHostAddress(String hostName)
Returns the IP address of the given host in textual representation, or null if this information is not available.
|
static String |
getHostName(String hostAddress)
Returns the name of the given host, or null if this information is not available.
|
static String |
getLocalHost()
Returns a textual representation of the IP address currently assigned to this device.
|
static String |
getLocalHostName()
Gets the host name for this device.
|
static boolean |
isAvailable(int type)
Checks if an specific connection is currently available.
|
static boolean |
isInternetAccessible()
Returns true if we can connect to google.com using port 80, false otherwise.
|
static void |
open()
Deprecated.
Not necessary anymore.
|
static void |
open(int type)
Deprecated.
Not necessary anymore.
|
static void |
setDefaultConfiguration(int type,
String configuration)
Deprecated.
Not used on the newer devices.
|
@Deprecated public static final int CRADLE
public static final int WIFI
public static final int CELLULAR
@Deprecated public static final int GPRS
CELLULAR
.@Deprecated public static void setDefaultConfiguration(int type, String configuration) throws IOException
type
- one of the connection type constants defined by the ConnectionManager.configuration
- list of parameters in the format "parameter=value" separated by a semi-colon ";".IllegalArgumentIOException
- if type
is invalid.IOException
- if an I/O error occurs while configuring the connection.CRADLE
,
WIFI
,
CELLULAR
public static boolean isAvailable(int type) throws IOException
type
- one of the connection type constants defined by the ConnectionManager.IllegalArgumentIOException
- if type
is invalid.IOException
- if an I/O error occurs while checking connection availability.CRADLE
,
WIFI
,
CELLULAR
@Deprecated public static void open() throws IOException
CRADLE
, WIFI
and CELLULAR
.IOException
- if an I/O error occurs while opening the connection.@Deprecated public static void open(int type) throws IOException
type
- one of the connection type constants defined by the ConnectionManager.IllegalArgumentIOException
- if type
is invalid.IOException
- if an I/O error occurs while opening the connection.CRADLE
,
WIFI
,
CELLULAR
@Deprecated public static void close() throws IOException
IOException
- if an I/O error occurs while closing a connection.public static String getHostAddress(String hostName) throws UnknownHostException
hostName
- the host's name.UnknownHostException
- if the given host is unknown or cannot be reached.public static String getHostName(String hostAddress) throws UnknownHostException
hostAddress
- textual representation of the host's IP address.UnknownHostException
- if the given host is unknown or cannot be reached.public static String getLocalHost() throws UnknownHostException
UnknownHostException
- if the local host is unknown or cannot be reached.public static String getLocalHostName() throws UnknownHostException
UnknownHostException
public static boolean isInternetAccessible()


sulcalc can calculate a lot of cool things in all generations of Pokemon including ORAS, SM, and even older gens like RBY and GSC. Unfortunately, it can't do that without Javascript enabled.


One of Swift’s most notable, fundamental and pervasive constructs is the Optional, to help deal with the null
problem faced by any language with pointers. This is a great way to represent the absence of an object, and denote anything that is not required and can be absent as such. Then, you get some great ways to validate you have everything you need before working with variables to perform a task.
Swift, like Objective-C and many other languages before it, also has a way to divert the normal flow of execution in exceptional circumstances. So, if your validation routine decides it has hit a situation where it can no longer proceed, it can throw
an error and bail out early.
As you shuttle data between disks, servers, and capture it from and present it to your users, you probably have many functions to perform specific transformations or I/O tasks. You have been writing more functional code since moving to Swift, haven’t you? Well, let’s talk about return types and describing function failures!
Consider how many C or Objective-C APIs work: return an integer or boolean result that represents the status, -1 often representing an error in the integer case. It’s tempting in Swift to use the return value of a function to signify something went wrong, by making it optional and returning nil
.
In Objective-C, the inout error parameter was the pattern to communicate errors, with a special return value to signal the error occurred. Swift encourages the use of do
/try
/catch
to divert execution using throw
, where Objective-C discouraged using exceptions for all but actual programmer error.
In both of these examples, assume:
I like several things about the second approach. It saves me from a clunky guard
statement in the middle layer; using try
clears away edge cases and the code more clearly describes intention. All error handling logic that involves user notification cohesively resides in the presentation layer, whereas in the first example there can be many places that could plausibly handle the error, forcing you to expend more cognitive process to make those decisions.
So then what should an optional be used for? To represent the absence of something. Not the absense of something because an error occurred. Just absence.
The difference becomes a bit more clear when you consider collections. What is the difference between an empty collection and a collection that is not there? In both cases, you have zero things that would be found in such a collection. The difference is in how all the code involved in shuffling the container from A to B must handle all possible combinations.
If you need to do some validation etc. at multiple stages along the way, you’ll need to work around the optionality of the collection. Whereas, if you always have a container, your logic can be more streamlined. The same loops and function calls work the same way whether there are 0 or 100 elements in an array.
And again, by using Swift’s error system, you’re much more expressively describing possible failures.
Think about what you’ll need to do with an error. In truly exceptional scenarios, the app is not going to function the way the user expects, so you’re probably going to need to show them an alert. This is a great use case for throw
ing errors. You can bubble up errors from any application layer all the way to the UI, even transforming errors at the boundaries between layers. (You may want to log an error received from your server, then repackage it with a user-friendly message and propogate it through your controller logic until it reaches the presentation layer.)
All the intervening code paths that return things to other things might then not need to worry about optionals. That means many less guards
, if lets
, optional chaining and nil
coalescing along the way. Instead, you can just prefix other function calls with try
(and sometimes perhaps try?
). Using these constructs to communicate errors is an abuse of the optional system and hides information about the errors that would help the compiler and other developers.
Swift’s error type system has recently seen improvements and I’m sure as time goes on we’ll see more improvements to the overall propogation mechanisms. They provide a great way to describe the failure modes of your routines, so always consider if what you’re really trying to communicate is best handled with Swift’s errors. I default to the strategy described here, deviating only if the model really calls for it.
🙏🏻 Enjoy the post? Please help support more like it by buying me a cup of coffee!.
💡 Suggestions, questions, comments? Please submit a PR!.


--- layout: post authors: ["Raniere Silva", "Andy Boughton"] title: "Announcing the Lesson Validator" date: 2014-12-05 time: "16:00:00" tags: ["Tooling"] ---
Thanks to the work of Andy Boughton and Raniere Silva, we now have a validator that determines whether lessons fit the new lesson template. This post explains what it does, where there is room for improvement, and how you can help.
The validator uses Python's CommonMark parser to create an abstract syntax tree from a Markdown file. This allows our code to focus on validating templates, rather than re-implementing a parser that can handle variations in Markdown.
Because each template has slightly different needs,
the validator is implemented using an object-oriented approach
that allows individual tests to be customized or re-used as needed.
Each template validator class is a child of MarkdownValidator
,
so to understand how the validator works for pages/LICENSE.md
,
you just need to look at the special methods in LicensePageValidator
,
and whatever code is inherited or used from the parent class MarkdownValidator
.
The validator currently performs the following checks on all templates:
minutes
must be numeric).
## Heading
).
Additional checks are performed on certain templates as needed:
pages/reference.md
must be formatted correctly.
pages/LICENSE.md
file must not be changed.
$ tools/check pages/
.
Let us know if the validator is too restrictive for your lessons,
or if it misses a common problem.
Several of the core Software Carpentry lessons have recently been ported to the new template. As we apply the template to lessons, the original template specification has continued to evolve—see the lesson template's repository for the latest description. The validator reflects these changes.
For example, authors no longer need to specify CSS styles in topic files, so we can write:
> ## Learning Objectives > > * Learning objective 1 > * Learning objective 2
instead of:
> ## Learning Objectives {.objectives} > > * Learning objective 1 > * Learning objective 2


Location tracing¶
Note
This feature is still being worked on and all information is therefore prone to change.
Location tracing is closely linked to activity tracing. The only major difference is when the files are generated: an activity trace is only created at the end of the simulation run, whereas an location trace is created at the start of the simulation and at every GVT boundary where at least one migration happens. Location traces will always contain the time at which the location as it is presented actually went into effect.
Enabling location tracing is as simple as:
x, y = 20, 20
model = FireSpread(x, y)
sim = Simulator(model)
sim.setTerminationTime(1000.0)
sim.setLocationCellMap(True, x, y)
sim.simulate()
Note that this again shows the location in a Cell view. If this kind of visualisation is not desirable (or possible), you are advised to use standard Visualisation using Graphviz.
An example output of location tracing is given below. It isn’t really spectacular, as it only shows you your allocations again.
Cell view visualisation is completely different from the regular Visualisation, as it contains some domain specific information and thus more closely resembles your interpretation of the model. Drawing a 6x6 grid with the generic visualisation, would generate something non-intuitive like the ‘curly’ graph below.


That's ok. Education, fundamentally, is about challenging what you already know and learning about new things. You may find, through your research and work in this class, that your views don't change. You may find that they do. Our goal, in Math for the People, is to present factual information and to teach you the quantitative tools you need to understand that information. We encourage you to look at other data, work through your own examples, and see how it agrees or disagrees with what is presented in the text. While we do not hesitate to present our own viewpoint, which we believe is supported by the quantitative data, these are complicated problems and there may be other solutions we're not considering.
in-context


What is sql?¶
SQL stands for Structured Query Language and refers to a domain-specific programming language used to manipulate data stored in a RDBMS.
What is rdms and how data is organized in the back-end?
A relational database management system (RDBMS) is a collection of programs and capabilities that enable IT teams and others to create, update, administer and otherwise interact with a relational database. Most commercial RDBMSs use Structured Query Language (SQL) to access the database, although SQL was invented after the initial development of the relational model and is not necessary for its use. Some top RDMS include Mysql, Microsoft sql server,Oracle database etc.These RDMS helps a lot in managing the data.
SQL vulnerability¶
SQL Injection vulnerability is one of the most basic, common and oldest vulnerabilities that enables us to get access to the website backend. The backend data may include credit card details, usernames, passwords and any such sensitive data.
SQL injection¶
SQL injection is a kind of web application attack where attacker can execute malicious scripts that run in the back-end and can steal the data from the back-end.
Types of SQL injection¶
SQL injection is broadly classified into two kinds.
- Error based injection
- Blind injection
Error based injections¶
Error based SQLi is an in-band SQL Injection technique that relies on error messages thrown by the database server to obtain information about the structure of the database.
Blind injections¶
Blind based SQL injection is a where no data is actually transfered via the web application and the attacked would not be able to see the result of an attack. The attacker is instead able to reconstruct the database structure by sending payloads, observing the web app’s response and the resulting behaviour of the database server.. This attack is often used when the web application is configured to show generic error messages, but has not mitigated the code that is vulnerable to SQL injection.
Basic database query¶
The basic database query(SQL syntax) in the most cases be like:
Select attribute1,attribute2 from TABLE_NAME where attribute1 = ‘string1’ and attribute2 = ‘string2’
The above shown is the solid format for a basic database query. It could be
- Single quoted ''
- Double quoted ""
- Single quoted with brackets ('')
- Double quoted with brackets ("")
Injecting using error based¶
First step involves finding what kind or more precisely, we must be able to guess the syntax that is used in the backend. For this we must be able to produce errors in the website , so it shows out the whole syntax along with the error.
Breaking single quoted query¶
When the query is of single quoted type we shall break using the injection below.
1 | Select attribute1,attribute2 from TABLE_NAME where attribute1 = ‘string1’ and attribute2 = ‘string2’ |
Suppose we have two input slots whether it be in POST method or GET method we shall input the following to break the query.
String1 = ‘ OR 1 --
Here you are breaking the left quote using ‘ and making the statement true using OR 1 (Any statement with OR 1 becomes true)and commenting out the rest of the query using -- -
Similarly you can break the rest of the queries.
Breaking double quoted query¶
1 | String1 = “ OR 1-- - |
Breaking single quote with brackets¶
1 | String1 = ‘) OR 1 -- - |
Double quotes with brackets¶
1 | String1 = “) OR 1 -- - |
Dumping data using injections¶
In most of the cases backend uses mysql and let us see how to dump data if the backend uses mysql. Every server using mysql as RDBMS has a common database called information_schema.So one can use this database information_schema to dump the data required.You can see the information_schema database as shown below.
Now we need to use this information_schema database to dump the data.
Use of union select statement¶
The SQL UNION operator is used to combine the result sets of 2 or more SELECT statements. It removes duplicate rows between the various SELECT statements.
1 | SELECT STATEMENT_1 UNION SELECT STATEMENT_2. |
NOTE: The select statements used before and after union must have the same number of columns!!!
Now let's start data dumping¶
1 | The below shown is an example of typical web application that triggers error! |
When we inject ?id = ‘ the query breaks and gives the following error.
Now let us see what conclusions we could draw from this.
Let’s manipulate the error notice.
'''' LIMIT 0,1'
The first most ‘ and the last most ‘ indicates the error statement so let us remove them.
“‘ LIMIT 0,1 Now the input we give i.e ‘ goes between the two quotations.
So we get “‘!!
By this we can conclude it is single quoted query!!;)
Now let’s dump the data!
We shall first make the statement false someway and add an union select statement that dumps data.
If we put id=-1 the statement turns false as id would never be negative(This is a mere guess and you need to try random guesses to break the query ) As we came to know that it is of single quoted type we shall break it as below.First let’s guess the statement1.!
First we need to find out the number of attributes in statement1.For this we shall use union select.Let’s see how it is done!! For suppose we give ?id=-1’ union select 1,2 -- (Commenting is to make the query meaningful)
We get an error as SELECT statements have a different number of queries.
So we shall guess another random number as the number of columns. Let’s give query as ?id = -1’ union select 1,2,3-- - and see what happens.
We did not get any error and 2,3 are shown.We could actually say the things we give at second and third position gets reflected in the page.And we also conclude that there exists three columns in the first query.
So statement1 could be something like SELECT id,Loginname,Password from SPECIFIC TABLE where id = ‘OUR input’ So we need to frame statement2 accordingly and dump the data using information_schema.
First we shall find what database has all the data of usernames and passwords.We shall give the query as ?id=-1’ union select 1,database(),version()-- -
Reminder:All these follows sql syntax which shows the database name and version when we input database() and version(). Let’s see what happens.
By this we can figure out that database name is “security”.Now sequentially we shall find out table names ,column names and dump the usernames and passwords.
Lets see the tables in information_schema database. We can see a table named TABLES which contains data of all the tables in the backend. TABLES table contains a attribute named TABLE_SCHEMA which contains the database names and other attribute TABLE_NAME that contains names of the entire TABLE_NAMES.
So the query goes as follows. ?id=-1’ union select 1,group_concat(TABLE_NAME) FROM information_schema.TABLES where TABLE_SCHEMA = database()-- - The above query will give the list of all tables in the database the web server is using in the web application.
How about finding attributes in a specific table?? The query goes as follows:
?id=-1 union select 1,group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME = “Your required table name”!
Using these two we can dump the data. Tables in the above example are shown below:
Columns in the users table can be extracted as shown below.
And the final query that dumps the data:
id=-1’ union select 1,group_concat(username),group_concat(password) from users -- -
Blind injections¶
Blind injections are similar to that of error based injections but the website does not respond with errors instead it shows a special kind of response for a legal query.
It is of two kinds
- Boolean based
- Time based
Boolean based¶
You shall do the all above said information_schema, union select thing using boolean “AND” and “OR”
Time based¶
You shall try dumping using sleep() function in mysql.
Filters
Not all sites shall allow everything that is given as a input.There will be sites that shall filter white-spaces ,commenting,Union,select ,quotations etc .Try exploiting out them!!;)


AIDS disease HIV Africa Ebola health people June Accessed Health new {border-style countries (). diseases px;} #ffffff;} World million infected mortality (WHO African funding global infectious malaria Malaria infections treatment number âˆ’ However, Neonatal burden children population respiratory virus Global demographic international px; reduce transmission {font-family â€" ART Geneva: United WHO. birth development font-size means risk Bank Sub-Saharan US$ Zika billion cases diseases. domestic double; drugs effective epidemic higher human increase increased infection life sub-Saharan world years AIDS, Africa, Africa. Emergency Fund Lower Organization. Tuberculosis West b). border-color border-width chapter child concern continent death drug economic estimated estimates falling growing heart humans impact include key likely maternal particularly person public related remain research response result significant solid; spread vaccine zoonotic {font-style {font-weight AIDS. Demographic Diarrheal International Organization People Table Uganda access age better bold care caused challenges control countries, courier; disease, em; encephalopathy epidemic, epidemics expectancy faces growth identified including living major mean needs occurred outbreak outbreaks place political preterm prevention. pt;} rates reducing region resources seen syndrome treatment, tuberculosis viral virus. years,


Section 2 - Score how much the following emotions exist in your team?
Low = 1 / High = 6 (Individuals don't trust one another, this would score a 1).
Q4 - The team is united when challenged
Q5 - The team is empathetic when errors are made
Q6 - The team reveals the hidden talents of its members
Q7 - The team has skills it does not utilise
Q8 - Negativity within the team is cleanly addressed
Q9 - The team makes assumptions about members that are unfounded
Q10 - The team has a bright future ahead of it
Q11 - The team celebrates its members


Home
Hey - welcome to my portfolio! I created this portfolio to add a personal side to my online presence while also challenging myself to learn enough HTML and CSS to build my own website from scratch.
Click the tabs to the left to learn more about me and my past experiences. If you have any questions, please do not hesitate to contact me. You can find me on Facebook, GitHub, LinkedIn, and many other online networks.
Thank you in advance for visiting and - most importantly - I hope you enjoy reading a bit about me!
| Contact Me |


CREATING SYMBOLS
creating a new symbol and schematic by cloning
A useful approach to create a new component (both symbol and schematic view) is to 'clone' it from a similar existing component: after copying a component to a different place in the schematic, press the edit property bindkey (q key) and set a new name for the symbol, set also the copy cell checkbox:
After pressing OK a copy (both schematic and symbol views) of the previously selected component will be created. After this clone operation modifications can be made on the newly created schematic and symbol views without affecting the original component.
for more info on symbols see the Tutorial


| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Iso3166
Related to a Iso3166 code
|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Iso3166
Related to a Iso3166 code
|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Iso3166
Related to a Iso3166 code
|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Zone
Related to a Zone-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Region
Related to a Region-scoped resource.
|
| Class and Description |
|---|
| Provider
Designates that this Resource qualifies an object to a provider of a rest service.
|
Copyright © 2009-2013 The Apache Software Foundation. All Rights Reserved.


assigned
by Peter Green at 2020-07-23 14:12:14.assigned
by None at 2020-07-23 15:08:10.Moot, since the CPF import is broken. Closing--see #30
assigned
by None at 2020-07-23 15:13:18.assigned
by None at 2020-07-23 15:14:32.closing--see #30
closed
by None at 2020-07-23 15:15:24.xlink:titles that are too long extent statements containing comma separators missing extent statements
referenced
by Kevin Reiss at 2020-07-23 19:16:25.merged
by Kevin Reiss at 2020-07-23 19:16:25.closed
by Kevin Reiss at 2020-07-23 19:16:25.This .tar.gz file was successfully uploaded - approximately 10 hours were needed for this be successfully uploaded using the browser UI:
Perhaps Google Drive could also suffice as an alternative storage solution.
@kelynch To clarify, this isn't per item, but per collection? Is it per "Figgy Collection", or per EAD? If it's per Figgy collection, what happens if an item is a member of two collections? Is it one concurrent checkout per collection it's part of?
This is per EAD collection. We may also be able to make the number of seats available be global across all EAD. @escowles is checking with stakeholders.
Wireframes ticket #4126
labeled
by Kate Lynch at 2020-07-23 16:12:29.labeled
by Kate Lynch at 2020-07-23 16:12:29.mentioned
by Kate Lynch at 2020-07-23 17:18:59.subscribed
by Kate Lynch at 2020-07-23 17:18:59.mentioned
by Esmé Cowles at 2020-07-23 17:26:45.subscribed
by Esmé Cowles at 2020-07-23 17:26:45.@hackmastera Sure, added.
mentioned
by None at 2020-07-23 17:15:17.subscribed
by None at 2020-07-23 17:15:17.referenced
by Trey Pendragon at 2020-07-23 18:10:26.merged
by Trey Pendragon at 2020-07-23 18:10:27.closed
by Trey Pendragon at 2020-07-23 18:10:27.closed
by Trey Pendragon at 2020-07-23 18:10:27.head_ref_deleted
by Trey Pendragon at 2020-07-23 18:10:31.assigned
by Cliff Wulfman at 2020-07-23 18:32:53.labeled
by Kate Lynch at 2020-07-23 19:49:10.head_ref_force_pushed
by None at 2020-07-23 17:21:30.head_ref_force_pushed
by None at 2020-07-23 20:41:00.head_ref_force_pushed
by None at 2020-07-23 20:47:08.assigned
by Trey Pendragon at 2020-07-23 21:15:03.Closed as duplicate of #4099
assigned
by Trey Pendragon at 2020-07-23 21:15:07.closed
by Trey Pendragon at 2020-07-23 21:28:24.Closed by #4123
closed
by Trey Pendragon at 2020-07-23 22:01:20.labeled
by Christina Chortaria at 2020-07-23 14:48:00.assigned
by Christina Chortaria at 2020-07-23 14:48:08.Coverage decreased (-2.1%) to 77.741% when pulling 9501c04853035c05337fb5636f8a1e914500418e on alma-implementation into 19ba98883a7c9c8e6f750f58fc7b0623fd2addd4 on master.
head_ref_force_pushed
by Christina Chortaria at 2020-07-23 14:15:44.head_ref_force_pushed
by Christina Chortaria at 2020-07-23 15:22:00.mentioned
by Peter Green at 2020-07-23 14:40:28.subscribed
by Peter Green at 2020-07-23 14:40:28.mentioned
by None at 2020-07-23 14:40:28.subscribed
by None at 2020-07-23 14:40:28.mentioned
by None at 2020-07-23 14:40:28.subscribed
by None at 2020-07-23 14:40:28.labeled
by Christina Chortaria at 2020-07-23 14:41:08.mentioned
by Kate Lynch at 2020-07-23 16:17:57.subscribed
by Kate Lynch at 2020-07-23 16:17:57.review_requested
by Christina Chortaria at 2020-07-23 17:50:34.referenced
by Christina Chortaria at 2020-07-23 18:11:18.merged
by Christina Chortaria at 2020-07-23 18:11:18.closed
by Christina Chortaria at 2020-07-23 18:11:18.referenced
by Trey Pendragon at 2020-07-23 17:45:52.closed
by Christina Chortaria at 2020-07-23 18:11:18.review_requested
by Francis Kayiwa at 2020-07-23 09:58:19.referenced
by James R. Griffin III at 2020-07-23 13:25:16.merged
by James R. Griffin III at 2020-07-23 13:25:16.closed
by James R. Griffin III at 2020-07-23 13:25:16.head_ref_deleted
by James R. Griffin III at 2020-07-23 13:25:20.head_ref_force_pushed
by Francis Kayiwa at 2020-07-23 13:40:55.closed
by Francis Kayiwa at 2020-07-23 16:22:36.The following were updated for the NGINX Plus load balancing for the pulmap servers:
proxy_buffer_size
proxy_buffers
proxy_busy_buffers_size
review_requested
by James R. Griffin III at 2020-07-23 15:39:27.referenced
by James R. Griffin III at 2020-07-23 15:48:11.merged
by James R. Griffin III at 2020-07-23 15:48:11.closed
by James R. Griffin III at 2020-07-23 15:48:12.head_ref_deleted
by James R. Griffin III at 2020-07-23 15:48:16.I am sorry, I am not certain how I closed this in https://github.com/pulibrary/princeton_ansible/pull/1653
Oh, I see now, a rebase is going to be required after I merged https://github.com/pulibrary/princeton_ansible/pull/1653 - I assume that GitHub now closes PRs when these type of conflicts arise?
In any event, I don't understand why my user account was listed as responsible for closing this when it is an automated process.
that's a typo on my part.
review_requested
by Francis Kayiwa at 2020-07-23 09:31:45.head_ref_force_pushed
by Francis Kayiwa at 2020-07-23 13:28:35.closed
by James R. Griffin III at 2020-07-23 15:48:12.reopened
by James R. Griffin III at 2020-07-23 15:49:26.referenced
by James R. Griffin III at 2020-07-23 16:36:17.merged
by James R. Griffin III at 2020-07-23 16:36:17.closed
by James R. Griffin III at 2020-07-23 16:36:17.head_ref_deleted
by James R. Griffin III at 2020-07-23 16:36:21.head_ref_force_pushed
by Francis Kayiwa at 2020-07-23 16:33:22.head_ref_force_pushed
by Francis Kayiwa at 2020-07-23 16:44:39.head_ref_force_pushed
by Francis Kayiwa at 2020-07-23 16:54:33.head_ref_force_pushed
by None at 2020-07-23 14:00:13.head_ref_force_pushed
by None at 2020-07-23 19:13:46.head_ref_force_pushed
by None at 2020-07-24 01:11:06.closing in favor of https://github.com/pulibrary/discoveryutils/issues/158
closed
by Axa Mei Liauw at 2020-07-23 14:04:02.milestoned
by James R. Griffin III at 2020-07-23 19:40:04.labeled
by James R. Griffin III at 2020-07-23 19:45:36.milestoned
by James R. Griffin III at 2020-07-23 19:39:23.labeled
by James R. Griffin III at 2020-07-23 19:45:53.milestoned
by James R. Griffin III at 2020-07-23 19:43:05.labeled
by James R. Griffin III at 2020-07-23 19:46:12.milestoned
by James R. Griffin III at 2020-07-23 19:41:41.labeled
by James R. Griffin III at 2020-07-23 19:46:16.milestoned
by James R. Griffin III at 2020-07-23 19:40:51.renamed
by James R. Griffin III at 2020-07-23 19:41:08.labeled
by James R. Griffin III at 2020-07-23 19:46:21.labeled
by James R. Griffin III at 2020-07-23 19:48:07.labeled
by James R. Griffin III at 2020-07-23 19:48:07.milestoned
by James R. Griffin III at 2020-07-23 19:48:13.unlabeled
by James R. Griffin III at 2020-07-23 19:56:34.labeled
by James R. Griffin III at 2020-07-23 19:56:34.unlabeled
by James R. Griffin III at 2020-07-23 19:58:35.labeled
by James R. Griffin III at 2020-07-23 19:58:35.This epic should ensure that the PULFALight interfaces meet the WCAG 2.1 criteria. As banners and alerts should be checked for color contrast in order to meet these criteria, a part of this process is going to be manual.
There already exists an accessibility audit template available at https://docs.google.com/spreadsheets/d/1g-J06sJHhY9XV1woIscElEHZEWHlJK9e8TzhO2uY1hk/edit#gid=1992549741
A usability testing script should be drafted in collaboration with @axamei and @sdellis in order to ensure that there is a reference for guiding users through the interfaces.
Regarding accessibility, it would be ideal if an unsighted person could be recruited for testing, and then could use only the keyboard for navigating the interfaces with a screen reader.
Please see the usability_testing_script
in the shared Google Drive for an example usability testing script.
mentioned
by Shaun Ellis at 2020-07-23 19:53:56.subscribed
by Shaun Ellis at 2020-07-23 19:53:56.mentioned
by Axa Mei Liauw at 2020-07-23 19:53:56.subscribed
by Axa Mei Liauw at 2020-07-23 19:53:56.renamed
by James R. Griffin III at 2020-07-23 19:55:18.unlabeled
by James R. Griffin III at 2020-07-23 19:57:20.labeled
by James R. Griffin III at 2020-07-23 19:57:20.Prior to this discussion, releases were based upon specific branches addressing individual GitHub issues. Branch-based deployment was undertaken into the staging environment where the proposed changes were tested and reviewed, followed by the opening of a pull request. When a pull request was merged into the main
branch, the main
branch would then be deployed to the staging environment.
One proposed alternative to this approach would be the usage of tags
in order to track a potential release. A predetermined set of issues would be resolved by pull requests, merging commits into main
, after which a tag
would then be created. This tag
would then be deployed into the staging environment, and manually tested by following a defined quality assurance process.
Should this release candidate be pass the acceptance criteria defined for this QA process, then the tag
would be deployed into the production environment.
Thus far, I have only been using GitHub Milestones in order to classify Issues which are scoped for the Minimum Viable Product (MVP) or 1.0 releases. Perhaps this would be an appropriate time to attempt to utilize GitHub releases instead of Milestones?
labeled
by James R. Griffin III at 2020-07-23 20:17:52.milestoned
by James R. Griffin III at 2020-07-23 20:17:52.labeled
by James R. Griffin III at 2020-07-22 22:17:07.unlabeled
by James R. Griffin III at 2020-07-22 22:19:42.labeled
by James R. Griffin III at 2020-07-22 22:58:52.tmp/cache/downloads
in both production environment server nodes are empty, and this issue is still affecting the derivative downloads.
labeled
by James R. Griffin III at 2020-07-22 23:35:12.GeoServer keeps crashing with the following error message:
org.geowebcache.GeoWebCacheException: Problem communicating with GeoServer [144/164]
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:611)
at org.geoserver.gwc.layer.GeoServerTileLayer.getTile(GeoServerTileLayer.java:554)
at org.geoserver.gwc.GWC.dispatch(GWC.java:718)
GeoWebCache is coupled by default with GeoServer, but it can also be used to deploy GeoServer in a clustered configuration. I'm afraid that I would need to diagnose the GeoWebCache configuration settings in order to further progress with this.
labeled
by James R. Griffin III at 2020-07-22 23:49:06.renamed
by James R. Griffin III at 2020-07-22 23:51:19.This does not seem to break after I attempted to view this in Brave after breaking the UI in Chrome:
Downloading the "Original Shapefile" seems to be working, as the Shapefile was valid when I downloaded this to my local macOS environment:
shapefile_rr172158w % ogrinfo -listmdd ./Global_3G_201612.shp
INFO: Open of `./Global_3G_201612.shp'
using driver `ESRI Shapefile' successful.
1: Global_3G_201612 (Polygon)
shapefile_rr172158w % ogrinfo -al ./Global_3G_201612.shp | head -25
INFO: Open of `./Global_3G_201612.shp'
using driver `ESRI Shapefile' successful.
Layer name: Global_3G_201612
Metadata:
DBF_DATE_LAST_UPDATE=2017-02-22
Geometry: Polygon
Feature Count: 2412459
Extent: (-179.999989, -53.757229) - (179.999989, 78.383380)
Layer SRS WKT:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]
SOURCE: String (20.0)
CNTRY_COV: String (10.0)
CNTRY_CODE: Real (19.11)
COUNTRY: String (60.0)
CNTRY_ISO: Integer64 (10.0)
However, none of the derivatives could be downloaded for the file:
Attempting to refresh the browser window led to various errors, and attempting to restart the GeoServer installation did not resolve the problems encountered for this record.
Attempting to view publicly accessible Documents published by Princeton, I am finding that Leaflet is breaking given that CORS headers are not provided for the WMS responses:
GeoServer is now inaccessible:
Please note that I am accessing this over the VPN.
GeoServer has been restarted, but the following error is logged:
2020-07-22 19:18:14,326 ERROR [map.png] - Failed to encode the PNG
ar.com.hjg.pngj.PngjOutputException: org.geoserver.ows.ClientStreamAbortedException
at ar.com.hjg.pngj.PngHelperInternal.writeBytes(PngHelperInternal.java:196)
at ar.com.hjg.pngj.chunks.ChunkRaw.writeChunk(ChunkRaw.java:97)
at ar.com.hjg.pngj.PngIDatChunkOutputStream.flushBuffer(PngIDatChunkOutputStream.java:28)
at ar.com.hjg.pngj.ProgressiveOutputStream.checkFlushBuffer(ProgressiveOutputStream.java:65)
at ar.com.hjg.pngj.ProgressiveOutputStream.flush(ProgressiveOutputStream.java:28)
at ar.com.hjg.pngj.PngWriter.end(PngWriter.java:400)
at it.geosolutions.imageio.plugins.png.PNGWriter.writePNG(PNGWriter.java:92)
at org.geoserver.wms.map.png.PNGJWriter.writePNG(PNGJWriter.java:51)
at org.geoserver.wms.map.PNGMapResponse.formatImageOutputStream(PNGMapResponse.java:104)
at org.geoserver.wms.map.RenderedImageMapResponse.write(RenderedImageMapResponse.java:123)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1009)
Redeploying pulmap
did restore service, but I receive a different error message when attempting to download derivatives:
This is being triggered by the following error on GeoServer:
abstractQueryExpression[0]:
typeNames[0] = {http://restricted-figgy}p-c3618d35-d02a-4e84-bc57-cefe10d90934
srsName = EPSG:4326
2020-07-22 19:27:54,686 INFO [wfs.json] - about to encode JSON
2020-07-22 19:27:58,037 ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: This request used more time than allowed and has been forcefully stopped. Max rendering time is 60.0s
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:576)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:276)
at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:139)
There are also additional error messages which I keep receiving in the GeoServer logs:
2020-07-22 19:45:28,206 INFO [geoserver.gwc] - Error dispatching tile request to GeoServer
org.geowebcache.GeoWebCacheException: Problem communicating with GeoServer
Nothing seems invalid with the Figgy Resource: https://figgy.princeton.edu/catalog/6f14c1a5-34d1-4fc3-b8e7-f481cf03d195
After several attempts to restart GeoServer, I could not manage to connect to the server from lib-adc1:
pulsys@lib-adc1:~$ curl -I http://libserv21.princeton.edu:8080/
Please note that Tomcat was running on libserv21:
pulsys@libserv21:/var/log/tomcat8$ sudo systemctl status tomcat8.service
● tomcat8.service - LSB: Start Tomcat.
Loaded: loaded (/etc/init.d/tomcat8; bad; vendor preset: enabled)
Active: active (running) since Wed 2020-07-22 20:54:45 EDT; 2min 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 103488 ExecStop=/etc/init.d/tomcat8 stop (code=exited, status=0/SUCCESS)
Process: 103528 ExecStart=/etc/init.d/tomcat8 start (code=exited, status=0/SUCCESS)
Tasks: 105
Memory: 1.2G
CPU: 3min 17.257s
CGroup: /system.slice/tomcat8.service
└─103553 /usr/lib/jvm/java-8-oracle/bin/java -Djava.util.logging.config.file=/var/lib/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManage
Jul 22 20:54:40 libserv21 systemd[1]: Starting LSB: Start Tomcat....
Jul 22 20:54:40 libserv21 tomcat8[103528]: * Starting Tomcat servlet engine tomcat8
Jul 22 20:54:45 libserv21 tomcat8[103528]: ...done.
Jul 22 20:54:45 libserv21 systemd[1]: Started LSB: Start Tomcat..
...and that the GeoServer app was running:
22-Jul-2020 20:54:47.532 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'XStreamPersisterInitializer', but ApplicationContext is unset.
22-Jul-2020 20:54:47.533 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
22-Jul-2020 20:54:47.535 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
22-Jul-2020 20:54:47.536 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
22-Jul-2020 20:54:48.685 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'GeoServerSecurityProvider', but ApplicationContext is unset.
22-Jul-2020 20:54:48.685 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
22-Jul-2020 20:54:48.685 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionProvider', but ApplicationContext is unset.
22-Jul-2020 20:54:48.686 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup 'ExtensionFilter', but ApplicationContext is unset.
The Max rendering time (s)
has been increased from 60s to 6000s:
Unfortunately, this does not seem to have fully resolved the issue, as the Faraday
client seems to just time out:
2020-07-22 21:59:40,263 INFO [geoserver.wfs] -
Request: getFeature
service = wfs
version = 2.0.0
baseUrl = http://geoserver-prod:80/geoserver/
outputFormat = SHAPE-ZIP
resolve = none
resolveDepth = *
resolveTimeout = 300
resultType = results
abstractQueryExpressionGroup[0] = wfs:abstractQueryExpression=net.opengis.wfs20.impl.QueryTypeImpl@6cf31b98 (handle: null) (abstractProjectionClause: null, abstractSelectionClause: null, abstractSortingClause: null, aliases: null, typeNames: [{http://restricted-figgy}p-c3618d35-d02a-4e84-bc57-cefe10d90934]) (featureVersion: null, srsName: EPSG:4326, filter: null, propertyNames: null, sortBy: null)
abstractQueryExpression[0]:
typeNames[0] = {http://restricted-figgy}p-c3618d35-d02a-4e84-bc57-cefe10d90934
srsName = EPSG:4326
2020-07-22 22:00:40,672 WARN [servlet.PageNotFound] - No mapping found for HTTP request with URI [/geoserver/restricted-figgy/pul-logo-new.svg] in DispatcherServlet with name 'dispatcher'
2020-07-22 22:00:51,155 INFO [geoserver.servlets] - OutputStream was successfully aborted.
As of 09:44 EDT, GeoServer does seem to be serving vector datasets for Princeton Documents:
The KMZ derivatives now seem to be generating:
The GeoJSON download is functioning properly as well, however the Shapefile derivative is still failing for this:
Attempting to manually place a Shapefile into the /tmp/cache/downloads
directory does not serve the file from this interface.
The correct directory is /opt/pulmap/shared/maplab/pulmap/downloads
, I am uploading the file now.
Uploading the Shapefile manually restored downloads for this derivative:
labeled
by James R. Griffin III at 2020-07-22 22:20:50.assigned
by James R. Griffin III at 2020-07-22 22:20:50.closed
by James R. Griffin III at 2020-07-23 14:55:36.Coverage remained the same at 100.0% when pulling b205a7823564973db9d3ca2ccceab626adff0ffa on issues-844-jrgriffiniii-vector-icon into 389e2c951973dc3a6cc5a779a84058757e2eb2f5 on master.
referenced
by Christina Chortaria at 2020-07-23 17:07:23.merged
by Christina Chortaria at 2020-07-23 17:07:23.closed
by Christina Chortaria at 2020-07-23 17:07:23.This was triggered again by my last redeployment on 07/23/20 at 19:19 EDT (please see https://faq.library.princeton.edu/admin/ticket?qid=5482023)
This was not fixed by redeploying the application to the production environment.
I cannot locate this vector.svg
icon anywhere in the precompiled assets within the production environment for pulmap, geoblacklight, or blacklight. I'm going to proceed with error handling for this.
assigned
by James R. Griffin III at 2020-07-23 15:45:08.closed
by Christina Chortaria at 2020-07-23 17:07:23.The item is permanently located in "sa" but is temporarily in "sar". Something related to a mismatch there is likely the root cause.