In my first semester of graduate study, I noticed many students missing home food and craving terribly for it. I realized that food preferences are deeply ingrained and considered part of one's culture or identity. Home food is familiar is one's taste buds and is emotionally comforting. Staying away from home food for elongated periods of time can cause uneasiness, distress and depression.
An iOS application that connects students to nearby families from the same home country for a cooking and/or dining experience. Play with the interactive prototype here.
I did a comparative analysis to understand the pros and cons of the ways in which students might be currently getting home-like food. I discovered that different ways focus on factors such as providing multi-cuisine, cost-effective, healthy and home-cooked food
I read user blogs and also conducted user research interviews with 5 classmates who were international students. To get a deeper understanding of what students were facing, I read research studies. My key findings that resonated among all students were as were as follows
I started sketching multiple solutions for the problem in hand. For this exercise feasibility took a back seat and I sketched of digital, offline and future tech solutions. Some of these included a country-specific potluck, dining experience with families, cook together with friends, an augmented reality cooking class, 3D printing of food and so on.
I showed students the solutions I had sketched and asked for their opinions. Students said they would like a mix of cooking together with students and dining with families because of their social interaction aspects. They also expressed two concerns like time that has to be taken out and distance that needs to be travelled to achieve this solution.
I interviewed one family member to understand if they would volunteer for such an experience. The interviewee was empathetic towards students and said that she would gladly share and cook authentic recipes passed on from her ancestors for students.
I identified the critical feature of my application. The critical feature of my application is to Connect students to food experiences with families based on proximity. Proximity in order to minimize time & travel constraints. I used the Question (Q), Option (O), Criteria (C) method to come up with key design questions, possible answers/ options to the questions and criteria to assess and compare the options.
To quickly validate my initial designs in a cost-effective way, I created a paper prototype and tested it with my target audience and iterated over it 2 times.
I mapped user flow of my final design after iteration.
I finally created a digital prototype of my design.
I believe my design would alleviate homesickness due to missing home food in international students who move away from home. Through my application, I feel that students would be emotionally comforted by the fact that they have an opportunity to get food that tastes like home and at a close proximity. The experience of eating and sharing food with “family-like” people and friends would foster bonding and creation of new relations. Lastly, I believe that this application would pave a way to replace their old memories of eating home food with newer ones


Iotsa Devices
{% set wifiStatus = pluginObject._findNetworks(token) %}
{% set networks = wifiStatus.networks %}
{% set message = wifiStatus.message %}
{% if message %}
User intervention required: {{message}}
{% endif %}
Uninitialized iotsa devices
{% if networks %}
{% for n in networks %}
- {{n}}
{% endfor %}
{% else %}
No networks found that appear to be created by uninitialized iotsa devices. Note that is tested using the
WiFi card of the computer on which Igor runs, so if a iotsa device is too far away from the Igor computer
it may not be seen.
{% endif %}
Initializing a Iotsa device
- Select the wifi network (from the list above, or by looking for network names starting with config_) on your laptop, smartphone or tablet.
- Use a browser to visit http://<IP_ADDRESS>.
- Use the config and wificonfig links to give your device a hostname and tell
it about your WiFi network name and password. You will have to power-cycle the device during this
process (to demonstrate you have physical access).
After this process the device is initialized enough to show up here in the Find Devices section
for further setup.
Return to iotsa device setup page.
{% if returnTo %}
Return to {{returnTo}}.
{% endif %}
Return to Igor homepage


Starbucks 'Merry Coffee' cups look a lot like Christmas - without saying it
by Dom CalicchioStarbucks' new coffee cups are beginning to look a lot like Christmas - but they don't name the holiday.
The coffee chain is unveiling Thursday four new seasonal cups — and none of them uses the word “Christmas.” The closest it gets are the words “Merry Coffee” on two of the four designs, plus “We wish you a merry coffee,” on a newly designed cup sleeve.
STARBUCKS DEBUTS 2019 HOLIDAY CUP DESIGNS COVERED IN FESTIVE 'TYPOGRAPHY'
“I’m gonna get a jump start on the Starbucks holiday cup drama by saying that 'Merry Coffee' is the silliest slogan I have ever heard,” one Twitter user wrote.
“Multi-billion dollar corporation and they came up with Merry Coffee. Wow,” another observed.
Starbucks previously faced backlash from Christmas traditionalists when it issued plain red cups in 2015 and the “Symbol of Unity” cup in 2016, just a week before the presidential election. Recent years have seen holiday-colored pattern designs. A Starbucks spokesperson told Fox News the slogan is not an effort to avoid mentioning Christmas.
"During the holidays, Starbucks aspires to spark mini moments of joy in our customers when they visit our stores, making their day even more cheerful and bright," the spokesperson said, noting that Starbucks offers a "Christmas blend." "'Merry coffee' is a fun and festive expression that we hope our customers feel as they take the very first sip of their favorite Starbucks holiday beverage."
The spokesperson added that Starbucks stores will be decorated during the holiday season with Christmas colors and candy cane ribbon.
"We honor the Christmas season each year in a variety of ways including the return of customer-favorite Starbucks Christmas Blend, back for its 35th holiday season, Starbucks partners proudly wear their red aprons, holiday music is heard in stores and holiday gifts and Starbucks Cards line our shelves," the spokesperson added.
CLICK HERE TO GET THE FOX NEWS APP
Whether an aversion to using the word “Christmas” extends beyond Starbucks is difficult to measure. But in 2017, President Trump tweeted on Christmas Eve that Americans were “proud to be saying Merry Christmas again,” since he took office.
“I am proud to have led the charge against the assault of our cherished and beautiful phrase,” he wrote. “MERRY CHRISTMAS!!!!!”


Wanting to Be `John Malkovich' by Homer Yen (c) 1999
How's this for a wild ride? Shoot down a darkened tunnel at an amazingly high speed. Experience a cathartic transformation as you take on the life of someone else for 15 awe-inspiring minutes. Finally, drop into a ditch by the side of the New Jersey Turnpike. No, it's not the newest ride at your nearby amusement park. Rather, it's a unique life-affirming journey that one can take by entering a strange portal. If you've ever wanted to get inside someone's head, particularly John Malkovich's, then this is the way to do it.
`Being John Malkovich' is a satisfyingly and sublimely rich film about the people we are and the people that we want to be. Who we are can be a gut-wrenching nightmare. For those like Craig (John Cusack), it's a self-affirmation of failure and a perpetual state of hopelessness. Slovenly dressed, lacking in charisma, and hoping to make it as a professional puppeteer, his life is one big dead end. `There's no need for a puppeteer in today's world,' he states. It doesn't matter that he's an excellent puppeteer (the sequences featuring puppets are astounding); he's a man who only wishes to escape from the confines of his dreary life. Equally dreary is his loveless marriage to wife Lotte (an unrecognizable Cameron Diaz). Whatever magic they once had has faded. Looking like inebriated victims that never left the 1960s, they emptily talk about having children while forcing themselves to seem interested in each other's events of the day. Lotte seems more interested in her pets, which include a loquacious parrot and a chimp that can untie knots. Meanwhile, it's time for Craig to get a job because his life as a street performer brings him more black eyes than quarters (the scene that makes this evident, featuring a nun and monk puppet is hilarious).
The ad that Craig answers brings him to LesterCorp, situated on the 7½ floor of a building where access requires you to press the elevator's emergency stop button at just the right moment. Then, you need to take the crowbar to force the doors open while the alarm rings loudly in the background. On this floor, the ceiling is only 5 feet high ‘to keep overhead low,' quips the company's President (Orson Bean). This work environment confines him even more, and it's no help that he's falling head over heels for Maxine (Catherine Keener), a strong-willed co-worker that flaunts her sexuality with as much chutzpah as her merciless belittlement of him. By this point, I think that I'd want to be anybody but him too.
However, he soon makes a tremendous discovery that not only may be the answer to his prayers, but also sets the film's enjoyably surreal tone. Craig discovers a portal that actually allows him to enter the mind of John Malkovich (Malkovich plays himself). By assuming this new body, all fears and disappointments are left behind. For him, this is the ultimate experience as both a puppeteer and as a man who desperately wants to leave his dismal life behind. But it also holds some interesting opportunities for Maxine, who wants to exploit it as a business, and Lotte, who finds it weirdly, sexually stimulating.
BJM is endlessly inventive and continues to surprise throughout while glazing the film with fresh ideas and sharp dialogue. I was especially impressed with a sequence where Malkovich enters his own brain to find out what he himself is really like. Director Spike Jonze deftly handles a complexly woven tapestry of ideas and manages to find a satisfying resolution to each. And I suspect that you'll be revisiting many of the ideas once you've left the theatre. Expect an Oscar nod for Best Film. Thank goodness this film wasn't called `Being Al Gore.'
Grade: A-
=====
Do You Yahoo!? Bid and sell for free at http://auctions.yahoo.com
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


{{ hint.team }},
Your hint question for the puzzle {{ hint.puzzle }} has been answered.
Question:{{ hint.hint_question|linebreaksbr }}
Response:{{ hint.response|linebreaksbr }}
If you still need help, you can make another request here.


"Road Trip" - Let's Go! by Homer Yen (c) 2000
"Road Trip," a tale about four underachieving college students who embark on a hastily planned journey, is a 4-lane highway of laughter and is one of the funniest movies in recent memory. Convince your friend to drive you, steal a bus from a school for the blind, or walk through the backwoods as fast as you can. Whatever mode of transportation you choose, make your final destination this hilarious new comedy.
The tone is effectively set up within the first five minutes of the film as we join up with Barry (Tom Green), a career Senior at Ithaca University, who is in the midst of giving a tour to a group of prospective incoming freshman. Barry is a bag of mixed emotions composed of 3 parts lethargy and 1 part morbid curiosity. During the tour, he rambles about Ithaca's history and points out, for example, that its library was built in the 1600s. A flustered tour participant points to an ornamental plaque by the library's entrance and retorts that the building was actually built in 1951. "No," he says after some self-deliberation. "That's the address."
As part of the tour, he relays the story of long-distance couple Josh (Breckin Meyer) and Tiffany (Rachel Blanchard). He attends Ithaca while she attends a university in Austin ("That's in Massachusetts," says the likable but dimwitted Barry).
Josh worries about the pact that they made to stay close. To show his commitment, he prepares a videotaped message professing his undying love. His sexually adventurous friend, E.L. (Sean William Scott) tries to explain to him that holding out for a long-distance love could be the greatest folly of his life. He imparts, "the window of opportunity to drink, do drugs and get with girls is getting smaller with each passing day. Before you know it, you'll be 40 and you'll have to pay for these kinds of girls."
Josh is unfazed, but after a wild party hosted by E.L., he winds up with college hottie Beth (Amy Smart) and subsequently videotapes his act of infidelity. Guess which videotape gets mistakenly sent to girlfriend Beth? Aghast, Josh has only a matter of days to travel to Austin to intercept the tape and then to get back in order to take a critical final test. In a matter of days, he could lose his girlfriend AND get expelled from school.
E.L. exuberantly yells, "all right, road trip!" Along for the ride is levelheaded, pot smoking Rubin(Paulo Costanzo) and the meek and thin-as-a-pin Kyle (DJ Qualls) who is invited because he's the only one with a car and a credit card. Without giving notice, the four hurriedly leave. This infuriates Beth who, thanks to Barry's command of American geography, boards a bus to the University of Massachusetts to find Josh. Barry, meanwhile, uses their absence to fulfill his dream of feeding Rubin's pet boa constrictor. And Kyle's ill-tempered father (Fred Ward), who could easily make the National Rifle Association jittery, thinks that his son has been kidnapped. Meanwhile, the four Austin-bound students experience their own share of setbacks and bizarre encounters. In its funniest segment, the group tries to pass themselves off as brothers of an all-black fraternity. A great road trip isn't about where you wind up, but what happens on the way there. These guys will experience the trip of their lives.
"Road Trip" is this summer's most refreshing alternative. But it will appeal most to the under 35 crowd. It's a crisp, straightforward comedy. It's not ribald (i.e. "There's Something About Mary") nor is it a lampoon ("Naked Gun"). It's more like 'guerilla comedy' where the jokes just seem to come out of nowhere and then latch onto you until you laugh. The humor is relentless, the pace is lively, and you'll come out of it grinning from ear to ear.
Grade: A-
S: 2 out of 3 L: 2 out of 3 V: 1 out of 3
Do You Yahoo!? Send instant messages & get email alerts with Yahoo! Messenger. http://im.yahoo.com/
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


What are bangs?
Github
Boost your productivity
by
using
!bangs
Add to Chrome
Add to Firefox
Add to Opera
Get it from source
View source on Github
Add your own shortcut
Nothing found.
How about adding your own shortcut?


Memory Game
0 Moves
You
Pairs: 1
Computer
Pairs: 2
00
:
00
:
00
Start
Game Mode
Solo
With a friend
Against Computer
Game Difficulty
Easy
Normal
Hard
Cards
3x4
4x4
4x5
5x6
6x6
6x7
Congratulations You Won!
Restart Game


Demo
Simple gallery
Images in anchor href
This two will also be preloaded.
First image
Second image
About
Options
- onAll : function () - called when all images are fully loaded
- onOne : function (image) - called when one image is fully loaded
- onFail : function (image) - called when an error occurred during loading
- beforeShow : function (image) - called before image is shown
- fadeTime : var(default is 500) - fade time in milliseconds
- delay : var(default is 100) - time between displaying next image
- interval : var(default is 200) - time between checking if any of images
- wrapper : var(default is 'a') - tag in which image is wrapped during loading
- preloadLinkImages: var(default is true) - preload images in href attributes?
Usage
(function($) {
$('body').iPreload();
})(jQuery)


affordable paris tours city tours / tour tickets / tour guides
blue tshirt
$26
woman shirt
$31
yellow tshirt
$21
cool lingerie
$56


In 1958, Harvard University Press published the first volume of NOMOS, the yearbook of the American Society for Political and Legal Philosophy. Edited by Carl Friedrich, and entitled Authority, it began a series of annual volumes published or currently in production. These thematic collections have been staples of political and legal philosophical scholarship and in many cases have become the first place for scholars to turn on any given theme. The essays continue to be a valuable resource for interdisciplinary research and undergraduate and graduate education. The volumes from 1977 (NOMOS XVII) to 2017 (NOMOS LVIII) are available on JSTOR. (There is generally a two- to three-year lag between publication of the volumes by New York University Press and when they become available on JSTOR.)
The following is a list of all NOMOS volumes, by date published:


air climate (−, emissions (−,, change health impacts electricity power quality increase energy average demand mid-century data building mortality based July adaptation present-day results Fig future increases pollution Energy United impact used Environmental deaths scenario −,) Climate conditioning Air model study changes concentrations daily ozone additional exposure hourly increased modeling regional studies μg/m {border-style Atmos Health associated maximum Mortality billion px;} sector use using #ffffff;} States functions summer warmer -hour CMAQ Environ National Res calculated maximum: mean: minimum: particulate representative Model Protection conditions plant Analysis Change Expert Table plants warm EPA Geophys annual eastern emissions. human matter mean production temperatures CI) MDA incidence range temperature Building Click EGU Holloway LINK analysis damages emissions, estimates file. global non-accidental potential simulations standard ./j.atmosenv... Abel American BenMAP Environ. Impact MyPower Research ambient benefits carbon collab: decrease fine function health. include meteorology models premature response scenarios shown version (DC): .-related Atmospheric Bell C-R Chem Jacob Meier NARCCAP Quality Schwartz Washington Writing air-pollution-related chemical climate, cooling estimate high mitigation new provided reduce (DOCX) ./acp--- America Atmos. Global Harkey Lett. Mickley NEI North Phys. Regional Sciences WRF effects gas greater higher highest meteorological px; quality, reported run simulated versus {font-family (range -related ./JD Community Data Emissions Ito Levy MCA MCCO Madison, Mid-century Present-day Regulatory University Valuation Wisconsin, [], adverse assessment buildings costs distribution editing electric emission findings focus font-size heat http://orcid.org/--- morbidity natural outcomes production, review standards summed Agency. Agency; Benefits Change. Clim Consumption EPA’s Mapping Methodology Ozone Program Smith States: Survey Thurston [cited atmospheric co-benefits concentrations. deaths. described direct directly dollars] double; heat-driven implications including mechanism methods model, present public quality. regionally shows single source sources stock tonnes; use, variability work year (NO (as Cancer Department Dev. Future Geosci However, Jerrett MCCO, Med. Multiscale NOx Nat Patz Sci Tai Validation Wisconsin–Madison, adaptive annually anthropogenic approximately behavior biogenic border-color border-width capacity causes chosen climate-only climate. compared computationally current demand, discussed dispatch especially exacerbated existing frequency generation highlights included increasing large meet nitrogen peak performed policy ppbv quantify represents responsible role solid; study. temperatures. total value values years {font-style {font-weight (CMAQ) (PM (approximately (mean -month ./S-()- ./s--- APK Ahl Annual Buonocore Care Carlton Chemistry Conceptualization Database David Earth Electricity Fiore Funding Graduate Histograms Information Investigation Jun Leibensperger Morbidity NAAQS Nuclear Overall, Policy Power RBESS Respir Science Simulation Software States. Study Technol. Thus, US, Using Wisconsin Zhang attributable billion). bold cause change, change: characteristics concentration concentration–response conditions. consistent constant courier; downscaled editors. em; emissions: end epidemiological following functions. generating greenhouse harmful hospital hours impacts. interactions likely linked million mitigate modeled mortality, number organic presented primarily pt;} relationship renewable representation results, results. seen selected sensitivity simulate simulating solar spatial strategies studies: study, tables transport uncertainty volume °C;


procedure Changing;
Calls the OnChanging event.
Descendants of TBackend call Changing before making changes to their data or properties that are potentially destructive.


Photogrammetry and Computer Vision are two major fields with a significant overlap with Image Processing. We plan to invite presentations of high-quality works on topics that will include novel developments over classic Photogrammetric Computer Vision problems such as Structure from motion and SLAM, as well as papers with a focus on novel learning techniques over 3D geometric data. Topics of interest will include feature extraction, description and matching, multispectral and hyperspectral image processing and fusion, Multi-View Reconstruction and Surface Reconstruction, 3D point cloud analysis and processing, scene understanding, robot vision and perception, path and motion planning.
The Workshop on 3D Computer Vision and Photogrammetry will be held in Kuala Lumpur, Malaysia, in conjunction with the 30th IEEE International Conference on Image Processing (October 8-11, 2023). Accepted papers will be published in the IEEE ICIP proceedings through IEEE Xplore.
Papers may be up to 5 pages long, including all text, figures, and references, and the 5th page may contain only references, and according to the main conference template.
Main conference website: https://2023.ieeeicip.org/
Important Dates :
Paper submission deadline : June 30th, 2023 **deadline extended to July 15th, 2023**
Paper Acceptance Notification : July 30th, 2023
Camera Ready Paper Deadline : August 5th, 2023
Author Registration Deadline : August 12th, 2023
Organizing Committee
Christophoros Nikou (University of Ioannina, Greece)
Lazaros Grammatikopoulos (University of West Attica, Greece)
Elli Petsa (University of West Attica, Greece)
Giorgos Sfikas (University of West Attica, Greece)
George Retsinas (National Technical University of Athens, Greece)
Panagiotis Dimitrakopoulos (University of Ioannina, Greece)
Andreas El Saer (University of West Attica, Greece)


How to use My Calls in the UKCloud Portal
Overview
The My Calls area of the UKCloud Portal is a one‑stop place to raise new support tickets (incidents and requests) with UKCloud and monitor existing tickets.
My Calls covers the ITIL standards of:
Raising faults and outages (incidents)
Raising service requests, for example, to request service or system information, restore backups or request logs
Intended audience
This guide is intended for any UKCloud Portal user who wants to use My Calls to raise or monitor a support ticket. To complete the steps in this article, you must have access to the UKCloud Portal with the appropriate Portal permissions for Support. The tasks you can perform will depend on the level of permissions you have.
| Create | Read | Update | All | Manage My Calls | |
|---|---|---|---|---|---|
| My Tickets | Log your own support tickets in your name | View your own support tickets | Update your own support tickets | All Create, Read and Update privileges on your own tickets | N/A |
| Account Tickets | Log your own support tickets | View all tickets logged by users across the account | Update any support ticket across the account | All Create, Read and Update privileges on tickets across the account | N/A |
| My Calls Admin | Log your own support tickets | View all tickets logged by users across the account | Update any support ticket across the account | All Create, Read and Update privileges on tickets across the account | Ability to update user permissions in My Calls across the account |
Accessing My Calls
Log in to the UKCloud Portal.
For more detailed instructions, see the Getting Started Guide for the UKCloud Portal.
In the Portal navigation panel, expand the Support option and select My Calls.
For additional security, re-enter your UKCloud Portal user credentials to access My Calls.
The My Calls home page is divided into four main areas:
Outstanding Items lists the support tickets (incident and service requests) that you can view, depending on your permissions. You can also see support tickets by selecting the My Items tab.
Report List provides customer related reporting around tickets (coming soon).
Log an Incident using Template provides templates for you to use to raise tickets. You can also see incident templates by selecting the Service Catalog tab.
Top 5 Service Catalogue Offerings lists the most popular service catalogue offerings to provide a quick way to raise a request. To see all request offerings, select the Service Catalog tab.
Raising a support ticket
If you want to request a new service, make changes to an existing service or request information, use the Service Catalogue to raise a service request. If you need to notify UKCloud of an incident, use an incident template to raise an incident.
In My Calls, select the Service Catalog tab.
Search the Service Catalog for the request offering or incident type you'd like to raise. You can browse by product type or most popular or enter keywords to search for.
Tip
There is a generic incident template if you cannot find anything that matches what you're looking for.
Select the request or incident form that you want to use.
Complete the fields in the form with as much information as possible so that our Support Team can address your ticket promptly.
When you're done, click Review & Submit.
Note
You're automatically subscribed to any tickets that you create.
Monitoring an existing support ticket
After raising a support ticket, you can view the ticket to monitor progress, add more information, add attachments, close or cancel the ticket.
Note
The actions you can perform on a ticket depend on your Support permissions. You will always be able to update support tickets that you have raised. If you have the Account Tickets or My Calls Admin permissions, you can also view and edit tickets raised by other users on the account.
In My Calls, select the My Items tab.
Find the ticket you want to view either by browsing through the list of tickets or by using the Search field.
Tip
You can also filter by incident (Issue), request or active tickets.
When you find your ticket, click the Summary.
The Item Details tab shows the information submitted in the request or incident.
Select the Service Request Progress tab to update the details of the ticket.
To add an update or reply to a message from our Support Team, click Create under My Notes, add your updates.
To add an attachment, click Attach Files. For security purposes, some file attachment formats are not accepted.
When you're done, click Save.
To cancel a ticket, select Cancel Request in the left-hand panel and click Yes to confirm.
Managing My Calls user permissions
If you have the My Calls Admin Portal permission, you can manage the permissions level for other My Calls users across your account.
In My Calls, select the Role Administration tab.
From the list of users, select the user that you want to edit.
Tip
You can filter the list of users or use the search field to find a specific user.
Select the permission level you want to apply to the user: My Tickets, Account Tickets or My Calls Admin.
The options offered will depend on the current role assigned to the user. Each user can have only one permission level, so the role you select here replaces any previous permissions.
Note
For details of what the different permission levels mean, see the table in the Intended audience section.
When you're done, click Save.
Setting up a new My Calls user
You can enable new users on your account with access to My Calls.
In the Portal navigation panel, expand the Contacts option and select All Contacts.
From the Actions menu, select Add new contact.
On the New Contact page, provide the user's name and contact information, then click Save.
![NOTE] If you receive an error message, contact UKCloud Customer Support at<EMAIL_ADDRESS>After you've created the user account, select the User tab, select the Is active? check box, provide the user with a password and memorable word, then click Save.
Note
It takes about 15 minutes for the user to be available within the Portal.
To provide the user with access to My Calls, you must raise a service request using the Setting up a user in My Calls offering in the Service Catalogue.
For detailed steps, see Raising a support ticket.
When UKCloud Support have set up the user in My Calls, you can manage their permission level to give them the appropriate access.
For detailed steps, see Managing My Calls user permissions.
Accessing old support tickets
If you need to access older tickets, created using the previous version of My Calls, you can use the My Calls Archive.
Note
To raise new support tickets you must use the new My Calls.
In the Portal navigation panel, expand the Support option and select My Calls Archive.
For information about how to work with tickets in the My Calls Archive, see How to use the My Calls Archive
Next steps
For more information about the UKCloud support process, see How to raise and escalate incidents and service requests
For more information about what you can do in the UKCloud Portal, see the Getting Started Guide for the UKCloud Portal.
Related videos
Feedback
If you find an issue with this article, click Improve this Doc to suggest a change. If you have an idea for how we could improve any of our services, visit the Ideas section of the UKCloud Community.


Shared with the community
Status: First draft
Last update: 4/20/2017
Authors: Brian Grant, Tim Hockin, and Clayton Coleman
Intended audience: Kubernetes contributors
Table of Contents
This document describes the ongoing architectural development of the Kubernetes system, and the motivations behind it. System developers wanting to extend or customize Kubernetes should use this document as a guide to inform where and how best to implement these enhancements. Application developers wanting to develop large, portable and/or future-proof Kubernetes applications may refer to this document for guidance on which parts of Kubernetes they can rely on being present now and in the future.
The layers of the architecture are named and described (see the diagram below). Distinctions are drawn between what exists today and what we plan to provide in future, and why.
Succinctly, the layers comprise:
The Nucleus which provides standardized API and execution machinery, including basic REST mechanics, security, individual Pod, container, network interface and storage volume management, all of which are extensible via well-defined interfaces. The Nucleus is non-optional and expected to be the most stable part of the system.
The Application Management Layer which provides basic deployment and routing, including self-healing, scaling, service discovery, load balancing and traffic routing. This is often referred to as orchestration and the service fabric. Default implementations of all functions are provided, but conformant replacements are permitted.
The Governance Layer which provides higher level automation and policy enforcement, including single- and multi-tenancy, metrics, intelligent autoscaling and provisioning, and schemes for authorization, quota, network, and storage policy expression and enforcement. These are optional, and achievable via other solutions.
The Interface Layer which provides commonly used libraries, tools, UI’s and systems used to interact with the Kubernetes API.
The Ecosystem which includes everything else associated with Kubernetes, and is not really “part of” Kubernetes at all. This is where most of the development happens, and includes CI/CD, middleware, logging, monitoring, data processing, PaaS, serverless/FaaS systems, workflow, container runtimes, image registries, node and cloud provider management, and many others.
Kubernetes is a platform for deploying and managing containers. For more information about the mission, scope, and design of Kubernetes, see What Is Kubernetes and the architectural overview. The latter also describes the current breakdown of the system into components/processes.
Contributors to Kubernetes need to know what functionality they can rely upon when adding new features to different parts of the system.
Additionally, one of the problems that faces platforms like Kubernetes is to define what is “in” and what is “out”. While Kubernetes must offer some base functionality on which users can rely when running their containerized applications or building their extensions, Kubernetes cannot and should not try to solve every problem that users have. Adding to the difficulty is that, unlike some other types of infrastructure services such as databases, load balancers, or messaging systems, there are few obvious, natural boundaries for the “built-in” functionality. Consequently, reasonable minds can disagree on exactly where the boundaries lie or what principles guide the decisions.
This document, which was inspired by similar efforts from the community, aims to clarify the intentions of the Kubernetes’s architecture SIG. It is currently somewhat aspirational, and is intended to be a blueprint for ongoing and future development. NIY marks items not yet implemented as of the lated updated date at the head of this document.
Just as Linux has a kernel, core system libraries, and optional userland tools, Kubernetes also has “layers” of functionality and tools. An understanding of these layers is important for developers of Kubernetes functionality to determine which cross-concept dependencies should be allowed and which should not.
Kubernetes APIs, concepts, and functionality can be sorted into the following layers.
Essential API and execution machinery.
These APIs and functions, implemented by the upstream Kubernetes codebase, comprise the bare minimum set of features and concepts needed to build up the higher-order layers of the system. These pieces are thoroughly specified and documented, and every containerized application will use them. Developers can safely assume they are present.
They should eventually become stable and “boring”. However, Linux has continuously evolved over its 25-year lifetime and major changes, including NPTL (which required rebuilding all applications) and features that enable containers (which are changing how all applications are run), have been added over the past 10 years. It will take some time for Kubernetes to stabilize, as well.
Kubernetes clusters provide a collection of similar REST APIs, exposed by the Kubernetes API server, supporting primarily CRUD operations on (mostly) persistent resources. These APIs serve as the hub of its control plane.
REST APIs that follow Kubernetes API conventions (path conventions, standard metadata, …) are automatically able to benefit from shared API services (authorization, authentication, audit logging) and generic client code can interact with them (CLI and UI discoverability, generic status reporting in UIs and CLIs, generic waiting conventions for orchestration tools, watching, label selection).
The lowest layer of the system also needs to support extension mechanisms necessary to add the functionality provided by the higher layers. Additionally, this layer must be suitable for use both in single-purpose clusters and highly tenanted clusters. The nucleus should provide sufficient flexibility that higher-level APIs could introduce new scopes (sets of resources) without compromising the security model of the cluster.
Kubernetes cannot function without this basic API machinery and semantics, including:
Authentication: The authentication scheme is a critical function that must be agreed upon by both the server and clients. The API server supports basic auth (username/password) (NOTE: We will likely deprecate basic auth eventually.), X.509 client certificates, OpenID Connect tokens, and bearer tokens, any of which (but not all) may be disabled. Clients should support all forms supported by kubeconfig. Third-party authentication systems may implement the TokenReview API and configure the authentication webhook to call it, though choice of a non-standard authentication mechanism may limit the number of usable clients.
The TokenReview API (same schema as the hook) enables external authentication checks, such as by Kubelet
Pod identity is provided by “service accounts“
Authorization: Third-party authorization systems may implement the SubjectAccessReview API and configure the authorization webhook to call it.
REST semantics, watch, durability and consistency guarantees, API versioning, defaulting, and validation
NIY: API deficiencies that need to be addressed:
NIY: Built-in admission-control semantics, synchronous admission-control hooks, and asynchronous resource initialization – it needs to be possible for distribution vendors, system integrators, and cluster administrators to impose additional policies and automation
NIY: API registration and discovery, including API aggregation, to register additional APIs, to find out which APIs are supported, and to get the details of supported operations, payloads, and result schemas
NIY: ThirdPartyResource and ThirdPartyResourceData APIs (or their successors), to support third-party storage and extension APIs
NIY: An extensible and HA-compatible replacement for the /componentstatuses API to determine whether the cluster is fully turned up and operating correctly: ExternalServiceProvider (component registration)
The Endpoints API (and future evolutions thereof), which is needed for component registration, self-publication of API server endpoints, and HA rendezvous, as well as application-layer target discovery
The Namespace API, which is the means of scoping user resources, and namespace lifecycle (e.g., bulk deletion)
The Event API, which is the means of reporting significant occurrences, such as status changes and errors, and Event garbage collection
NIY: Cascading-deletion garbage collector, finalization, and orphaning
NIY: We need a built-in add-on manager (not unlike static pod manifests, but at the cluster level) so that we can automatically add self-hosted components and dynamic configuration to the cluster, and so we can factor out functionality from existing components in running clusters. At its core would be a pull-based declarative reconciler, as provided by the current add-on manager and as described in the whitebox app management doc. This would be easier once we have apply support in the API.
Add-ons should be cluster services that are managed as part of the cluster and that provide the same degree of multi-tenancy as that provided by the cluster.
They may, but are not required to, run in the kube-system namespace, but the chosen namespace needs to be chosen such that it won’t conflict with users’ namespaces.
The API server acts as the gateway to the cluster. By definition, the API server must be accessible by clients from outside the cluster, whereas the nodes, and certainly pods, may not be. Clients authenticate the API server and also use it as a bastion and proxy/tunnel to nodes and pods (and services), using /proxy and /portforward APIs.
TBD: The CertificateSigningRequest API, to enable credential generation, in particular to mint Kubelet credentials
Ideally, this nuclear API server would only support the minimum required APIs, and additional functionality would be added via aggregation, hooks, initializers, and other extension mechanisms.
Note that the centralized asynchronous controllers, such as garbage collection, are currently run by a separate process, called the Controller Manager.
/healthz and /metrics endpoints may be used for cluster management mechanisms, but are not considered part of the supported API surface, and should not be used by clients generally in order to detect cluster presence. The /version endpoint should be used instead.
The API server depends on the following external components:
The API server may depend on:
Certificate authority
Identity provider
TokenReview API implementer
SubjectAccessReview API implementer
The most important and most prominent controller in Kubernetes is the Kubelet, which is the primary implementer of the Pod and Node APIs that drive the container execution layer. Without these APIs, Kubernetes would just be a CRUD-oriented REST application framework backed by a key-value store (and perhaps the API machinery will eventually be spun out as an independent project).
Kubernetes executes isolated application containers as its default, native mode of execution. Kubernetes provides Pods that can host multiple containers and storage volumes as its fundamental execution primitive.
The Kubelet API surface and semantics include:
The Pod API, the Kubernetes execution primitive, including:
Pod feasibility-based admission control based on policies in the Pod API (resource requests, node selector, node/pod affinity and anti-affinity, taints and tolerations). API admission control may reject pods or add additional scheduling constraints to them, but Kubelet is the final arbiter of what pods can and cannot run on a given node, not the schedulers or DaemonSets.
Container and volume semantics and lifecycle
Pod IP address allocation (a routable IP address per pod is required)
A mechanism (i.e., ServiceAccount) to tie a Pod to a specific security scope
Volume sources:
emptyDir
hostPath
secret
configMap
downwardAPI
NIY: Container and image volumes (and deprecate gitRepo)
NIY: Claims against local storage, so that complex templating or separate configs are not needed for dev vs. prod application manifests
flexVolume (which should replace built-in cloud-provider-specific volumes)
Subresources: binding, status, exec, logs, attach, portforward, proxy
NIY: Checkpointing of API resources for availability and bootstrapping
Container image and log lifecycles
The Secret API, and mechanisms to enable third-party secret management
The ConfigMap API, for component configuration as well as Pod references
The Node API, hosts for Pods
Node and pod networks and their controllers (route controller)
Node inventory, health, and reachability (node controller)
Terminated-pod garbage collection
Volume controller
The PersistentVolume API
The PersistentVolumeClaim API
Again, centralized asynchronous functions, such as terminated-pod garbage collection, are performed by the Controller Manager.
The Controller Manager and Kubelet currently call out to a “cloud provider” interface to query information from the infrastructure layer and/or to manage infrastructure resources. However, we’re working to extract those touchpoints (issue) into external components. The intended model is that unsatisfiable application/container/OS-level requests (e.g., Pods, PersistentVolumeClaims) serve as a signal to external “dynamic provisioning” systems, which would make infrastructure available to satisfy those requests and represent them in Kubernetes using infrastructure resources (e.g., Nodes, PersistentVolumes), so that Kubernetes could bind the requests and infrastructure resources together.
The Kubelet depends on the following external components:
Image registry
Container Runtime Interface implementation
Container Network Interface implementation
FlexVolume implementations (“CVI” in the diagram)
And may depend on:
NIY: Cloud-provider node plug-in, to provide node identity, topology, etc.
NIY: Third-party secret management system (e.g., Vault)
NIY: Credential generation and rotation controller
Accepted layering violations:
The kubernetes service for the API server
The application management and composition layer, providing self-healing, scaling, application lifecycle management, service discovery, load balancing, and routing – also known as orchestration and the service fabric.
These APIs and functions are REQUIRED for any distribution of Kubernetes. Kubernetes should provide default implementations for these APIs, but replacements of the implementations of any or all of these functions are permitted, provided the conformance tests pass. Without these, most containerized applications will not run, and few, if any, published examples will work. The vast majority of containerized applications will use one or more of these.
Kubernetes’s API provides IaaS-like container-centric primitives and also lifecycle controllers to support orchestration (self-healing, scaling, updates, termination) of all major categories of workloads. These application management, composition, discovery, and routing APIs and functions include:
A default scheduler, which implements the scheduling policies in the Pod API: resource requests, nodeSelector, node and pod affinity/anti-affinity, taints and tolerations. The scheduler runs as a separate process, on or outside the cluster.
NIY: A rescheduler, to reactively and proactively delete scheduled pods so that they can be replaced and rescheduled to other nodes.
Continuously running applications: These application types should all support rollouts (and rollbacks) via declarative updates, cascading deletion, and orphaning/adoption. Other than DaemonSet, all should support horizontal scaling.
The Deployment API, which orchestrates updates of stateless applications, including subresources (status, scale, rollback)
The DaemonSet API, for cluster services, including subresources (status)
The StatefulSet API, for stateful applications, including subresources (status, scale)
The PodTemplate API, used by DaemonSet and StatefulSet to record change history
Terminating batch applications: These should include support for automatic culling of terminated jobs (NIY).
The Job API (GC discussion)
The CronJob API
Discovery, load balancing, and routing
The Service API, including allocation of cluster IPs, repair on service allocation maps, load balancing via kube-proxy or equivalent, and automatic Endpoints generation, maintenance, and deletion for services. NIY: LoadBalancer service support is OPTIONAL, but conformance tests must pass if it is supported. If/when they are added, support for LoadBalancer and LoadBalancerClaim APIs should be present if and only if the distribution supports LoadBalancer services.
The Ingress API, including internal L7 (NIY)
Service DNS. DNS, using the official Kubernetes schema, is required.
The application layer may depend on:
Identity provider (to-cluster identities and/or to-application identities)
NIY: Cloud-provider controller implementation
Ingress controller(s)
Replacement and/or additional schedulers and/or reschedulers
Replacement DNS service
Replacement for kube-proxy
Replacement and/or auxiliary workload controllers, especially for extended rollout strategies
Policy enforcement and higher-level automation.
These APIs and functions should be optional for running applications, and should be achievable via other solutions.
Each supported API/function should be applicable to a large fraction of enterprise operations, security, and/or governance scenarios.
It needs to be possible to configure and discover default policies for the cluster (perhaps similar to Openshift’s new project template mechanism, but supporting multiple policy templates, such as for system namespaces vs. user ones), to support at least the following use cases:
Is this a: (source: multi-tenancy working doc)
Single tenant / single user cluster
Multiple trusted tenant cluster
Production vs. dev cluster
Highly tenanted playground cluster
Segmented cluster for reselling compute / app services to others
Do I care about limiting:
Resource usage
Internal segmentation of nodes
End users
Admins
DoS
Automation APIs and functions:
The Metrics APIs (needed for H/V autoscaling, scheduling TBD)
The HorizontalPodAutoscaler API
NIY: The vertical pod autoscaling API(s)
The PodDisruptionBudget API
Dynamic volume provisioning, for at least one volume source type
Dynamic load-balancer provisioning
NIY: The PodPreset API
NIY: The service broker/catalog APIs
NIY: The Template and TemplateInstance APIs
Policy APIs and functions:
Authorization: The ABAC and RBAC authorization policy schemes.
The LimitRange API
The ResourceQuota API
The PodSecurityPolicy API
The ImageReview API
The NetworkPolicy API
The management layer may depend on:
Network policy enforcement mechanism
Replacement and/or additional horizontal and vertical pod autoscalers
Dynamic volume provisioners
Dynamic load-balancer provisioners
Metrics monitoring pipeline, or a replacement for it
Service brokers
These mechanisms are suggested for distributions, and also are available for download and installation independently by users. They include commonly used libraries, tools, systems, and UIs developed by official Kubernetes projects, though other tools may be used to accomplish the same tasks. They may be used by published examples.
Commonly used libraries, tools, systems, and UIs developed under some Kubernetes-owned GitHub org.
Kubectl – We see kubectl as one of many client tools, rather than as a privileged one. Our aim is to make kubectl thinner, by moving commonly used non-trivial functionality into the API. This is necessary in order to facilitate correct operation across Kubernetes releases, to facilitate API extensibility, to preserve the API-centric Kubernetes ecosystem model, and to simplify other clients, especially non-Go clients.
Client libraries (e.g., client-go, client-python)
Cluster federation (API server, controllers, kubefed)
Dashboard
Helm
These components may depend on:
Kubectl extensions (discoverable via help)
Helm extensions (discoverable via help)
These things are not really “part of” Kubernetes at all.
There are a number of areas where we have already defined clear-cut boundaries for Kubernetes.
While Kubernetes must offer functionality commonly needed to deploy and manage containerized applications, as a general rule, we preserve user choice in areas complementing Kubernetes’s general-purpose orchestration functionality, especially areas that have their own competitive landscapes comprised of numerous solutions satisfying diverse needs and preferences. Kubernetes may provide plug-in APIs for such solutions, or may expose general-purpose APIs that could be implemented by multiple backends, or expose APIs that such solutions can target. Sometimes, the functionality can compose cleanly with Kubernetes without explicit interfaces.
Additionally, to be considered part of Kubernetes, a component would need to follow Kubernetes design conventions. For instance, systems whose primary interfaces are domain-specific languages (e.g., Puppet, Open Policy Agent) aren’t compatible with the Kubernetes API-centric approach, and are perfectly fine to use with Kubernetes, but wouldn’t be considered to be part of Kubernetes. Similarly, solutions designed to support multiple platforms likely wouldn’t follow Kubernetes API conventions, and therefore wouldn’t be considered to be part of Kubernetes.
Inside container images: Kubernetes is not opinionated about the contents of container images – if it lives inside the container image, it lives outside Kubernetes. This includes, for example, language-specific application frameworks.
On top of Kubernetes
Continuous integration and deployment: Kubernetes is unopinionated in the source-to-image space. It does not deploy source code and does not build your application. Continuous Integration (CI) and continuous deployment workflows are areas where different users and projects have their own requirements and preferences, so we aim to facilitate layering CI/CD workflows on Kubernetes but don’t dictate how they should work.
Application middleware: Kubernetes does not provide application middleware, such as message queues and SQL databases, as built-in infrastructure. It may, however, provide general-purpose mechanisms, such as service-broker integration, to make it easier to provision, discover, and access such components. Ideally, such components would just run on Kubernetes.
Logging and monitoring: Kubernetes does not provide logging aggregation, comprehensive application monitoring, nor telemetry analysis and alerting systems, though such mechanisms are essential to production clusters.
Data-processing platforms: Spark and Hadoop are well known examples, but there are many such systems.
Application-specific operators: Kubernetes supports workload management for common categories of applications, but not for specific applications.
Platform as a Service: Kubernetes provides a foundation for a multitude of focused, opinionated PaaSes, including DIY ones.
Functions as a Service: Similar to PaaS, but FaaS additionally encroaches into containers and language-specific application frameworks.
Workflow orchestration: “Workflow” is a very broad, diverse area, with solutions typically tailored to specific use cases (data-flow graphs, data-driven processing, deployment pipelines, event-driven automation, business-process execution, iPaaS) and specific input and event sources, and often requires arbitrary code to evaluate conditions, actions, and/or failure handling.
Configuration DSLs: Domain-specific languages do not facilitate layering higher-level APIs and tools, they usually have limited expressibility, testability, familiarity, and documentation, they promote complex configuration generation, they tend to compromise interoperability and composability, they complicate dependency management, and uses often subvert abstraction and encapsulation.
Kompose: Kompose is a project-supported adaptor tool that facilitates migration to Kubernetes from Docker Compose and enables simple use cases, but doesn’t follow Kubernetes conventions and is based on a manually maintained DSL.
ChatOps: Also adaptor tools, for the multitude of chat services.
Underlying Kubernetes
Container runtime: Kubernetes does not provide its own container runtime, but provides an interface for plugging in the container runtime of your choice.
Image registry: Kubernetes pulls container images to the nodes.
Cluster state store: Etcd
Network: As with the container runtime, we support an interface (CNI) that facilitates pluggability.
File storage: Local filesystems and network-attached storage.
Node management: Kubernetes neither provides nor adopts any comprehensive machine configuration, maintenance, management, or self-healing systems, which typically are handled differently in different public/private clouds, for different operating systems, for mutable vs. immutable infrastructure, for shops already using tools outside of their Kubernetes clusters, etc.
Cloud provider: IaaS provisioning and management.
Cluster creation and management: The community has developed numerous tools, such as minikube, kubeadm, bootkube, kube-aws, kops, kargo, kubernetes-anywhere, and so on. As can be seen from the diversity of tools, there is no one-size-fits-all solution for cluster deployment and management (e.g., upgrades). There’s a spectrum of possible solutions, each with different tradeoffs. That said, common building blocks (e.g., secure Kubelet registration) and approaches (in particular, self-hosting) would reduce the amount of custom orchestration needed in such tools.
We would like to see the ecosystem build and/or integrate solutions to fill these needs.
Eventually, most Kubernetes development should fall in the ecosystem.
Options, Configurable defaults, Extensions, Plug-ins, Add-ons, Provider-specific functionality, Version skew, Feature discovery, and Dependency management.
Kubernetes is not just an open-source toolkit, but is typically consumed as a running, easy-to-run, or ready-to-run cluster or service. We would like most users and use cases to be able to use stock upstream releases. This means Kubernetes needs sufficient extensibility without rebuilding to handle such use cases.
While gaps in extensibility are the primary drivers of code forks and gaps in upstream cluster lifecycle management solutions are currently the primary drivers of the proliferation of Kubernetes distributions, the existence of optional features (e.g., alpha APIs, provider-specific APIs), configurability, pluggability, and extensibility make the concept inevitable.
However, to make it possible for users to deploy and manage their applications and for developers to build Kubernetes extensions on/for arbitrary Kubernetes clusters, they must be able to make assumptions about what a cluster or distribution of Kubernetes provides. Where functionality falls out of these base assumptions, there needs to be a way to discover what functionality is available and to express functionality requirements (dependencies) for usage.
Cluster components, including add-ons, should be registered via the component registration API and discovered via /componentstatuses.
Enabled built-in APIs, aggregated APIs, and registered third-party resources should be discoverable via the discovery and OpenAPI (swagger.json) endpoints. As mentioned above, cloud-provider support for LoadBalancer-type services should be determined by whether the LoadBalancer API is present.
Extensions and their options should be registered via FooClass resources, similar to StorageClass, but with parameter descriptions, types (e.g., integer vs string), constraints (e.g., range or regexp) for validation, and default values, with a reference to fooClassName from the extended API. These APIs should also configure/expose the presence of related features, such as dynamic volume provisioning (indicated by a non-empty storageclass.provisioner field), as well as identifying the responsible controller. We need to add such APIs for at least scheduler classes, ingress controller classes, flex volume classes, and compute resource classes (e.g., GPUs, other accelerators).
Assuming we transitioned existing network-attached volume sources to flex volumes, this approach would cover volume sources. In the future, the API should provide only general-purpose abstractions, even if, as with LoadBalancer services, the abstractions are not implemented in all environments (i.e., the API does not need to cater to the lowest common denominator).
NIY: We also need to develop mechanisms for registering and discovering the following:
Admission-control plugins and hooks (including for built-in APIs)
Authentication plugins
Authorization plugins and hooks
Initializers and finalizers
Node labels and cluster topology (topology classes?)
NIY: Activation/deactivation of both individual APIs and finer-grain features could be addressed by the following mechanisms:
We intend to store most of that configuration data in ConfigMaps, to facilitate dynamic reconfiguration, progressive rollouts, and introspectability.
Configuration common to all/multiple components should be factored out into its own configuration object(s). This should include the feature-gate mechanism.
An API should be added for semantically meaningful settings, such as the default length of time to wait before deleting pods on unresponsive nodes.
NIY: The problem of version-skewed operation, for features dependent on upgrades of multiple components (including replicas of the same component in HA clusters), should be addressed by:
Creating flag gates for all new such features,
Always disabling the features by default in the first minor release in which they appear,
Providing configuration patches to enable the features, and
Enabling them by default in the next minor release.
NIY: We additionally need a mechanism to warn about out of date nodes, and/or potentially prevent master upgrades (other than to patch releases) until/unless the nodes have been upgraded.
NIY: Field-level versioning would facilitate solutions to bulk activation of new and/or alpha API fields, prevention of clobbering of new fields by poorly written out-of-date clients, and evolution of non-alpha APIs without a proliferation of full-fledged API definitions.
The Kubernetes API server silently ignores unsupported resource fields and query parameters, but not unknown/unregistered APIs (note that unimplemented/inactive APIs should be disabled). This can facilitate the reuse of configuration across clusters of multiple releases, but more often leads to surprises. Kubectl supports optional validation using the Swagger/OpenAPI specification from the server. Such optional validation should be provided by the server (NIY). Additionally, shared resource manifests should specify the minimum required Kubernetes release, for user convenience, which could potentially be verified by kubectl and other clients.
Additionally, unsatisfiable Pod scheduling constraints and PersistentVolumeClaim criteria silently go unmet, which can useful as demand signals to automatic provisioners, but also makes the system more error prone. It should be possible to configure rejection of unsatisfiable requests, using FooClass-style APIs, as described above (NIY).
The Service Catalog mechanism (NIY) should make it possible to assert the existence of application-level services, such as S3-compatible cluster storage.
In order to properly secure a Kubernetes cluster and enable safe extension, a few fundamental concepts need to be defined and agreed on by the components of the system. It’s best to think of Kubernetes as a series of rings from a security perspective, with each layer granting the successive layer capabilities to act.
One or more data storage systems (etcd) for the nuclear APIs
The nuclear APIs
APIs for highly trusted resources (system policies)
Delegated trust APIs and controllers (users grant access to the API / controller to perform actions on their behalf) either at the cluster scope or smaller scopes
Untrusted / scoped APIs and controllers and user workloads that run at various scopes
When a lower layer depends on a higher layer, it collapses the security model and makes defending the system more complicated - an administrator may choose to do so to gain operational simplicity, but that must be a conscious choice. A simple example is etcd: any component that can write data to etcd is now root on the entire cluster, and any actor that can corrupt a highly trusted resource can almost certainly escalate. It is useful to divide the layers above into separate sets of machines for each layer of processes (etcd -> apiservers + controllers -> nuclear security extensions -> delegated extensions -> user workloads), even if some may be collapsed in practice.
If the layers described above define concentric circles, then it should also be possible for overlapping or independent circles to exist - for instance, administrators may choose an alternative secret storage solution that cluster workloads have access to yet the platform does not implicitly have access to. The point of intersection for these circles tends to be the machines that run the workloads, and nodes must have no more privileges than those required for proper function.
Finally, adding a new capability via extension at any layer should follow best practices for communicating the impact of that action.
When a capability is added to the system via extension, what purpose does it have?
Make the system more secure
Enable a new “production quality” API for consumption by everyone in the cluster
Automate a common task across a subset of the cluster
Run a hosted workload that offers apis to consumers (spark, a database, etcd)
These fall into three major groups:
Required for the cluster (and hence must run close to the core, and cause operational tradeoffs in the presence of failure)
Exposed to all cluster users (must be properly tenanted)
Exposed to a subset of cluster users (runs more like traditional “app” workloads)
If an administrator can easily be tricked into installing a new cluster level security rule during extension, then the layering is compromised and the system is vulnerable.
In addition to completing the technical mechanisms described and/or implied above, we need to apply the principles in this document to a set of more focused documents that answer specific practical questions. Here are some suggested documents and the questions they answer:
Kubernetes API Conventions For Extension API Developers
Audience: someone planning to build a Kubernetes-like API extension (TPR or Aggregated API, etc…)
Answers Questions:
What conventions should I follow? (metadata, status, etc)
What integrations do I get from following those conventions?
What can I omit and Does
Document that answers this question:
Kubernetes API Conventions For CLI and UI Developers
Audience: someone working on kubectl, dashboard, or another CLI or UI.
Answers Questions:
Required and Optional Behaviors for Kubernetes Distributions/Services
See also the certification issue
I just implemented a Hosted version of the Kubernetes API.
Which API groups, versions and Kinds do I have to expose?
Can I provide my own logging, auth, auditing integrations and so on?
Can I call it Kubernetes if it just has pods but no services?
I’m packaging up a curated Kubernetes distro and selling it.
Assumptions/conventions for application developers
I want to write portable config across on-prem and several clouds.
Kubernetes Security Models


--- layout: default title: Contribute ---
To contribute to Spine Event Engine, please fork the GitHub Spine Event Repository repository.
Email: {{ site.data.support.email | html_encode_email }}


I've recently received my first emonTx 3.4, and I'm currently tinkering with the calibration and the sketches.
One of the things that is not quite clear in the documentation/calibration (or that I couldn't find), is what you are supposed to do with the power supply jumper while calibrating. The goal is to power the emonTx using the AC-AC adapter, so that implies calibration should be done with the jumper in place.
On the wiki however is stated that the emonTx is also powered by the USB/UART bridge, and it is not clear what you should do with the jumper if the UART dongle is connected.
So: can I power the board safely with the AC-AC adapter while the UART dongle is connected?
On a related note: is there a calibration pad on the print that allows me to easily measure the voltage that is being sensed by the ADC for voltage, or do I need to probe the miniscule MCU pin? (Good that it's not a BGA ;-)
Re: Calibration procedure emonTx 3 - power supply jumper?
The emonTx V3 (both V3.2 & V3.4 variants) does not normally use the internal reference, and as the supply voltage is always regulated (even when batteries are being used for the power supply), there is no real need to calibrate the voltage reference. Simply ignore that step and continue with the calibration procedure.
The presence or absence of the link won't affect calibration at all.
You're not supposed to run the V3.4 with both power supplies, but I've done it many times (though for only a limited time) with no apparent ill effect.
Re: Calibration procedure emonTx 3 - power supply jumper?
We might be talking about different things here; I'm talking about the voltage waveform delivered by the AC-AC adapter, and I have the impression you are referring to the voltage connected to the AREF pin on the MCU?
As far as I understand it, the tolerances of the AC-AC adapter as well as the circuit for dividing/biasing the waveform for the ADC input implies that a proper calibration is required for accurate results. I would also expect a (slight) voltage drop when the AC-AC adapter is powering the emonTx, so the calibration should (ideally) be performed in the same circumstances.
I'm just getting up to speed with the emonTx, and sometimes it's not always very clear what hardware part/version the documentation is referring to.
Re: Calibration procedure emonTx 3 - power supply jumper?
That wasn't clear from your original post, and my crystal ball failed me. The load on the adapter does slightly affect the calibration of course, but the power limit (e.g. the number of temperature sensors, when the LED flashes etc) has been set so that the effect is minimal and in practice it is undetectable. My simulations, with the standard ac adapter, show that the dip on the positive peak reduces the rms value of the voltage by less than 0.34% at maximum supply voltage to less than 0.25% at minimum supply voltage. My mains supply is not stable to anywhere near that, I don't have a stabilised power supply so it is impossible to verify that figure.
Here is the simulation at minimum supply voltage. The red trace is the input sine wave, the cyan is the voltage to the analogue input, the blue is the difference × 100.
Re: Calibration procedure emonTx 3 - power supply jumper?
Sounds perfectly sensible. Thanks for the explication :-)


| HBASE-561 |
HBase package does not include LICENSE.txt nor build.xml |
Blocker |
. |
stack |
|
| HBASE-577 |
NPE getting scanner |
Blocker |
. |
stack |
Jim Kellerman |
| HBASE-574 |
HBase does not load hadoop native libs |
Blocker |
io |
Rong-En Fan |
stack |
| HBASE-573 |
HBase does not read hadoop-*.xml for dfs configuration after moving out hadoop/contrib |
Blocker |
. |
Rong-En Fan |
stack |
| HBASE-11 |
[hbase] Unexpected exits corrupt DFS |
Major |
regionserver |
Bryan Duxbury |
Jim Kellerman |
| HBASE-12 |
when hbase regionserver restarts, it says "impossible state for createLease()" |
Minor |
regionserver |
Michael Bieniosek |
stack |
| HBASE-559 |
MR example job to count table rows |
Blocker |
. |
stack |
stack |
| HBASE-575 |
hbase master dies with stack overflow error if rootdir isn't qualified |
Blocker |
. |
Michael Bieniosek |
Jim Kellerman |
| HBASE-582 |
HBase 554 forgot to clear results on each iteration caused by a filter |
Blocker |
regionserver |
Clint Morgan |
|
| HBASE-532 |
Odd interaction between HRegion.get, HRegion.deleteAll and compactions |
Blocker |
. |
Jim Kellerman |
stack |
| HBASE-590 |
HBase migration tool does not get correct FileSystem or root directory if configuration is not correct. |
Blocker |
util |
Jim Kellerman |
Jim Kellerman |
| HBASE-595 |
RowFilterInterface.rowProcessed() is called *before* fhe final filtering decision is made |
Major |
Filters |
Clint Morgan |
|
| HBASE-586 |
HRegion runs HStore memcache snapshotting -- fix it so only HStore knows about workings of memcache |
Critical |
. |
stack |
stack |
| HBASE-588 |
Still a 'hole' in scanners, even after HBASE-532 |
Blocker |
. |
stack |
stack |
| HBASE-604 |
Don't allow CLASSPATH from environment pollute the hbase CLASSPATH |
Blocker |
. |
stack |
|
| HBASE-608 |
HRegionServer::getThisIP() checks hadoop config var for dns interface name |
Major |
regionserver |
Jim R. Wilson |
|
| HBASE-609 |
Master doesn't see regionserver edits because of clock skew |
Blocker |
. |
stack |
stack |
| HBASE-618 |
We always compact if 2 files, regardless of the compaction threshold setting |
Blocker |
. |
stack |
|
| HBASE-619 |
Fix 'logs' link in UI |
Major |
. |
stack |
|
| HBASE-478 |
offlining of table does not run reliably |
Critical |
. |
stack |
Jim Kellerman |
| HBASE-620 |
testmergetool failing in branch and trunk since hbase-618 went in |
Major |
. |
stack |
stack |


Statistical data set
FE and schools learner participation breakdown by local authority
FE data library: local authority tables
MS Excel Spreadsheet , 614KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 608KB
MS Excel Spreadsheet , 397KB
ZIP , 118MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 40.8MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
ZIP , 55.3MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.4MB
MS Excel Spreadsheet , 7.5MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 7.54MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 444KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Published: 5 March 2014
Updated: 8 August 2016


The following is an example of a bitcoin address.
16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
Addresses are derived from public keys
using the SHA-256 and RIPEMD-160 algorithms
and by adding a version number and a checksum.
y 2 = x 3 - ax + b
Miners receive reward after each new block, plus they are entitled to collecting transaction fees.
The value of a new block is reduced to it's half every 4 years.
The original intention is to mine 21 million bitcoins altogether by the time around 2140.
While bitcoin's future is quite uncertain, the technology behind it
can be used widely. Some compare it's significance to the invention
of the internet. It has it's disadvantages though and pretenders
are starting to emerge.
LAST BLOCK


Represents the response of a http request executed using a HttpClient.
More...
Represents the response of a http request executed using a HttpClient.
◆ HttpResponse() [1/2]
| MinimalHttp.HttpResponse.HttpResponse |
( |
HttpWebResponse |
response, |
|
|
HttpCertificate |
certificate = null |
|
) |
| |
Initializes a new HttpResponse using the given HttpWebResponse and an optional certificate.
- Parameters
-
| response | The HttpWebResponse returned by the http request. |
| certificate | The HttpCertificate used with the http request. |
◆ HttpResponse() [2/2]
| MinimalHttp.HttpResponse.HttpResponse |
( |
HttpWebResponse |
response, |
|
|
WebExceptionStatus |
exceptionStatus, |
|
|
HttpCertificate |
certificate = null |
|
) |
| |
Initializes a new HttpResponse using the given HttpWebResponse, the WebExceptionStatus and optionally a HttpCertificate.
- Parameters
-
| response | The HttpWebResponse returned by the http request. |
| exceptionStatus | The WebExceptionStatus returned by the WebRequest. |
| certificate | The HttpCertificate used with the http request. |
◆ HasCertificate
| bool MinimalHttp.HttpResponse.HasCertificate => Certificate != null |
Gets A Boolean indicating whether this response contains an ssl certificate.
◆ HasHeaders
| bool MinimalHttp.HttpResponse.HasHeaders => Headers != null && Headers.Count != 0 |
Gets A Boolean indicating whether this response contains any response headers.
◆ IsSuccess
Gets A Boolean indicating whether this response is succeed.
◆ Body
| string MinimalHttp.HttpResponse.Body |
|
get |
Gets a string representing the returned content.
◆ Certificate
◆ CharacterSet
| string MinimalHttp.HttpResponse.CharacterSet |
|
get |
Gets a string representing thecharacter set of the returned content.
◆ ContentEncoding
| string MinimalHttp.HttpResponse.ContentEncoding |
|
get |
Gets a string representing the encoding of the returned content.
◆ ContentLength
| long MinimalHttp.HttpResponse.ContentLength |
|
get |
Gets a value indicating the length of the returned payload.
◆ ContentType
| string MinimalHttp.HttpResponse.ContentType |
|
get |
Gets a string representing the mime type of the returned content.
◆ Cookies
| CookieCollection MinimalHttp.HttpResponse.Cookies |
|
get |
Gets a list of all cookies sent in the response.
◆ ExceptionStatus
| WebExceptionStatus MinimalHttp.HttpResponse.ExceptionStatus |
|
get |
Gets a value indicating the exception type thrown by the http request.
◆ Headers
Gets a list of all headers sent in the response.
◆ LastModified
| DateTime MinimalHttp.HttpResponse.LastModified |
|
get |
Gets the DateTime when the requested content was last modified.
◆ ProtocolVersion
| Version MinimalHttp.HttpResponse.ProtocolVersion |
|
get |
Gets the http protocol version.
◆ RequestMethod
Gets the http RequestMethod used by the request.
◆ ResponseUri
| Uri MinimalHttp.HttpResponse.ResponseUri |
|
get |
Gets a Uri containing the final response url.
◆ Server
| string MinimalHttp.HttpResponse.Server |
|
get |
Gets a string representing the server which answered the request.
◆ StatusCode
| HttpStatusCode MinimalHttp.HttpResponse.StatusCode |
|
get |
Gets the HttpStatusCode returned by the web server.
◆ StatusDescription
| string MinimalHttp.HttpResponse.StatusDescription |
|
get |
Gets a string with a description of the returned status code.
The documentation for this class was generated from the following file:
- C:/Users/Michel/Documents/Github/Public/MinimalHttp.Net/source/HttpResponse.cs


Why use a cms?
A while ago i received an e-mail with a future subject to write about on my blog and i was really glad, since that ment two things, people are reading and most of all are interested in my opinion. Therefore this week post will be all about free stuff and all you can actually make with it on the webdesign / webdev world. First i should show you guys the message that brought this subject here:
It would be nice to write an article about the basics of getting into the web developing world.
You could tell the story like this: if I wanna make a forum i use this tool, with this tool to manage the database and host the forum on this server. If I want to do a buisness site and dont want any publicity i use this payed server and build the page using a cms. If you want to make a blog i use this CMS and edite the css with this tool. For my art work i usually google it or go to deviant art and then edit the images, etc…
Did you get what i meant? Not a tecnical article but more an overview that your readers could consult to begin a project. Of course, only write this if it doesn’t put you out of business :D
Let’s begin.
Do you know how to code? If you do you have two choices: or you start programming your own scripts and make your websites from scratch, or you can use some cool frameworks. If you are a hardcore developer you might want to try Ruby on rails, this got a lot of attention lately. This is almost like programming with Ruby but just for web.
I tried this one out for a bit but end up sticking with php, not because i didn’t like it but because of my lack of time to actually use in the real world. Take a look at the framework here: http://rubyonrails.org/.
There are some other frameworks that uses PHP and also with a MVC structure like Zend software, cakePHP or even CodeIgniter. Even if Zend isn’t totally free is really cool but now this is really just a mather of preference. /by the way you can place the Zend SDK on eclipse.
Now if you don’t know how to code, or even if you know but your projects don’t need that much trouble you should begin exploring the CMS world. And there’s a lot to cover here so you have to be selective. Probably after this article you’ll know what to choose for your project.
Wordpress
This one is one of my favorites, not the first one i’ve used but still i like it a lot. I’ve used it to build my website and my blog. I gotta a say it really makes it easy for bloggers. The installation couldn’t be easier. The usage is even easier, anyone can mantain a wordpress website, so if you have a client that needs a small website or a blog this is the way to go, you just need a mysql database and a php5 server and you’ll be up and running with the latest Wordpress version.
Download it now and start playig with it, or register yourself there and try it online, but there you can’t use ftp or any other access protocol to the website. Just http.
Joomla
I’ve used this one a lot and i gotta a say, i love it. You can use it for almost everything, a small blog, a community website, a forum or whatever really. With some time in my hands i can make any website with Joomla. If you are interested in what kind of things you can make with it just visit my portfolio and almost every website from 2009 is made with it.
Here’s a really good article about joomla that can start you up with joomla.
Why joomla Follow the links on the article and you’ll be amazed with what you can do with joomla.
phpBB
This is a strong cms forum oriented that can help you a lot. I think it’s safe to say that more than 50% of the forums are built with this one. You can do almost anything: moderate, have all different kinds of permissions for users and admins. And the view it self if really easy to customize, if you don’t like the themes out there you can change one knowing just a little bit of css.
In conclusion, if you look back you see that you can do almost anything with a cms’s. You have wordpress to build powerful blog’s and simple websites. If you want to build some complicated website you should definitely go with Joomla or Dupal. And to build a community you can always use phpBB.
If you want to build some complicated website you should definitely go with Joomla or Dupal.
To view some examples of all of this you can check my portfolio at www.marcomonteiro.net and see some examples. And fell free to comment if you have some doubts about what cms to use.
Obviously you can be at the point where a cms is not enough you should go with a good framework and start coding. I hope i have help you guys understanding how easy it is to make to the webdev world. Next week i’ll give some directions on hosting an registering free domains.


We believe that a great user experience is intuitive.
It speaks to your heart, not your brain and it provides answers instead of creating questions.
It speaks to your heart, not your brain and it provides answers instead of creating questions.
Things are no longer physical or digital. They just are. Since brand experiences are all tangled, our work is limitless. We are strategists, designers, writers and developers. Innovators and problem solvers.


Gemma Bovery (2014)
Get Hard (2015)
Home (2015)
Kingsman:
The Secret Service (2014)
Little Boy (2015)
Paul Blart: Mall Cop 2 (2015)
Mortdecai (2015)
Pitch Perfect 2 (2015)
The Cobbler (2014)
The DUFF (2015)
The Wedding Ringer (2015)
The Visit (2015)


Brexit vote caused NHS exodus, say Lib Dems
The data points to a more ambiguous picture on the referendum’s effect.
by Jillian DeutschThe Brexit referendum has caused thousands of EU nationals to quit the U.K.'s National Health Service, according to data released today following a Freedom of Information Act request filed by the Liberal Democrats.
The data show that more than 11,600 have left since the 2016 referendum.
The Liberal Democrats are using the new numbers as a cudgel against the Tory's NHS plans.
“These damning documents reveal the major threat Brexit poses to our NHS, including in Boris Johnson’s own backyard, where EU staff are worried about their future here," Liberal Democrat Shadow Health Secretary Luciana Berger wrote in a press release.
But the data point to a more ambiguous picture on the referendum's effect.
In 2015, 3,504 EU nationals left the NHS. That rose to 4,062 in 2016 and then 4,335 in 2017. It dropped slightly to 4,013 in 2018. So far, the number is at 3,252 for 2019, about half of which are nurses.
However, those data cover only 50 out of 135 NHS trusts, so the actual numbers of staff leaving might be higher, according to the Guardian.

The group issued an analysis in 2018 suggesting that the number of staff who say they are EU nationals remained steady between 2016 and 2018.
For their part, Tories claim the number of EU nationals working in the NHS has increased since the referendum.
British Prime Minister Boris Johnson promised fast-track visas in early November for foreign doctors and nurses working in the NHS.
UK NATIONAL PARLIAMENT ELECTION POLL OF POLLS
All 2 Years 1 Year 6 Months Kalman Smooth Kalman
For more polling data from across Europe visit POLITICO Poll of Polls.


| for_scope/1 | |
| for_scope/2 | |
| from_response_json/2 | |
| queue_for_refresh/1 | |
| refresh/1 |
for_scope(Scope) -> Return
for_scope(Scope, Sub) -> Value
from_response_json(Config, ResponseBody) -> any()
queue_for_refresh(Token) -> Value
refresh(Config::#config{}) -> Return
Generated by EDoc


JP Morgan Chase JP Morgan Chase is the largest bank in the U.S., and the sixth largest bank in the world. It has more than 15,000 ATMs and over 5,000 branches across the country; and all its accounts have free online banking, mobile banking and a visa debit card as standard. It also offers a tailored student account and business banking services. The student account is free for up to five years. However, in order to qualify, you have to be between 17 and 24 years old and prove you’re a student. The business accounts start at $10 a month, but the fee can be waived if you keep at least $1,500 in your account. You’ll also get a business debit card and up to 500 fee-free transactions a month. Bank Of America Bank of America’s basic bank account costs $12 a month, but it’s free if you pay in at least $250 each month. Whether you’re planning to work or study in the U.S., it’s likely you can easily meet this minimum amount. You’ll also get a visa debit card, which comes with liability protection as standard. This ensures you’re refunded if your card is lost or stolen and used to make purchases without your permission. Bank of America doesn’t have bank accounts specifically for students. However, the monthly fee will be waived if you’re a student under 23. There are also two business bank accounts to choose from, depending on the size of your business. These accounts include a free business savings account and tailored online banking that integrates with accounting software. Citibank Citibank’s basic bank account is unique because you don’t need to make a minimum deposit in order to open it. You’ll also get some extra features, including protection against unplanned overdrafts and special access to thousands of concerts, movie screenings and other events. Citibank no longer has a dedicated student account. However, it does have a range of business accounts. These accounts have unplanned overdraft protection, a number of free transactions each month and better rates on loans and other lines of credit. Wells Fargo Wells Fargo’s bank accounts start at $10 a month, reduced to $5 a month if you’re a student aged 17 to 24. You’ll get a visa debit card, free online bill payments and free online and mobile banking. There is also a range of business bank accounts to choose from. These will give you a set number of free transactions a month, business debit and credit cards, and merchant services. Other banks to consider While JP Morgan Chase, Bank of America, Citibank and Wells Fargo are the four biggest banks in the US, some other banks are also worth checking out. The Bank of Internet USA is an entirely internet-based bank, which means it doesn't have any physical branches. It’s unusual because, unlike many other banks, it offers up to 0.71% interest on your account balance. In addition, it has no monthly fees, no ATM fees and no overdraft fees. You can apply for an account online. However, you’ll need a social security number, a valid U.S. address and a US driving licence or state ID. Capital One is another great option to consider. They have over 40,000 free ATMs across the U.S. and no monthly fees or minimum deposit amounts. More to the point, you can earn up to 0.9% interest a year. If you’re a U.S. resident, you can apply for an account here. Of course, it’s always a good idea to look at what different banks have to offer before you commit to a bank account. You can compare bank accounts online here and here.


Understanding Autoencoders
Oliver Zeigermann
/
@DJCordhose
https://bit.ly/ae-aijs
https://www.meetup.com/en-AU/AI-JavaScript-London/events/269662931/ https://anomagram.fastforwardlabs.com
### Questions welcome at any time
### One Question from my side _Who already has come experience in machine learning?_
### Autoencoders * neural network trained in unsupervised manner * reproduces input while going through a low-dim bottleneck * works on all kinds of data, e.g. image, audio, and tabular
https://blog.keras.io/building-autoencoders-in-keras.html
### The brain might map out ideas like spaces
https://twitter.com/PhilosophyMttrs/status/1085242776688775169
### Why Autoencoders * compression * data denoising * dimensionality reduction * building an abstract representation for further use * clustering (for data visualization) * outlier detection
### Example Application: Outlier Detection An anomaly (outlier, abnormality) is defined as “an observation which deviates so much from other observations as to arouse suspicions that it was generated by a different mechanism” - Hawkins 1980. https://www.springer.com/gp/book/9789401539968
### Detecting Anomalies in electrocardiograms * Train autoencoder with (mostly) normal data to low reconstruction loss * Abnormal data (not used for training) will not be reproduced well, i.e. will have high reconstruction loss * Set a threshold on loss by maximizing a metric (accuracy) * Can do without any labelling * Does not need abnormal data for training (but can tolerate some abnormal data)
### Demo: Anomagram
https://github.com/victordibia/anomagram https://victordibia.github.io/anomagram/#/
### Reference: Data * https://github.com/victordibia/anomagram/#dataset * http://www.timeseriesclassification.com/description.php?Dataset=ECG5000 * https://archive.physionet.org/cgi-bin/atm/ATM * https://archive.physionet.org/physiobank/database/chfdb/
### Reference: Metrics * _Precision_: percentage of positive predictions that are correct * true positive / true positive + false positive (predicted as true, but is false) * _Recall_ (aka hit rate): proportion of actual positives that were correctly predicted * true positive / true positive + false negative (predicted as false, but is true) * low enough threshold will yield excellent recall but reduced precision * F1 score is the harmonic mean of the precision and recall
https://zackakil.github.io/precision-recall-playground/
https://towardsdatascience.com/understanding-confusion-matrix-a9ad42dcfd62
https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5
### Exercise: Train your first Autoencoder
(only turn on Composer, Metrics, and Histogram) https://victordibia.github.io/anomagram/#/train
### Code 1. Code Level: https://github.com/victordibia/anomagram 1. yarn start 1. http://localhost:3000/#/train 2. React Tools, Components 3. https://github.com/DJCordhose/anomagram/blob/100496e167067b708ab990e77a665cdde9df98cd/app/src/components/train/Train.jsx#L349
## Thank you - Wrapping it up * Autoencoders reproduce an input while going through a low-dim bottleneck * They are a special kind of neural network trained in unsupervised manner * Applications include * preprocessing / dimensionality reduction * anomaly detection * denoising * generating near-realistic data
Oliver Zeigermann
/
@DJCordhose


List your evidence
Their evidence
| Type | Description |
|---|---|
| Contracts and agreements | I have a signed contract showing that you broke the contract agreement. |
| Photos | The photos I've taken show the poor workmanship of the roof repair |
| Type | Description |
|---|---|
| Contracts and agreements | I have a signed contract showing that you broke the contract agreement. |
| Photos | The photos I've taken show the poor workmanship of the roof repair |


?7
8
9
10
the
New
York
copyright
reserved
Botanical
Garden
MPW
YORK
BOTANICAL
GARDEN
01443835
INSTITUTE
OF
JAMAICA
FLORA
OF
JAMAICA
Parish:
ST
¥
JAMES
Name:
Dipholis
salioifolia
(L.)DC.
Locality:
Hills
overlooking
Iron
shore
estate
¥
Altitude:
200-600
ft.
Date:
February
16È
1963
Habitat:
Dry
woodland
over
limestone.
Notes:
Snell
tree;
flowers
or
earn,
fragrant*
Collector:
George
S.
Proctor
No.
23227
01443835
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


:to sound with a twang the couch twanged when he sat down
:to speak or sound with a nasal intonation
:to throb or twitch with pain or tension
:to cause to sound with a twang
:to utter or pronounce with a nasal twang
:to pluck the string of twang a guitar


[gecode-users] Compile gecode for 32-bit under Linux
Guido Tack
guido.tack at monash.edu
Mon Nov 21 23:10:03 CET 2016
Hi,
the 4GB memory limit still applies (there's no way around it, you simply can't address more with 32 bit pointers!).
Cheers,
Guido
--
GUIDO TACK
Senior Lecturer
Information Technology
Monash University
Level 6, Room 6.40, Building H, Caulfield Campus
900 Dandenong Road
Caulfield East VIC 3145
Australia
T: +61 3 9903 1214
E: guido.tack at monash.edu <mailto:guido.tack at monash.edu>
http://www.csse.monash.edu/~guidot/ <http://www.csse.monash.edu/~guidot/>
> On 22 Nov. 2016, at 8:35 am, Alexander Schuppisser <a.schuppisser at optor.ch> wrote:
>
> Hi Christian,
>
> thank you and sorry for being off-topic. That helped! I could compile for 32bit under Ubuntu 14.04 64 bit with gcc like that:
> --snip--
> sudo apt-get install gcc-multilib g++-multilib
> cd gecode-5.0.0
> ./configure CC="gcc -m32" CXX="g++ -m32" ...
> --snap--
> For others: I had to start with a vanilla gecode-source-tree, after compiling for 64bit and "make clean" it would not work compiling for 32bit. I got this error: "./gecode/flatzinc/parser.hh:68:41: fatal error: gecode/flatzinc/parser.tab.hh" in the part. deleting the sources and starting directly with 32 bit worked.
>
> Now I have a working 32bit gecode. Sadly, my fzn-Files doesn't work, I get the foloowing error in 32bit (64bit working):
> --snip--
> terminate called after throwing an instance of 'Gecode::MemoryExhausted'
> what(): Memory: Heap memory exhausted
> --snap--
> It seems to happen around 4 GB Memory being allocated. Now I wonder: I thought the 4 GB Memory-size limit under 32bit has been circumvented under Linux?
> Do I have do set something before compiling or do I have to do some trick before the run like calling ulimit or alike? Or is it just a limit I have to accept?
>
> Thank you
> Alexander
>
>
> Am 20.11.2016 um 14:33 schrieb Christian Schulte:
>> Hi,
>>
>> Even though this is not really a Gecode-related question, the catch is that
>> you need to pick up the right compiler, either 64 or 32 bit. You have to
>> figure this out for your platform.
>>
>> Let's assume the C++ compiler for 32 bit is called g++-32 (that's most
>> likely wrong) and the C compiler is called gcc-32 (again, made up) then you
>> can set the environment variable CXX and CC before you run configure to
>> point to the right C++ and C compilers (one can also pass that to make by
>> make CXX=g++-32 CC=gcc-32).
>>
>> Hope that helps
>> Christian
>>
>> --
>> Christian Schulte, www.gecode.org/~schulte <http://www.gecode.org/%7Eschulte>
>> Professor of Computer Science, KTH, cschulte at kth.se <mailto:cschulte at kth.se>
>> Expert Researcher, SICS, cschulte at sics.se <mailto:cschulte at sics.se>
>> -----Original Message-----
>> From: users-bounces at gecode.org <mailto:users-bounces at gecode.org> [mailto:users-bounces at gecode.org <mailto:users-bounces at gecode.org>] On Behalf
>> Of Alexander Schuppisser
>> Sent: Saturday, November 19, 2016 23:37
>> To: users at gecode.org <mailto:users at gecode.org>
>> Subject: [gecode-users] Compile gecode for 32-bit under Linux
>>
>> Hi,
>>
>> I'd like to compare the performance of a 64-bit version of fzn-gecode to a
>> 32-bit-version unter Linux (Ubuntu 16.04 or 14.04) for a certain problem.
>> But I could not crosscompile it.
>>
>> I know that it's possible, because in the Minizinc IDE is a fzn-gecode for
>> 32 bit. But this version has dependencies to Qt (which I don't have running
>> it on a server). That's how I compile what I need on 64 bit:
>>
>> static:
>>
>> export PREFIX="/home/nath/apps/gecode-5.0.0"
>> ./configure \
>> --prefix="$PREFIX" --enable-float-vars=no --enable-examples=no
>> --enable-qt=no --enable-gist=no --enable-doc-dot=no \
>> --enable-doc-tagfile=no --enable-driver=no --enable-examples=no
>> --enable-scheduling=no --enable-graph=no --enable-minimodel=no \
>> --enable-static --disable-shared
>>
>> shared:
>>
>> export PREFIX="/home/nath/apps/gecode-5.0.0"
>> CFLAGS="-Wl,-rpath,$PREFIX/lib" CXXFLAGS="-Wl,-rpath,$PREFIX/lib" \
>> ./configure \
>> --prefix="$PREFIX" --enable-float-vars=no --enable-examples=no
>> --enable-qt=no --enable-gist=no --enable-doc-dot=no \
>> --enable-doc-tagfile=no --enable-driver=no --enable-examples=no
>> --enable-scheduling=no --enable-graph=no --enable-minimodel=no
>>
>> Now what to cange / add to get a 32-bit binary in the end?
>>
>> I tried a lot of things with Flags and setting env-Variables before
>> compiling found as general tips for cross compiling, but nothing worked for
>> fzn-gecode. What do I need to do?
>>
>> Thank you
>>
>> Alexander
>>
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20161122/5bde47c4/attachment.html>
More information about the users
mailing list