KABLOONAK (director/writer:Claude Massot; screenwriter: Sebastian Regnier; cinematographer: Jacques Loiseleux/Francois Protat; editor: JoŽlle Hache/Claire Pinheiro; cast: Charles Dance (Robert Flaherty), Adamie Quasiak Inukpuk (Nanook), Seporah Ungalaq (Nyla), Matthew Saviakjuk-Jaw (Aviuk), Georges Claisse (Wisconsin), Skipper Bill (Tony Vogel), 1994-Canada/France)
Reviewed by Dennis Schwartz
Robert Flaherty the 'father' of the documentary, was a prospector in Canada and spent four years raising money to go to the frozen north of Canada and film the Eskimo way of life. The film retells the story of Nanook who in 1922 was the "star" of Flaherty's NANOOK OF THE NORTH.
The film opens as Flaherty (Charles Dance) sits dejectedly in a New York bar in 1922. His film just premiered to rave reviews and Paramount Pictures wants him to do another. Flashback to 1919: with Flaherty on a whaler, arriving in Port Harrison, Hudson Bay, being greeted at a fur company post by the white man Wisconsin, who manages the post and by the Inuits who live there.
Flaherty's plan is to spend a year with the Eskimos and film them hunting. Three months go by and he hasn't shot a bit of film. He then comes up with the idea of getting the best hunter among the Inuits and have him go hunting in the old way, without a rifle. He talks the personable Nanook (Inukpuk) into being that hunter.
The wilderness and the snowbound land are visually appealing, while the Eskimos come across as a friendly people, easily given to smiling, even if some are suspicious of the white men, thinking of them to be useless as hunters. Flaherty finds that he is living in very difficult conditions, as every day the temperature ranges between -30 and -50 degrees.
Flaherty tries to win the Inuits over by taking photos of them, and by offering them fruit and sweets. He films them as they bring in a seal, carve it up, and then eat it. He films a fascinating walrus hunt, and gets to go out for a long sled trek with Nanook to catch a bear. Catching a bear is not that easy, and his little party runs into some trouble when he fails to secure properly the kerosene can on the back of the sled. His helpers all desert him, leaving him alone with Nanook. The two of them continue to track the bear, but the bear out foxes them, and leads them to the sea, while the bear goes back to their camp and knocks over their igloo and kills their dogs. The two now have a tough time getting back to the post, but after some bouts with frostbite and hunger, they make it back. But for Nanook, it is the first time he has come back from a hunt without any food.  His son will live to be 60 and will live all his life in Resolute Bay.
The filmmaker Massot shows the filmmaker Flaherty staging shots of Eskimos building igloos, sleeping together, and lots of faked shots of Eskimos doing things solely for the camera. But somehow the film works in a very human way and the thrill of seeing the Eskimos live in such harsh conditions is something few Westerners can readily comprehend or for that matter, have ever seen before.
Nanook comes back after a month, having slain the allusive bear. It is now spring and the Eskimos desert Flaherty again and go hunting geese, and the disappointed Flaherty asks Wisconsin, why he wasn't told where they were going. Wisconsin tells him, when it comes spring they are either 'screwing' or 'hunting.'
The boat comes for Flaherty and he sadly must leave before his year is up. In the nick of time the Intuits return in kayaks and Flaherty says his heartfelt farewells, with a special one for Nanook. Flaherty remembers Nanook telling him as he left,"It was good with you."
The film now returns to the New York bar and it shows Flaherty looking at the telegram: 10 Feb. 1922- Nanook died from starvation because of a terrible hunting season- Wisconsin.
The film wisely focused on Flaherty and the hardships he had to overcome to be the first one to make what has become known as a documentary film. Both films are distinguished for using the real Intuits to play themselves. It is also interesting to note that even though Flaherty became world-famous and world-loved, his standing in his own profession was nil. So much for Hollywood and what it considers important.
REVIEWED ON 3/31/2000 GRADE: B
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


SequentiaWallet
Go to Navigator
Contact
Decrypt
Transfer Data
Back
Transfer your genomic Data
To:
Or scan Qr Code with your WebCam
Unable to access video stream (please make sure you have a webcam enabled)
No QR code detected.
Found it!
Attach your PUBLIC Key by dropping it here or
Select your PUBLIC Key from computer
Memo:
Pin:
Transfer
Raw dataset
Hash Id:
Show on Navigator
Data 1
Data 2
File List
Options
Please enter your pin code
Ok
Please enter your pin code
Ok


>From The Desk Of MUSTAFA BRUNU (Esq).
The Head Of File Department,
Bank Of Africa B.O.A
Ouagadougou Burkina-Faso West Africa.
Phone: +226-76 54 93 42.
("REMITTANCE OF $15 MILLION U.S.A DOLLARS
CONFIDENTIAL IS THE CASE")
Compliments Of The Season 2007,
Forgive my indignation if this message comes to you as a surprise and may offend your personality for contacting you without your prior consent and writing through this channel.I got your contact from the proffesional data base found in the internet Yahoo tourist search.When i was searching For a foreign reliable partner.
I assured of your capability and reliability to champion this businees opportunity. After series of prayers/fasting.i was divinely directed to contact you among other names found in the data base Yahoo tourist search.I believe that God has a way of helping who is in need.
I am (MUSTAFA BRUNU Esq),the Head of file Department in BANK OF AFRICA (BOA). In
my department we discovered an abandoned sum of $ 15 million U.S.A dollars ( fifteen million U.S.A dollars) . In an account that belongs to one of our foreign customer who died along with his entire family on (July 21, 2003) in a plane crash. Since we got information about his death, we have been
expecting his next of kin to come over and claim his money because we cannot
µ release it unless somebody applies for it as next of kin or relative on to the deceased as indicated in our banking guidelines,
But unfortunately we learnt that all his supposed next of kin or relation died alongside with him at the plane crash leaving nobody behind for the claim. It is therefore upon this discovery that I and one official in my department now decided to make this businness proposal to you and release the money to you as the next of kin or relation to the deceased for safety and subsequent disbursement since nobody is coming for it and we don’t want this money to go into the bank treasury as unclaimed bill.
The Banking law and guideline here stipulates that if such money remained unclamed after five years, the money will be transfered into the Bank treasury as unclaimed fund. The request of foreigner as next of kin in this business is occasioned by the fact that the customer was a foreigner,
and a Burkinabe cannot stand as next of kin to a foreigner. We agree that 30 % of this money will be for you as foreign partner,in respect to the provision of a foreign account, 10 % will be set
aside for expenses incured during the business and 60 % would be for me and my
woman colleague. There after i will visit your country for disbursement
according to the percentages indicated.
Therefore to enable the immediate transfer of this fund as arranged, you must apply first to the bank as relations or next of kin of the deceased indicating your bank name, your bank account number, your private telephone and fax number for easy and effective communication and location where the money will be remitted.Upon receipt of your reply, I will send to you by fax
or email the text of the application I will not fail to bring to your notice that this transaction is hitch free and that you should not entertain any atom of fear as all required arrangements have been made for the transfer.
You should contact me on my number +226-76 54 93 42. immediately as soon as you receive this letter. Trusting to hear from you immediately.Your’s faithfully,
MUSTAFA BRUNU (Esq.)
FROM (B.O.A) OUAGADOUGOU BURKINA-FASO.
GOD BLESSINGS,PROTECTIONS AND GUIDIANCE TO YOUR ENTIRE FAMILY.
POST SCRITUM:You have to keep everything secret as to enable the transfer to move very smoothly in to the account you will prove to the bank.As you finished reading this letter call me immediately so that we discuss very well over this business.
Live Earth is coming. Learn more about the hottest summer event - only on MSN. Check it out!


Welcome to the FAA Coded Instrument Flight Procedures (CIFP) data enhancer. It amends the FAA's CIFP data to fix localizer bearings to work better in flight simulators like X-Plane. See this blog post for more information.
FAACIFP18_processed_MM-DD-YYYY.txt
to earth_424.dat
.C:\Program Files (x86)\Steam\steamapps\common\X-Plane 11\Custom Data
"${HOME}/Library/Application\ Support/Steam/steamapps/common/X-Plane\ 11/Custom\ Data/earth_424.dat"
{{.DisplayError}}
{{end}}| Cycle | Link |
|---|---|
| {{.Name}} | Download |
If you encounter any unexpected behavior with this website or the processed data, please file an issue on the GitHub repository.
This app is not associated with the Federal Aviation Administration and has no warranty.


GFTP(1) GFTP(1) NAME gftp - file transfer client for *NIX based machines. SYNOPSIS gftp [options] [[proto://][ user : [pass] @] server [: port ][/ directory ]] DESCRIPTION gFTP is a file transfer client for *NIX based machines. It currently has a text interface and a GTK+ 1.2/2.x graphical interface. It currently supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols. OPTIONS You may enter a url on the command line that gFTP will automatically con‐ nect to when it starts up. --help, -h Display program usage. --info Display some information about how gFTP was built. Please send the output of this command when submitting a bug report. --version, -v Display the current version of gFTP. proto This specifies the protocol that should be used. It can currently be one of the following options: ftp, ftps, http, https, ssh, fsp, local and bookmark. If omitted, the protocol specified by the default_protocol option will be used. user The username that will be used to log into the remote server. If omitted, your current username will be used for most protocols. For the FTP protocol, the anonymous username will be used. pass The password that will be used to log into the remote server. If omitted, you will be prompted for the password. If you are using the FTP protocol, and the username is anonymous, then your email address will be used as the password. server The remote server to connect to. port The remote port on the server to connect to. If omitted, the default port for the protocol will be used. The port will be looked up in the services(5) file. directory The directory to change to once you are connected to the remote server. FILES ~/.gftp/gftprc Per user configuration file. Most of these options can be edited inside gFTP. This file is also commented very well. ~/.gftp/book‐ marks Per user bookmarks file. BUGS If you find any bugs in gFTP, please report them to GNOME's Bugzilla at http://bugzilla.gnome.org/ AUTHOR Brian Masney<EMAIL_ADDRESS>- http://www.gftp.org/ MARCH 2007 GFTP(1)


NeuroData is literally always hiring exceptional individuals. If you think
you'd like to work with us in any capacity, please contact us now! Some
thoughts that might be useful prior to emailing us to consider further:
-
We recognize the unique struggles Black, Indigenous, People of Color
(BIPOC) and women face in Academia, particularly STEM, and are committed
to creating a environment where they feel supported and appreciated. We
are interested in all kinds of people with all
kinds of backgrounds, we do not discriminate for any reason, and we are
all students at different stages. Please see our
code of conduct
for more details.
-
We believe that to maximally flourish requires being in the appropriate
environment specifically for you. Each individual benefits from
unique circumstances. We wrote this
blog post
which describes out thoughts on choosing projects, but it is also relevant
for choosing teams. If you are reading this far, it seems likely that the
kind of work we do is intrinsically motivating for you. Even if not, and
you think we could help find a team better aligned with your dreams,
please contact us.
-
To create the most peaceful and productive environment, our team has
constructed these
agreements, which we
all adhere to. This includes treating everyone with respect on the team,
and at any team events. See our
code of conduct
for details. If it seems like that kind of environment would suit you
well, please contact us.
-
If you are interested in pursuing graduate studies with us, there are many
different programs that are available. The
Johns Hopkins University Biomedical Engineering
graduate programs
are the most common approach, which includes the
MSE
and
PhD
programs, as well as a few others (Tsinghua JHU-BME
dual degree
and
MD/PhD). Note that
BME@JHU is the #1 rated BME graduate school in the world according to
US News
& World Reports. I also sometimes advise students in
Computer Science,
Applied Mathematics &
Statistics,
Biostatistics,
and Neuroscience. If
you are interested in graduate studies with us in a different program
(e.g.,
JHU/Janelia, or
ECE@JHU),
please also feel free to contact us.
-
If you are already enrolled at JHU and are interested in joining the lab,
the simplest route is to enroll in the year-long project-based course we
offer called
NeuroData Design. A key motivation for offering
this course was to ensure that we could
work with as many amazing individuals as possible. If for some reason,
enrolling in the course does not seem feasible for you, please contact us
and we will try to figure out some other arrangement. We also recommend
these courses
that should prove useful when working in the lab.
-
If you are a visiting or exchange student, please see
JHU's official exchange program
overview, and go through the official process; after you do this, contact us to
say you applied. It is complicated for legal and bureaucratic reasons to
accept visiting/exchange students outside these official programs,
although it is possible. So, if those programs do not work for any reason,
please contact us.
Dr. Joshua Vogelstein has recently decided to commit his research energy
almost entirely on trainees and students, and has therefore drastically
reduced the amount of time he spends on email. Please see below further
information:
Private meeting with Jovo: Please schedule it
here
Potential Teammates: We are stoked! Consider reading our
lab agreements and
reaching out to
team members in addition to
finding a time to chat with Jovo directly.
Questions about the lab: email Javiar
Questions about NDD class: see
website, and email
Hao any remaining questions.
Logistics: email Kim Biasucci
Grant pre-award: email
Heather Lockard Wheeler
Grant ongoing award: email
Dawn Arnold
Feedback: please leave it
here
Thank you so much for your understanding. In conclusion, if you plan to chat
with faculty or a member of the lab, please be prepared to discuss the
following::
-
Excitement about working on something specific relevant to the individual
you are contacting
- Relevant background experience
- Desired duration and title of position
- Up to date cv
- Remember, this is just to get your foot in the door.
Good luck!


Condiciones de uso
✕Presiona ✕ para cerrarlo
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quo repellendus reprehenderit accusamus totam ratione! Nesciunt, nemo dolorum recusandae ad ex nam similique dolorem ab perspiciatis qui. Facere, dignissimos. Nemo, ea.
Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it?  Curabitur finibus vestibulum rutrum. Vestibulum semper tellus vitae tortor condimentum porta. Sed id ex arcu. Vestibulum eleifend tortor non purus porta dapibus
Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it?


Xiaomi Mi Note 10 specs: 108MP camera, Snapdragon 730G, and 5260mAh battery
Source: Harish Jonnalagadda/Android Central
Xiaomi has unveiled the Mi Note 10 for global markets, and the standout feature is a 108MP camera that's joined by four other sensors at the back. Two of those lenses are for optical zoom, with the latter able to do 5x optical and 50x digital zoom. There's also a curved AMOLED panel, a monstrous 5260mAh battery, and a gaming-focused Snapdragon 730G chipset.
The device also runs MIUI 11 out of the box, and yes, there is a 3.5mm jack. Here's all the hardware powering the phone:
| Category | Xiaomi Mi Note 10 |
|---|---|
| Operating system | Android 9.0 Pie MIUI 11 |
| Display | 6.47-inch curved AMOLED 2340x1080 (19.5:9) Gorilla Glass 5 |
| Chipset | Snapdragon 730G 4 x 2.2GHz Kryo 470 4 x 1.8GHz Kryo 470 Adreno 618 8nm |
| RAM | 6GB LPDDR4X |
| Storage | 128GB UFS2.1 |
| MicroSD slot | Yes |
| Rear camera 1 | 108MP, f/1.69, 1.6um OIS, 82-degree FoV |
| Rear camera 2 | 12MP, f/2.0, 1.4um 2x optical zoom |
| Rear camera 3 | 5MP, f/2.0, OIS 5x optical zoom 10x hybrid zoom 50x digital zoom |
| Rear camera 4 | 20MP, f/2.2 Wide-angle lens 117-degree FoV |
| Rear camera 5 | 2MP, 1.75um Macro lens |
| Front camera 1 | 32MP, f/2.0, 1.6um Panorama selfie |
| Connectivity | Wi-Fi ac 2x2 MIMO Bluetooth 5.0 AptX HD, LDAC, A-GPS |
| Network bands | LTE: Bands 1/2/3/4/5/7/8/18/19/20/26/28/38/40 |
| Audio | 3.5mm jack Single speaker |
| Battery | 5260mAh Non-removable |
| Charging | USB-C 30W |
| Water resistance | No |
| Security | In-screen fingerprint |
| Dimensions | 157.8 x 74.2 x 8.4mm 208g |
| Colors | Midnight Black, Glacier White, Aurora Green |
Interested in knowing more about the Mi Note 10? Be sure to read our preview for all the details:
Xiaomi Mi Note 10 preview: Meet the world's first phone with a 108MP camera


bibliography
computer science & programming
- structure and interpretation of computer programs, abelson and sussman
- masterminds of programming, biancuzzi
- essentials of programming languages, friedman
- mechanical intelligence, turing (ince)
- C programming language, kernighan
- art of computer programming, knuth
- concepts of programming languages, sebesta
- philosophy of computer science, rapaport
- software and mind, alexei
- thinking in c++, eckel
- the school of niklaus wirth: the art of simplicity, ed. böszörményi
- elements of programming style, kerninghan
- machine beauty, gelernter - link
- the psychology of computer programming, weinberg - link
- rhetoric of video games, bogost
- programmed visions, chun
- speaking code, cox
- behind the blip: essays on the culture of software, fuller
- gaming: essays on algorithmic culture, galloway
- speech, writing, code, hayles
- my mother was a computer: digital subjects and literary texts, hayles
- aufschreibesysteme, kittler
- language of new media, manovich
- design des programmes, masure
- understanding media, mcluhan
- 10 print, montfort et. al.
- software arts, sack
- coding literacy, vee
- hacker manifesto, wark
- deep time of the media, zielinski
- le plaisir du texte, barthes
- extreme inscription - towards a grammatology of the hard drive, kirschenbaum
- s/z, barthes
- program code poetry, cramer
- execut[up]?able statements, cramer
- language and symbolic power, bourdieu
- radiant textuality, mcgann
- rhetorical code studies, brock
- phantasmal media, harrell
- plain text: the poetics of computation, tenen
digital art
- poetic computation, choi
-
| code.surface |
|
code.depth, raley |
- on code and codework, sondheim
- words made flesh, cramer
- code as language, glazier
- the art of code, black
- poesie numerique, bootz
- la valeur heuristique de la litterature numerique, bouchardon
- systems aesthetic, burnham
- virtual muse, hartman
- hamlet on the holodeck, murray
- poetique des codes, paloque-berges
- the role of programming in digital art, andrews
- a poem is a machine to think with, baldwin
aesthetics
- aesthetic theory, adorno
- language as symbolic action, burke
- languages of art, goodman
- questions de poetique, jakobson
- Style in Language, ed. Thomas A. Sebeok (Cambridge, Mass.:
MIT Press, 1960
- aiesthesis, ranciere
- mute speech, ranciere
- relational aesthetics, bourriaud
- the craftsman, sennett
- moderne/contemporain, bouchardon
- theory after theory, birns
- de la programmation consideree comme un des beaux-arts, pierre levy


HEAD
My Website
About Me
Interests
Hobbies
Interests
Video Games
Sports
Space
Conspiracies
Paranormal
Animals
Nature
Science
Technology


Writing an article in markdown
Markdown is a simple formatting language for writing text. It works a lot like HTML, only it’s a lot easier to use.
You’ll be writing your blog post in Markdown.
You have two options for composing the post:
-
Compose in GitHub: Follow steps 1-4 in the
Publishing a Digital Review
tutorial. Once you’ve created a new file (in step four) you can compose the file directly in GitHub, using the “commit” feature to save the file online. -
You can also compose your post using a plain text editor, and then copy and paste it into the GitHub repository. Notebook is one popular program. I like to use Sublime. Follow these instructions to get started, or view the markdown version of this page.
YAML header
Your file should begin with a header that looks exactly like this (including the dashes):
---
layout: post
title: "ENTER YOUR TITLE HERE (in quotes)"
modified:
categories: blog
excerpt: "ENTER A PULL QUOTE HERE (in quotes)" (it will show up on the Reviews home page)
tags: []
author: ENTER YOUR AUTHOR ID HERE (no quotes)
image:
feature:
---
Content
Below the YAML header, you can start composing your review just as you normally would. The only difference is that you’ll use a very simple form of encoding to add stylistic features like italics, create headings, or add other kinds of formatting.
You can find detailed instructions on how to write in Markdown here, or use the following tips:
Headers:
# Heading One
## Heading Two
### Heading Three (etc)
Formatting:
*italics*
**bold**
Links:
[link text in brackets](url-in-parentheses)
Line Breaks:
End the previous line with two spaces,
then begin writing on the following line to create a line break.
Paragraphs:
Enter a blank line after the end of a paragraph...
...before starting a new one.
Accents:
Accents and other diacritics (á, ñ, ü)
can be typed into the text as normal.
Lists:
Use
* text
to create a disordered list.
Use
1. text
2. text
3. text
to create an ordered list.


Fantasy Graphics League 2005
No one (except the monkeys themselves) knew where they came from. All that was clear was that these were a different sort of flying monkey: they had money. Rather than working for witches and kidnapping little dogs, this time around they were calling the shots. And there were a lot of them, thousands upon thousands, each with more money than most of us make our whole lives. They purchased prescription drugs, fruitcakes, weight loss products, Rolexi, and cosmetics from the Dead Sea. They bought engraveries, they bought tobogganeers, they bought forklifteriums, they bought astrologizettes.
Then they discovered computer graphics. Specifically, screen-savers. Pretty colors, flashing lights, spinny things, all on a portable little screen. Once they discovered the electric sheep screensaver, they purchased majority holdings in EarthLink and Time-Warner just to guarantee enough bandwidth for flying monkeys everywhere. But soon their insatiable desires for more spinning flashing pretty things led them to hire any and all graphics researchers, to work on new screensaver designs.
Now there are only a few people left in the world with the resources to compete with these monkeys. You are one of them. Go now and attempt to hire the best lab possible, to wrest the evolution of computer graphics away from them.
Rules
Short version, for previous players: the rules are the same as before, with a twist. This year, there will be 1000 flying monkey teams. Each monkey randomly chooses a team until all positions are filled or all money is spent. These teams will be the ones you are competing against. Defend the honor of your species and show those monkeys what for! (Note: Perl's random number generator will replace the monkeys if we can't round up 1000 typewriters.)
Computer graphics researchers salaries are computed by how many times they have been published in SIGGRAPH the past five years, based on the economic formula:
Researcher's value in quatloos = Sum of ( 60 / A )
rounded to the nearest multiple of 5 (or 10, if over 100), where "A" is the number of authors that contributed to a paper. So if a researcher was a part of two papers, being the only author of one of them and one of 4 authors on the other, the value would be:
value = ( 60 / 1 ) + ( 60 / 4 ) = 75 Quatloos
Here are your constraints:
- Your budget is 400 Quatloos.
- You can hire up to 12 researchers.
- You can hire from all people who have had a paper in SIGGRAPH in the past five years.
- You have until midnight PST on January 26, 2005, to create and submit your lab.
Researchers are then judged by the papers and sketches accepted for SIGGRAPH. Each paper scores points for the authors, scoring (60/A) points for each author on the paper. Each sketch scores 20 points for the first author, only. Add up your points and that is your lab's score.
Note: Aaron Hertzmann pointed out to me that there are two different researchers with the name of "Li Zhang", one at the U. of W., one at HP. Sorry about that. At this point it's wicked hard to fix this error, since there are already a bunch of lab entries. So if you hire Li Zhang you get both, and they take up only one office spot.
(DON'T) HIRE YOUR LAB
(Sorry, this year's contest is closed, though I'll leave the scripts running)
Also, you can check out the results of last year's contest.
But Why? Why?!
Well, I was going to stop running this game last year, but the public (well, two people) demanded (asked) that I continue (not stop). So, here you go.
Thanks to gpgpu.org for hosting the Perl scripts that run this contest.
From the somewhat evolved minds of Eric
Haines, Phil Dutré,
Dan Kartch, and Ben Trumbore.
last updated: January 27, 2005


Let’s set the scene,
We’re deep in the Mediterranean Sea.
The water’s blue, the algae’s green,
Let’s meet the star of our story
Spongia officinalis sits on a rock
Pumping and filtering water.
Today’s the day that the sperm will be caught,
So it sits on its rock and waits…
The egg is fertilized inside of the sponge,
And the larva begins to grow.
When it’s ready it shoots right out,
Into a life of its own.
Because…
Sitting on the rock,
Sponges reproduce right where they lay.
The parent’s place is locked,
But the larva’s on its way.
So then we begin again…
Then we begin again…
The larva takes root and it’s growing fast,
And soon it’s a full adult.
It starts to fragment to reproduce
A whole lot.
Sponges reproduce asexually
When no sperm can be found.
So the baby sponge makes lots of clones
To make its mother proud.
But back at home
The divers come with their nets and their knives
Ready to take the parent sponge’s life.
They cut it at the base, so it can’t regenerate,
Harvested for washing your face
And so it dies…
And so it dies…
But something survived…
Oh, something survived!
The divers thought they got everything
But a small piece remained
The sponge produced a gemmule
Before it was maimed.
The gemmule grows internally
And stays dormant for a while
Until the environment is safe
Then the gemmule becomes a child.
Because…
Sitting on the rock,
Sponges reproduce right where they lay
The parent might be gone…
But some others took its place.
So now we have reached the end.
Now we have reach the end.
Header: Wikipedia, Creative Commons Images. Original Source: U.S. Fish and Wildlife Service WO-3540-CD42A
Caption 1: Wikipedia, Creative Commons Images. Original Source: MondoMarino, Original Author: Guido Picchetti
Caption 10: Wikipedia, Creative Commons Images. Original Author: Wolfgang Sauber


FISH BAR
Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen.
We appreciate your feedback
She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains.
198 West 21th Street, Suite 721
New York NY 10016


| 🔘 |
Define circle radius variation |
| 👓 |
Define depth levels |
| ✨ |
Define circle density |
| 👇🏾 | Click on the bubbles to change the focus. |
| 🌠 | Click and drag to change the focus intensity. |
| 🌟 | ft. GreenSock GSAP. |


ABOUT LA CONDESA
Considered the "HIP" Neighborhood of 2015
Next to Bosque de Chapultepec a nearby colonia known as La Condesa, filled with fading 1920s and 1930s architecture, sun-dappled parks, and a wide variety of eateries that cater to the city's young and trendy. The capital's elite were concentrated here at the turn of the 20th century. In the late 1990s a tide of artists, entrepreneurs, and foreigners brought a wave of energy. La Condesa and La Roma are a must-see in spring, when the jacarandas are in bloom.
La Condesa is the more outwardly charming of the two, with a lively nightlife scene catering to the younger set.
WHAT TO DO?
The Condesa's nucleus is the restaurant zone (ask your taxi driver to take you to the neighborhood's zona de restaurantes).
- EAT!
This is a list of my favorite restaurants:
- Azul Condesa (Mexican Food)
- Bistro Mosaico (French)
- Specia (Polish)
- SIGHTS
MUST SEE!:
- Avenida Michoacan:
Restaurants, Coffee Shops, Boutiques and more...!
- Centro Cultural Rosario Castellanos:
With more than 250,000 books on exhibit, it's also the largest bookstore in Mexico, complete with an art gallery and a Coffee Shop.
- Mercado Sobre Ruedas:
Outdoor Street Bazaar with Mexican Handcrafts, Local Produce and the best homade food you'll ever try!
- Parque Mexico:
With a duck pond included this park used to be a racetrack, which explains the circular roads like the looping Avenida Mexico and the occasional references to the Hipodromo (hippodrome) Condesa.
- WHERE TO STAY
- Condesa DF
This is one of my favorite hotels! You won't regret it!.
- La Casona
"The big house".
- Airbnb
You can always find great deals online! Make sure to book in advance!
I hope you enjoy this mini guide as much as I did! I figure you want to know more!
Please check my other websites Visit this link for more info!
My main site:


dplyr
translationsR/custom.r
drill_custom_functions.Rd
One benefit of dplyr
is that it provide a nice DSL over datasbase ops but that
means there needs to be knowlege of functions supported by the host database and
then a translation layer so they can be used in R.
Similarly, there are functions like grepl()
in R that don't directly exist in
databases. Yet, one can create a translation for grepl()
that maps to a
Drill custom function so you
don't have to think differently or rewrite your pipes when switching from core
tidyverse ops and database ops.
Many functions translate on their own, but it's handy to provide explicit ones, especially when you want to use parameters in a different order.
If you want a particular custom function mapped, file a PR or issue request in
the link found in the DESCRIPTION
file.
as.character(x)
: CAST( x AS CHARACTER )
as.date(x)
: CAST( x AS DATE )
as.logical(x)
: CAST( x AS BOOLEAN)
as.numeric(x)
: CAST( x AS DOUBLE )
as.posixct(x)
: CAST( x AS TIMESTAMP )
binary_string(x)
: BINARY_STRING( x )
cbrt(x)
: CBRT( x )
char_to_timestamp(x, y)
: TO_TIMESTAMP( x, y )
grepl(y, x)
: CONTAINS( x, y )
contains(x, y)
: CONTAINS( x, y )
convert_to(x, y)
: CONVERT_TO( x, y )
convert_from(x, y)
: CONVERT_FROM( x, y )
degrees(x)
: DEGREES( x )
lshift(x, y)
: DEGREES( x, y )
negative(x)
: NEGATIVE( x )
pow(x, y)
: MOD( x, y )
sql_prefix(x, y)
: POW( x, y )
string_binary(x)
: STRING_BINARY( x )
radians(x)
: RADIANS( x )
rshift(x)
: RSHIFT( x )
to_char(x, y)
: TO_CHAR x, y )
to_date(x, y)
: TO_DATE( x, y )
to_number(x, y)
: TO_NUMBER( x, y )
trunc(x)
: TRUNC( x )
double_to_timestamp(x)
= TO_TIMESTAMP( x )
char_length(x)
= CHAR_LENGTH( x )
flatten(x)
= FLATTEN( x )
kvgen(x)
= KVGEN( x )
repeated_count(x)
= REPEATED_COUNT( x )
repeated_contains(x)
= REPEATED_CONTAINS( x )
ilike(x, y)
= ILIKE( x, y )
init_cap(x)
= INIT_CAP( x )
length(x)
= LENGTH( x )
lower(x)
= LOWER( x )
tolower(x)
= LOWER( x )
ltrim(x, y)
= LTRIM( x, y )
nullif(x, y
= NULLIF( x, y )
position(x, y)
= POSITION( x IN y )
gsub(x, y, z)
= REGEXP_REPLACE( z, x, y )
regexp_replace(x, y, z)
= REGEXP_REPLACE( x, y, z )
rtrim(x, y)
= RTRIM( x, y )
rpad(x, y)
= RPAD( x, y )
rpad_with(x, y, z)
= RPAD( x, y, z )
lpad(x, y)
= LPAD( x, y )
lpad_with(x, y, z)
= LPAD( x, y, z )
strpos(x, y)
= STRPOS( x, y )
substr(x, y, z)
= SUBSTR( x, y, z )
upper(x)
= UPPER(1)
toupper(x)
= UPPER(1)
You can get a compact list of these with:
sql_translate_env(src_drill()$con)
as well.
Other Drill REST `dplyr` API: src_drill
,
src_tbls.src_drill


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/floor_ring.html ---
Is every floor_ring
a subring of the reals? Note that a floor_ring
is not assumed commutative! But for a general floor_ring
it is proved in the library that floor x <= x < (floor x) + 1
.
class floor_ring (α) [linear_ordered_ring α] := (floor : α → ℤ) (le_floor : ∀ (z : ℤ) (x : α), z ≤ floor x ↔ (z : α) ≤ x)
From algebra/archimedean.lean
One can prove
lemma eq_floor_iff_bounds (r : α) (z : ℤ) : ⌊r⌋ = z ↔ ↑z ≤ r ∧ r < (z + 1) := ...
I just noticed we don't even have that floor_ring
implies archimedean
it's part of the definition in some sense, right?
You mean we don't have the instance?
not exactly... the definition of archimedean uses two variables from the ring
Sorry I'm talking nonsense. It's linear_ordered_ring
which is part of the definition. I was going to delete my comments but then you replied too quickly :-)
only when you have a field does it reduce to the one variable version i.e. archimedean_iff_nat_le
which is obviously implied by a floor ring
So this is another maths question, right? Are all floor_ring
s archimedean?
A weaker question is: is every floor_ring
commutative.
Is every
floor_ring
a subring of the reals?.
What about reals with an infinitesimal t
?
Right -- this is what I thought originally.
But what is the floor of 1/t
?
Also isn't Z[t] a floor ring?
where t is infinitesimal
Now there's a good candidate.
t
is not invertible in this example, so 1/t
is zero, so the floor of 1/t
is zero.
So maybe the question is whether every floor_division_ring
is commutative.
OK but this is great, not every floor_ring
is a subring of the reals.
that should be enough to get archimedean
, at least
Does archimedean
imply "embeds in the reals"??
I realise I know nothing about this stuff. I have been non-archimedean all my life.
there's a floor function, seems like a good start
just keep multiplying by 10 and floor
right! But are we assuming commutative here?
and you get a decimal expansion for a real
wait
Z[t]
is archimedean, I guess?
not by mathlib definition
that's what the two variables are for
Hey, can we have non-commuting infinitesimals, to give me a non-commuting floor_ring
? I bet we can.
how do they compare?
I had ruled out infinitesimals because of my 1/t
error so my thoughts on this are all out of whack.
One is bigger than the other one.
Much bigger.
and s * t < t * s
?
This is the heart of the matter isn't it.
Maybe you order monomials lexicographically.
I could imagine this being preserved under pre and post multiplication by infinitesimals.
OK I think the thing to do in my decimal expansion thing is just to allow non-commutative rings until it starts becoming painful and then just add in the commutativity assumption.
requires a bit more formalization, but I think it checks out
aha you might want decidable_linear_ordered_comm_ring
oh wait linear_ordered_comm_ring
is there too
Yes, I discovered it when I was trying to debug why linarith couldn't prove s >= 0 -> r - s <= r
in the other thread!
[answer: default ring
discharger wouldn't run because underlying ring was not commutative]
I think linarith isn't really designed for noncomm rings, since it uses ring
as part of completeness
Right, so when things start getting hairy to the extent that simp
won't discharge things, I'll give in and switch to commutative rings.
We could extend ring
to noncomm rings, but I'm not sure how useful that is. It seems like it would just be a combination of abel
and cc
on the monomials
I meant to get all this done over the weekend so I could work on the perfectoid project today, but I didn't quite finish, and I really want to do it because modulo decimal expansions we have the entire questions and solutions for my final exam, and this is too cool to go unignored. When I started here we had no sine and cosine so we couldn't even formalise the questions. Ever since my birthday I've been desperate to formalise this final exam but I've been in teaching / admin hell which I am now finally out of.
I just noticed that floor
is defined on rings, but the definition does not involve the multiplication at all. Shouldn't it be defined on linear_order_add_comm_group
or something like that instead?
floor
takes values in Z so we need a group with a 1, but I am not sure we need the ring structure.
Anyway, the only interesting examples are rationals and reals, so defining it on rings does no harm. We could even define it directly on decidable_linear_ordered_comm_ring
.
Because Mario (I think) had already made the decision on what a floor_ring
was, I just went with that when it came to fractional parts. The fact that I later on discovered that the rings were not necessarily commutative just meant that I had to be slightly more careful and could use slightly fewer tactics (i.e. no ring
).
Last updated: Apr 24 2020 at 19:02 UTC


Info
Welcome to the generated API reference. Get Postman Collection
Address management
Addresses are used across multiple different models, they just contain where a company/person/user is located
Display all addresses
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/addresses" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/addresses");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/addresses
Store a new address
Requires authentication
Example request:
curl -X POST "http://localhost/api/addresses" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"organisation_name":"laudantium","line_1":"qui","line_2":"culpa","town":"quae","county":"aut","postcode":"voluptatum"}'
const url = new URL("http://localhost/api/addresses");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"organisation_name": "laudantium",
"line_1": "qui",
"line_2": "culpa",
"town": "quae",
"county": "aut",
"postcode": "voluptatum"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/addresses
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| organisation_name | string | optional | The organisation or company name on the address |
| line_1 | string | required | First line of address |
| line_2 | string | optional | Second line of address |
| town | string | optional | Town or city |
| county | string | optional | County or district |
| postcode | string | required | Valid UK postcode |
Display an address
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/addresses/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/addresses/{address}
Update an address
Requires authentication
Example request:
curl -X PUT "http://localhost/api/addresses/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"organisation_name":"optio","line_1":"exercitationem","line_2":"error","town":"perspiciatis","county":"voluptatem","postcode":"in"}'
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"organisation_name": "optio",
"line_1": "exercitationem",
"line_2": "error",
"town": "perspiciatis",
"county": "voluptatem",
"postcode": "in"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/addresses/{address}
PATCH /api/addresses/{address}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| organisation_name | string | optional | The organisation or company name on the address |
| line_1 | string | optional | First line of address |
| line_2 | string | optional | Second line of address |
| town | string | optional | Town or city |
| county | string | optional | County or district |
| postcode | string | optional | Valid UK postcode |
Soft delete an address
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/addresses/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/addresses/{address}
Display all addresses
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/addresses"
const url = new URL("http://localhost/api/addresses");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/addresses
Store a new address
Requires authentication
Example request:
curl -X POST "http://localhost/api/addresses" \
-H "Content-Type: application/json" \
-d '{"organisation_name":"voluptatem","line_1":"ut","line_2":"ut","town":"aspernatur","county":"eum","postcode":"ut"}'
const url = new URL("http://localhost/api/addresses");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"organisation_name": "voluptatem",
"line_1": "ut",
"line_2": "ut",
"town": "aspernatur",
"county": "eum",
"postcode": "ut"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/addresses
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| organisation_name | string | optional | The organisation or company name on the address |
| line_1 | string | required | First line of address |
| line_2 | string | optional | Second line of address |
| town | string | optional | Town or city |
| county | string | optional | County or district |
| postcode | string | required | Valid UK postcode |
Display an address
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/addresses/1"
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/addresses/{address}
Update an address
Requires authentication
Example request:
curl -X PUT "http://localhost/api/addresses/1" \
-H "Content-Type: application/json" \
-d '{"organisation_name":"accusantium","line_1":"sunt","line_2":"odit","town":"voluptatibus","county":"quisquam","postcode":"nulla"}'
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"organisation_name": "accusantium",
"line_1": "sunt",
"line_2": "odit",
"town": "voluptatibus",
"county": "quisquam",
"postcode": "nulla"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/addresses/{address}
PATCH /api/addresses/{address}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| organisation_name | string | optional | The organisation or company name on the address |
| line_1 | string | optional | First line of address |
| line_2 | string | optional | Second line of address |
| town | string | optional | Town or city |
| county | string | optional | County or district |
| postcode | string | optional | Valid UK postcode |
Soft delete an address
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/addresses/1"
const url = new URL("http://localhost/api/addresses/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/addresses/{address}
Authentication functionality
OSJO Authentication is handled by JWT. First make a request to the login route with a username and password. THis will return you a JWT that is valid for the next 60 minutes. Include this as the Authorization header in your requests e.g "Authorization: Bearer authTokenhere"
Get a JWT via given credentials.
Example request:
curl -X POST "http://localhost/api/auth/login"
const url = new URL("http://localhost/api/auth/login");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/auth/login
Log the user out (Invalidate the token).
Example request:
curl -X POST "http://localhost/api/auth/logout"
const url = new URL("http://localhost/api/auth/logout");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/auth/logout
Refresh a token.
Requires authentication
Example request:
curl -X POST "http://localhost/api/refresh"
const url = new URL("http://localhost/api/refresh");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/refresh
Get the authenticated User.
Requires authentication
Example request:
curl -X POST "http://localhost/api/me"
const url = new URL("http://localhost/api/me");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "POST",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/me
Company management
Companies are entities that mean more than one company (or department) can be managed with the same system, TODO
Display all companies
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/companies" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/companies");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/companies
Store a new company
Requires authentication
Example request:
curl -X POST "http://localhost/api/companies" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"cupiditate","size":6}'
const url = new URL("http://localhost/api/companies");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "cupiditate",
"size": 6
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/companies
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The company or business name |
| size | integer | optional | The amount of employees at the company |
Display a company
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/companies/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/companies/{company}
Update a company
Requires authentication
Example request:
curl -X PUT "http://localhost/api/companies/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"asperiores","size":7}'
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "asperiores",
"size": 7
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/companies/{company}
PATCH /api/companies/{company}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | optional | The company or business name |
| size | integer | optional | The amount of employees at the company |
Soft delete a company
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/companies/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/companies/{company}
Display all companies
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/companies"
const url = new URL("http://localhost/api/companies");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/companies
Store a new company
Requires authentication
Example request:
curl -X POST "http://localhost/api/companies" \
-H "Content-Type: application/json" \
-d '{"name":"quaerat","size":10}'
const url = new URL("http://localhost/api/companies");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "quaerat",
"size": 10
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/companies
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The company or business name |
| size | integer | optional | The amount of employees at the company |
Display a company
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/companies/1"
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/companies/{company}
Update a company
Requires authentication
Example request:
curl -X PUT "http://localhost/api/companies/1" \
-H "Content-Type: application/json" \
-d '{"name":"est","size":13}'
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "est",
"size": 13
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/companies/{company}
PATCH /api/companies/{company}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | optional | The company or business name |
| size | integer | optional | The amount of employees at the company |
Soft delete a company
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/companies/1"
const url = new URL("http://localhost/api/companies/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/companies/{company}
Customer management
Customers are the clients for our jobs. Theses customers are split from people so that we can have a customer which is a single client or a customer that is an entire business this way we can have multiple contacts for a business but a single customer.
Display all addresses
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/customers" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/customers");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/customers
Store a new customer
Requires authentication
Example request:
curl -X POST "http://localhost/api/customers" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"officiis"}'
const url = new URL("http://localhost/api/customers");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "officiis"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/customers
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The customers name |
Display a customer
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/customers/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/customers/{customer}
Update a customer
Requires authentication
Example request:
curl -X PUT "http://localhost/api/customers/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"nam"}'
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "nam"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/customers/{customer}
PATCH /api/customers/{customer}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The customers name |
Soft delete a customer
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/customers/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/customers/{customer}
Display all addresses
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/customers"
const url = new URL("http://localhost/api/customers");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/customers
Store a new customer
Requires authentication
Example request:
curl -X POST "http://localhost/api/customers" \
-H "Content-Type: application/json" \
-d '{"name":"magnam"}'
const url = new URL("http://localhost/api/customers");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "magnam"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/customers
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The customers name |
Display a customer
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/customers/1"
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/customers/{customer}
Update a customer
Requires authentication
Example request:
curl -X PUT "http://localhost/api/customers/1" \
-H "Content-Type: application/json" \
-d '{"name":"tenetur"}'
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"name": "tenetur"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/customers/{customer}
PATCH /api/customers/{customer}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| name | string | required | The customers name |
Soft delete a customer
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/customers/1"
const url = new URL("http://localhost/api/customers/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/customers/{customer}
Job management
Jobs are the generic idea of tasks or actions that need to be taken by an individual, these are assigned to workers who then complete/edit/cancel that job.
Display all jobs
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/jobs" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/jobs");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/jobs
Store a new job
Requires authentication
Example request:
curl -X POST "http://localhost/api/jobs" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"customer_id":15,"customer_person_id":9,"customer_address_id":5,"job_type_id":7,"due_date":"ut","completed_at":"amet","title":"necessitatibus","description":"ab"}'
const url = new URL("http://localhost/api/jobs");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"customer_id": 15,
"customer_person_id": 9,
"customer_address_id": 5,
"job_type_id": 7,
"due_date": "ut",
"completed_at": "amet",
"title": "necessitatibus",
"description": "ab"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/jobs
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| customer_id | integer | required | The customer that the job is for |
| customer_person_id | integer | required | The person that is going to be communicated with for this job |
| customer_address_id | integer | required | The address that the job will take place |
| job_type_id | integer | required | The type of the job, see job types for options |
| due_date | Carbon | required | The date that the job is due |
| completed_at | Carbon | optional | The date that the job was competed (if in past) |
| title | string | required | The simple title for the job |
| description | string | optional | The outline of what the job requirements are |
Display a job
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/jobs/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/jobs/{job}
Update a job
Requires authentication
Example request:
curl -X PUT "http://localhost/api/jobs/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"customer_id":5,"customer_person_id":20,"customer_address_id":14,"job_type_id":20,"due_date":"ullam","completed_at":"repudiandae","title":"eos","description":"est"}'
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"customer_id": 5,
"customer_person_id": 20,
"customer_address_id": 14,
"job_type_id": 20,
"due_date": "ullam",
"completed_at": "repudiandae",
"title": "eos",
"description": "est"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/jobs/{job}
PATCH /api/jobs/{job}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| customer_id | integer | optional | The customer that the job is for |
| customer_person_id | integer | optional | The person that is going to be communicated with for this job |
| customer_address_id | integer | optional | The address that the job will take place |
| job_type_id | integer | optional | The type of the job, see job types for options |
| due_date | Carbon | optional | The date that the job is due |
| completed_at | Carbon | optional | The date that the job was competed (if in past) |
| title | string | optional | The simple title for the job |
| description | string | optional | The outline of what the job requirements are |
Soft delete a job
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/jobs/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/jobs/{job}
Display all jobs
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/jobs"
const url = new URL("http://localhost/api/jobs");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/jobs
Store a new job
Requires authentication
Example request:
curl -X POST "http://localhost/api/jobs" \
-H "Content-Type: application/json" \
-d '{"customer_id":19,"customer_person_id":8,"customer_address_id":3,"job_type_id":4,"due_date":"et","completed_at":"tenetur","title":"dolores","description":"voluptas"}'
const url = new URL("http://localhost/api/jobs");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"customer_id": 19,
"customer_person_id": 8,
"customer_address_id": 3,
"job_type_id": 4,
"due_date": "et",
"completed_at": "tenetur",
"title": "dolores",
"description": "voluptas"
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/jobs
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| customer_id | integer | required | The customer that the job is for |
| customer_person_id | integer | required | The person that is going to be communicated with for this job |
| customer_address_id | integer | required | The address that the job will take place |
| job_type_id | integer | required | The type of the job, see job types for options |
| due_date | Carbon | required | The date that the job is due |
| completed_at | Carbon | optional | The date that the job was competed (if in past) |
| title | string | required | The simple title for the job |
| description | string | optional | The outline of what the job requirements are |
Display a job
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/jobs/1"
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/jobs/{job}
Update a job
Requires authentication
Example request:
curl -X PUT "http://localhost/api/jobs/1" \
-H "Content-Type: application/json" \
-d '{"customer_id":19,"customer_person_id":6,"customer_address_id":19,"job_type_id":18,"due_date":"voluptatem","completed_at":"ut","title":"quasi","description":"at"}'
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"customer_id": 19,
"customer_person_id": 6,
"customer_address_id": 19,
"job_type_id": 18,
"due_date": "voluptatem",
"completed_at": "ut",
"title": "quasi",
"description": "at"
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/jobs/{job}
PATCH /api/jobs/{job}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| customer_id | integer | optional | The customer that the job is for |
| customer_person_id | integer | optional | The person that is going to be communicated with for this job |
| customer_address_id | integer | optional | The address that the job will take place |
| job_type_id | integer | optional | The type of the job, see job types for options |
| due_date | Carbon | optional | The date that the job is due |
| completed_at | Carbon | optional | The date that the job was competed (if in past) |
| title | string | optional | The simple title for the job |
| description | string | optional | The outline of what the job requirements are |
Soft delete a job
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/jobs/1"
const url = new URL("http://localhost/api/jobs/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/jobs/{job}
Job schedule management
The job schedule contains information about when a job is going to be done, and who it is going to be done by.
Display all job schedule elements
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/job-schedule" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/job-schedule");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/job-schedule
Store a new job schedule element
Requires authentication
Example request:
curl -X POST "http://localhost/api/job-schedule" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"job_id":15,"user_id":9,"scheduled_time":"placeat","job_length":7}'
const url = new URL("http://localhost/api/job-schedule");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"job_id": 15,
"user_id": 9,
"scheduled_time": "placeat",
"job_length": 7
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/job-schedule
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| job_id | integer | required | The job to schedule |
| user_id | integer | required | The person who you want to assign the job to |
| scheduled_time | \Carbon\Carbon | required | The date when the job should take place |
| job_length | integer | optional | The length of the job in minutes |
Show a job schedule element
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/job-schedule/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/job-schedule/{job_schedule}
Update a job schedule element
Requires authentication
Example request:
curl -X PUT "http://localhost/api/job-schedule/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"job_id":1,"user_id":8,"scheduled_time":"enim","job_length":15}'
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"job_id": 1,
"user_id": 8,
"scheduled_time": "enim",
"job_length": 15
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/job-schedule/{job_schedule}
PATCH /api/job-schedule/{job_schedule}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| job_id | integer | optional | The job to schedule |
| user_id | integer | optional | The person who you want to assign the job to |
| scheduled_time | \Carbon\Carbon | optional | The date when the job should take place |
| job_length | integer | optional | The length of the job in minutes |
soft delete a job schedule element
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/job-schedule/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/job-schedule/{job_schedule}
Display all job schedule elements
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/job-schedule"
const url = new URL("http://localhost/api/job-schedule");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/job-schedule
Store a new job schedule element
Requires authentication
Example request:
curl -X POST "http://localhost/api/job-schedule" \
-H "Content-Type: application/json" \
-d '{"job_id":3,"user_id":9,"scheduled_time":"inventore","job_length":20}'
const url = new URL("http://localhost/api/job-schedule");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"job_id": 3,
"user_id": 9,
"scheduled_time": "inventore",
"job_length": 20
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/job-schedule
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| job_id | integer | required | The job to schedule |
| user_id | integer | required | The person who you want to assign the job to |
| scheduled_time | \Carbon\Carbon | required | The date when the job should take place |
| job_length | integer | optional | The length of the job in minutes |
Show a job schedule element
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/job-schedule/1"
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/job-schedule/{job_schedule}
Update a job schedule element
Requires authentication
Example request:
curl -X PUT "http://localhost/api/job-schedule/1" \
-H "Content-Type: application/json" \
-d '{"job_id":7,"user_id":3,"scheduled_time":"aut","job_length":5}'
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"job_id": 7,
"user_id": 3,
"scheduled_time": "aut",
"job_length": 5
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/job-schedule/{job_schedule}
PATCH /api/job-schedule/{job_schedule}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| job_id | integer | optional | The job to schedule |
| user_id | integer | optional | The person who you want to assign the job to |
| scheduled_time | \Carbon\Carbon | optional | The date when the job should take place |
| job_length | integer | optional | The length of the job in minutes |
soft delete a job schedule element
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/job-schedule/1"
const url = new URL("http://localhost/api/job-schedule/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/job-schedule/{job_schedule}
User management
Users are defined as the people who are using the system, the primary types of user are: worker, admin, company admin, super admin
Display all users
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/users" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/users");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/users
Store a new user
Requires authentication
Example request:
curl -X POST "http://localhost/api/users" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"email":"rerum","first_name":"aut","last_name":"nihil","password":"ut","disabled":false}'
const url = new URL("http://localhost/api/users");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"email": "rerum",
"first_name": "aut",
"last_name": "nihil",
"password": "ut",
"disabled": false
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/users
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| string | required | The email address for the user | |
| first_name | string | required | The users first name |
| last_name | string | required | The users last name |
| password | string | optional | The password for the user |
| disabled | boolean | optional | If the user is disabled or not |
Display a user
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/users/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/users/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/users/{user}
Update a user
Requires authentication
Example request:
curl -X PUT "http://localhost/api/users/1" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"email":"molestiae","first_name":"quo","last_name":"voluptate","password":"nam","disabled":false}'
const url = new URL("http://localhost/api/users/1");
let headers = {
"Authorization": "Bearer {token}",
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"email": "molestiae",
"first_name": "quo",
"last_name": "voluptate",
"password": "nam",
"disabled": false
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/users/{user}
PATCH /api/users/{user}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| string | optional | The email address for the user | |
| first_name | string | optional | The users first name |
| last_name | string | optional | The users last name |
| password | string | optional | The password for the user |
| disabled | boolean | optional | If the user is disabled or not |
Soft delete a user
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/users/1" \
-H "Authorization: Bearer {token}"
const url = new URL("http://localhost/api/users/1");
let headers = {
"Authorization": "Bearer {token}",
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/users/{user}
Display all users
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/users"
const url = new URL("http://localhost/api/users");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/users
Store a new user
Requires authentication
Example request:
curl -X POST "http://localhost/api/users" \
-H "Content-Type: application/json" \
-d '{"email":"ut","first_name":"delectus","last_name":"numquam","password":"fuga","disabled":true}'
const url = new URL("http://localhost/api/users");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"email": "ut",
"first_name": "delectus",
"last_name": "numquam",
"password": "fuga",
"disabled": true
}
fetch(url, {
method: "POST",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
POST /api/users
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| string | required | The email address for the user | |
| first_name | string | required | The users first name |
| last_name | string | required | The users last name |
| password | string | optional | The password for the user |
| disabled | boolean | optional | If the user is disabled or not |
Display a user
Requires authentication
Example request:
curl -X GET -G "http://localhost/api/users/1"
const url = new URL("http://localhost/api/users/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "GET",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
Example response:
null
HTTP Request
GET /api/users/{user}
Update a user
Requires authentication
Example request:
curl -X PUT "http://localhost/api/users/1" \
-H "Content-Type: application/json" \
-d '{"email":"tempore","first_name":"vel","last_name":"soluta","password":"qui","disabled":true}'
const url = new URL("http://localhost/api/users/1");
let headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
let body = {
"email": "tempore",
"first_name": "vel",
"last_name": "soluta",
"password": "qui",
"disabled": true
}
fetch(url, {
method: "PUT",
headers: headers,
body: body
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
PUT /api/users/{user}
PATCH /api/users/{user}
Body Parameters
| Parameter | Type | Status | Description |
|---|---|---|---|
| string | optional | The email address for the user | |
| first_name | string | optional | The users first name |
| last_name | string | optional | The users last name |
| password | string | optional | The password for the user |
| disabled | boolean | optional | If the user is disabled or not |
Soft delete a user
Requires authentication
Example request:
curl -X DELETE "http://localhost/api/users/1"
const url = new URL("http://localhost/api/users/1");
let headers = {
"Accept": "application/json",
"Content-Type": "application/json",
}
fetch(url, {
method: "DELETE",
headers: headers,
})
.then(response => response.json())
.then(json => console.log(json));
HTTP Request
DELETE /api/users/{user}


| Package | Description |
|---|---|
| org.custommonkey.xmlunit |
Root of the XMLUnit 1.x compatibility layer.
|
| org.xmlunit.builder |
Provides fluent builders for core parts of XMLUnit.
|
| org.xmlunit.diff |
Contains XMLUnit
DifferenceEngine that is
at the heart of all comparisons as well as supporting interfaces
and implementations. |
| org.xmlunit.matchers |
Hamcrest matchers on top of XMLUnit's core.
|
| Class and Description |
|---|
| Comparison
Details of a single comparison XMLUnit has performed.
|
| Comparison.Detail
The details of a target (usually some representation of an XML
Node) that took part in the comparison.
|
| ComparisonController
Decides whether the difference engine should stop the whole
comparison process because of the current difference.
|
| ComparisonListener
Is notified of comparisions and their results.
|
| ComparisonResult
The possible outcomes of a comparision.
|
| Difference
Combines a
Comparison and its result . |
| DifferenceEvaluator
May decide to up- or downgrade the severity of a difference.
|
| ElementSelector
Strategy used by
DefaultNodeMatcher for selecting matching
elements. |
| Class and Description |
|---|
| ComparisonController
Decides whether the difference engine should stop the whole
comparison process because of the current difference.
|
| ComparisonFormatter
Formatter methods for a
Comparison Object. |
| ComparisonListener
Is notified of comparisions and their results.
|
| Diff
The Diff-Object is the result of two comparisons.
|
| DifferenceEvaluator
May decide to up- or downgrade the severity of a difference.
|
| NodeMatcher
Strategy that matches control and tests nodes for comparison.
|
| Class and Description |
|---|
| AbstractDifferenceEngine
Useful base-implementation of some parts of the DifferenceEngine
interface.
|
| AbstractDifferenceEngine.ComparisonState
Encapsulates the current result and a flag that
indicates whether comparison should be stopped.
|
| AbstractDifferenceEngine.DeferredComparison
Encapsulates a comparison that may or may not be performed.
|
| Comparison
Details of a single comparison XMLUnit has performed.
|
| Comparison.Detail
The details of a target (usually some representation of an XML
Node) that took part in the comparison.
|
| ComparisonController
Decides whether the difference engine should stop the whole
comparison process because of the current difference.
|
| ComparisonFormatter
Formatter methods for a
Comparison Object. |
| ComparisonListener
Is notified of comparisions and their results.
|
| ComparisonResult
The possible outcomes of a comparision.
|
| ComparisonType
The kinds of comparisons XMLUnit performs.
|
| DefaultNodeMatcher.NodeTypeMatcher
Determines whether two Nodes are eligible for comparison based
on their node type.
|
| Difference
Combines a
Comparison and its result . |
| DifferenceEngine
XMLUnit's difference engine.
|
| DifferenceEvaluator
May decide to up- or downgrade the severity of a difference.
|
| ElementSelector
Strategy used by
DefaultNodeMatcher for selecting matching
elements. |
| ElementSelectors.ConditionalSelectorBuilder
Allows to build complex
ElementSelector s by combining simpler blocks. |
| ElementSelectors.ConditionalSelectorBuilderThen |
| NodeMatcher
Strategy that matches control and tests nodes for comparison.
|
| XPathContext
Helper class that keeps track of the XPath of matched nodes during
comparison.
|
| XPathContext.NodeInfo
Representation of a node used by
XPathContext . |
| Class and Description |
|---|
| ComparisonFormatter
Formatter methods for a
Comparison Object. |
| ComparisonListener
Is notified of comparisions and their results.
|
| DifferenceEvaluator
May decide to up- or downgrade the severity of a difference.
|
| NodeMatcher
Strategy that matches control and tests nodes for comparison.
|
Copyright © 2001–2017 XMLUnit. All rights reserved.


| Product Field Set Mapping Id | System.Guid |
| Product Field Set Id | System.Guid |
| Product Identifier | System.String |
| Product Attribute | System.String |
| Product Info | System.String |
| Product Image Type | System.String |
| Product Documentation Type | System.String |
| User Id | System.Guid |
| Date Time | System.DateTime |


{% extends 'dataloaderinterface/base.html' %} {% load static %} {% block styles %} {{ block.super }} {% endblock %} {% block page_title %}
Monitor My Watershed supports multiple types of water-quality data.
EnviroDIY is a community of enthusiasts sharing do-it-yourself ideas for environmental science and monitoring.
The Leaf Pack Network is an international network of teachers, students, and citizen monitors investigating their local stream ecosystems.
The Watershed Institute is a team focused on keeping water clean, safe and healthy through conservation, advocacy, science and education.


ActivityWindowConfig(systemUiVisibility: Int, requestedOrientation: Int)
Simple model configuration for size and orientation window.


awsiot.iotidentity¶
- class awsiot.iotidentity.IotIdentityClient(mqtt_connection)¶
Bases:
awsiot.MqttServiceClient
- Parameters
mqtt_connection (awscrt.mqtt.Connection) –
- publish_create_certificate_from_csr(request, qos)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateCertificateFromCsrRequest) – CreateCertificateFromCsrRequest instance.
qos (int) – The Quality of Service guarantee of this message
- Returns
A Future whose result will be None if the request is successfully published. The Future’s result will be an exception if the request cannot be published.
- Return type
concurrent.futures._base.Future
- publish_create_keys_and_certificate(request, qos)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateKeysAndCertificateRequest) – CreateKeysAndCertificateRequest instance.
qos (int) – The Quality of Service guarantee of this message
- Returns
A Future whose result will be None if the request is successfully published. The Future’s result will be an exception if the request cannot be published.
- Return type
concurrent.futures._base.Future
- publish_register_thing(request, qos)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.RegisterThingRequest) – RegisterThingRequest instance.
qos (int) – The Quality of Service guarantee of this message
- Returns
A Future whose result will be None if the request is successfully published. The Future’s result will be an exception if the request cannot be published.
- Return type
concurrent.futures._base.Future
- subscribe_to_create_certificate_from_csr_accepted(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateCertificateFromCsrSubscriptionRequest) – CreateCertificateFromCsrSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.CreateCertificateFromCsrResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type CreateCertificateFromCsrResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- subscribe_to_create_certificate_from_csr_rejected(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateCertificateFromCsrSubscriptionRequest) – CreateCertificateFromCsrSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.ErrorResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type ErrorResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- subscribe_to_create_keys_and_certificate_accepted(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateKeysAndCertificateSubscriptionRequest) – CreateKeysAndCertificateSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.CreateKeysAndCertificateResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type CreateKeysAndCertificateResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- subscribe_to_create_keys_and_certificate_rejected(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.CreateKeysAndCertificateSubscriptionRequest) – CreateKeysAndCertificateSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.ErrorResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type ErrorResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- subscribe_to_register_thing_accepted(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.RegisterThingSubscriptionRequest) – RegisterThingSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.RegisterThingResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type RegisterThingResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- subscribe_to_register_thing_rejected(request, qos, callback)¶
API Docs: https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#fleet-provision-api
- Parameters
request (awsiot.iotidentity.RegisterThingSubscriptionRequest) – RegisterThingSubscriptionRequest instance.
qos (int) – The Quality of Service guarantee of this message
callback (Callable[[awsiot.iotidentity.ErrorResponse], None]) – Callback to invoke each time the event is received. The callback should take 1 argument of type ErrorResponse. The callback is not expected to return anything.
- Returns
Tuple with two values. The first is a Future which will contain a result of None when the server has acknowledged the subscription, or an exception if the subscription fails. The second value is a topic which may be passed to unsubscribe() to stop receiving messages. Note that messages may arrive before the subscription is acknowledged.
- Return type
Tuple[concurrent.futures._base.Future, str]
- class awsiot.iotidentity.CreateCertificateFromCsrRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
certificate_signing_request (str) –
- class awsiot.iotidentity.CreateCertificateFromCsrResponse(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
- class awsiot.iotidentity.CreateCertificateFromCsrSubscriptionRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
This class has no attributes.
- class awsiot.iotidentity.CreateKeysAndCertificateRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
This class has no attributes.
- class awsiot.iotidentity.CreateKeysAndCertificateResponse(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
- class awsiot.iotidentity.CreateKeysAndCertificateSubscriptionRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
This class has no attributes.
- class awsiot.iotidentity.ErrorResponse(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- class awsiot.iotidentity.RegisterThingRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
certificate_ownership_token (str) –
parameters (typing.Dict[str, str]) –
template_name (str) –
- parameters¶
- Type
- class awsiot.iotidentity.RegisterThingResponse(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
device_configuration (typing.Dict[str, str]) –
thing_name (str) –
- device_configuration¶
- Type
- class awsiot.iotidentity.RegisterThingSubscriptionRequest(*args, **kwargs)¶
Bases:
awsiot.ModeledClass
All attributes are None by default, and may be set by keyword in the constructor.
- Keyword Arguments
template_name (str) –